Skip to main content
Avalara AvaTax is a tax engine. When a Zenskar invoice line is set to use Avalara, Zenskar gets its tax from AvaTax and, on approval, records the invoice in AvaTax as a transaction you can file from.

Concepts

What Zenskar and Avalara each own

Nexus and the tax-code catalog live in your Avalara account. Zenskar does not manage them.
If nexus is not registered in Avalara for a jurisdiction, AvaTax returns $0 tax for that jurisdiction, with no error. This is the most common reason tax “came back as zero.” Register nexus in Avalara for every jurisdiction where you collect tax before you rely on the integration. (Avalara: Reasons tax can be zero.)

Avalara tax codes

An Avalara tax code identifies what a line is selling, drawn from Avalara’s catalog: for example SW054003 for downloadable software, P0000000 for general tangible goods, or NT for a non-taxable item. Avalara uses it to decide whether the line is taxable in each jurisdiction and at what rate, because the same amount is taxed differently for software, professional services, freight, and so on. Avalara owns the catalog. You pick codes from it and can look one up with the Avalara tax code lookup. The code is set on a Tax feature on a plan, contract, or product (see Assign an AvaTax tax code); Zenskar passes it to Avalara on every line exactly as entered, without validating it.

When Zenskar calls Avalara

The tax engine for a line is whatever Tax Type its feature has, baked into the plan or contract’s published workflow when you publish or re-publish it. If an already-generated invoice’s engine is no longer connected for that entity, Zenskar blocks invoice generation, naming the fix: connect the missing engine again, or regenerate the invoice with a tax engine that’s connected. Regenerating alone replays the same published workflow, so to actually switch engines, change the feature’s Tax Type and re-publish the plan or contract first, then regenerate.
Each Avalara connection binds one Zenskar business entity to one Avalara company (identified by a company code, default DEFAULT). To bill from another Avalara company, add a connection for another business entity.
A business entity can have only one third-party tax engine connected at a time. If Anrok is already connected to this entity, Zenskar rejects the Avalara connection until Anrok is disconnected. See When Zenskar calls Avalara for what happens to a plan or contract already relying on Avalara if it’s later disconnected.

Integration scope boundary

How Zenskar tells tax engines apart

The Tax feature’s other options are Manual (a flat percentage you enter) and Anrok (another third-party engine).

Tax engine comparison

Compares Manual, Avalara, and Anrok on rate source, address handling, exemptions, and credit notes.

How-to guides

Connect an Avalara account

Do this once per Avalara company you bill from.

Prerequisites

  • An Avalara AvaTax account, with its Account ID and License Key.
  • Nexus registered in Avalara for every jurisdiction you collect tax in (see the Concepts warning).
  • A Zenskar business entity to assign the connection to.

Steps

  1. In the Zenskar sidebar, open More > Integrations. On the Integrations page, choose the Sales Tax category and click CONNECT on the Avalara card. Sales Tax category on the Integrations page, Avalara card
  2. On the Avalara connector page, click CONNECT TO AVALARA. (Once a connection exists, this button reads NEW CONNECTION.) The Avalara connector page
  3. In the dialog, enter ACCOUNT ID, License Key, and Company Code if the account uses more than one company (it defaults to DEFAULT), then click Connect. The Avalara connection form
    • If the credentials don’t authenticate, Zenskar shows Invalid Credentials and saves nothing. Company Code is not checked here.
    • The connection uses whichever Avalara environment Zenskar itself runs in: sandbox in a Zenskar sandbox workspace, production in production. This is not shown in the UI.
  4. Zenskar creates the connection and opens its Configuration screen. Choose the entity this Avalara company bills for in Select Zenskar Entity; it is required before you can save. The Configuration screen, with Select Zenskar Entity and the Tax module
  5. Under Data Sync Setup, the Tax module is already on. Leave Sync Direction on Export only (the only option), set Tax on Invalid Address (see Set what happens when an address will not validate), and click SAVE CONFIGURATION. The status changes to Configured. A configured Avalara connection
If you leave the Configuration screen without picking an entity, the connection stays Pending Configuration on the Connections tab, showing the banner Business Entity is not configured for this connection. Configure now to enable adding new connections. Click Select Business Entity there to return to the Configuration screen. You cannot add another Avalara connection until every existing connection has an entity.A connection pending configuration on the Connections tab

Assign an AvaTax tax code

Put the Avalara tax code on a Tax feature of a plan, contract, or product. Plans and contracts
  1. Open the plan or contract and open its Configure Features panel.
  2. Click ADD FEATURE and choose Tax, or expand the existing Tax feature.
  3. Set Tax Type to Avalara.
  4. In Tax Code, enter the code, or use the Browse Avalara tax codes link below the field.
  5. Optionally set Label, the invoice-line label (defaults to Tax).
  6. Click SAVE.
Products
  1. Open the product’s Price Details section, and click + ADD NEW PRICE, or Edit on an existing price.
  2. Click ADD FEATURE and choose Tax, or expand the existing Tax feature.
  3. Set Tax Type to Avalara.
  4. In Tax Code, enter the code, or use the Browse Avalara tax codes link below the field.
  5. Optionally set Label, the invoice-line label (defaults to Tax).
  6. Click SAVE.
The Tax feature with Tax Type set to Avalara The feature then appears in the Features section, labeled Tax, with the value Avalara - <code>.
Switching Tax Type away from Avalara clears the Tax Code.

Set what happens when an address will not validate

Avalara derives jurisdictions from the ship-from and ship-to addresses. This setting decides what Zenskar does when Avalara can’t resolve an address on an invoice.
  1. Open More > Integrations > Sales Tax > Avalara, go to the Connections tab, and click Edit.
  2. On the configuration screen, in the Tax module, set Tax on Invalid Address to one of:
    • Let the invoice fail on generation (the default). The invoice is not generated until the address is fixed.
    • Ignore tax if address is non-taxable. Zenskar skips tax only when Avalara reports the address as non-taxable, then generates the invoice.
    • Ignore tax and generate invoice. Zenskar generates the invoice with no tax.
  3. Click SAVE CONFIGURATION.

Mark a customer as tax-exempt

Exemption is set through customer custom attributes. Zenskar sends them with every transaction for that customer, and Avalara returns $0 tax for the jurisdictions that accept the exemption.
  1. Open the customer and go to the custom attributes (or Tax Information) section.
  2. Set:
    • exempt_tax turns the exemption on.
    • tax_exemption_number is the exemption or certificate number. Left blank, Zenskar sends the literal exempt.
    • entity_use_code is Avalara’s exemption reason code (for example E for a charitable organization). Use the Browse Avalara entity use codes link to pick one.
  3. Save.

Check the Avalara transaction on an invoice

The Integrations tab appears on an invoice only after it is approved.
  1. Open an approved invoice and go to its Integrations tab.
  2. Linked Integration Objects shows an Avalara ID card with the AvaTax transaction code (copyable).
  3. Integration Logs below it show every call Zenskar made to Avalara for the invoice.
  4. Sync re-runs the integration for the invoice.
The Integrations tab on an approved invoice The same events also appear on the connector’s own Logs tab (More > Integrations > Sales Tax > Avalara > Logs), across every invoice rather than just one. Use it to check sync activity broadly instead of opening invoices one at a time. The Avalara connector's Logs tab To see the same record on Avalara’s side, search Avalara’s Transactions list for the Avalara ID. It shows up as a committed SalesInvoice with the ship-from and ship-to addresses, the line amount, and the tax Avalara calculated, matching the invoice total in Zenskar. The matching transaction in Avalara's Transactions list The transaction detail in Avalara, with the same amount and tax

Issue a credit note against an Avalara-taxed invoice

Create the credit note on the invoice as you normally would. Zenskar reports the refund to Avalara automatically, against the invoice’s original transaction:
  • A full credit note is a 100% refund.
  • A partial credit note is refunded pro rata across the original lines.
The refund’s Avalara ID appears on the credit note’s Integrations tab. The invoice must already be approved (so its Avalara transaction is committed).

Disconnect Avalara

  1. Open More > Integrations > Sales Tax > Avalara and go to the Connections tab.
  2. Click Disconnect on the connection.
  3. In the confirmation dialog, which warns that all resource mappings will be deleted, click Delete.
Zenskar removes the connection and shows Avalara disconnected.
Avalara has no Pause, Resume, or Re-authenticate action. Those are available only for the ERP connectors (NetSuite, Xero, Zoho, Rillet, QuickBooks).

Reference

Connection form fields

Shown in the connect form in this order:

Tax on invalid address options

Set per connection, in the Tax module under Data Sync Setup on the connection’s Configuration screen. Controls what Zenskar does when Avalara cannot resolve an address on an invoice.

How a Zenskar action maps to an Avalara transaction

Zenskar uses the invoice ID as the Avalara transaction code. Re-running or re-approving an invoice replays the same transaction instead of creating a duplicate.

What Avalara returns

For each line, the tax amount and a per-jurisdiction breakdown. Each jurisdiction row carries a type, a rate, and a tax amount. The amounts are summed into the line’s tax; the per-jurisdiction split is kept in Zenskar’s tax records, not shown as separate invoice lines.

Address validation support

Zenskar sends every address to Avalara for resolution. Street-level resolution applies only to the United States and Canada; elsewhere Avalara returns country-level flags (whether the country is recognized, whether it requires a region, whether it is in the EU). Resolution is best-effort and does not block on its own. Zenskar treats an address as taxable only when Avalara resolves it to a postal-code centroid or finer; a coarser result (region centroid, country centroid, partial match, or no geocode) is treated as non-taxable, and the Tax on invalid address setting then decides what happens.

Connection statuses and lifecycle

Status shows as a chip on the connection card on the Connections tab.

Where Avalara appears in the UI

External references