/ubl:Invoice/cac:AllowanceCharge[string(cbc:ChargeIndicator) = 'false']

Document Level Allowances

Poland | VRBL-Invoice-PL-B2B-3p0
Context ID INV0879
Usage O*

Description

A group of business terms providing information about allowances applicable to the invoice as a whole.

In the KSeF FA(3) format this group is used to report Allowances after tax.

Child elements
Usage Element Description Cardinality
O cec:UBLExtensions Allowance Extensions Group 0..1
M cbc:ChargeIndicator Document Level Charge Indicator

An indicator that this AllowanceCharge describes a charge (true) or a discount (false).

1..1
O cbc:AllowanceChargeReason Document Level Allowance Reason

The reason for this allowance or charge.

0..n
M cbc:Amount Document Level Allowance Amount

The monetary amount of this allowance or charge to be applied.

1..1
Details

vrbl-invoice-pl-b2b-3p0

Important:

  • Allowances before tax: In the KSeF FA(3) format there is no representation for allowances before taxes on the document level.
    For outgoing AR invoices, if provided in the VRBL format, this allowances will be represented as an additional invoice line.
    It is recommended that the invoice issuer already creates the invoice using invoice lines to represent document allowances instead of the Document Level Allowance and Charge group.
    The After Tax Indicator vrbl:AfterTaxIndicator can be omitted, since it defaults to false.
  • Allowances after tax: In the KSeF FA(3) format only allowances after taxes can be provided on the document level.
    They can be represented in the document level Allowance and Charge group and must be flagged with the After Tax Indicator vrbl:AfterTaxIndicator set to true.
    Looking at the invoice totals /ubl:Invoice/cac:LegalMonetaryTotal, the specified allowance or charge amount shows the difference between the Invoice Total Tax Inclusive Amount cbc:TaxInclusiveAmount and the Total Invoice Amount vrbl:TotalInvoiceAmount.
    When providing Allowances after tax it is mandatory to provide the Document Level Allowance/Charge Reason cbc:AllowanceChargeReason.
    Additionally it is required to provide the total of the Allowances after tax in vrbl:AllowanceTotalAmountAfterTax.
    Also the Total Invoice Amount vrbl:TotalInvoiceAmount has to be provided.
    See the respective sections for more information.

Example indicating Allowances before tax:
In this case, in the final format a new invoice line will be added, therefore also the tax information is required.
The Invoiced Quantity will be set to 1.
In case of an allowance the invoice line net amount will be negative.

<ubl:Invoice>
    <!-- code omitted for clarity -->
    <!-- vrbl:AfterTaxIndicator can be omitted, defaults to false -->
    <cac:AllowanceCharge>
        <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
        <cbc:AllowanceChargeReason>Production error discount</cbc:AllowanceChargeReason>
        <cbc:Amount currencyID="PLN">20000.00</cbc:Amount>
        <cac:TaxCategory>
            <cbc:ID>VRBL:PL:01</cbc:ID>
            <cbc:Percent>23</cbc:Percent>
            <cac:TaxScheme>
                <cbc:ID>VAT</cbc:ID>
            </cac:TaxScheme>
        </cac:TaxCategory>
    </cac:AllowanceCharge>
    <!-- code omitted for clarity -->
</ubl:Invoice>

Example indicating Allowances after tax.
It is mandatory to provide the Allowance Charge Reason.

<ubl:Invoice>
    <!-- code omitted for clarity -->
    <cac:AllowanceCharge>
        <cec:UBLExtensions>
            <cec:UBLExtension>
                <cec:ExtensionContent>
                    <vrbl:AllowanceChargeExtension>
                        <!-- Indicates that allowance is applied after tax -->
                        <vrbl:AfterTaxIndicator>true</vrbl:AfterTaxIndicator>
                    </vrbl:AllowanceChargeExtension>
                </cec:ExtensionContent>
            </cec:UBLExtension>
        </cec:UBLExtensions>
        <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
        <!-- Mandatory Allowance Charge Reason. -->
        <cbc:AllowanceChargeReason>Settlement of a balance (buyer paid too much)</cbc:AllowanceChargeReason>
        <cbc:Amount currencyID="PLN">1000.00</cbc:Amount>
    </cac:AllowanceCharge>
    <!-- code omitted for clarity -->
    <cac:LegalMonetaryTotal>
        <ext:UBLExtensions>
            <ext:UBLExtension>
                <ext:ExtensionContent>
                    <vrbl:LegalMonetaryTotalExtension>
                        <vrbl:AllowanceTotalAmountAfterTax currencyID="PLN">1000.00</vrbl:AllowanceTotalAmountAfterTax>
                        <vrbl:ChargeTotalAmountAfterTax currencyID="PLN">0.00</vrbl:ChargeTotalAmountAfterTax>
                        <vrbl:TotalInvoiceAmount currencyID="PLN">63279.92</vrbl:TotalInvoiceAmount>
                    </vrbl:LegalMonetaryTotalExtension>
                </ext:ExtensionContent>
            </ext:UBLExtension>
        </ext:UBLExtensions>
        <cbc:LineExtensionAmount currencyID="PLN">52260.10</cbc:LineExtensionAmount>
        <cbc:TaxExclusiveAmount currencyID="PLN">52260.10</cbc:TaxExclusiveAmount>
        <cbc:TaxInclusiveAmount currencyID="PLN">64279.92</cbc:TaxInclusiveAmount>
        <cbc:PayableAmount currencyID="PLN">63279.92</cbc:PayableAmount>
    </cac:LegalMonetaryTotal>
    <!-- code omitted for clarity -->
</ubl:Invoice>

Example: VRBL_FA3_allowance-after-invoice.xml

<ubl:Invoice>
  <!-- ... omitted for readability -->
  <cac:AllowanceCharge>
    <ext:UBLExtensions>
      <ext:UBLExtension>
        <ext:ExtensionContent>
          <vrbl:AllowanceChargeExtension>
            <vrbl:AfterTaxIndicator>true</vrbl:AfterTaxIndicator>
          </vrbl:AllowanceChargeExtension>
        </ext:ExtensionContent>
      </ext:UBLExtension>
    </ext:UBLExtensions>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReason>nadwyżka salda nierozliczonych środków</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="PLN">1000</cbc:Amount>
  </cac:AllowanceCharge>
  <!-- ... omitted for readability -->
</ubl:Invoice>
Rules
Rule ID Error Message
VRBL-INV-CORE-299 The Document Level Allowances expects a maximum of one Document Level Allowance Reason.
VRBL-INV-CORE-556 Each Document Level Allowances must have a Tax Breakdown corresponding to its Document Level Allowance Tax Category Code and Document Level Allowance Tax Rate.