Commit Data for Filing (Reverse Calculation)

Commit Data for Filing (Reverse Calculation)

This process shows how an organization can send a commit call with already calculated tax amounts or exempt amounts to Simple Connect API. This will trigger an audit call to Global Tax Determination (GTD) and it will determine or adjust the gross and exempt amounts to be consistent with the input. This is what we call a back or reverse calculation. Once committed, the transaction can be leveraged by our Sovos Filing product and cannot be changed.

In this scenario, the tax amounts will not be changed by GTD because it is assumed that the transactions are finalized. GTD will determine or adjust the gross amount and the exempt amount if necessary to ensure that the values are consistent for the transaction.

As you can see in the example below, the request body needs to specify a taxDirection field with the value REVERSE to clarify the required inverse order of calculation. Also, for each line you need to specify the gross amount (it could be set to 0 and GTD will determine the correct one), the total tax amount and an optional exempt amount.

NOTE: Due to some validations on Simple Connect API, both gross amount and tax amount fields are required even if these are set to 0. Also, if the tax amount is 0, then you have to specify a non-zero exempt amount (it is not possible to leave both fields as 0).

NOTE: If a line is fully exempt, just specify 0 as the tax amount and a non-zero value as the exempt amount and GTD will determine the taxable amount of 0.

Sample Request/Response A: Shopper Sends a Reverse Calc for filing to Simple Connect API

Request

POST /api/basic-auth/simple-connect-ar/v1/transactions?state=COMMIT 

Body

{
    "invoiceDate": "2019-07-29",
    "invoiceNumber": "INV-123456",
    "customerCode": "CU5689",
    "taxDirection": "REVERSE",
    "currencyCode": "USD",
    "lineItems": [
        {
            "goodServiceCode": "CLTH867",
            "grossAmount": 200,
            "taxAmount": 12,
            "exemptAmount": 0,
            "quantity": 1,
            "deliveryDate": "2019-07-29"
        }
    ],
    "shipTo": {
        "address": "200 Ballardvale ST",
        "cityMunicipality": "Wilmington",
        "country": "USA",
        "county": "Middlesex",
        "stateProvince": "MA",
        "zipPostalCode": "01887"
    }
} 

Response

Body

{
    "status": 200,
    "message": "Successfully created new transaction with new state: COMMIT",
    "data": {
        "transactionId": "1bf36437-ea91-45a5-8bd8-65678d8624f6_183652955",
        "currencyCode": "USD",
        "totalTaxAmount": 12.0,
        "shipTo": {
            "cityMunicipality": "Wilmington",
            "stateProvince": "MA",
            "country": "USA",
            "county": "Middlesex",
            "zipPostalCode": "01887",
            "address": "200 Ballardvale ST"
        },
        "lineItems": [
            {
                "identifier": "00000000",
                "totalTaxAmount": 12.0,
                "taxInfo": [
                    {
                        "type": "SALES_TAX",
                        "authorityName": "MA State Tax",
                        "stateOrProvince": "MASSACHUSETTS",
                        "country": "UNITED STATES",
                        "taxAmount": 12.0,
                        "taxRate": 0.0625,
                        "taxableAmount": 192.0,
                        "exemptAmount": 0.0,
                        "messages": [],
                        "jurisdictionType": "STATE"
                    }
                ]
            }
        ],
        "invoiceDate": "2019-07-29",
        "customerCode": "CU5689",
        "invoiceNumber": "INV-123456"
    },
    "success": true
} 

As you can see in the response body, even when the request specified a gross amount of 200.0, GTD adjusted it to 192.0 in order to be consistent with the given tax rate.