Introduction to Tax Determination

Tax determination is the automated process of identifying the correct tax obligation for a commercial transaction. A tax engine takes the following inputs and resolves the applicable tax regime, rate, and amount:

  • Who is buying
  • What they are buying
  • Where the sale takes place
  • Under what conditions the sale occurs

Abacus Tax Engine handles this process for three major indirect tax systems: Sales Tax, VAT (Value Added Tax), and GST (Goods and Services Tax).


Tax Systems Overview

The three systems differ in structure and geography, but all share a common set of determination inputs.

Tax System Regions Collection Model Rate Structure
Sales Tax United States Collected at point of sale by the seller Multi-level: state + county + city
VAT European Union, United Kingdom, Australia, most of the world Collected at each stage of the supply chain Tiered: standard, reduced, zero-rated, exempt
GST India, Singapore, New Zealand Unified consumption tax, sometimes split federal/provincial Flat or dual rate

Despite their structural differences, all three systems require the same core inputs to resolve a tax outcome: location, product classification, customer status, and transaction context. The Abacus Tax Engine API models these uniformly.


Tax Determination Flow

The following diagram shows how Abacus Tax Engine resolves a tax outcome from the inputs provided.

This diagram is a simplified representation. The full determination process may involve additional considerations depending on the jurisdiction, tax regime, and transaction context.


Factors that Affect Tax Determination

Tax determination is not a single lookup. It is the intersection of multiple independent factors. A change in any one of them can change the outcome.

1. Jurisdiction

Jurisdiction determines which tax authority has the right to collect tax on a transaction. It is resolved from the addresses provided on the transaction.

Addresses are validated and sanitised before determination runs. Submitting a malformed or ambiguous address will not silently produce a wrong tax rate - it is caught at the point of ingestion.

Abacus Tax Engine normalises incoming address data to ensure jurisdiction resolution is accurate. This includes:

  • Standardising state and province codes (e.g. californiaCA)
  • Formatting and validating postal codes per country rules
  • Resolving city name variants to canonical forms
  • Flagging incomplete addresses that cannot be reliably mapped to a jurisdiction

The normalised address is returned in the response as matched_address, alongside additional fields to help you assess the quality of the match:

Field Description
confidence Match quality score between 0 and 1: 1.0 = exact match, < 0.7 = low confidence
match_level Granularity of the geocode match (e.g., street, city, zip, state, unmatched)
address_corrected true if the geocoded result differs from the submitted address
low_confidence_warning true if confidence is below 0.7
Confidence Meaning
1.0 Exact match - full address resolved to a precise location
0.70.99 Partial match - jurisdiction resolved but some address components were inferred or corrected
< 0.7 Low confidence - low_confidence_warning is set to true; review the matched address before relying on the result

A low confidence score does not mean tax was not calculated - it means the address match was uncertain. If accurate jurisdiction resolution is critical for the transaction, validate the address before submission.


2. Tax Obligations and Thresholds

A tax obligation arises when a business crosses a defined threshold in a jurisdiction, creating a legal duty to register, collect, and remit indirect tax. The nature of that threshold depends on the country, the tax regime, and in some cases the type of product or service being sold.

Tax obligations are not unique to any single tax system. Sales Tax, VAT, and GST all operate on the same principle: once your business activity in a jurisdiction reaches a certain level, you are required to participate in that jurisdiction's tax system.

Two types of threshold determine when an obligation is triggered:

Physical presence (qualitative)

A physical obligation arises from the tangible presence of your business in a jurisdiction. Factors include:

  • Having an office, store, or warehouse
  • Employing staff or agents in the territory
  • Storing inventory locally
  • Conducting regular business activities from that location

Physical presence rules differ considerably between countries and are subject to local interpretation.

Economic activity (quantitative)

An economic obligation arises when a business exceeds a defined volume of sales into a jurisdiction, regardless of whether any physical presence exists. The threshold is typically defined by:

  • Revenue: total value of sales into the jurisdiction within a period
  • Transaction count: number of individual transactions completed
  • Product type: some jurisdictions apply lower thresholds to specific categories such as digital services

Thresholds vary widely. A business selling physical goods may face a different limit than one selling software subscriptions, even within the same country.

Thresholds change as tax authorities update legislation. A jurisdiction that did not previously require registration may introduce economic thresholds. Abacus Tax Engine allows thresholds to be updated at any time through your account configuration.

How Abacus Tax Engine tracks your obligations:

Every transaction submitted to Abacus Tax Engine is immediately counted and accumulated against the relevant jurisdiction thresholds. The system monitors your position in real time and flags when a threshold is being approached or has been breached.


3. Product Classification

Not all products are taxed the same way. Tax authorities assign different rates and taxability rules depending on what is being sold. The same product can be fully taxable in one jurisdiction, zero-rated in another, and exempt in a third.

Each product in Abacus Tax Engine is assigned a classification that tells the system how it should be treated for tax purposes. That classification is resolved against the applicable rules for the jurisdiction in which the transaction takes place, producing the correct rate automatically.

Classification is applied at the line-item level.

A single transaction rarely contains just one type of product. A customer might purchase a physical device, a software licence, and a support contract in the same order. Each of those items can have a completely different tax treatment - and Abacus Tax Engine handles all of them independently within the same transaction.

Real World Example: A business purchases a hardware unit, an annual software subscription, and an onboarding service bundle in a single invoice. The hardware may be fully taxable. The software subscription may attract a digital services rate. The service bundle may be exempt. Abacus Tax Engine classifies and rates each line independently, then returns a consolidated tax total for the transaction.

Rather than applying a single blanket rate to the whole order, Abacus Tax Engine resolves the correct treatment for every line, accounting for the classification of each product against the rules of the destination jurisdiction.

Custom product mappings: Abacus Tax Engine supports customised mappings between your internal product catalogue and tax classifications. Rather than requiring your products to conform to a standard taxonomy, you can define how your own product identifiers and categories map to the appropriate classifications.


4. Customer Exemptions

Certain customers are legally exempt from paying tax on some or all transactions. Common exemption categories include:

  • Resellers holding a resale certificate (they will collect tax downstream)
  • Non-profit organisations
  • Government entities
  • Businesses registered in jurisdictions where reverse-charge applies (B2B VAT)

Abacus Tax Engine models exemptions as first-class resources linked to a customer record. When a transaction references an exempt customer, the applicable exemptions are applied during determination.

Exemptions are scoped to a customer and a jurisdiction and carry their own validity period and status. See the Exemptions guide for full details on creating and managing exemptions.


5. Transaction Type

The nature of the transaction affects both whether tax applies and how it is calculated.

Transaction Type Description Tax Behaviour
sales_order Pre-invoice commitment Calculated for reference, not filing
invoice Confirmed sale Tax calculated and reportable
estimate Quote or proposal Calculated for reference only
refund Full reversal of a transaction Tax reversed proportionally
taxable_refund Partial or taxable return Tax calculated on returned amount

Refund transactions can optionally be linked to the original invoice, tying the refund tax amount to the original transaction's effective rate. See the Refunds guide for details.


6. Currency

For international transactions, Abacus Tax Engine accepts currency and exchange rate information alongside the transaction. Tax is always calculated using the exchange rate required by the reporting jurisdiction, ensuring the tax amount is compliant with local reporting requirements. The exchange rate can be provided by your system or resolved by Abacus Tax Engine automatically.

See the Multi-Currency guide for details.


Next Steps