Multi-Tier Tax
Taggun’s Multi-Tier Tax feature enables the extraction and processing of multiple tax rates from receipts or invoices, providing accurate tax data for various items and regions.
What is Multi-Tier Tax?
Multi-tier tax refers to scenarios where different items on a single receipt are subject to multiple tax rates. This is common in industries such as retail or hospitality, where different product categories (e.g., food, and alcohol) may have distinct tax rates. Taggun's multi-tier tax handling feature automatically extracts and processes these multiple tax rates, ensuring accurate tax calculation and reporting for diverse tax jurisdictions.
Key Features
-
Multiple Tax Rate Recognition: Our system can identify and extract multiple tax rates applied to different items on a single receipt or invoice.
-
Global Tax System Support: We support various tax systems including VAT (Value Added Tax), GST (Goods and Services Tax), Sales Tax, and region-specific taxes.
-
Tax Amount Calculation: Taggun calculates total tax amounts based on the extracted tax rates and item prices.
-
Tax Identification Numbers: Taggun extracts and validates tax identification numbers such as VAT numbers, ABNs (Australian Business Numbers), and more.
How It Works
- Extracts tax rates and amounts for multiple tax types on a single receipt
- Identifies VAT numbers and verifies their structure or against official databases (for EU)
- Handles country-specific tax identifiers (e.g., SIRET and SIREN in France)
- Returns data in the JSON response
Compatible Endpoints
Multi-Tax Items feature is available on the following Data Extraction API Endpoints endpoints:
Understanding the Response
The multi-tax information is found in the multiTaxLineItems
array within the entities
object of the response.
Each item in the multiTaxLineItems
array contains:
Field Name | Type | Description | Access Path |
---|---|---|---|
taxType | String | The type of tax (e.g., "TVA" for France) | entities.multiTaxLineItems[].data.taxType.data |
taxRate | Number | The tax rate as a decimal (e.g., 0.2 for 20%) | entities.multiTaxLineItems[].data.taxRate.data |
netAmount | Number | The amount before tax | entities.multiTaxLineItems[].data.netAmount.data |
taxAmount | Number | The tax amount | entities.multiTaxLineItems[].data.taxAmount.data |
grossAmount | Number | The total amount including tax | entities.multiTaxLineItems[].data.grossAmount.data |
Example JSON
Below is an example of the multiTaxLineItems
extracted from a French receipt.
Note that index
field represents the position of the tax line item in the list of extracted items from the receipt.
{
"entities": {
"multiTaxLineItems": [
{
"data": {
"taxType": {
"text": "TVA",
"data": "TVA"
},
"taxRate": {
"text": "20.00",
"data": 0.2
},
"netAmount": {
"text": "83.33",
"data": 83.33
},
"taxAmount": {
"text": "16.67",
"data": 16.67
},
"grossAmount": {
"text": "100.00",
"data": 100
}
},
"confidenceLevel": 0.95,
"index": 1
},
{
"data": {
"taxType": {
"text": "TVA",
"data": "TVA"
},
"taxRate": {
"text": "5.50",
"data": 0.055
},
"netAmount": {
"text": "47.39",
"data": 47.39
},
"taxAmount": {
"text": "2.61",
"data": 2.61
},
"grossAmount": {
"text": "50.00",
"data": 50
}
},
"confidenceLevel": 0.93,
"index": 2
}
]
}
}
Best Practises
- Fallback to Tax Amounts: If multi-tax information is incomplete, fallback to extracting the taxAmount field to retrieve total tax amounts.
- Check for Missing Data: Always check if fields such as grossAmount or netAmount are missing. If unavailable, consider recalculating totals using the available tax rates and item prices.
Supported Countries
Taggun's Multi-Tax Line Items feature supports various countries and their specific tax systems. The system is designed to recognise and extract tax information from receipts issued in different jurisdictions, adapting to local tax naming conventions and rates.
Expanding Tax Support
At Taggun, we continually strive to enhance our tax-handling capabilities to meet the diverse needs of our global user base.
If you encounter a tax system or specific tax-related requirement that isn't currently supported by our API, we want to hear from you at [email protected].
Updated 2 months ago