APSync Documentation

Turn on Sales Tax in QuickBooks Online

Why this matters: a brand-new QuickBooks Online company (including a trial company) starts with Sales Tax completely off — no tax codes, no tax rates, and every invoice calculates $0 tax regardless of what the line items or customer look like. This has to be turned on once, by hand, before any tax calculation will ever produce a real number. There is no API to do this — confirmed directly against Intuit's own developer documentation and community reports (their TaxService API resource only applies tax codes to transactions after Sales Tax is already active; it doesn't turn Sales Tax on in the first place).

Steps

  1. Go to All apps (or the left navigation) → Sales TaxOverview.
  2. Select "Use automatic sales tax."
  3. Confirm or enter the business's name and address, then Next.
  4. It asks whether you also collect sales tax outside your home state —

answer Yes or No. If Yes, add each additional state/agency you need.

real tax for states where you've told it you have nexus (a tax-collection obligation). A customer in a state you didn't add will correctly show $0 tax — that's not a bug, it's QuickBooks determining you have no obligation to collect there.

  1. Once finished, QuickBooks uses the business's address as the default

sale location on new invoices/sales receipts and calculates tax automatically going forward.

To add more states/agencies later

Sales Tax SettingsAdd agency → choose the agency and filing frequency → enter the start date → choose a reporting method (cash or accrual) → Save.

Reaching Sales Tax Settings is the part that has gone stale — see the next section before hunting for it.

When the navigation doesn't match what you see

QuickBooks made its refreshed experience the default in May 2026. Every Intuit help article — and the step list above — still describes the older Sales Tax Center. On a company running the new experience the paths simply do not exist as written, and following them wastes real time.

Check which experience a realm is on before giving anyone directions: CompanyInfo carries a NeoEnabled flag, readable via the API (SELECT * FROM CompanyInfo, as_is=True). NeoEnabled: true means the new experience and means these docs' navigation is unreliable for that realm.

Three things learned the hard way on STAGING (9341455497525526), 2026-08-25:

  1. Refresh the browser after the automated-sales-tax switch completes.

This was the actual fix. The Sales Tax overview page renders before the switch finishes and the Sales Tax Settings control does not appear on it. A plain reload made it show up. Try this first — it costs nothing.

  1. Don't press Enter in the top search bar. In the new experience that

bar is a navigator; Enter runs a transaction search, which returns "No results found" for anything that isn't a transaction. Use the Jump to entries in the dropdown instead. Note that "Sales Tax Home" in that list goes to the same Overview page you are already on — it is not the settings page.

  1. Direct URL, if the control still isn't there:

https://app.qbo.intuit.com/app/tax/edit-settings — Intuit's own resolve common sales tax issues article describes this as the page for managing every agency in the sales tax setup and filling in each agency's start date.

Things that look like the answer and are not: the Economic Nexus card on the overview page (an information grid, not a link), Sales tax categories (product tax categorization), and Sales settings (invoice/estimate preferences).

Switching a company that is already on manual sales tax

The steps at the top of this file assume a brand-new company with sales tax never turned on. A company already running legacy manual sales tax takes a different path, and its wizard has an extra step.

Tell the two apart from the API — no UI needed:

manualautomated (AST)
TaxPrefs.PartnerTaxEnabledabsentTrue
tax rateshand-made, often onereal jurisdiction rates

The extra step is "Bulk matching." The wizard lists the company's existing manual tax rates and asks you to map each to an official Intuit agency. Use the dropdown on the rate's own row; the "Bulk matching" control at the top applies one agency to many rates, which is the opposite of what a single-row company needs.

A SpecialTaxType: ZERO_RATE rate is a placeholder, not a mistake to preserve. QBO generates one automatically — along with two ADJUSTMENT_RATE companions — whenever an agency is created in the manual center and no percentage is ever entered. Mapping it through the wizard is harmless: AST supersedes it with real rates, and the husk stays only for historical transactions.

Worked example — STAGING, 2026-08-25

Before: PartnerTaxEnabled absent, one agency (GA Dept of Revenue), one rate Georgia Sales Tax at 0% (ZERO_RATE), created 2025-10-13 in a single second along with its two adjustment rates — an agency shell nobody ever configured. Every invoice would have computed $0 tax.

After clicking through the wizard and mapping that 0% rate to Georgia Department of Revenue:

Revenue, plus No Tax Agency`

That is a byte-for-byte match with AP Trial 4's tax shape. AST resolved Cobb County from the Marietta business address on its own.

The company had zero invoices, so nothing was attached to the old rate. On a realm with real transaction history, check what the legacy rate is attached to before migrating.

Business address used for AP Trial 3's setup

Matched to STAGING's registered CompanyInfo address (pulled directly via the QBO API, 2026-07-14), for consistency across realms:

Active Parenting Staging
1290 Kennestone Cir
Marietta, GA 30066-6009
USA

Additional states (California, Wisconsin, Kentucky)

The business collects sales tax for Georgia, California, Wisconsin, and Kentucky (features/invoices/spec.org § Tax Decision Point). Only Georgia was registered as part of initial setup above — add the other three via Add agency (above) for each.

Placeholder choice, 2026-07-14, until the actual tax-filing owner specifies otherwise: filing frequency quarterly, reporting method accrual, for all three. Revisit this if whoever handles real tax filings has different requirements per state.

What this unblocks

features/invoices/plan_buffer.org Phase 2b (tax activation producing a real nonzero TxnTaxDetail) and Phase 3 (writing that tax amount back to HubSpot) both depend on this being turned on. See features/invoices/issues.org for the discovery that this was off by default on AP Trial 3.