## Documentation Index
Access the complete documentation index at:
https://www.zoho.com/en-fr/books/help/llms.txt
Use this file to discover all available documentation pages before proceeding.
# Belgian Peppol UBL Structure Guide
Every e-invoice sent through the Peppol network in Belgium is an XML document based on the Universal Business Language (UBL 2.1) standard. These invoices must conform to the Peppol BIS Billing 3.0 profile, which is built on the European e-invoicing standard EN 16931. Starting 1 January 2026, all VAT-registered Belgian businesses must [send and receive B2B invoices electronically](/books/help/e-invoicing/belgium.html) through the Peppol network. Invoices sent via email in PDF format are no longer considered valid for VAT purposes.
This document covers the full structure of a Peppol UBL invoice, section by section, with XML examples and Zoho Books mapping notes.
## What Is UBL?
UBL (Universal Business Language) is an XML-based standard maintained by [OASIS](https://www.oasis-open.org/committees/ubl/) for electronic business documents such as invoices and credit notes. It provides a single structured vocabulary that any system can read and process. The current version used by the Peppol network is **UBL 2.1**.
## What is Peppol BIS Billing 3.0?
Peppol does not use raw UBL. It uses a specific profile called **Peppol BIS Billing 3.0**, built on top of UBL 2.1 and compliant with the European standard **EN 16931**. Every Peppol invoice must satisfy three layers of rules:
1. **UBL 2.1 XML schema** — the document must be valid XML that conforms to the UBL 2.1 structure.
2. **EN 16931 business rules** — the European standard defines semantic rules (e.g., tax amounts must add up, every line must have a price and quantity).
3. **Peppol BIS 3.0 rules** — Peppol adds its own requirements on top (e.g., mandatory `CustomizationID`, `ProfileID`, and `BuyerReference`).
## Header Information
The header identifies the invoice on the Peppol network. Every Peppol BIS 3.0 invoice must include a `CustomizationID` and `ProfileID` so the network can recognise and route it. The `InvoiceTypeCode` identifies the document type. It is usually 380 for a standard invoice and 381 for a credit note. Belgian invoices typically use `EUR` as the document currency and must include a `BuyerReference` to help the buyer route the invoice internally.
```xml
2.1
urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0
urn:fdc:peppol.eu:2017:poacc:billing:01:1.0
BE-INV-2026-000001
2026-03-20
2026-04-19
380
EUR
PO-2026-0042
```
Field Reference & Books Mapping
Status
XPath
Zoho Books Field
Description
Example
Mandatory
`ubl:Invoice`
**Invoice**
Root element of a UBL Invoice
Invoice
Optional
`cbc:UBLVersionID`
**UBL version**
UBL version identifier shown in the XML example.
2.1
Mandatory
`cbc:CustomizationID`
**Customization ID**
Peppol BIS Billing 3.0 customization identifier used for routing and validation.
urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0
Mandatory
`cbc:ProfileID`
**Profile ID**
Peppol BIS Billing 3.0 profile identifier.
urn:fdc:peppol.eu:2017:poacc:billing:01:1.0
Mandatory
`cbc:ID`
**Invoice number**
A unique identification of the Invoice (Article 226(2) of directive 2006/112/EC).
BE-INV-2026-000001
Mandatory
`cbc:IssueDate`
**Invoice issue date**
The date when the Invoice was issued. Format YYYY-MM-DD.
2026-03-20
Optional
`cbc:DueDate`
**Payment due date**
The date when the payment is due. Format YYYY-MM-DD.
2026-04-19
Mandatory
`cbc:InvoiceTypeCode`
**Invoice type code**
Code specifying the functional type of the Invoice. 380 = standard invoice, 381 = credit note.
380
Optional
`cbc:BuyerReference`
**Buyer reference**
An identifier assigned by the Buyer used for internal routing purposes.
PO-2026-0042
Mandatory
`cbc:DocumentCurrencyCode`
**Invoice currency code**
The currency in which all Invoice amounts are given (except Total VAT in accounting currency).
EUR
For credit notes, use `InvoiceTypeCode` 381 with a `CreditNote` root element. The `BuyerReference` is mandatory in Peppol and typically contains a purchase order number or an internal reference agreed upon between buyer and seller.
## Seller Information
This section identifies the party issuing the invoice. It includes the seller’s name, postal address, VAT number, legal registration details, and contact information.
The seller’s VAT number follows the `BE0XXXXXXXXX` format and is placed under `PartyTaxScheme`. The `RegistrationName` under `PartyLegalEntity` must be the official registered name as it appears in the KBO.
**Note:** The `PartyTaxScheme` block is included in the UBL output only if the seller’s tax identifier is registered with scheme `9925` (Belgian VAT). If the identifier is not registered under the `9925` scheme, this block is not added to the UBL.
```xml
0123456789
0123456789
Acme BV
Avenue Louise 120
Brussels
1050
BE
BE0123456789
VAT
Acme BV
0123456789
Accounts Receivable
billing@acme.be
```
Field Reference & Books Mapping
Status
XPath
Zoho Books Field
Description
Example
Mandatory
`cac:AccountingSupplierParty`
**Seller**
Group providing information about the Seller.
Mandatory
`cac:AccountingSupplierParty/cac:Party`
**Party**
Seller party container.
Mandatory
`cac:AccountingSupplierParty/cac:Party/cbc:EndpointID`
**Seller electronic address**
Identifies the Seller's electronic address for application level response.
0123456789
Mandatory
`cac:AccountingSupplierParty/cac:Party/cbc:EndpointID/@schemeID`
**Seller electronic address scheme ID**
Identification scheme of the Seller electronic address.
0208
Optional
`cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification`
**Party identification**
Seller party identification container (repeatable).
Mandatory
`cac:PartyIdentification/cbc:ID (Seller)`
**Seller identifier / bank assigned creditor identifier**
Identification of the Seller or unique banking reference. Use ICD code list or SEPA.
0123456789
Optional
`cac:AccountingSupplierParty/cac:Party/cac:PartyName`
**Party name**
Seller party name container.
Mandatory
`cac:PartyName/cbc:Name (Seller)`
**Seller trading name**
A name by which the Seller is known (Business name).
Acme BV
Mandatory
`cac:AccountingSupplierParty/cac:Party/cac:PostalAddress`
**Seller postal address**
Group providing Seller address info. Sufficient components must comply with legal requirements.
Optional
`SellerPostalAddress/cbc:StreetName`
**Seller address line 1**
The main address line.
Avenue Louise 120
Optional
`SellerPostalAddress/cbc:CityName`
**Seller city**
The city, town or village of the Seller address.
Brussels
Optional
`SellerPostalAddress/cbc:PostalZone`
**Seller post code**
The postal code of the Seller address.
1050
Mandatory
`SellerPostalAddress/cac:Country`
**Country**
Seller country container.
Mandatory
`SellerPostalAddress/cac:Country/cbc:IdentificationCode`
**Seller country code**
A code that identifies the country.
BE
Optional
`cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme`
**Party VAT/tax identifiers**
Seller VAT/Tax identifier group (up to 2 occurrences).
Mandatory
`SellerPartyTaxScheme/cbc:CompanyID`
**Seller VAT identifier / Tax registration ID**
The Seller's VAT identifier or local tax identification.
BE0123456789
Mandatory
`SellerPartyTaxScheme/cac:TaxScheme`
**Tax scheme**
Tax scheme container.
Optional
`SellerPartyTaxScheme/cac:TaxScheme/cbc:ID`
**Tax scheme ID**
Tax scheme identifier inside PartyTaxScheme.
VAT
Mandatory
`cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity`
**Party legal entity**
Seller legal entity container.
Mandatory
`SellerPartyLegalEntity/cbc:RegistrationName`
**Seller name**
Full formal name of the Seller in the national registry.
Acme BV
Optional
`SellerPartyLegalEntity/cbc:CompanyID`
**Seller legal registration identifier**
Identifier issued by an official registrar identifying the Seller.
0123456789
Optional
`cac:AccountingSupplierParty/cac:Party/cac:Contact`
**Seller contact**
Group providing Seller contact information.
Optional
`Contact/cbc:Name`
**Seller contact point**
A contact point for the Seller.
Accounts Receivable
Optional
`Contact/cbc:ElectronicMail`
**Seller contact email address**
An e-mail address for the Seller contact point.
billing@acme.be
## Buyer Information
The buyer section identifies the party receiving and paying the invoice. It includes the buyer’s name, address, legal registration, and optionally, a VAT identifier and contact details.
Belgian buyers use `schemeID="0208"` for their KBO/BCE enterprise number as the electronic endpoint. `PartyLegalEntity/RegistrationName` is the buyer’s official registered name, while `PartyName/Name` is their trading name.
**Note:** The `PartyTaxScheme` block is included in the UBL output only if the buyer’s tax identifier is registered with scheme `9925` (Belgian VAT). If the identifier is not registered under the `9925` scheme, this block is not added to the UBL.
```xml
0987654321
0987654321
Beta NV
Meir 1
Antwerp
2000
Antwerpen
BE
BE0987654321
VAT
Beta NV
0987654321
Purchasing
ap@beta.be
```
Field Reference & Books Mapping
Status
XPath
Zoho Books Field
Description
Example
Mandatory
`cac:AccountingCustomerParty`
**Buyer**
Group providing information about the Buyer.
Mandatory
`cac:AccountingCustomerParty/cac:Party`
**Party**
Buyer party container.
Mandatory
`Party/cbc:EndpointID`
**Buyer electronic address**
Identifies the Buyer's electronic address to which the invoice is delivered.
0987654321
Mandatory
`Party/cbc:EndpointID/@schemeID`
**Buyer electronic address scheme ID**
Identification scheme of the Buyer electronic address.
0208
Mandatory
`BuyerPartyIdentification/cbc:ID`
**Buyer identifier**
An identifier of the Buyer.
0987654321
Optional
`Party/cac:PartyName`
**Party name**
Buyer party name container.
Mandatory
`BuyerPartyName/cbc:Name`
**Buyer trading name**
A name by which the Buyer is known (Business name).
Beta NV
Mandatory
`Party/cac:PostalAddress`
**Buyer postal address**
Group providing Buyer address info.
Optional
`BuyerPostalAddress/cbc:StreetName`
**Buyer address line 1**
The main address line.
Meir 1
Optional
`BuyerPostalAddress/cbc:CityName`
**Buyer city**
The city, town or village of the Buyer address.
Antwerp
Optional
`BuyerPostalAddress/cbc:PostalZone`
**Buyer post code**
The postal code of the Buyer address.
2000
Optional
`BuyerPostalAddress/cbc:CountrySubentity`
**Buyer country subdivision**
The subdivision of a country.
Antwerpen
Mandatory
`BuyerPostalAddress/cac:Country`
**Country**
Buyer country container.
Mandatory
`BuyerPostalAddress/cac:Country/cbc:IdentificationCode`
**Buyer country code**
A code that identifies the country.
BE
Optional
`Party/cac:PartyTaxScheme`
**Party VAT identifier**
Buyer VAT identifier group.
Mandatory
`BuyerPartyTaxScheme/cbc:CompanyID`
**Buyer VAT identifier**
The Buyer's VAT identifier.
BE0987654321
Mandatory
`BuyerPartyTaxScheme/cac:TaxScheme`
**Tax scheme**
Tax scheme container.
Mandatory
`BuyerPartyTaxScheme/cac:TaxScheme/cbc:ID`
**Tax scheme ID**
Mandatory element. Use VAT.
VAT
Mandatory
`Party/cac:PartyLegalEntity`
**Party legal entity**
Buyer legal entity container.
Mandatory
`BuyerPartyLegalEntity/cbc:RegistrationName`
**Buyer name**
The full name of the Buyer.
Beta NV
Optional
`BuyerPartyLegalEntity/cbc:CompanyID`
**Buyer legal registration identifier**
Identifier from an official registrar identifying the Buyer.
0987654321
Optional
`Party/cac:Contact`
**Buyer contact**
Group providing Buyer contact information.
Optional
`Contact/cbc:Name`
**Buyer contact point**
A contact point for the Buyer.
Purchasing
Optional
`Contact/cbc:ElectronicMail`
**Buyer contact email address**
An e-mail address for the Buyer contact point.
ap@beta.be
## Document References
This section links the invoice to related business documents such as purchase orders, sales orders, contracts, and previously issued invoices.
```xml
PO-2026-0042
PO-2026-0042
SO-2026-0088
PRJ-BE-001
BE-INV-2026-000001-PDF
JVBERi0xLjQKJ...
```
Field Reference & Books Mapping
Status
XPath
Zoho Books Field
Description
Example
Optional
`cac:OrderReference`
**Order and sales order reference**
Group for order and sales order references.
Optional
`cac:OrderReference/cbc:ID`
**Purchase order reference**
Identifier of a referenced purchase order, issued by the Buyer.
PO-2026-0042
Optional
`cac:OrderReference/cbc:SalesOrderID`
**Sales order reference**
Identifier of a referenced sales order, issued by the Seller.
SO-2026-0088
Optional
`cac:ProjectReference`
**Project reference**
Reference to a project.
Optional
`cac:ProjectReference/cbc:ID`
**Project reference**
The identification of the project the invoice refers to.
PRJ-BE-001
Optional
`cac:AdditionalDocumentReference`
**Additional supporting documents**
Group providing info about additional supporting documents.
Optional
`cac:AdditionalDocumentReference/cbc:ID`
**Invoiced object identifier / Supporting document reference**
Identifier for an object or supporting document.
BE-INV-2026-000001-PDF
Optional
`cac:AdditionalDocumentReference/cac:Attachment`
**Attachment**
Container for attached or external documents.
Optional
`cac:Attachment/cbc:EmbeddedDocumentBinaryObject`
**Attached document**
An attached document embedded as Base64 binary object.
JVBERi0xLjQKJ...
Optional
`cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@mimeCode`
**Attached document Mime code**
The mime code of the attached document.
application/pdf
Optional
`cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@filename`
**Attached document Filename**
The file name of the attached document.
invoice-be-2026-000001.pdf
Optional
`cac:Attachment/cac:ExternalReference/cbc:URI`
**External document location**
URL identifying where the external document is located.
https://example.be/docs/invoice-be-2026-000001.pdf
The `BuyerReference` is a mandatory Peppol field that helps the buyer route and identify the invoice internally. The `OrderReference/ID` is the purchase order number issued by the buyer. The `SalesOrderID` is the seller’s own sales order reference. `ProjectReference/ID` links the invoice to a specific project or contract identifier, making it easier for the buyer to allocate costs to the correct project in their accounting system. `AdditionalDocumentReference` allows you to embed supporting files (like a PDF copy of the invoice) directly in the XML as Base64-encoded binary objects. Common MIME types are `application/pdf`, `image/png`, and `image/jpeg`.
## Delivery Information
The delivery section describes where and when goods or services were delivered. It can include the delivery date, a location identifier, the full address, and the name of the receiving party. This section is optional.
```xml
Ghent
9000
Oost-Vlaanderen
BE
```
Field Reference & Books Mapping
Status
XPath
Zoho Books Field
Description
Example
Optional
`cac:Delivery`
**Delivery information**
Group providing info about where and when goods/services are delivered.
Optional
`Delivery/cac:DeliveryLocation`
**Delivery location**
Delivery location container.
Optional
`DeliveryLocation/cac:Address`
**Deliver to address**
Group providing the delivery address.
Optional
`DeliveryAddress/cbc:CityName`
**Deliver to city**
The city of the delivery address.
Ghent
Optional
`DeliveryAddress/cbc:PostalZone`
**Deliver to post code**
The postal code of the delivery address.
9000
Optional
`DeliveryAddress/cbc:CountrySubentity`
**Deliver to country subdivision**
The subdivision of a country.
Oost-Vlaanderen
Optional
`DeliveryAddress/cac:Country`
**Country**
Delivery country container.
Optional
`DeliveryAddress/cac:Country/cbc:IdentificationCode`
**Deliver to country code**
A code that identifies the country.
BE
## Payment Instructions
This section specifies how the buyer should pay the invoice. The `PaymentMeansCode` indicates the payment method.
For Belgian invoices, credit transfer with an IBAN is the standard setup. The `PaymentID` is used for reconciliation and typically contains the structured communication reference that appears on the bank statement.
```xml
30
+++123/4567/89012+++
1234
NA
Net within 30 days
```
Field Reference & Books Mapping
Status
XPath
Zoho Books Field
Description
Example
Optional
`cac:PaymentMeans`
**Payment instructions**
Group providing information about the payment.
Mandatory
`PaymentMeans/cbc:PaymentMeansCode`
**Payment means type code**
Code for how a payment is expected to be settled.
30
Optional
`PaymentMeans/cbc:PaymentMeansCode/@name`
**Payment means text**
Text for how a payment is expected to be settled.
Credit transfer
Optional
`PaymentMeans/cbc:PaymentID`
**Remittance information**
A textual value to establish a link between payment and Invoice.
+++123/4567/89012+++
Optional
`PaymentMeans/cac:CardAccount`
**Payment card information**
Group for card payment information.
Optional
`CardAccount/cbc:PrimaryAccountNumberID`
**Payment card primary account number**
The PAN of the card (never include full PAN).
1234
Optional
`CardAccount/cbc:NetworkID`
**Network ID**
Syntax required element (not a business term).
NA
Optional
`CardAccount/cbc:HolderName`
**Payment card holder name**
The name of the payment card holder.
John Doe
Optional
`PaymentMeans/cac:PaymentMandate`
**Direct debit**
Group to specify a direct debit.
Optional
`PaymentMandate/cbc:ID`
**Mandate reference identifier**
Unique ID assigned by Payee for the direct debit mandate.
MANDATE-BE-001
Optional
`PaymentMandate/cac:PayerFinancialAccount`
**Payer financial account**
Payer financial account container.
Optional
`PayerFinancialAccount/cbc:ID`
**Debited account identifier**
The account to be debited by the direct debit.
BE68539007547034
Optional
`cac:PaymentTerms`
**Payment terms**
Payment terms container.
Optional
`PaymentTerms/cbc:Note`
**Payment terms**
Textual description of payment terms (including possible penalties).
Net within 30 days
## Allowances and Charges
This section applies document-level discounts (allowances) and surcharges (charges) that affect the entire invoice. Line-level allowances and charges are handled separately within each invoice line.
The `ChargeIndicator` distinguishes between the two: `true` for charges, `false` for allowances. Each entry must include the applicable VAT category and rate so the tax totals remain correct. Reason codes follow UNCL5189 for allowances and UNCL7161 for charges. The totals from this section feed into `AllowanceTotalAmount` and `ChargeTotalAmount` in the monetary totals.
```xml
false
Discount
50.00
S
21
VAT
```
Field Reference & Books Mapping
Status
XPath
Zoho Books Field
Description
Example
Optional
`cac:AllowanceCharge`
**Document level allowances and charges**
Group for allowances/charges applicable to the Invoice as a whole.
Optional
`AllowanceCharge/cbc:ChargeIndicator`
**Charge indicator**
Use true for Charges, false for Allowances.
false
Optional
`AllowanceCharge/cbc:AllowanceChargeReasonCode`
**Allowance/charge reason code**
The reason code (UNCL5189 for allowances, UNCL7161 for charges).
95
Optional
`AllowanceCharge/cbc:AllowanceChargeReason`
**Allowance/charge reason**
The reason expressed as text.
Discount
Optional
`AllowanceCharge/cbc:MultiplierFactorNumeric`
**Allowance/charge percentage**
The percentage used with base amount to calculate amount.
10
Optional
`AllowanceCharge/cbc:Amount`
**Allowance/charge amount**
The amount without VAT. Max 2 decimals.
50.00
Optional
`AllowanceCharge/cbc:Amount/@currencyID`
**Currency ID**
Mandatory attribute. Use BT-5.
EUR
Optional
`AllowanceCharge/cbc:BaseAmount`
**Allowance/charge base amount**
The base amount for calculation. Max 2 decimals.
500.00
Optional
`AllowanceCharge/cbc:BaseAmount/@currencyID`
**Currency ID**
Mandatory attribute. Use BT-5.
EUR
Optional
`AllowanceCharge/cac:TaxCategory`
**Tax category**
Tax category for the allowance/charge.
Optional
`AllowanceCharge/TaxCategory/cbc:ID`
**VAT category code**
Coded identification of the VAT category.
S
Optional
`AllowanceCharge/TaxCategory/cbc:Percent`
**VAT rate**
The VAT rate as percentage.
21
Optional
`AllowanceCharge/TaxCategory/cac:TaxScheme`
**Tax scheme**
Tax scheme container.
Optional
`AllowanceCharge/TaxCategory/cac:TaxScheme/cbc:ID`
**Tax scheme ID**
Mandatory. Use VAT.
VAT
## Tax Total and VAT Breakdown
This section provides the total VAT amount and a breakdown by VAT category and rate. If the invoice has lines with different VAT rates, each rate gets its own `TaxSubtotal` entry. This section is mandatory.
When the tax currency differs from the document currency, two `TaxTotal` elements are required — one in each currency. Belgian invoices commonly use VAT categories S (standard rate — 6%, 12%, or 21%), Z (zero-rated), and AE (reverse charge for intra-EU B2B transactions).
```xml
210.00
1000.00
210.00
S
21
VAT
```
Field Reference & Books Mapping
Status
XPath
Zoho Books Field
Description
Example
Mandatory
`cac:TaxTotal`
**Tax total**
When tax currency is provided, two instances must be present (only one with tax subtotal).
Mandatory
`TaxTotal/cbc:TaxAmount`
**Invoice total VAT amount**
Total VAT amount for the Invoice. Max 2 decimals.
210.00
Mandatory
`TaxTotal/cbc:TaxAmount/@currencyID`
**Currency ID**
Mandatory attribute. Use BT-5 or BT-6.
EUR
Optional
`TaxTotal/cac:TaxSubtotal`
**VAT breakdown**
Group providing VAT breakdown by category, rate and exemption.
Mandatory
`TaxSubtotal/cbc:TaxableAmount`
**VAT category taxable amount**
Sum of all taxable amounts for this VAT category. Max 2 decimals.
1000.00
Mandatory
`TaxSubtotal/cbc:TaxableAmount/@currencyID`
**Currency ID**
Mandatory attribute. Use BT-5.
EUR
Mandatory
`TaxSubtotal/cbc:TaxAmount`
**VAT category tax amount**
Total VAT amount for a given category. Max 2 decimals.
210.00
Mandatory
`TaxSubtotal/cbc:TaxAmount/@currencyID`
**Currency ID**
Mandatory attribute. Use BT-5.
EUR
Mandatory
`TaxSubtotal/cac:TaxCategory`
**VAT category**
VAT category container.
Mandatory
`TaxSubtotal/TaxCategory/cbc:ID`
**VAT category code**
Coded identification of a VAT category.
S
Optional
`TaxSubtotal/TaxCategory/cbc:Percent`
**VAT category rate**
The VAT rate as percentage.
21
Mandatory
`TaxSubtotal/TaxCategory/cac:TaxScheme`
**Tax scheme**
Tax scheme container.
Mandatory
`TaxSubtotal/TaxCategory/cac:TaxScheme/cbc:ID`
**Tax scheme ID**
Mandatory. Use VAT.
VAT
## Monetary Totals
This section summarises all amounts on the invoice. It is mandatory and must be mathematically consistent — validation errors commonly occur here if the amounts don’t add up.
```xml
1000.00
1000.00
1210.00
50.00
0.00
0.00
1210.00
```
Field Reference & Books Mapping
Status
XPath
Zoho Books Field
Description
Example
Mandatory
`cac:LegalMonetaryTotal`
**Document totals**
Group providing monetary totals for the Invoice.
Mandatory
`LegalMonetaryTotal/cbc:LineExtensionAmount`
**Sum of Invoice line net amount**
Sum of all Invoice line net amounts. Max 2 decimals.
1000.00
Mandatory
`LegalMonetaryTotal/cbc:LineExtensionAmount/@currencyID`
**Currency ID**
line items total Currency Code
EUR
Mandatory
`LegalMonetaryTotal/cbc:TaxExclusiveAmount`
**Invoice total amount without VAT**
Total amount without VAT. Max 2 decimals.
1000.00
Mandatory
`LegalMonetaryTotal/cbc:TaxExclusiveAmount/@currencyID`
**Currency ID**
invoice total without tax Currency Code
EUR
Mandatory
`LegalMonetaryTotal/cbc:TaxInclusiveAmount`
**Invoice total amount with VAT**
Total amount with VAT. Max 2 decimals.
1210.00
Mandatory
`LegalMonetaryTotal/cbc:TaxInclusiveAmount/@currencyID`
**Currency ID**
invoice total with tax Currency Code
EUR
Optional
`LegalMonetaryTotal/cbc:AllowanceTotalAmount`
**Sum of allowances on document level**
Sum of all document level allowances. Max 2 decimals.
50.00
Optional
`LegalMonetaryTotal/cbc:AllowanceTotalAmount/@currencyID`
**Currency ID**
Sum of total Invoice Allowance (entity level) Currency Code
EUR
Optional
`LegalMonetaryTotal/cbc:ChargeTotalAmount`
**Sum of charges on document level**
Sum of all document level charges. Max 2 decimals.
0.00
Optional
`LegalMonetaryTotal/cbc:ChargeTotalAmount/@currencyID`
**Currency ID**
Sum of total Invoice Charges (entity level) Currency Code
EUR
Optional
`LegalMonetaryTotal/cbc:PrepaidAmount/@currencyID`
**Currency ID**
Mandatory attribute. Use BT-5.
EUR
Optional
`LegalMonetaryTotal/cbc:PayableRoundingAmount`
**Rounding amount**
Amount to add for rounding. Max 2 decimals.
0.00
Optional
`LegalMonetaryTotal/cbc:PayableRoundingAmount/@currencyID`
**Currency ID**
Amount to add for rounding at entity level Currency Code
EUR
Mandatory
`LegalMonetaryTotal/cbc:PayableAmount`
**Amount due for payment**
The outstanding amount requested to be paid. Max 2 decimals.
1210.00
Mandatory
`LegalMonetaryTotal/cbc:PayableAmount/@currencyID`
**Currency ID**
Payable Amount Currency Code
EUR
## Invoice Lines
Each invoice must have at least one invoice line representing a good or service being billed. Every line includes a unique ID, the invoiced quantity with its unit code (UN/ECE Rec 20, e.g., C62 for units, KGM for kilograms), the line net amount, and item details such as the name, description, VAT category, and unit price.
Lines can also include their own allowances and charges, an invoice period, and references to purchase order lines or object identifiers. The `ClassifiedTaxCategory` within each line item determines which VAT bucket the line falls into for the tax breakdown.
```xml
1
5
1000.00
false
Discount
50.00
Consulting services for March 2026
Consulting Service
S
21
VAT
200.00
1
```
Field Reference & Books Mapping
Status
XPath
Zoho Books Field
Description
Example
Mandatory
`cac:InvoiceLine`
**Invoice line**
Group providing information on individual Invoice lines.
Mandatory
`InvoiceLine/cbc:ID`
**Invoice line identifier**
A unique identifier for the individual line.
1
Mandatory
`InvoiceLine/cbc:InvoicedQuantity`
**Invoiced quantity**
The quantity of items charged in the Invoice line.
5
Mandatory
`InvoiceLine/cbc:InvoicedQuantity/@unitCode`
**Invoiced quantity unit of measure**
Unit of measure for the invoiced quantity (UN/ECE Rec 20/21).
C62
Mandatory
`InvoiceLine/cbc:LineExtensionAmount`
**Invoice line net amount**
Total amount of the line net of VAT. Max 2 decimals.
1000.00
Mandatory
`InvoiceLine/cbc:LineExtensionAmount/@currencyID`
**Currency ID**
Currency of Invoice line net amount
EUR
Mandatory
`LineDocumentReference/cbc:ID`
**Invoice line object identifier**
Identifier for an object on which the line is based.
ITEM-REF-001
Optional
`LineDocumentReference/cbc:ID/@schemeID`
**Line object identifier scheme ID**
Identification scheme of the line object identifier.
SKU
Optional
`InvoiceLine/cac:AllowanceCharge`
**Line allowances or charges**
Group for allowances/charges on the Invoice line.
Optional
`AllowanceCharge/cbc:ChargeIndicator`
**Charge indicator**
Use true for Charges, false for Allowances.
false
Optional
`AllowanceCharge/cbc:AllowanceChargeReason`
**Line allowance/charge reason**
Reason expressed as text.
Discount
Optional
`AllowanceCharge/cbc:MultiplierFactorNumeric`
**Line allowance/charge percentage**
Percentage used with base amount to calculate amount.
5
Optional
`AllowanceCharge/cbc:Amount`
**Line allowance/charge amount**
The amount without VAT. Max 2 decimals.
50.00
Optional
`AllowanceCharge/cbc:Amount/@currencyID`
**Currency ID**
Line Allowance total Currency Code
EUR
Optional
`AllowanceCharge/cbc:BaseAmount`
**Line allowance/charge base amount**
Base amount for calculation. Max 2 decimals.
1000.00
Optional
`AllowanceCharge/cbc:BaseAmount/@currencyID`
**Currency ID**
Line Item Base Currency Total Currency Code
EUR
Mandatory
`InvoiceLine/cac:Item`
**Item information**
Group providing info about the goods/services invoiced.
Optional
`Item/cbc:Description`
**Item description**
A description for an item, more detail than Item name.
Consulting services for March 2026
Mandatory
`Item/cbc:Name`
**Item name**
A name for an item.
Consulting Service
Mandatory
`Item/cac:ClassifiedTaxCategory`
**Line VAT information**
Group for VAT info applicable to the goods/services invoiced on the line.
Mandatory
`ClassifiedTaxCategory/cbc:ID`
**Invoiced item VAT category code**
The VAT category code for the invoiced item.
S
Optional
`ClassifiedTaxCategory/cbc:Percent`
**Invoiced item VAT rate**
The VAT rate as percentage for the invoiced item.
21
Mandatory
`ClassifiedTaxCategory/cac:TaxScheme`
**Tax scheme**
Tax scheme container.
Mandatory
`ClassifiedTaxCategory/cac:TaxScheme/cbc:ID`
**Tax scheme ID**
Mandatory. Use VAT.
VAT
Mandatory
`InvoiceLine/cac:Price`
**Price details**
Group providing price info for the Invoice line.
Mandatory
`Price/cbc:PriceAmount`
**Item net price**
Price of an item, exclusive of VAT, after subtracting item price discount.
200.00
Mandatory
`Price/cbc:PriceAmount/@currencyID`
**Currency ID**
Mandatory attribute. Use BT-5.
EUR
Optional
`Price/cbc:BaseQuantity`
**Item price base quantity**
The number of item units to which the price applies.
1
Optional
`Price/cbc:BaseQuantity/@unitCode`
**Item price base quantity unit of measure**
Unit of measure for the base quantity (must match invoiced quantity unit).
C62