Medusa Avalara
Avalara AvaTax as a tax provider inside Medusa — tax determined through AvaTax during checkout, with the transaction lifecycle tracked back into AvaTax.
Who it is for
Medusa teams that already use Avalara AvaTax, or that need AvaTax-backed tax determination for jurisdictions and product categories where Medusa's default tax engine is not enough.
The problem it solves
Medusa ships with its own tax calculation. In the US, sales tax rates differ by state and locality, so a built-in engine either misses those variations or requires constant manual upkeep. Businesses that already rely on AvaTax need the amounts shown at checkout to come from AvaTax — and they need the resulting transaction recorded, committed, or voided in AvaTax as the order moves through its lifecycle. Doing that ad hoc in checkout code produces tax amounts that drift from what the finance team files.
How it works
The plugin registers as a tax provider inside Medusa, so Medusa's own tax flow asks Avalara for the calculation instead of computing it locally.
Medusa invokes the provider whenever it recalculates taxes. Because Medusa does not recalculate automatically when a cart changes, the recommended checkout flow calls the cart taxes endpoint explicitly after the shipping method is selected.
AvaTax transactions are created as orders are placed and then committed or voided as the order completes or is cancelled, so the records in AvaTax follow the records in Medusa.
Product tax codes and customer exemptions are stored in the plugin's own tables and cached, so per-product and per-customer rules do not require code changes.
What it does
- Tax calculated through the AvaTax API during checkout, reflecting US state and local rates at the destination address
- AvaTax transactions created when orders are placed
- Transactions committed when orders complete or are fulfilled
- Transactions voided when orders are cancelled
- Product-level Avalara tax codes, plus a configurable default tax code
- Customer tax exemptions through Avalara entity use codes
- Address validation against Avalara's address resolution service, for US and Canadian addresses
- Medusa stock locations synchronised to AvaTax locations on startup, with an endpoint to refresh the cache
- Tax-inclusive pricing respected from the region's configuration
Where it fits
- A US retailer that files through AvaTax and needs checkout amounts to match the filing across different state and local rates
- A catalogue where different product categories carry different Avalara tax codes
- A B2B store that needs reseller or non-profit exemptions applied through entity use codes
- A store shipping across US state lines and needing destination-based sales tax rather than a single flat rate
- A store shipping to both the US and Canada that wants addresses standardised before tax is determined
Further reading
- US Tax Calculations in E-Commerce: How to Get It Right
- Medusa Tax Automation: Complete Guide to Integrating Avalara AvaTax for E-Commerce Compliance
- Automated tax compliance for global ecommerce growth
- Multi-Warehouse Tax Compliance Made Simple with Medusa and Avalara
- Tax-Inclusive Pricing: Meeting International Customer Expectations Without the Complexity
- Exemption Certificate Management for B2B Tax Compliance
Planning an integration, storefront, migration, or operational improvement?
Tell us what needs to change and we'll respond within 24 hours with a straight assessment — including whether the work is a fit. Or start with the open-source packages we maintain and the deployment guides we publish.
Development, integrations, deployment, and ongoing support — scoped in writing.