A walk-through of how AvaTax for Jobber connects your accounts and how sales tax flows from a Jobber job through to a Jobber invoice.
If you haven't already, pay the setup fee to receive your AvaTax for Jobber portal credentials. The portal (our integration) is how you'll connect Jobber to Avalara. If you have any questions, please email us at avataxforjobber@taxiom.com.
Two ways to learn the integration
Watch the walkthrough, or scroll down to the written guide for step-by-step detail on every feature.
Prefer reading? Skip to the written guide ↓
Prefer to have us walk you through this on a live call? Add our Guided Setup add-on ($299) — two calls with our team, up to 45 minutes each. Add Guided Setup — $299
Jump to a section:
Before you start 1. Pay the setup fee and create your Taxiom portal account 2. Set your portal password and sign in 3. Connect your Jobber account 4. Connect your Avalara account 5. Confirm property addresses and line item taxability Validating addresses outside of Jobber Map your products and services to Avalara tax codes Shipping, freight, and handling charges Discounts Tax-exempt customers (entity use codes) Purchase order numbers on invoices Manual tax overrides Reviewing Avalara calls in the portal 6. Watch the first invoices flow through When recalculation happens Avalara transaction timing If you sync Jobber to QuickBooks Online What Taxiom observes during your first invoices What appears on the buyer-facing invoiceYou will need three things in place before connecting:
Start on the AvaTax for Jobber sign-up page. After payment, you receive a welcome email at the address you signed up with. The email includes a link to set your portal password at avataxforjobber.taxiom.com. The link is good for seven days.
Click the Set Your Password link in your welcome email. After setting your password, you land on the AvaTax for Jobber portal. The portal is where you connect Jobber and Avalara and where you can see the status of every invoice the integration has touched.
In the portal, click Connect Jobber. Jobber walks you through a standard OAuth approval where you confirm the scopes the integration needs to read clients, jobs, quotes, and invoices, and to write Tax Rates and Custom Fields back to your account. Once approved, the portal confirms the connection is live and the integration registers webhook subscriptions so Jobber pushes invoice events as they happen.
In the Taxiom portal, paste your Avalara API account number and license key. Taxiom verifies the credentials by running a test calculation through Avalara before saving. Avalara remains the system of record for sales tax. The integration calls Avalara on each Jobber invoice using the tax codes, customer data, exemption data, and address information configured for your Avalara account.
Spot-check a few recent Jobber jobs to confirm the property address is populated with at least street, city, state, and ZIP. If a property address is incomplete when an invoice fires through the integration, the calculation is recorded with an address-incomplete status and no tax is written. Confirm your line items are correctly flagged as taxable or non-taxable for what you sell. If you use Avalara tax codes for product or service mapping, confirm those are mapped in your Avalara account ahead of go-live. The Taxiom team walks through all of this with you on the setup call.
During the calculation call, Avalara validates the ship-to address and surfaces any issues back to the integration. Any errors land on your Errors Logs page so you can fix the underlying property record in Jobber. If you want to clean up a batch of addresses before connecting (or audit your current client list), the Taxiom team uses this Excel-based validator: Validate and fix addresses in Excel. Export your Jobber client or property list to a spreadsheet, run it through the validator, and import the corrected addresses back into Jobber.
In the integration portal sidebar, open Product Tax Mapping. The page lists every Product or Service you have in Jobber. For each one, enter the Avalara tax code that describes how it should be taxed. The integration sends this tax code on the matching line of every invoice so Avalara applies the correct rules. Products you leave blank fall back to Avalara's account default (typically taxable tangible personal property).
Common Avalara tax codes: P0000000 tangible personal property, PS080101 labor (computer setup), PS080104 computer maintenance services, SW054000 SaaS / software access, FR020100 shipping and handling. Full list at taxcode.avatax.avalara.com.
Jobber does not have a first-class shipping field on invoices. To bill shipping, freight, or handling and have Avalara apply the correct taxability per state, create a Jobber Product/Service for the charge (for example "Shipping" or "Freight"), add it as a line item on the relevant invoice, and map it to Avalara tax code FR020100 on the Product Tax Mapping page. Avalara will then apply each state's shipping taxability rules to that line automatically.
Recommended: discount the line item itself, not the document. Instead of using Jobber's standard job or invoice discount field, reduce the price directly on the line item you are discounting. Tax is then calculated on exactly what the customer pays for each line, the math flows cleanly across discounted lines, and the Avalara transaction mirrors your Jobber invoice line for line.
If you do use Jobber's document-level discount field, the integration still handles it: the discount amount is sent to Avalara at the document level and spread proportionally across the taxable lines, per Avalara's discount handling rules. This works, but because the discount is distributed rather than applied to a specific line, the per-line amounts in Avalara will not match the line prices shown in Jobber. For the cleanest records and the most predictable tax result, discount the line items directly.
The recommended pattern is to upload your customer's exemption certificate to Avalara against the same customer code the integration sends. The integration uses JOBBER-CUST-{client id} as the customer code on every transaction. With a current certificate on file in Avalara, exemptions are applied automatically at calculation time.
If you also want to apply an entity use code directly (for example government, charitable, or resale), add a Jobber Client custom field on the client record named Avalara Entity Use Code. Set its value to the entity use code you want to apply (such as C for resale or E for charitable). The integration reads the value at calculation time and sends it to Avalara, which applies the exemption rules. The full list of allowed values lives in your Avalara portal under Tax Codes → Entity Use Codes.
If a customer wants their PO number recorded on the Avalara transaction (useful for audits and reporting), add a Jobber Invoice custom field named Purchase Order Number and populate it on each invoice that has one. The integration passes the value to Avalara as the transaction's purchase order number on every calculation.
For rare cases where you need to override Avalara's calculated tax amount or use a different tax calculation date, add either of these Jobber Invoice custom fields and populate them on the affected invoice:
Avalara Tax Override Amount - enter the exact tax dollar amount Avalara should record on the transaction instead of calculating it. Use sparingly; this overrides Avalara's rules.Avalara Tax Override Date - enter a date (YYYY-MM-DD format) for Avalara to use as the tax calculation date, while keeping the invoice's transaction date as is. Useful when an invoice is being corrected after the fact and you want the original tax rates to apply.If both fields are populated, the override amount wins. Leave the fields blank for normal calculations.
Every Avalara API call the integration makes (calculate, commit, void, refund) is recorded on the Avalara Tax Logs page in the integration portal sidebar. Click any row to see the full request payload, the Avalara response, the HTTP status, and the round-trip time. Use this as the first stop whenever an invoice's tax does not match what you expected. Avalara error messages (including address validation feedback) also surface on the Errors Logs page so you can act on them directly.
When a Jobber invoice is created or updated, the integration takes the job-site address and the line items, sends them to Avalara, and writes the resulting sales tax back to the Jobber invoice. The invoice shows the right Sales Tax in the same Tax line you have always seen on Jobber invoices. Nothing else about your invoice layout changes.
Recalculation runs while the invoice is in draft or awaiting payment status. Editing line items on the related job, correcting the property address, or creating a new invoice all trigger a fresh calculation. Once an invoice is marked paid, bad debt, or closed, the integration does not recalculate it automatically. If you need a correction on an already-paid invoice, the right path is a manual adjustment in Avalara or a follow-up with the Taxiom team. Plan to review and finalize tax on a Jobber invoice before sending it for payment.
Avalara transaction timing follows your portal setting, the same way it works in Taxiom's other AvaTax integrations. The integration calculates and writes the sales tax to Jobber on each invoice change. Avalara transactions for the calculation are stored uncommitted by default so they do not post to filings until your portal interval says to commit. Filing and Managed Returns are separate from the calculation integration and are scoped under a separate Taxiom or Avalara engagement.
Under Sync Settings in the Taxiom portal you can choose:
If the invoice is deleted in Jobber, the matching Avalara transaction is voided automatically. If a payment is deleted in Jobber on a committed transaction, a Return Invoice is posted to Avalara so your filings net out correctly.
The Avalara document code follows a JOBBER-INV-{invoice id} pattern for invoices and JOBBER-QUO-{quote id} for quotes. The Jobber invoice ID is visible in the URL when you open the invoice in Jobber (for example secure.getjobber.com/invoices/12345 → document code JOBBER-INV-12345). The customer code follows the same pattern: JOBBER-CUST-{client id}. Use these codes to search the Avalara Transactions view or to attach an exemption certificate in Avalara CertCapture.
If your Jobber account has QuickBooks Online sync enabled, coordinate with the Taxiom team before go-live. The integration creates Jobber Tax Rate entries dynamically as new destinations are encountered. If Jobber's QuickBooks Online Automated Sales Tax feature is also active, the two engines can produce conflicting tax entries downstream. The Taxiom team helps you choose the right posture for your accounting flow.
During initial setup, the Taxiom team observes the first few invoices flow through to confirm everything looks the way you expect. We watch the inbound webhook log, the calculation ledger, and the Jobber invoice totals. If anything looks off, we surface it before it reaches a customer.
Your Jobber invoices show the sales tax line as Sales Tax (X.XX%) $YY.YY. The dollar amount is what your customer owes. The percentage Jobber displays is the rate the integration assigned to the invoice. For a single-jurisdiction invoice where every line is taxed the same way, that percentage is the real local rate (for example, 8.25% in Austin TX) and is accurate for each line.
If an invoice has line items that Avalara taxes at different rates because they map to different tax codes (for example, taxable hardware on one line and an exempt SaaS subscription on another), the integration calculates the total tax through Avalara and writes a single blended effective rate to the Jobber invoice. The dollar amount is always correct. The percentage shown is the blended rate (total tax divided by taxable subtotal). This is a Jobber template limitation: Jobber assigns one tax rate per invoice, not one per line, so we cannot show per-line rates on the buyer-facing layout. For typical field-service invoices with consistent taxability across lines, the displayed percentage is the true per-line rate and the blended-rate behavior never matters.