Sales Tax Liability report
Updated September 23, 2026
What this does
Reports → Sales Tax Liability totals, for a period, the Taxable Sales and Tax Collected on every issued, non-void invoice, grouped by Jurisdiction / Tax Group with the group's Tax Rate. It's the worksheet for the sales tax return.
Before you start
reports.view. Tax rates and a default group set up under Accounting → Sales Tax, so the report can name the jurisdiction. Every invoice for the period issued (drafts aren't counted).
Steps
From, To (the filing period), Run Report. Rows per tax group with Totals. Export CSV for your preparer or the state portal.
How it's built
The report reads invoice lines, not the ledger: for each non-void, non-draft invoice dated in the period, the taxable line amounts and tax amounts, grouped by the tax group on the line. Lines carry no group of their own today, so everything falls to the shop's active default group, and the report shows one jurisdiction row with the group's combined rate. Taxable Sales × Tax Rate should equal Tax Collected within rounding; if it doesn't, the shop rate and the group's rates disagree.
Reconciling to the books
The ledger's Sales Tax Payable account is what you actually owe. Run the General Ledger report on it for the same period: credits are tax collected on invoices, debits are remittances you paid and tax reversed by voids and credit memos. Tax Collected on this report should equal the period's credits. When it doesn't, an invoice posted without its tax (the payable account wasn't set when it was issued) or a void didn't reverse; the nightly checks flag posting failures.
When you pay the state, record it as a check or a card charge categorized to Sales Tax Payable, not to an expense. The account then returns to zero for the period, and the next period's collections start clean.
Common problems
The report shows one row when we file for three jurisdictions. Lines aren't tagged by jurisdiction; the report groups everything under the default group. Split the total by the group's rate percentages for the return.
Tax Collected is less than the ledger. An invoice was edited after issue to add tax, or tax was posted by a journal entry. The report reads invoices; the ledger reads everything.
A voided invoice is still counted. Its status didn't update; void it again from its page.
We changed the rate mid-period. Invoices keep the rate they were issued at. The report's rate column shows the current group rate, so Taxable Sales × rate won't equal Tax Collected for that period; the Tax Collected column is the true figure.