/ubl:Invoice/cac:InvoiceLine/cac:AllowanceCharge[string(cbc:ChargeIndicator) = 'false']
VRBL-Invoice-DK-OIOUBL-2p0 - Invoice Line Allowances
| 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. |