Understanding pass through types
Overview
Every tax or fee CereTax calculates on an invoice is categorized into one of three pass through types. A tax's pas through type is reflected in the passThroughType
and passThroughTypeDesc
fields in the tax object of transaction responses. The pass through type defines if a tax or fee must be passed onto the purchaser, can optionally be passed onto the purchaser, or is prohibited from being passed onto a purchaser. These are the currently supported pass through types you will see in API responses:
passThroughType | passThroughTypeDesc | description |
---|---|---|
1 | REQUIRED | Indicates the tax must be passed through to the purchaser. |
2 | PROHIBITED | Indicates the tax cannot be passed through to the purchaser. |
3 | OPTIONAL | Indicates the tax can optionally be passed through to the purchaser |
CereTax will always calculate all applicable taxes on an invoice, regardless of pass through type. However, the CereTax API only returns taxes and fees with the REQUIRED and OPTIONAL pass through types by default. Taxes and fees with a PROHIBITED pass through type are visible in the CereTax portal, reports, and through the list transaction endpoints.
Including prohibited taxes in the response
The CereTax API does support an option for including PROHIBITED taxes in the create and replace transaction API response. You can elect to include PROHIBITED taxes in the API response by using the configuration.responseOptions.passThroughType
object in create and replace transaction requests.
In the request example below, the includePassThroughTypes
parameter includes the value 2
to indicate PROHIBITED taxes should be included in the response. If any PROHIBITED taxes and fees are applicable to the invoice, they will be returned in the API response when this option is used.
{
"configuration": {
"status": "Active",
"contentYear": "2024",
"contentMonth": "01",
"decimals": 2,
"calculationType": "S",
"profileId": "telco",
"responseOptions": {
"passThroughType": {
"includePassThroughTypes": ["2"]
}
}
},
"invoice": {
"invoiceDate": "2024-01-01",
"invoiceNumber": "INV-00005",
"sellerType": "01",
"invoiceTotalAmount": 100,
"customerAccount": "CUST-10001",
"businessType": "15",
"customerType": "02",
"lineItems": [
{
"lineId": "1",
"dateOfTransaction": "2024-01-01",
"psCode": "62040400",
"revenue": 100,
"units": {
"quantity": 1,
"type": "03"
},
"situs": {
"taxSitusRule": "S",
"customerAddress": {
"serviceAddress":{
"addressLine1": "3440 Preston Ridge Road",
"city": "Alpharetta",
"state": "GA",
"postalCode": "30005",
"country": "US",
"validateAddress": false
},
"billingAddress":{
"addressLine1": "3440 Preston Ridge Road",
"city": "Alpharetta",
"state": "GA",
"postalCode": "30005",
"country": "US",
"validateAddress": false
}
}
}
}
]
}
}
Tax-on-tax options for OPTIONAL pass through type taxes
In addition to being able to customize which taxes are included in the API response based on pass through type, you can also customize if taxes with an OPTIONAL pass through type should be included in the tax base of other taxes. By default, CereTax includes OPTIONAL taxes in the tax base of applicable taxes for tax on tax purposes by assuming these taxes and fees are being passed onto the purchaser. If you do not pass taxes and fees with an OPTIONAL pass through type onto the purchaser and do not want them included in the tax base of applicable taxes for tax on tax purposes, you can use the configuration.responseOptions.passThroughType
object in create and replace transaction requests to exclude them from tax-on-tax.
In the request example below, the excludeOptionalTaxesInTaxOnTax
parameter is set to true
to indicate OPTIONAL taxes should be excluded from the tax base of applicable taxes for tax on tax purposes.
{
"configuration": {
"status": "Active",
"contentYear": "2024",
"contentMonth": "01",
"decimals": 2,
"calculationType": "S",
"profileId": "telco",
"responseOptions": {
"passThroughType": {
"excludeOptionalTaxesInTaxOnTax": true
}
}
},
"invoice": {
"invoiceDate": "2024-01-01",
"invoiceNumber": "INV-00005",
"sellerType": "01",
"invoiceTotalAmount": 100,
"customerAccount": "CUST-10001",
"businessType": "15",
"customerType": "02",
"lineItems": [
{
"lineId": "1",
"dateOfTransaction": "2024-01-01",
"psCode": "62040400",
"revenue": 100,
"units": {
"quantity": 1,
"type": "03"
},
"situs": {
"taxSitusRule": "S",
"customerAddress": {
"serviceAddress":{
"addressLine1": "3440 Preston Ridge Road",
"city": "Alpharetta",
"state": "GA",
"postalCode": "30005",
"country": "US",
"validateAddress": false
},
"billingAddress":{
"addressLine1": "3440 Preston Ridge Road",
"city": "Alpharetta",
"state": "GA",
"postalCode": "30005",
"country": "US",
"validateAddress": false
}
}
}
}
]
}
}
Updated 10 months ago