Concepts
What Zenskar and Avalara each own
Nexus and the tax-code catalog live in your Avalara account. Zenskar does not
manage them.
Avalara tax codes
An Avalara tax code identifies what a line is selling, drawn from Avalara’s catalog: for exampleSW054003 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.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
-
In the Zenskar sidebar, open More > Integrations. On the Integrations
page, choose the Sales Tax category and click CONNECT on the
Avalara card.
-
On the Avalara connector page, click CONNECT TO AVALARA. (Once a
connection exists, this button reads NEW CONNECTION.)
-
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.
- 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.
-
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.
-
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.
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.

Assign an AvaTax tax code
Put the Avalara tax code on a Tax feature of a plan, contract, or product. Plans and contracts- Open the plan or contract and open its Configure Features panel.
- Click ADD FEATURE and choose Tax, or expand the existing Tax feature.
- Set Tax Type to Avalara.
- In Tax Code, enter the code, or use the Browse Avalara tax codes link below the field.
- Optionally set Label, the invoice-line label (defaults to Tax).
- Click SAVE.
- Open the product’s Price Details section, and click + ADD NEW PRICE, or Edit on an existing price.
- Click ADD FEATURE and choose Tax, or expand the existing Tax feature.
- Set Tax Type to Avalara.
- In Tax Code, enter the code, or use the Browse Avalara tax codes link below the field.
- Optionally set Label, the invoice-line label (defaults to Tax).
- Click SAVE.
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.- Open More > Integrations > Sales Tax > Avalara, go to the Connections tab, and click Edit.
- 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.
- 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.- Open the customer and go to the custom attributes (or Tax Information) section.
- Set:
exempt_taxturns the exemption on.tax_exemption_numberis the exemption or certificate number. Left blank, Zenskar sends the literalexempt.entity_use_codeis Avalara’s exemption reason code (for exampleEfor a charitable organization). Use the Browse Avalara entity use codes link to pick one.
- Save.
Check the Avalara transaction on an invoice
The Integrations tab appears on an invoice only after it is approved.- Open an approved invoice and go to its Integrations tab.
- Linked Integration Objects shows an Avalara ID card with the AvaTax transaction code (copyable).
- Integration Logs below it show every call Zenskar made to Avalara for the invoice.
- Sync re-runs the integration for the 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.
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.
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.
Disconnect Avalara
- Open More > Integrations > Sales Tax > Avalara and go to the Connections tab.
- Click Disconnect on the connection.
- In the confirmation dialog, which warns that all resource mappings will be deleted, click Delete.
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.