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

Invoice Line Allowances

Denmark | VRBL-Invoice-DK-OIOUBL-2p0
Context ID INV1251
Usage O*

Description

A group of business terms providing information about allowances applicable to the individual invoice line.

Child elements
Usage Element Description Cardinality
M cbc:ChargeIndicator Invoice Line Charge Indicator

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

1..1
C cbc:AllowanceChargeReason Invoice Line Allowance Reason

The reason for this allowance or charge.

0..n
O cbc:MultiplierFactorNumeric Invoice Line Allowance Percentage

A number by which the base amount is multiplied to calculate the actual amount of this allowance or charge.

0..1
M cbc:Amount Invoice Line Allowance Amount

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

1..1
O cbc:BaseAmount Invoice Line Allowance Base Amount

The monetary amount to which the multiplier factor is applied in calculating the amount of this allowance or charge.

0..1
O cac:TaxCategory Invoice Line Allowance Tax Category Group

A tax category applicable to this allowance or charge.

0..n
Details

vrbl-invoice-dk-oioubl-2p0

In OIOUBL, line-level allowances and charges are purely informative and do not affect the line net amount cbc:LineExtensionAmount. The calculation is strictly: Line Net Amount = Item Net Price * Invoiced Quantity.

By contrast, VRBL calculates the line net amount by factoring in line adjustments
Line Net Amount = Item Net Price * Invoiced Quantity + Charges - Allowances

To bridge this discrepancy and generate a valid OIOUBL invoice from VRBL, handle line-level adjustments using one of the following approaches:

Standard Method (Global VRBL Template):

Populate cbc:PriceAmount with the base Item Net Price, export the line-level allowances/charges, and provide the Item Price After Line-Level Allowance/Charge. Multiplying this adjusted unit price by the invoiced quantity yields the correct cbc:LineExtensionAmount, allowing OIOUBL to treat the explicit line adjustments as informative metadata. If no line adjustments exist, this field is identical to cbc:PriceAmount and can be omitted.

Alternative Method (Pre-adjusted Unit Price):

Directly include all line allowances and charges within the unit price in cbc:PriceAmount. In this case, omit both the line-level allowance/charge elements and the separate adjusted unit price to maintain valid VRBL calculations.

Example: DK_OIOUBL_creditnote_381.xml

<ubl:Invoice>
  <!-- ... omitted for readability -->
  <cac:InvoiceLine>
    <!-- ... omitted for readability -->
    <cac:AllowanceCharge>
      <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
      <cbc:AllowanceChargeReason>Sample Description</cbc:AllowanceChargeReason>
      <cbc:MultiplierFactorNumeric>10</cbc:MultiplierFactorNumeric>
      <cbc:Amount currencyID="DKK">10</cbc:Amount>
      <cbc:BaseAmount currencyID="DKK">100</cbc:BaseAmount>
      <cac:TaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>25</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
          <cbc:Name>Allowance Tax Name</cbc:Name>
        </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:AllowanceCharge>
    <!-- ... omitted for readability -->
  </cac:InvoiceLine>
</ubl:Invoice>
Rules
Rule ID Error Message
VRBL-INV-EN16931-M-109 Each Invoice Line Allowances must have an Invoice Line Allowance Reason or an Invoice Line Allowance Reason Code.
VRBL-INV-EN16931-M-111 Each Invoice Line Allowances must contain an Invoice Line Allowance Reason or an Invoice Line Allowance Reason Code, or both.
VRBL-INV-EN16931-M-112 The Invoice Line Allowance Amount must have no more than 2 decimals.
VRBL-INV-EN16931-M-113 The Invoice Line Allowance Base Amount must have no more than 2 decimals.
VRBL-INV-CORE-462 The Invoice Line Allowances expects a maximum of one Invoice Line Allowance Reason.