Modeling Tax Calculations

Read about how tax calculations are modeled in VRBL.

You need to provide one tax breakdown for each Tax Category.

Tax Category - Taxable Amount

The Taxable Amount shows the amount that is eligible for tax.

The Taxable Amount for a given Tax Category is calculated as follows:

Tax Category Taxable Amount = Sum of (Invoice Line Net Amounts)-Document Level Charge Amount-Document Level Allowance Amount

This is represented by the following VRBL elements:

/Invoice/TaxTotal/TaxSubtotal/TaxableAmount=sum(/Invoice/LegalMonetaryTotal/LineExtensionAmount)+/Invoice/AllowanceCharge[ChargeIndicator='true']/Amount-/Invoice/AllowanceCharge[ChargeIndicator='false']/Amount

Tax Category - Tax Amount

The Tax Amount is the amount of tax that is due.

The Tax Amount for a given Tax Category is calculated as follows:

Tax Category Tax Amount = Tax Category Taxable Amount * (Tax Category Rate / 100)

This is represented by the following VRBL elements:

/Invoice/TaxTotal/TaxSubtotal/TaxAmount=/Invoice/TaxTotal/TaxSubtotal/TaxableAmount*(/Invoice/TaxTotal/TaxSubtotal/TaxCategory/:Percent/100) 

Document Total Tax Amount

The Total Tax Amount for a Document shows the total tax due for every Tax Category in the Document.

The Total Tax Amount for a Document is calculated as follows:

Invoice Total Tax Amount= Sum of(Tax Category Tax Amounts)

This is represented by the following VRBL elements:

/Invoice/TaxTotal/TaxAmount=sum(/Invoice/TaxTotal/TaxSubtotal/TaxAmount)

Example

This example contains the following Document-level Allowances , Charges, and Tax Category IDs:

  • A Charge of 200.00 EUR with a Tax Category of S and a Tax Rate of 25%.
  • An l Allowance of 100.00 EUR with a Tax Category of S and a Tax Rate of 25%.

It also contains the following line-level Tax Categories and Rates:

  • Lines 1 and 3 use a Tax Category S and a Tax Rate of 25%.
  • Line 2 uses Tax Category E and a Tax Rate of 0%.

This results in 2 tax breakdowns:

1. Tax breakdown for category S and rate = 25%

Tax Category Taxable Amount

Lines 1 and 3 result in the following breakdown for the Tax Category Taxable Amount:

Tax Category Taxable Amount = ∑(Invoice Line Net Amounts) // sum of line amount (line 1 and 3)+Document Level Charge Amount // plus charge amount = 25%-Document Level Allowance Amount // minus allowance amount where category=Sand rate=5000.00

Tax Category Tax Amount

Lines 1 and 3 result in the following breakdown for the Tax Category Tax Amount:

Tax Category Tax Amount=Tax Category Taxable Amount*(Tax Category Rate / 100)=1250.00

2. Tax breakdown for category E and rate = 0%

Tax Category Taxable Amount

Line 2 results in the following breakdown for the Tax Category Taxable Amount:

Tax Category Taxable Amount=2000.00

Tax Category Tax Amount

Line 2 results in the following breakdown for the Tax Category Tax Amount:

Tax Category Tax Amount = 0.00

Invoice Total Tax Amount

The Invoice Total Amount for the document is broken down as follows:

Invoice Total Tax Amount= Sum of(Tax Category Tax Amounts)=1250.00

Here is the full example:

<Invoice>
    <!-- code omitted for clarity -->
    <cac:AllowanceCharge>
        <!-- Document Level Charge Amount for category S and rate 25% -->
        <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
        <cbc:AllowanceChargeReason>Cleaning</cbc:AllowanceChargeReason>
        <cbc:Amount currencyID="EUR">200</cbc:Amount>
        <cac:TaxCategory>
            <cbc:ID>S</cbc:ID>
            <cbc:Percent>25</cbc:Percent>
            <cac:TaxScheme>
                <cbc:ID>VAT</cbc:ID>
            </cac:TaxScheme>
        </cac:TaxCategory>
    </cac:AllowanceCharge>
    <!-- code omitted for clarity -->
    <cac:AllowanceCharge>
        <!-- Document Level Allowance Amount for category S and rate 25% -->
        <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
        <cbc:AllowanceChargeReason>Discount</cbc:AllowanceChargeReason>
        <cbc:Amount currencyID="EUR">100</cbc:Amount>
        <cac:TaxCategory>
            <cbc:ID>S</cbc:ID>
            <cbc:Percent>25</cbc:Percent>
            <cac:TaxScheme>
                <cbc:ID>VAT</cbc:ID>
            </cac:TaxScheme>
        </cac:TaxCategory>
    </cac:AllowanceCharge>
    <!-- code omitted for clarity -->
    <cac:TaxTotal>
        <cbc:TaxAmount currencyID="EUR">1250.00</cbc:TaxAmount>
        <cac:TaxSubtotal>
            <!-- Tax Breakdown for category S and rate = 25% -->
            <!-- ===
                 Taxable Amount = 
                 sum of line amount (line 1 and 3), 
                 plus charge amount minus allowance amount where category = S 
                 and rate = 25% -->
            <cbc:TaxableAmount currencyID="EUR">5000.00</cbc:TaxableAmount>
            <cbc:TaxAmount currencyID="EUR">1250.00</cbc:TaxAmount>
            <cac:TaxCategory>
                <cbc:ID>S</cbc:ID>
                <cbc:Percent>25</cbc:Percent>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:TaxCategory>
        </cac:TaxSubtotal>
        <cac:TaxSubtotal>
            <!-- Tax breakdown for category E and rate = 0% -->
            <cbc:TaxableAmount currencyID="EUR">2000.0</cbc:TaxableAmount>
            <cbc:TaxAmount currencyID="EUR">0</cbc:TaxAmount>
            <cac:TaxCategory>
                <cbc:ID>E</cbc:ID>
                <cbc:Percent>0</cbc:Percent>
                <cbc:TaxExemptionReason>Reason for tax exempt</cbc:TaxExemptionReason>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:TaxCategory>
        </cac:TaxSubtotal>
    </cac:TaxTotal>
    <!-- code omitted for clarity -->
    <cac:InvoiceLine>
        <cbc:ID>1</cbc:ID>
        <cbc:Note>Testing note on line level</cbc:Note>
        <cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>
        <cbc:LineExtensionAmount currencyID="EUR">4000.00</cbc:LineExtensionAmount>
        <!-- code omitted for clarity -->
        <cac:Item>
            <cac:ClassifiedTaxCategory>
                <cbc:ID>S</cbc:ID>
                <cbc:Percent>25.0</cbc:Percent>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:ClassifiedTaxCategory>
        </cac:Item>
        <!-- code omitted for clarity -->
    </cac:InvoiceLine>
    <cac:InvoiceLine>
        <cbc:ID>2</cbc:ID>
        <cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>
        <cbc:LineExtensionAmount currencyID="EUR">2000.00</cbc:LineExtensionAmount>
        <!-- code omitted for clarity -->
        <cac:Item>
            <cac:ClassifiedTaxCategory>
                <cbc:ID>E</cbc:ID>
                <cbc:Percent>0.0</cbc:Percent>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:ClassifiedTaxCategory>
        <cac:Item>
        <!-- code omitted for clarity -->
    </cac:InvoiceLine>        
    <cac:InvoiceLine>
        <cbc:ID>3</cbc:ID>
        <cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>
        <cbc:LineExtensionAmount currencyID="EUR">900.00</cbc:LineExtensionAmount>
        <!-- code omitted for clarity -->
        <cac:Item>
            <cac:ClassifiedTaxCategory>
                <cbc:ID>S</cbc:ID>
                <cbc:Percent>25.0</cbc:Percent>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:ClassifiedTaxCategory>
        </cac:Item>
        <!-- code omitted for clarity -->
    </cac:InvoiceLine>
</Invoice>