Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.dualentry.com/llms.txt

Use this file to discover all available pages before exploring further.

Tax Management

DualEntry includes a native, multi-jurisdiction tax engine that handles US sales and use tax, EU/UK VAT, and GST across multiple regions without relying on a third-party tax service. Tax is calculated at the line-item level, posts directly to the General Ledger, and feeds the reports you need for filing. DualEntry supports tax in two broad models: US Taxes covers jurisdiction-based sales and use tax across all 50 states and roughly 13,000 local jurisdictions, and Non-US Taxes covers rate-based VAT (EU, UK, and others) and GST (Australia, India, Singapore, Malaysia, and others). If you operate in multiple countries, both models run in the same tenant and DualEntry applies the correct treatment per transaction based on the parties involved and their addresses.

How tax management works

Three foundational concepts drive every tax calculation in DualEntry. Nexus. A nexus represents a jurisdiction where you’re registered to collect and remit tax (a US state, a non-US country, or in some cases a sub-region). You configure your nexuses under Configuration → Tax Setup → Nexuses, and DualEntry uses those registrations to decide which taxes apply to a transaction. If you’re not registered in a jurisdiction, DualEntry won’t apply its tax and won’t accidentally over-collect. Address-driven determination. Tax is calculated based on the parties on the transaction and their addresses. For sales, DualEntry prioritizes the shipping address on the record, falls back to the billing address when shipping isn’t specified, and then to the customer’s default address. For purchases, the vendor’s address combined with your nexus determines treatment. Address-level precision matters: US sales tax rates can change at the zip-code level, and cross-border VAT and GST rules pivot entirely on the buyer’s country. Direct GL posting. Tax doesn’t create a separate journal entry. When you post an invoice or bill, the tax amount is part of the same posting transaction that hits the General Ledger, debiting or crediting the appropriate tax accounts (sales tax payable, VAT receivable, GST output, and so on) as line-level entries on the source document. This matches how all transactions post in DualEntry and keeps the audit trail tied to the originating record. See General Ledger for more on the direct-posting model. For organizations that prefer a third-party engine, DualEntry also supports an Avalara integration as an alternative for US sales tax calculation.

US vs non-US tax: two models, one platform

US sales and use tax and international VAT/GST behave differently enough that DualEntry models them as two related but distinct systems. US tax is jurisdiction-based. A US transaction gets a tax code (typically a combination of state, county, and city) that determines the rate. Compound codes stack components separately so the breakdown is visible on invoices and reports. Sales tax is collected from the customer and remitted to the taxing authority; use tax is self-assessed on purchases where the vendor didn’t charge tax. VAT and GST are rate-based. A non-US transaction uses a tax rate (for example, 5%, 20%, zero-rated, exempt) tied to a country’s tax system. VAT and GST track input and output tax separately: output VAT or GST on sales is a liability you remit, while input VAT or GST on purchases is a receivable you reclaim. Both sides flow into a periodic return. The distinction matters because the configuration, calculation, and reporting workflows differ. The same DualEntry tenant supports both. See US Taxes for the sales and use tax flow, and Non-US Taxes for VAT and GST.

Cross-cutting concepts

A few capabilities span both tax models. Tax registration numbers. Customer and vendor records carry tax registration numbers (US sales tax permit, VAT number, GST number, PST number) in a unified registration field. DualEntry uses these to determine reverse-charge eligibility for VAT, B2B treatment for GST, and exemption matching for US sales tax. Exemptions. Customers can be marked tax-exempt at the record level for US sales tax (with an exemption certificate stored for audit), or treated as zero-rated or exempt at the line level under VAT and GST. Exemption logic is checked at posting time so the GL impact is correct from the moment the transaction lands. Multi-currency. Tax calculations run in the transaction currency, with FX revaluation handled through your multi-currency setup. This matters for international AR and AP where you bill in customer currency but report in company currency. Tax reporting and payment. Tax data feeds dedicated reports (sales tax liability, VAT returns, GST returns) that you run by period and jurisdiction. When you remit tax to a tax agency, DualEntry records the payment as a debit to the tax liability account and a credit to cash, closing out the period’s collected tax.

Setup and where to go next

If you’re setting up tax for the first time, work through the pages in this order:
  1. Configure your nexuses under Configuration → Tax Setup → Nexuses for every jurisdiction where you’re registered to collect or remit tax.
  2. Add tax registration numbers to your customer and vendor records.
  3. Walk through the model that applies to your business: US Taxes, Non-US Taxes, or both if you operate globally.
Related pages: Avalara integration, Multi-currency setup, and General Ledger for how tax postings affect your books.
Last modified on May 28, 2026