All solutions
@u11d/medusa-avalara

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

  1. 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.

  2. 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.

  3. 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.

  4. 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

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.

Get in Touch
Tell us about your project and we'll respond within 24 hours with next steps.
What do you need?
Platforms of Interest

By submitting this form, you agree to our Privacy Policy and Terms of Service.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.