This integration connects PandaDoc to your AvaTax account, allowing for real-time tax calculation from Avalara on your PandaDoc documents.
Before proceeding, please make sure the setup fee has been paid to receive your portal credentials, then click here to schedule a call with the Taxiom team so we can guide you through the setup.
Click below to go to a section in the guide:
Connecting AvaTax & PandaDoc Configuring Your Ship-From Address How Tax Calculation Works When Transactions Commit to Avalara PandaDoc Item to Avalara Tax Code Mapping How to Handle Exemptions Recurring Invoices Validating Customer Addresses Overriding Avalara's Tax Calculation Accessing the Logs TroubleshootingBefore you connect, make sure you have:
Open https://avataxforpandadoc.taxiom.com/login and sign in with the credentials you received by email. If you haven't set your password yet, use the link from the welcome email to set one.
From the dashboard, click Connect PandaDoc. You'll be redirected to PandaDoc to authorize the app. After granting access, you'll be returned to the AvaTax for PandaDoc portal.
Go to Avalara Credentials and enter:
Click Save. The portal will validate the credentials against Avalara and show a green confirmation when successful.
Avalara needs to know where you're shipping from to calculate origin-based tax correctly. The integration uses the following lookup order:
If you sell from multiple physical locations, set the primary location in PandaDoc and configure any additional ship-from locations in the portal's Ship-From Locations page. You can then route specific clients or items to specific origins from the same settings page.
Note: An incomplete ship-from address (missing state, ZIP, or country) is the #1 cause of "tax did not calculate" errors. Always verify the business address in PandaDoc before sending invoices.
Once connected, tax calculation is fully automatic. Here's the flow:
The whole round trip usually takes a few seconds. When you refresh the invoice in PandaDoc, you'll see the tax line items populated.
The integration uses the client's shipping address (the s_* fields on the client record). If no shipping address is set, it falls back to the primary/billing address (the p_* fields). This matches PandaDoc' own behavior on invoices.
If the client is missing a state, ZIP, or country, Avalara cannot calculate accurate tax. The integration will skip the calculation and log the reason. You'll see an error notification in the portal and can fix the client's address in PandaDoc, then update the invoice to re-trigger calculation.
Tax calculation is one step; committing the transaction is what makes it count toward your filing reports in Avalara. Here's how the integration handles it:
Important: If you use cash-basis tax accounting, commit-on-paid is exactly what you want. If your accountant uses accrual-basis recognition and you want commits to happen on invoice send instead, contact the Taxiom team - we can adjust this for your portal.
Avalara uses tax codes to determine product-specific taxability rules. Software is taxed differently than physical goods, which are taxed differently than professional services. By mapping your PandaDoc pricing table rows to the right Avalara tax codes, you get accurate tax for every product category across every state.
From the portal, go to Tax Code Mapping. The page lists all the Items you've defined in PandaDoc (under Settings → Items & Services). Next to each Item, choose the Avalara tax code that best fits.
| Tax Code | Description | When to use |
|---|---|---|
P0000000 | General Tangible Personal Property | Default for unmapped items; physical goods with no special rules |
SW054000 | Software as a Service (SaaS) | Cloud-hosted software with no download |
SW052000 | Pre-written software, electronically delivered | Downloadable software |
SP000000 | Services (general) | Generic professional services |
FR020100 | Shipping - taxable | Shipping line items where shipping is taxable |
NT | Non-taxable | Items that are never taxable |
If you don't map an item, the integration uses Avalara's general tangible personal property code (P0000000). For most generic physical-goods sellers this is fine. For services or software, mapping is strongly recommended.
For the full Avalara tax code library, see Avalara's tax code lookup tool.
There are three ways to mark a customer or transaction as exempt:
In the portal under Clients, you can flag specific PandaDoc clients as exempt and assign an entity use code (Avalara's standard exemption categories - Reseller, Government, Charitable Org, etc.). Once flagged, all invoices for that client will be calculated as exempt.
If only one invoice should be exempt - for example, a one-off resale transaction - you can add a memo line to the invoice in PandaDoc with the entity use code, or contact us to set it up.
If you use Avalara's ECM Pro, the integration recognizes valid certificates in real time. When a customer with a valid certificate on file invoices, the transaction is automatically calculated as exempt. No manual flagging needed.
This is the most reliable option for businesses with many exempt customers (B2B resellers, manufacturers, nonprofits).
For non-resale exemptions, Taxiom recommends pairing this integration with ExemptHQ - our certificate lifecycle management tool that requests, validates, tracks, and renews certificates without the email chaos.
PandaDoc Recurring Invoices generate new invoices on a schedule (weekly, monthly, annually). Each generated invoice is treated as a regular invoice by the integration:
If you change the line items, price, or client on the recurring profile, future invoices will reflect those changes. The integration will recalculate tax against the new state of the invoice each time.
Tip: For subscription businesses, make sure the customer's billing address is the same as the shipping address - or that the shipping address is correct on every renewal. A stale shipping address is the #1 cause of "we moved but tax didn't change" issues.
Avalara's tax accuracy depends entirely on the quality of the address you pass it. A wrong ZIP code can mean a wrong rate. Here's how to keep addresses clean:
78704-5301) is even better - Avalara routes to the right special district based on the +4 suffix.A1A 1A1.The integration will log a warning when it detects an incomplete address, but it will still attempt calculation using whatever it has. Bad addresses lead to wrong tax - and wrong tax leads to filing problems.
In rare cases, you may need to override Avalara's calculation - for example, when re-issuing an old invoice for a closed tax period, or when you've already paid tax on a transaction outside the system.
PandaDoc lets you manually edit the taxName1 / taxAmount1 fields on a line directly after the integration writes them. However: any subsequent update to the invoice will trigger a recalculation that overwrites your manual edit.
For permanent overrides, contact the Taxiom team. We can configure your portal to skip calculation for specific invoices, specific date ranges, or specific clients.
The portal includes a Transactions page that shows every interaction between PandaDoc, the integration, and Avalara. For each invoice you can see:
If a calculation failed, the log will show the error reason - usually an address issue or an Avalara credentials problem.
invoice.delete webhooks and voids the matching Avalara transaction automatically. If the transaction was already committed and locked in a closed filing period, it will be marked as DocDeleted in Avalara instead.Email info@taxiom.com or schedule a call - we monitor the integration and can usually identify the issue within minutes.
Taxiom handles AvaTax setup, monitoring, and compliance ops for businesses of every size. Let us run your tax stack so you can focus on growing the business.
Schedule a Call