Verify and register beverage alcohol shipments with the AvaTax shipping verification API
domain: avalara.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
After creating a Sales Invoice transaction in AvaTax, call GET /api/v2/companies/{companyCode}/transactions/{transactionCode}/shipment/verify to check compliance for that transaction.
Read the response's `compliant` boolean; if true, `successMessages` explains which jurisdiction rules passed (e.g. valid license, age checks, volume limits).
If `compliant` is false, inspect `failureMessages` (and per-line `failureMessages`) to identify exactly which part of the transaction violated a jurisdiction's rules.
Note that VerifyShipment only checks compliance — it does not record shipped volume; call the RegisterShipment endpoint separately to commit the volume, or use RegisterShipmentIfCompliant to verify and register in one call.
When verifying shipments for a Return Invoice, include `documentType=ReturnInvoice` in the request URL — omitting it causes a 'Document not found' error because the API defaults to SalesInvoice.
Use the DeleteShipmentRegistration endpoint to undo a registration if an order is later canceled or voided.
Known gotchas
Verifying a shipment does not register it — volume limits tracked by AvaTax will not reflect the transaction until RegisterShipment (or RegisterShipmentIfCompliant) is called separately.
Return Invoice verification requires the explicit `documentType=ReturnInvoice` query parameter; the default assumption is SalesInvoice and will error on return documents.
Compliance failures are returned as structured `failureMessages`/`failureCodes` on a successful HTTP call, not as an HTTP error — code must check the `compliant` field rather than relying on status codes alone.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?