Link to main site of documentation

Introduction to openPeppol and BIS

This Peppol BIS provides a set of specifications for implementing a Peppol business process.

This specification, is a Core Invoice Usage Specification (CIUS) of EN 16931, following the guidance given in chapter 7 of the EN 16931. Any instance documents compliant to this specification will be compliant with the European Standard (EN 16931).

The purpose of this document is to facilitate an efficient implementation and increased use of electronic collaboration regarding the billing process.

Statement of copyright

This Peppol Business Interoperability Specification (Peppol BIS) document is a Core Invoice Usage Specification (CIUS) based on CEN/EN 16931:2017. The restrictions on CEN/EN 16931:2017 implemented in this Peppol BIS appear from the conformance statement provided in appendix A.

The copyright of CEN/EN 16931:2107 is owned by CEN and its members - the European National Standards Bodies. A copy of CEN/EN 16931-1:2017 may be obtained free of charge from any CEN member.

OpenPeppol AISBL holds the copyright of this Peppol BIS, developed and published subject to the conditions of the agreement between the European Commission and CEN allowing derivate works to be developed and distributed with no additional licensing requirements. CEN and the National Standards Bodies bears no liability from the content and implementation of this Peppol BIS.

This Peppol BIS document may not be modified, re-distribute, sold or repackaged in any other way without the prior consent of OpenPeppol AISBL.

Document Structure

This document is structured as follows:

  • Chapters 1 - 5 gives general information on the business processes, requirements and functionalities

  • Chapter 6 describes the semantical data types

  • Chapters 7 - 9 describes VAT, calculations and rounding.

  • Chapter 10 provides examples of selected parts of the invoice

  • Chapter 11 gives details and links to all code lists used

  • Chapter 12 gives information on Peppol identifiers

  • Chapter 13 describes in detail central information elements.

  • Chapters 14 and 15 provides information on validation and validation rules

  • Annexes give information on restrictions according to EN 16931, use of Cross Industry Invoice syntax and national and syntax rules.

Scope

This document is concerned with clarifying requirements for ensuring interoperability and provides guidelines for the support and implementation of these requirements. This document will also provide a detailed implementation guideline for the invoice and credit note transactions.

Audience

The audience for this document is organisations wishing to be Peppol enabled for exchanging electronic invoices, and/or their ICT-suppliers. These organisations may be:

  • Service providers

  • Contracting Authorities (CA)

  • Economic Operators (EO)

  • Software Developers

More specifically, roles addressed are the following:

  • ICT Architects

  • ICT Developers

  • Business Experts

For further information on Peppol/OpenPeppol, please see Peppol BIS common text and introduction

1. Benefits

The invoice and credit note provides simple support for complex invoicing, where there is a need for credit note in addition to an invoice. Other potential benefits are, among others:

  • Can be mandated as a basis for national or regional eInvoicing initiatives.

  • Procurement agencies can use them as basis for moving all invoices into electronic form. The flexibility of the specifications allows the buyers to automate processing of invoices gradually, based on different sets of identifiers or references, based on a cost/benefit approach.

  • SME can offer their trading partners the option of exchanging standardised documents in a uniform way and thereby move all invoices/credit notes into electronic form.

  • Large companies can implement these transactions as standardised documents for general operations and implement custom designed bi-lateral connections for large trading partners.

  • Supports customers with need for more complex interactions.

  • Can be used as basis for restructuring of in-house processes of invoices.

  • Significant saving can be realised by the procuring agency by automating and streamlining in-house processing. The accounting can be automated significantly, approval processes simplified and streamlined, payment scheduled timely and auditing automated.

2. Parties and roles

The diagram below shows the roles involved in the invoice and credit note transactions. The customer and invoice receiver is the same entity, as is the supplier and the invoice sender.

Functionality and roles

2.1. Parties

Customer

The customer is the legal person or organisation who is in demand of a product or service. Examples of customer roles: buyer, consignee, debtor, contracting authority.

Supplier

The supplier is the legal person or organisation who provides a product or service.

2.2. Roles

Creditor

One to whom a debt is owe. The party that claims the payment and is responsible for resolving billing issues and arranging settlement. The party that sends the invoice or credit note. Also known as invoice issuer, accounts receivable or seller.

Debtor

One who owes debt. The party responsible for making settlement relating to a purchase. The party that receives the invoice or credit note. Also known as invoicee, accounts payable, or buyer.

3. Business processes

3.1. General invoicing process

The invoicing process includes issuing and sending the invoice and the credit note from the supplier to the customer and the reception and handling of the same at the customer’s site.

The invoicing process is shown in this work flow:

  • A supplier issues and sends an invoice to a customer. The invoice refers to one order and a specification of delivered goods and services.

An invoice may also refer to a contract or a frame agreement. The invoice may specify articles (goods and services) with article number or article description.

  • The customer receives the invoice and processes it in the invoice control system leading to one of the following results:

    1. The customer fully approves the invoice, posts it in the accounting system and passes it on to be paid.

    2. The customer completely rejects the invoice, contacts the supplier and requests a credit note.

    3. The customer disputes parts of the invoice, contacts the supplier and requests a credit note and a new invoice.

The diagram below shows the basic invoicing process with the use of this Peppol BIS profile. This process assumes that both the invoice and the credit note are exchanged electronically.

The invoicing process

This profile covers the following invoice processes:

P1

Invoicing of deliveries of goods and services against purchase orders, based on a contract

P2

Invoicing deliveries of goods and services based on a contract

P3

Invoicing the delivery of an incidental purchase order

P4

Pre-payment

P5

Spot payment

P6

Payment in advance of delivery

P7

Invoices with references to a despatch advice

P8

Invoices with references to a despatch advice and a receiving advice

P9

Credit notes or invoices with negative amounts, issued for a variety of reasons including the return of empty packaging

4. Invoice functionality

An invoice may support functions related to a number of related (internal) business processes. This Peppol BIS shall support the following functions:

  • Accounting

  • Invoice verification against the contract, the purchase order and the goods and service delivered

  • VAT reporting

  • Auditing

  • Payment

In the following chapters an assessment is made of what information is needed for each of the functions listed above and whether it is in scope or out of scope for this Peppol BIS.

Please also see Invoice and credit note business requirements for further details.

Explicit support for the following functions (but not limited to) is out of scope:

  • Inventory management

  • Delivery processes

  • Customs clearance

  • Marketing

  • Reporting

4.1. Accounting

Recording a business transaction into the financial accounts of an organization is one of the main objectives of the invoice. According to financial accounting best practice and VAT rules every Taxable person shall keep accounts in sufficient detail for VAT to be applied and its application checked by the tax authorities. For that reason, an invoice shall provide for the information at document and line level that enables booking on both the debit and the credit side.

Detailed requirements for supporing accounting functionality can be found at Accounting requirements

4.2. Invoice verification

This process forms part of the Buyer’s internal business controls. The invoice shall refer to an authentic commercial transaction. Support for invoice verification is a key function of an invoice. The invoice should provide sufficient information to look up relevant existing documentation, electronic or paper, for example, and as applicable:

  • the relevant purchase order

  • the contract

  • the call for tenders, that was the basis for the contract

  • the Buyer’s reference

  • the confirmed receipt of the goods or services

  • delivery information

An invoice should also contain sufficient information that allows the received invoice to be transferred to a responsible authority, person or department, for verification and approval.

Detailed requirements for supporing accounting functionality can be found at Invoice verification requirements

4.3. Auditing

Companies audit themselves as means of internal control or they may be audited by external parties as part of a legal obligation. Accounting is a regular, ongoing process whereas an audit is a separate review process to ensure that the accounting has been carried out correctly. The auditing process places certain information requirements on an invoice. These requirements are mainly related to enable verification of authenticity and integrity of the accounting transaction.

Invoices, conformant to this Peppol BIS support the auditing process by providing sufficient information for:

  • identification of the relevant Buyer and Seller

  • identification of the products and services traded, including description, value and quantity

  • information for connecting the invoice to its payment

  • information for connecting the invoice to relevant documents such as a contract and a purchase order

Detailed requirements for supporing accounting functionality can be found at Auditing requirements

4.4. VAT Reporting

The invoice is used to carry VAT related information from the Seller to the Buyer to enable the Buyer and Seller to correctly handle VAT booking and reporting. An invoice should contain sufficient information to enable the Buyer and any auditor to determine whether the invoice is correct from a VAT point of view.

The invoice shall allow the determination of the VAT regime, the calculation and description of the tax, in accordance with the Directive 2006/112/EC and subsequent amendments.

Detailed requirements for supporing accounting functionality can be found at VAT reporting requirements

4.5. Payment

An invoice represents a claim for payment. The issuance of an invoice may take place either before or after the payment is carried out. When an invoice is issued before payment it represents a request to the Buyer to pay, in which case the invoice commonly contains information that enables the Buyer, in the role of a debtor, to correctly initiate the transfer of the payment, unless that information is already agreed in prior contracts or by means of payment instructions separately lodged with the Buyer.

If an invoice is issued after payment, such as when the order process included payment instructions or when paying with a credit card, online or telephonic purchases, the invoice may contain information about the payment made in order to facilitate invoice to payment reconciliation on the Buyer side. An invoice may be partially paid before issuing such as when a pre-payment is made to confirm an order.

Invoices, conformant with this specification should identify the means of payment for settlement of the invoice and clearly state what payment amount is requested. They should provide necessary details to support bank transfers in accordance with the Single Euro Payments Area (SEPA) for payments in Euro and the relevant national payment practices for other currencies. Payments by means of Credit Transfer, Direct debit, and Payment Card are in scope.

Detailed requirements for supporing accounting functionality can be found at Payment requirements

4.6. Negative invoices and credit notes

In line with requirements of EN 16931 this BIS supports negative grand totals in order to open up for a wider spectrum of invoicing processes.

Examples of such processes are

  • Preliminary (estimated) consumption invoice that is balanced out in a later meter-based invoice;

  • Pre-payment (with or without VAT) is settled through a final invoice; and

  • Some user communities prefer to use negative invoice rather than credit note when correcting transactions.

This has the following implications on the transaction format:

  • The invoice (now with “negative invoice capacity”) can function as an alternative to the credit note. Invoice-generating systems may implement either option, while invoice-receiving systems have to support both of them.

  • The transaction format for credit note has to be designed to accommodate for negative grand total, as well; this is because an entire negative invoice may have to be balanced out by means of a credit note.

Attention is drawn to the intrinsic differences between credit note and negative invoice when it comes to convey crediting information.

UBL example of invoice to be corrected
    <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
    <!-- Code omitted for clarity -->
        <cac:AllowanceCharge>
            <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
            <cbc:AllowanceChargeReason>Insurance</cbc:AllowanceChargeReason>
            <cbc:Amount currencyID="EUR">25</cbc:Amount>(1)
            <cac:TaxCategory>
                <cbc:ID>S</cbc:ID>
                <cbc:Percent>25.0</cbc:Percent>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:TaxCategory>
        </cac:AllowanceCharge>
    <!-- Code omitted for clarity -->
    <cac:LegalMonetaryTotal>
        <cbc:LineExtensionAmount currencyID="EUR">1300</cbc:LineExtensionAmount>
        <cbc:TaxExclusiveAmount currencyID="EUR">1325</cbc:TaxExclusiveAmount>
        <cbc:TaxInclusiveAmount currencyID="EUR">1656.25</cbc:TaxInclusiveAmount>
        <cbc:ChargeTotalAmount currencyID="EUR">25</cbc:ChargeTotalAmount>
        <cbc:PayableAmount currencyID="EUR">1656.25</cbc:PayableAmount>
    </cac:LegalMonetaryTotal>

<cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>(2)
    <cbc:InvoicedQuantity unitCode="DAY">7</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID= "EUR">2800</cbc:LineExtensionAmount>
    <!-- Code omitted for clarity -->
    <cac:Price>
        <cbc:PriceAmount currencyID="EUR">400</cbc:PriceAmount>
    </cac:Price>

<cac:InvoiceLine>
    <cbc:ID>2</cbc:ID>(3)
    <cbc:InvoicedQuantity unitCode="DAY">-3</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">-1500</cbc:LineExtensionAmount>
    <!-- Code omitted for clarity -->
    <cac:Price>
        <cbc:PriceAmount currencyID="EUR">500</cbc:PriceAmount>
    </cac:Price>
1 Charge amount
2 Invoice line 1 with positive quantity and line amount
3 Invoice line 2 with negative quantity and line amount

4.6.1. When crediting by means of credit note

The function of crediting or debiting is controlled merely by the business document type (e.g. 380 or 381) while the representation of the amount, including its sign, is not affected.

UBL example of credit note correcting the example invoice above
    <cbc:CreditNoteTypeCode>381</cbc:CreditNoteTypeCode>(1)
    <!-- Code omitted for clarity -->
        <cac:AllowanceCharge>
            <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
            <cbc:AllowanceChargeReason>Insurance</cbc:AllowanceChargeReason>
            <cbc:Amount currencyID="EUR">25</cbc:Amount>(2)
            <cac:TaxCategory>
                <cbc:ID>S</cbc:ID>
                <cbc:Percent>25.0</cbc:Percent>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:TaxCategory>
        </cac:AllowanceCharge>
    <cac:LegalMonetaryTotal>
        <cbc:LineExtensionAmount currencyID="EUR">1300</cbc:LineExtensionAmount>
        <cbc:TaxExclusiveAmount currencyID="EUR">1325</cbc:TaxExclusiveAmount>
        <cbc:TaxInclusiveAmount currencyID="EUR">1656.25</cbc:TaxInclusiveAmount>
        <cbc:ChargeTotalAmount currencyID="EUR">25</cbc:ChargeTotalAmount>
        <cbc:PayableAmount currencyID="EUR">1656.25</cbc:PayableAmount>
    </cac:LegalMonetaryTotal>

<cac:CreditNoteLine>
    <cbc:ID>1</cbc:ID>(3)
    <cbc:CreditedQuantity unitCode="DAY">7</cbc:CreditedQuantity>
    <cbc:LineExtensionAmount currencyID= "EUR">2800</cbc:LineExtensionAmount>
    <!-- Code omitted for clarity -->
    <cac:Price>
        <cbc:PriceAmount currencyID="EUR">400</cbc:PriceAmount>
    </cac:Price>

<cac:CreditNoteLine>
    <cbc:ID>2</cbc:ID>(4)
    <cbc:CreditedQuantity unitCode="DAY">-3</cbc:CreditedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">-1500</cbc:LineExtensionAmount>
    <!-- Code omitted for clarity -->
    <cac:Price>
        <cbc:PriceAmount currencyID="EUR">500</cbc:PriceAmount>
    </cac:Price>
1 Code 381 indicating a credit note
2 Charge amount
3 Invoice line 1 with positive quantity and line amount
4 Invoice line 2 with negative quantity and line amount

4.6.2. When crediting by means of negative invoice

The function of crediting or debiting is controlled merely by the sign (i.e. plus sign or minus sign) of the amount concerned, while the business document type (e.g. 380) has no relevance on the operation (“to credit”) itself.

UBL example of negative invoice correcting the example invoice above
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode> (1)
<!-- Code omitted for clarity -->
<cac:AllowanceCharge>
    <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReason>Insurance</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">-25</cbc:Amount>(2)
    <cac:TaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>25.0</cbc:Percent>
        <cac:TaxScheme>
            <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
    </cac:TaxCategory>
</cac:AllowanceCharge>
<!-- Code omitted for clarity -->
<cac:LegalMonetaryTotal> (3)
    <cbc:LineExtensionAmount currencyID="EUR">-1300</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="EUR">-1325</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="EUR">-1656.25</cbc:TaxInclusiveAmount>
    <cbc:ChargeTotalAmount currencyID="EUR">-25</cbc:ChargeTotalAmount>
    <cbc:PayableAmount currencyID="EUR">-1656.25</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

<cac:InvoiceLine>
    <cbc:ID>1</cbc:ID> (4)
    <cbc:InvoicedQuantity unitCode="DAY">-7</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">-2800</cbc:LineExtensionAmount>
    <!-- Code omitted for clarity -->
    <cac:Price>
        <cbc:PriceAmount currencyID="EUR">400</cbc:PriceAmount>(5)
    </cac:Price>

<cac:InvoiceLine>
    <cbc:ID>2</cbc:ID>(6)
    <cbc:InvoicedQuantity unitCode="DAY">3</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">1500</cbc:LineExtensionAmount>
    <!-- Code omitted for clarity -->
    <cac:Price>
        <cbc:PriceAmount currencyID="EUR">500</cbc:PriceAmount>
    </cac:Price>
1 Code 380 indicating an invoice
2 Charge amount is negative to correct the original invoice
3 All document level amounts are negative
4 Invoice line 1 with originally positive quantity and line amount, now both negative
5 Price amount must always be positive, and is not changed
6 Invoice line 2 with originally negative quantity and line amount, now positive

5. Invoice and credit note business requirements

The table below gives an overview of the business requirements from CEN/TC 434 supported by this BIS:

Legend

Requirements with an id Rnn are from EN 16931 (Example R19).

Table 1. Accounting requirements
Id Requirement (depending, as applicable, on the respective business case)

R1

information at document level that enables the identification of the Payee, if different from the Seller

R2

information at document level that enables booking on both the debit and the credit side

R3

information at invoice line level that enables booking on the debit side

R4

Buyer-specific booking information (account numbers)

Table 2. Invoice verification requirements
Id Requirement (depending, as applicable, on the respective business case)

R5

information to trace to a single related purchase order from the document level

R6

information to trace to a single related purchase order line from the invoice line

R7

information to trace to a single contract and the underlying call for tenders from the document level

R8

a reference supplied by the Buyer at document level

R9

information to trace to a single despatch advice from the document level

R10

information to trace to a single receiving advice from the document level

R11

information to trace to a related invoice to be corrected from the document level

R13

information to allow an invoice and related documents to be transferred to a responsible authority, entity, person or department, for verification and approval

R14

information about net price and the quantity on which the price is based at invoice line level, additional information such as gross price and price discount may be added

R15

descriptive and coded information about allowances and charges at both document level and at invoice line level

R16

information about charges, (non-VAT-)taxes, duties and levies, with their VAT information, that are not included in the line amounts at document level

R17

information about charges, (non-VAT-)taxes, duties and levies that compose the taxable amount and are not included in the unit price at separate invoice lines, with a proper identification and/or description

R18

information about charges at invoice line level as part of the line amount

R19

the amounts of allowances and charges at document and invoice line level

R20

textual descriptions of invoiced goods and services at invoice line level

R21

identification of invoiced goods and services by means of a Seller’s item number at invoice line level

R22

identification of invoiced goods and services by means of a Buyer’s item number at invoice line level

R23

identification of invoiced goods and services by means of a qualified general item identifier at invoice line level as agreed by the Buyer and the Seller

R24

classification of invoiced goods and services by means of applicable classification identifiers and schema reference as agreed between the Seller and the Buyer at invoice line level

R25

information about returned and credited returnable assets or packages, such as pallets, and package charges, stated as normal invoice lines

R26

information about returnable asset charges, stated as normal invoice lines

R27

information about returned goods, stated as normal invoice lines

R28

descriptive information about attributes of goods and services at invoice line level

R29

information about the country of origin of goods and services at invoice line level

R30

an invoice line period at invoice line level

R31

one delivery date at document level

R32

one delivery location or address at document level

R33

identification of the invoiced object at document and line level

R34

a delivery/invoice period at document level

R35

attached documents of a limited set of file types

R36

multiple attached or referenced documents at document level

R37

a VAT category and rate at invoice line level

R38

VAT totals per category at document level

R39

a quantity and a net amount (exclusive of VAT) at invoice line level

R40

all amounts at document and invoice line level that make up the invoice total amount and the amount due for payment

R41

Reference to a sales order, issued by the Seller at document level

R42

Allowance/charge percentage and base amount at document and invoice line level

R44

Information to allow automated validation of a received electronic invoice

Table 3. VAT reporting requirements
Id Requirement (depending, as applicable, on the respective business case)

R45

information to determine the requirements of the applicable VAT legislation in force and the calculation and reporting thereof;

R46

information on the date the VAT is liable at document level;

R47

the necessary elements for national legal VAT requirements that apply for invoices issued to national and foreign Buyers, such as the legal registration status of the Seller;

R48

information to support the following VAT use cases:

  • Invoices for supplies for which VAT is charged;

  • Invoices for supplies for which VAT is not charged based on an exemption reason;

  • Invoices for supplies for which the Seller’s goods and services are exempt from VAT at line level;

  • Invoices for supplies that are issued under reverse charge;

  • Invoices for exempt intra-community supplies for which an intra-community acquisition shall be done;

  • Invoices for supplies outside the scope of the Directive 2006/112/EC (non-VAT invoices);

R49

the total VAT amount at document level;

R50

total taxable amount per VAT rate at document level;

R51

any additional information required to support the exemption evidence in case VAT is not charged based on an exemption reason at document and at invoice line level;

R52

the legal registration number and the VAT registration number of the Seller and Buyer and the VAT registration number of the Tax representative of the Supplier;

R53

the official postal address of the Buyer, Seller and Tax representative of the Supplier and their place of business and registered office;

R54

the invoice currency and the VAT accounting currency at document level if different from the invoice currency;

R55

codes for exemption reasons at document and invoice line level.

Table 4. Auditing requirements
Id Requirement (depending, as applicable, on the respective business case)

R56

sufficient information to support the auditing process with regard to:

  • Identification of the invoice;

  • Identification of the date of issue of the invoice;

  • Identification of the products and services traded, including their description, value and quantity;

  • Information for relating the invoice to its settlement;

  • Information for relating the invoice to relevant documents such as a contract, a purchase order and a despatch advice;

R57

identification of the parties that fulfil the following roles at the invoice level, including their legal name and address:

  • The Seller (including the Seller’s trade name);

  • The Buyer;

  • The Deliver to party (if different from the Buyer);

  • The Payee (if different from the Seller);

  • The Tax representative of the Supplier;

Table 5. payment requirements
Id Requirement (depending, as applicable, on the respective business case)

R58

identification of the means of settlement;

R59

the requested amount due for payment;

R60

the date on which payment is due;

R61

necessary details to support bank transfers in accordance with SEPA and national systems;

R62

a reference number and any additional reference data to be included in the payment;

R63

reference number and any additional reference data to be included in the payment, in order to relate the payment to the invoice;

R64

information for relating an invoice to a payment card used for settlement;

R65

basic information to support national payment systems for use in domestic trade;

R66

information about the amount that was pre-paid;

R67

invoices that have a total amount of zero;

R68

invoices that have an amount to pay of zero;

R69

necessary details to support direct debits.

R70

pre-payment invoices

6. Semantic datatypes

Semantic data types are used to bridge the gap between the semantic concepts expressed by the information elements defined in the semantic model from EN 16931 and the technical implementation. The semantic data types define the allowed value domain for the content, and any additional information components (attributes) needed in order to ensure its precise interpretation.

The details of the technical implementation can be found in [Detailed UBL message guideline]

6.1. Primitive types

Semantic data type content may be of the following primitive types. These primitive types were taken from ISO 15000-5:2014, Annex A.

Primitive type Definition

Binary

A set of finite-length sequences of binary digits.

Date

Time point representing a calendar day on a time scale consisting of an origin and a succession of calendar ISO 8601:2004.

Decimal

A subset of the real numbers, which can be represented by decimal numerals.

String

A finite sequence of characters.

6.2. Semantic data types

The different semantic data types are described in the tables below, where various features such as attributes, format, and decimals as well as the basic type are defined for each semantic data type. They are based on ISO 15000-5:2014.

When used in an instance of an invoice, each data element will contain data. In the below tables this is identified as the “content”. Whenever a business term is used this term shall always have content and therefore the content is always mandatory.

6.2.1. Amount

An amount states a numerical monetary value. The currency of the amount is defined as a separate business term.

Amount is floating up to two fraction digits.
Component Use Primitive Type Example

Content

Mandatory

Decimal

10000.25

6.2.2. Unit Price Amount

A unit price amount states a numerical monetary amount value for data elements that contain item prices that may be multiplied by item quantities. The currency of the amount is defined as a separate business term.

Unit price amount does not set restrictions on number of decimals, as contrast to the Amount type
Component Use Primitive Type Example

Content

Mandatory

Decimal

10000.1234

6.2.3. Percentage

Percentages are given as fractions of a hundred (per cent) e.g. the value 34.78 % in percentage terms is given as 34.78.

No restriction on number of decimals for percentages.
Component Use Primitive Type Example

Content

Mandatory

Decimal

34.7812

6.2.4. Quantity

Quantities are used to state a number of units such as for items. The code for the Unit of Measure is defined as a separate business term.

No restriction on number of decimals for quantities.
Component Use Primitive Type Example

Content

Mandatory

Decimal

10000.1234

6.2.5. Code

Codes are used to specify allowed values in elements as well as for lists of options. Code is different from Identifier in that allowed values have standardized meanings that can be known by the recipient.

Codes shall be entered exactly as shown in the selected code list of the applicable syntax.
Component Use Primitive Type Example

Content

Mandatory

String

Abc123

6.2.6. Identifier

Identifiers (IDs) are keys that are issued by the sender or recipient of a document or by a third party.

The use of the attributes is specified for each information element.
Component Use Primitive Type Example

Content

Mandatory

String

abc:123-DEF

Scheme identifier

Conditional

String

GLN

Scheme version identifier

Conditional

String

1.0

6.2.7. Date

Dates shall be in accordance to the “Calendar date complete representation” as specified by ISO 8601:2004, format YYYY-MM-DD.

Dates shall not include timezone information.
Table 6. EN 16931_ Date. Type
Component Use Primitive Type Example

Content

Mandatory

Date

2017-12-01

6.2.8. Document Reference

Document Reference Types are identifiers that were assigned to a document or document line by the Buyer, the Seller or by a third party.

Table 7. Document Reference. Type
Component Use Primitive Type Example

Content

Mandatory

String

abc:123-DEF

6.2.9. Text

Text is the actual wording of anything written or printed. Line breaks in the text may be present, and any line breaks should be preserved and respected by the receiver’s system

Component Use Primitive Type Example

Content

Mandatory

String

5% allowance when paid within 30 days

6.2.10. Binary objects

Binary objects can be used to describe files which are transmitted together with the Invoice. The attachment functionality is not intended for of including a copy of the invoice in an image format (such as PDF). Attaching an invoice copy is not in compliance with this specification.

Attachments shall be transmitted together with the Invoice. The binary object has two supplementary components: a Mime Code, which specifies the Mime type of the attachment and a Filename that is provided by (or on behalf of) the sender of the invoice or credit note.

Component Use Primitive Type Example

Content

Mandatory

Binary

QmFzZTY0IGNvbnRlbnQgZXhhbXBsZQ==

Mime Code

Mandatory

String

image/jpeg

Filename

Mandatory

String

drawing5.jpg

A receiver of an invoice or credit note, shall accept and process attachments that are according to the code list Media type code of attached document

7. Value added tax (VAT)

The chapters below describe the different VAT informations that can be provided in a Peppol invoice or credit note.

Please also see VAT category codes for details on the VAT category code list, and Calculation of VAT for detailed explanation and example on how to perform the calculations for VAT Breakdown.

7.1. Line VAT Information

Each invoice line shall have the invoiced item VAT category code (BT-151), and for all VAT categories except "Not subject to VAT" (O), the VAT rate shall be provided.

7.2. Document level allowance or charge

Each document level charge or allowance must have the Document level allowance or charge VAT category code (BT-95 and BT-102), and for all VAT categories except "Not subject to VAT" (O), the VAT rate shall be provided.

7.3. VAT Breakdown

One VAT Breakdown shall be provided for each distinct combination of VAT category code and VAT rate found in either the line VAT information or the Document level allowance or charges. For some VAT categories, the VAT rate shall be zero, and hence the rate is not needed in order to group the VAT Breakdown for these.

Please note that for the VAT rate, only significant decimals should be considered, i.e any difference in trailing zeros should not result in different VAT breakdowns.

Example 1. Example

Invoice line 1 has category code = S and VAT rate = 25
Invoice line 2 has category code = S and VAT rate = 25.00
This should result in only one VAT Breakdown.

7.4. Invoice total VAT amount

The invoice total VAT amount (BT-110) is the sum of all VAT Category VAT amounts (BT-117)

8. Rounding

To minimize the risk of differences due to rounding, the following rules apply:

  • All document level amounts shall be rounded to two decimals for accounting

  • Invoice line net amount shall be rounded to two decimals

  • Results from calculations involving already rounded amounts are not subject to rounding, like payable amounts and total amounts included VAT.

Please also see Calculation for details on how to calculate the different amounts.

9. Calculation

9.1. Calculation of totals

Formulas for the calculations of totals are as follows:

Business term id Term name Calculation

BT-106

Sum of invoice line net amounts

\$sum("BT-131: Invoice line net amount")\$

BT-107

Sum of allowances on document level

\$sum("BT-92: Document level allowance amount")\$

BT-108

Sum of charges on document level

\$sum("BT-99: Document level charge amount")\$

BT-109

Invoice total amount without VAT

\$\ \ \ \ "BT-106: Sum of invoice line net amounts"\$
\$- \ "BT-107: Sum of allowances on document level"\$
\$+ \ "BT-108: Sum of charges on document level"\$

BT-110

Invoice total VAT amount

\$sum("BT-117: VAT category tax amount")\$

BT-112

Invoice total amount with VAT

\$\ \ \ \ "BT-109: Invoice total amount without VAT"\$
\$+ \ "BT-110: Invoice total VAT amount"\$

BT-115

Amount due for payment

\$\ \ \ \ "BT-112: Invoice total amount with VAT"\$
\$- \ "BT-113: Paid amount"\$
\$+ \ "BT-114: Rounding amount"\$

9.1.1. UBL syntax calculation formulas

The following elements show the legal monetary totals for an invoice or credit note

Element Formula

<cbc:LineExtensionAmount>

\$sum("cac:InvoiceLine/cbc:LineExtensionAmount")\$

<cbc:AllowanceTotalAmount>

\$sum("cac:AllowanceCharge[ChargeIndicator='false']/cbc:Amount")\$

<cbc:ChargeTotalAmount>

\$sum("cac:AllowanceCharge[ChargeIndicator='true']/cbc:Amount")\$

<cbc:TaxExclusiveAmount>

\$\ \ \ \ "cac:LegalMonetaryTotal/cbc:LineExtensionAmount"\$
\$– \ "cac:LegalMonetaryTotal/cbc:AllowanceTotalAmount"\$
\$+ \ "cac:LegalMonetaryTotal/cbc:ChargeTotalAmount"\$

<cbc:TaxInclusiveAmount>

\$\ \ \ \ "cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount"\$
\$+ \ "cac:TaxTotal/cbc:TaxAmount"\$

<cbc:PrepaidAmount>

Not applicable

<cbc:PayableRoundingAmount>

Not applicable

<cbc:PayableAmount>

\$\ \ \ \ "cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount"\$
\$- \ "cac:LegalMonetaryTotal/cbc:PrepaidAmount"\$
\$+ \ "cac:LegalMonetaryTotal/cbc:PayableRoundingAmount"\$

9.1.2. Element for rounding amount, the PayableRoundingAmount

It is possible to round the expected payable amount.

The element cac:LegalMonetaryTotal/cbc:PayableRoundingAmount is used for this purpose and is specified on the header level. This value shall be added to the value in cac:LegalMonetaryTotal/cbc:PayableAmount.

Example: Amount 999.81 rounded to 1000. PayableRounding Amount = 0.19

9.2. Calculation on line level

9.2.1. Item net price (BT-146)

If gross price and discount exist, the Item net price has to equal with the item gross price less the item price discount.

Calculation formula:

\$"Item net price" = "Item gross price (BT-148)" - "Item price discount (BT-147)"\$

UBL example of item net price
<cac:Price>
    <cbc:PriceAmount currencyID="EUR">410</cbc:PriceAmount>(3)
    <cbc:BaseQuantity unitCode="C62">1</cbc:BaseQuantity>
    <cac:AllowanceCharge>
        <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
        <cbc:Amount currencyID="EUR">40</cbc:Amount>(2)
        <cbc:BaseAmount currencyID="EUR">450</cbc:BaseAmount>(1)
    </cac:AllowanceCharge>
</cac:Price>
1 Item gross price
2 Item price discount
3 \$"Item price net amount" = "Item gross price" - "Item price discount"\$

9.2.2. Invoice line net amount (BT-131)

The invoice line net amount (BT-131) is as the name implies the net amount without VAT, and inclusive of line level allowance and charges.

The formula for calculating the invoice line net amount is:

\$"Item line net amount" = (("Item net price (BT-146)" div "Item price base quantity (BT-149)")\$
\$times ("Invoiced Quantity (BT-129)")\$
\$+ "Invoice line charge amount (BT-141)" - "Invoice line allowance amount (BT-136)"\$

As the line net amount must be rounded to two decimals, please note that the different parts of the calculation must be rounded separately.
I.e the result of \$"Item line net amount" = (("Item net price (BT-146)" div "Item price base quantity (BT-149)") times ("Invoiced Quantity (BT-129)")\$ must be rounded to two decimals, and the allowance/charge amounts are also rounded separately.
UBL example of invoice line net amount where no line allowance/charge exist
<cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>(3)
<cbc:LineExtensionAmount currencyID="EUR">1000.00</cbc:LineExtensionAmount>(4)

<!-- Code omitted for clarity-->

<cac:Price>
    <cbc:PriceAmount currencyID="EUR">200</cbc:PriceAmount>(1)
    <cbc:BaseQuantity unitCode="C62">2</cbc:BaseQuantity>(2)
</cac:Price>
1 Item net price
2 Item price base quantity
3 Invoiced quantity
4 \$"Invoice line net amount" = (("Item net price" div "Item price base quantity") times ("Invoiced Quantity")\$
UBL example of invoice line net amount where line allowance and charge exist
<cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>(4)
<cbc:LineExtensionAmount currencyID="EUR">900.00</cbc:LineExtensionAmount>(5)

<!-- Code omitted for clarity-->

<cac:AllowanceCharge>
    <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>CG</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Charge</cbc:AllowanceChargeReason>
    <cbc:MultiplierFactorNumeric>1</cbc:MultiplierFactorNumeric>
    <cbc:Amount currencyID="EUR">1</cbc:Amount>(2)
    <cbc:BaseAmount currencyID="EUR">100</cbc:BaseAmount>
</cac:AllowanceCharge>
<cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Discount</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">101</cbc:Amount>(3)
</cac:AllowanceCharge>

<!-- Code omitted for clarity-->

<cac:Price>
    <cbc:PriceAmount currencyID="EUR">100</cbc:PriceAmount>(1)
</cac:Price>
1 Item net price
2 Line charge amounts
3 Line allowance amount
4 Invoiced quantity
5 \$"Invoice line net amount" = ("Item net price" times "Invoiced Quantity") + "line charge amount" - "line allowance amount"\$

9.3. Calculation of allowance/charge amount

Allowance and charge on document- and line level consists of elements carrying information on the allowance/charge base amount and the allowance/charge percentage. These are, if present in the invoice instance, used for calculating the allowance/charge amount.

If base amount is present, the percentage shall also be present, and if percentage is present, the base amount shall also be present, and the calculation of the amount shall be:

\$"Amount" = "Base amount" times ("Percentage" div 100)\$

UBL example of calculations of allowances and charges where base amount and percentage exist
<cac:AllowanceCharge>
    <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>CG</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Cleaning</cbc:AllowanceChargeReason>
    <cbc:MultiplierFactorNumeric>20</cbc:MultiplierFactorNumeric>(2)
    <cbc:Amount currencyID="EUR">200</cbc:Amount> (3)
    <cbc:BaseAmount currencyID="EUR">1000</cbc:BaseAmount>(1)
    <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>
1 Base amount, to be used with the percentage to calculate the amount
2 Charge percentage
3 \$"Base amount" times ("Percentage" div 100) = "Amount"\$
UBL example of calculations of allowances and charges where base amount and percentage does not exist
<cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Discount</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">200</cbc:Amount>(1)
    <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>
1 Amount of allowance without calculations based on base amount and percentage

9.4. Calculation of VAT

One VAT Breakdown shall be provided for each distinct combination of VAT category code and VAT rate found in either the line VAT information or the Document level allowance or charges.

For each distinct combination of VAT category code and VAT rate the calculations are:

\$"VAT category taxable amount (BT-116)" = sum("Invoice line net amounts (BT-131)")\$
\$+ "Document level charge amount (BT-99)" - "Document level allowance amount (BT-92)"\$

\$"VAT category tax amount (BT-117)" = "VAT category taxable amount (BT-116)" times ("VAT rate (BT-119)" div 100)\$

For VAT Breakdown where the VAT Category is "Not subject to VAT" (O), the VAT category tax amount shall be zero.
UBL example of calculations of VAT Breakdown
<cac:AllowanceCharge>
    <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReason>Cleaning</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">200</cbc:Amount>(1)
    <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>

<cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReason>Discount</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">100</cbc:Amount>(2)
    <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>

<cac:TaxTotal>
    <cbc:TaxAmount currencyID="EUR">1250.00</cbc:TaxAmount>

    <cac:TaxSubtotal>(3)
        <cbc:TaxableAmount currencyID="EUR">5000.0</cbc:TaxableAmount>(4)
        <cbc:TaxAmount currencyID="EUR">1250</cbc:TaxAmount>(5)
        <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>(6)
        <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>

<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:ClassifiedTaxCategory>
            <cbc:ID>S</cbc:ID>
            <cbc:Percent>25.0</cbc:Percent>
            <cac:TaxScheme>
                <cbc:ID>VAT</cbc:ID>
            </cac:TaxScheme>
        </cac:ClassifiedTaxCategory>

<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:ClassifiedTaxCategory>
            <cbc:ID>E</cbc:ID>
            <cbc:Percent>0.0</cbc:Percent>
            <cac:TaxScheme>
                <cbc:ID>VAT</cbc:ID>
            </cac:TaxScheme>
        </cac:ClassifiedTaxCategory>
<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:ClassifiedTaxCategory>
            <cbc:ID>S</cbc:ID>
            <cbc:Percent>25.0</cbc:Percent>
            <cac:TaxScheme>
                <cbc:ID>VAT</cbc:ID>
            </cac:TaxScheme>
        </cac:ClassifiedTaxCategory>
1 Document level charge amount for category S and rate 25%
2 Document level allowance amount for category S and rate 25%
3 VAT Breakdown for category S and rate = 25%
4 Taxable amount = sum of line amount (line 1 and 3), plus charge amount minus allowance amount where category = S and rate = 25%
5 \$"Tax Amount" = "Taxable amount" times ("VAT rate" div 100)\$
6 VAT Breakdown for category E, and rate = 0%

10. Examples of selected parts of the transaction

In the subchapters below you find examples of selected parts of the transaction. Please also look into the [Detailed UBL message guideline] for details on all elements and attributes, and their rules and use of code lists.

10.1. Parties

The following roles may be specified. The same actor may play more than one role depending on the handling routine.

Further details on the roles/actors can be found in Parties and roles.

10.1.1. Seller (AccountingSupplierParty)

Seller is mandatory information and provided in element cac:AccountingSupplierParty

UBL example of seller information
<cac:AccountingSupplierParty>
    <cac:Party>
        <cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
        (1)
        <cac:PartyIdentification>
            <cbc:ID schemeID="0088">7300010000001</cbc:ID>
            (2)
        </cac:PartyIdentification>
        <cac:PartyName>
            <cbc:Name>SupplierTradingName Ltd.</cbc:Name>
        </cac:PartyName>
        <cac:PostalAddress>
            <cbc:StreetName>Main street 1</cbc:StreetName>
            <cbc:AdditionalStreetName>Postbox 123</cbc:AdditionalStreetName>
            <cbc:CityName>London</cbc:CityName>
            <cbc:PostalZone>GB 123 EW</cbc:PostalZone>
            <cbc:CountrySubentity>West London district</cbc:CountrySubentity>
            <cac:AddressLine>
                <cbc:Line>Third address line</cbc:Line>
            </cac:AddressLine>
            <cac:Country>
                <cbc:IdentificationCode>GB</cbc:IdentificationCode>
            </cac:Country>
        </cac:PostalAddress>
        <cac:PartyTaxScheme>
            <cbc:CompanyID>GB76576657</cbc:CompanyID>
            (3)
            <cac:TaxScheme>
                <cbc:ID>VAT</cbc:ID>
            </cac:TaxScheme>
        </cac:PartyTaxScheme>
        <cac:PartyTaxScheme>
            <cbc:CompanyID>TaxRegistrationID</cbc:CompanyID>
            <cac:TaxScheme>
                <cbc:ID>TAX</cbc:ID>
            </cac:TaxScheme>
        </cac:PartyTaxScheme>
        <cac:PartyLegalEntity>
            <cbc:RegistrationName>SupplierOfficialName Ltd</cbc:RegistrationName>
            <cbc:CompanyID>GB983294</cbc:CompanyID>
            <cbc:CompanyLegalForm>Private Limited Company</cbc:CompanyLegalForm>
        </cac:PartyLegalEntity>
        <cac:Contact>
            <cbc:Name>John Doe</cbc:Name>
            <cbc:Telephone>9384203984</cbc:Telephone>
            <cbc:ElectronicMail>john.doe@foo.bar</cbc:ElectronicMail>
        </cac:Contact>
    </cac:Party>
</cac:AccountingSupplierParty>
1 schemeID attribute is mandatory for electronic addresses, ie. EndpointID
2 schemeID attribute is recommended for all party identifiers
3 VAT identifiers shall be prefixed with the country code

10.1.2. Buyer (AccountingCustomerParty)

Buyer is mandatory information and provided in element cac:AccountingCustomerParty

UBL example ofbuyer information
<cac:AccountingCustomerParty>
    <cac:Party>
        <cbc:EndpointID schemeID="0002">FR23342</cbc:EndpointID>
        (1)
        <cac:PartyIdentification>
            <cbc:ID schemeID="0002">FR23342</cbc:ID>
            (2)
        </cac:PartyIdentification>
        <cac:PartyName>
            <cbc:Name>BuyerTradingName AS</cbc:Name>
        </cac:PartyName>
        <cac:PostalAddress>
            <cbc:StreetName>Hovedgatan 32</cbc:StreetName>
            <cbc:AdditionalStreetName>Po box 878</cbc:AdditionalStreetName>
            <cbc:CityName>Stockholm</cbc:CityName>
            <cbc:PostalZone>45634</cbc:PostalZone>
            <cac:AddressLine>
                <cbc:Line>Third line</cbc:Line>
            </cac:AddressLine>
            <cac:Country>
                <cbc:IdentificationCode>SE</cbc:IdentificationCode>
            </cac:Country>
        </cac:PostalAddress>
        <cac:PartyTaxScheme>
            <cbc:CompanyID>SE459837593701</cbc:CompanyID>
            (3)
            <cac:TaxScheme>
                <cbc:ID>VAT</cbc:ID>
            </cac:TaxScheme>
        </cac:PartyTaxScheme>
        <cac:PartyLegalEntity>
            <cbc:RegistrationName>Buyer Official Name</cbc:RegistrationName>
            <cbc:CompanyID schemeID="0183">39937423947</cbc:CompanyID>
            (4)
        </cac:PartyLegalEntity>
        <cac:Contact>
            <cbc:Name>Lisa Johnson</cbc:Name>
            <cbc:Telephone>23434234</cbc:Telephone>
            <cbc:ElectronicMail>lj@buyer.se</cbc:ElectronicMail>
        </cac:Contact>
    </cac:Party>
</cac:AccountingCustomerParty>
1 schemeID attribute is mandatory for electronic addresses, ie. EndpointID
2 schemeID attribute is recommended for all party identifiers
3 VAT identifiers shall be prefixed with the country code
4 schemeID attribute is recommended for party legal entity identifiers

10.1.3. Payment receiver (PayeeParty)

Payment receiver is optional information. If this information is not supplied, the seller is the payment receiver. When payee information is sent this is indicating that a factoring situation is being documented.

To reflect the assignment of an Invoice to a factor there is a need to:

  1. have a disclaimer (notification notice) on the Invoice that the Invoice has been assigned to a factor. The disclaimer should be given using the Invoice note (BT-22) on document level.

  2. identify the Factor as the Payee

  3. to have the bank account changed to favour of a Factor.

UBL example of payee information
<cac:PayeeParty>
    <cac:PartyIdentification>
        <cbc:ID schemeID="0192">987654325</cbc:ID>
        (1)
    </cac:PartyIdentification>
    <cac:PartyName>
        <cbc:Name>Payee party</cbc:Name>
    </cac:PartyName>
    <cac:PartyLegalEntity>
        <cbc:CompanyID schemeID="0192">987654325</cbc:CompanyID>
        (2)
    </cac:PartyLegalEntity>
</cac:PayeeParty>
1 schemeID attribute is recommended for all party identifiers
2 schemeID attribute is recommended for party legal entity identifiers

10.1.4. Sellers Tax Representative (TaxRepresentativePary)

Tax representative party for the seller is relevant for sellers delivering goods and services in a country without having a permanent establishment in that country. In such cases information on the tax representative shall be included in the invoice.

UBL example of tax representative information
<cac:TaxRepresentativeParty>
    <cac:PartyName>
        <cbc:Name>TaxRepresentative Name</cbc:Name>
    </cac:PartyName>
    <cac:PostalAddress>
        <cbc:StreetName>Regent street 32</cbc:StreetName>
        <cbc:AdditionalStreetName>Building 23</cbc:AdditionalStreetName>
        <cbc:CityName>London</cbc:CityName>
        <cbc:PostalZone>23W 45H</cbc:PostalZone>
        <cbc:CountrySubentity>Subentity</cbc:CountrySubentity>
        <cac:AddressLine>
            <cbc:Line>Back door</cbc:Line>
        </cac:AddressLine>
        <cac:Country>
            <cbc:IdentificationCode>GB</cbc:IdentificationCode>
        </cac:Country>
    </cac:PostalAddress>
    <cac:PartyTaxScheme>
        <cbc:CompanyID>GB122324324535</cbc:CompanyID>
        (1)
        <cac:TaxScheme>
            <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
    </cac:PartyTaxScheme>
</cac:TaxRepresentativeParty>
1 VAT identifiers shall be prefixed with the country code

10.2. Delivery Details (Date and Location)

Delivery details may be given at document level.

Place and date of delivery is recommended, and should be sent unless this does not affect the ability to ensure the correctness of the invoice.

The delivery element contains information on name, address and delivery location identifier (cac:Delivery/cac:DeliveryLocation/cbc:ID) which may be used if the place of delivery is defined through an identifier. For example GLN (Global Location Number)issued by GS1.

UBL example of delivery information
<cac:Delivery>
    <cbc:ActualDeliveryDate>2017-11-01</cbc:ActualDeliveryDate>
    <cac:DeliveryLocation>
        <cbc:ID schemeID="0088">7300010000001</cbc:ID>
        <cac:Address>
            <cbc:StreetName>Delivery street 2</cbc:StreetName>
            <cbc:AdditionalStreetName>Building 56</cbc:AdditionalStreetName>
            <cbc:CityName>Stockholm</cbc:CityName>
            <cbc:PostalZone>21234</cbc:PostalZone>
            <cac:AddressLine>
                <cbc:Line>Gate 15</cbc:Line>
            </cac:AddressLine>
            <cac:Country>
                <cbc:IdentificationCode>SE</cbc:IdentificationCode>
            </cac:Country>
        </cac:Address>
    </cac:DeliveryLocation>
    <cac:DeliveryParty>
        <cac:PartyName>
            <cbc:Name>Delivery party Name</cbc:Name>
        </cac:PartyName>
    </cac:DeliveryParty>
</cac:Delivery>

10.3. References

Support for invoice verification is a key function of an invoice. The invoice should provide sufficient information to look up relevant existing documentation, electronic or paper.

Any reference element should contain valid information, if you do not have a reference, the element should not be present in the instance document.

The invoice and credit note transactions supports the following references to existing documentation:

10.3.1. Purchase order and sales order reference

The purchase order is conditional. If order reference exist, use that, else use Buyer reference (see Buyer reference).

The customer will issue an order with a unique order number. This unique purchase order number should be supplied as the order reference on the invoice.

If order reference is stated at header level, the order reference element on line level can be used to state the order line numbers.

A sales order is issued by the seller, confirming the sale of specified products.

In the invoice, both a purchase order and a sales order reference can be given, but be aware that an invoice instance cannot have a sales order reference, without the corresponding purchase order reference.
UBL example or order and sales order reference
<cac:OrderReference>
    <cbc:ID>o-998877</cbc:ID>(1)
    <cbc:SalesOrderID>so-12343</cbc:SalesOrderID>(2)
</cac:OrderReference>
1 Purchase order reference
2 Sales order reference

10.3.2. Buyer reference

The buyer reference, known as Your ref, is conditional. An invoice shall have either the buyer reference or the order reference (see Purchase order and sales order reference)

The element is used for the reference of who ordered the products/services. Example being the name of the person ordering, employee number or a code identifying this person or department/group. Your ref is often used for internal routing at recipient, and hence it is important to fill this element with the correct values according to the need of the recipient.

If neither buyer reference nor a reference to an order is supplied by the customer, the name of the person ordering or appointed for the customer can be supplied in buyer reference if known by the supplier.

When reference is provided by the customer, the correct element shall contain the provided reference.
UBL example of buyer reference
<cbc:BuyerReference>0150abc</cbc:BuyerReference>

10.3.3. Invoiced object identifier

The invoiced object identifier is the identifier for an object on which the invoice is based, given by the Seller. Examples may be a subscription number, telephone number, meter point, vehicle, person etc., as applicable.

If it is not clear to the receiver what scheme is used for the identifier, a conditional scheme identifier should be used, that shall be chosen from the Invoiced object identifier scheme.

The invoiced object reference is provided by using the element cac:AdditionalDocumentReference with the document type code = 130

UBL example of invoiced object identifier
<cac:AdditionalDocumentReference>
    <cbc:ID schemeID="ABT">DR35141</cbc:ID>(1)
    <cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>(2)
</cac:AdditionalDocumentReference>
1 Scheme identifier from UN/CEFACT 1153 code list
2 Document type code shall be ´130´ to indicate Invoiced object

10.3.4. Contract reference

To reference or match an invoice to a purchase contract, the contract number could be specified like this:

UBL example of contract reference
<cac:ContractDocumentReference>
    <cbc:ID>framework no 1</cbc:ID>
</cac:ContractDocumentReference>

10.3.5. Despatch and receipt advice references

To reference or match an invoice to a despatch or receipt advice use the following elements:

UBL example of despatch and receipt advice
<cac:DespatchDocumentReference>
    <cbc:ID>despadv-3</cbc:ID>(1)
</cac:DespatchDocumentReference>
<cac:ReceiptDocumentReference>
    <cbc:ID>resadv-1</cbc:ID>(2)
</cac:ReceiptDocumentReference>
1 Despatch advice
2 Receipt advice

10.3.6. Tender reference

To identify the call for tender or lot the invoice relates to, use the 'OriginatorDocumentReference'. The identifier is, in most cases, the Procurement Procedure Identifier.

UBL example of tender reference
<cac:OriginatorDocumentReference>
    <cbc:ID>ppid-123</cbc:ID>
</cac:OriginatorDocumentReference>

10.3.7. Project reference

The project reference is optional to use, and is sent in an invoice in the element cac:ProjectReference/cbc:ID. In a credit note, this element does not exist, and project reference is sent by using the element cac:AdditionalDocumentReference[cbc:DocumentTypeCode='50']/cbc:ID.

NOTE

When sending the project reference, only the cbc:ID and the cbc:DocumentTypeCode are allowed in the cac:AdditionalDocumentReference element.

UBL example of proejct reference in an invoice
<cac:ProjectReference>
    <cbc:ID>project333</cbc:ID>
</cac:ProjectReference>
UBL example of project reference in a credit note
<cac:AdditionalDocumentReference>
    <cbc:ID>p-2347234</cbc:ID>(2)
    <cbc:DocumentTypeCode>50</cbc:DocumentTypeCode>(1)
</cac:AdditionalDocumentReference>
1 Code 50 indicating this is a project reference
2 The project reference identifier

10.4. Preceding invoice references

A credit note or negative invoice can refer to one or more initial invoice(s). This is done in the business group BG-3 Preceding invoice reference, providing the invoice number and issue date. The issue date shall be provided in case the preceding invoice reference is not unique.

In case correction applies to a large number of invoices, the invoicing period (BG-14), as necessary combined with a clarifying invoice note (BT-22), may instead be be given at document level.

UBL example of preceding invoice information
<cac:BillingReference>
    <cac:InvoiceDocumentReference>
        <cbc:ID>123</cbc:ID>(1)
        <cbc:IssueDate>2017-10-20</cbc:IssueDate>(2)
    </cac:InvoiceDocumentReference>
</cac:BillingReference>
<cac:BillingReference>(3)
    <cac:InvoiceDocumentReference>
        <cbc:ID>124</cbc:ID>
    </cac:InvoiceDocumentReference>
</cac:BillingReference>
1 The identifier is mandatory if cac:BillingReference is provided
2 Issue date shall be filled if the invoice reference is not unique
3 Repeat the cac:BillingReference to add several preceding invoice references

10.5. Allowances and Charges

The Invoice and credit note transactions has elements for Allowance/charge on 3 levels.

The element cac:AllowanceCharge with sub element cbc:ChargeIndicator indicates whether the instance is a charge (true) or an allowance (false).

The header level

Applies to the whole invoice and is included in the calculation of the invoice total amount.

  • Several allowances and charges may be supplied

  • Specification of VAT for allowances and charges, cac:TaxCategory with sub elements, shall be supplied

  • The sum of all allowances and charges on the header level shall be specified in cbc:AllowanceTotalAmount and cbc:ChargeTotalAmount respectively. See UBL syntax calculation formulas

The line level

Applies to the line level and is included in the calculation of the line amount.

  • Several allowances and charges may be supplied

  • Specification of VAT for allowances and charges shall not be specified, as the VAT category stated for the invoice line itself, applies also to the allowances or charges of that line.

  • The sum of all allowances and charges on the line level shall be taken into account, subtracted or added, when calculating the line extension amount . These line level allowances and charges shall not be calculated into the header level elements.

The line level Price element

A way to inform the buyer how the price is set. Is also relevant if the seller or buyer want to post the allowance in their accounting systems. The price itself shall always be the net price, i.e. the base amount reduced with a discount (allowance).

  • Only one occurence of allowance (discount) is allowed.

  • Specification of VAT for allowance shall not be specified

  • Allowance related to Price shall not be part of any other calculations.

  • Allowance related to Price may specify amount and the base amount.

Further details of the calculation of allowance/charge amount, can be found in Calculation of allowance/charge amount

UBL example of Allowances and Charges on the document level
<cac:AllowanceCharge>
    <cbc:ChargeIndicator>true</cbc:ChargeIndicator>(1)
    <cbc:AllowanceChargeReasonCode>FC</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Freight service</cbc:AllowanceChargeReason>
    <cbc:MultiplierFactorNumeric>2</cbc:MultiplierFactorNumeric>(4)
    <cbc:Amount currencyID="EUR">20</cbc:Amount> (5)
    <cbc:BaseAmount currencyID="EUR">1000</cbc:BaseAmount>(3)
    <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>
<cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>(2)
    <cbc:AllowanceChargeReasonCode>65</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Production error discount</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">10</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>
1 ChargeIndicator = true to indicate a charge
2 ChargeIndicator = false to indicate an allowance
3 Base amount, to be used with the percentage to calculate the amount
4 Charge percentage
5 \$"Amount" = "Base amount" times ("Percentage" div 100)\$
UBL example of Allowances and Charges on invoice line
<cac:AllowanceCharge>
    <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>CG</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Cleaning</cbc:AllowanceChargeReason>
    <cbc:MultiplierFactorNumeric>10</cbc:MultiplierFactorNumeric>
    <cbc:Amount currencyID="EUR">1</cbc:Amount>
    <cbc:BaseAmount currencyID="EUR">10</cbc:BaseAmount>
</cac:AllowanceCharge>
<cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Discount</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">101</cbc:Amount>
</cac:AllowanceCharge>

10.6. VAT accounting currency

Article 230 of Directive 2006/112/EC states:

The amounts which appear on the invoice may be expressed in any currency, provided that the amount of VAT payable is expressed in the national currency of the Member State in which the supply of goods or services takes place, using the conversion mechanism laid down in Article 91.

If the invoice currency is different from the national currency, this is expressed in the invoice by stating the national currency in the element VAT accounting currency (BT-6), and the amount of VAT payable in national currency is stated in the element Invoice total VAT amount in accounting currency (BT-111). The exchange rate to use for calculating is described in Article 91 of Directive 2006/112/EC. The exchange rate is not specified in the invoice instance, and hence this calculation is not validated.

UBL example of VAT currency
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
(1)
<cbc:TaxCurrencyCode>SEK</cbc:TaxCurrencyCode>
(2)

<cac:TaxTotal>
    <cbc:TaxAmount currencyID="EUR">1000.00</cbc:TaxAmount>
    (3)
    <cac:TaxSubtotal>
        <cbc:TaxableAmount currencyID="EUR">4000.0</cbc:TaxableAmount>
        <cbc:TaxAmount currencyID="EUR">1000</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:TaxTotal>
<cac:TaxTotal>
    <cbc:TaxAmount currencyID="SEK">100017.50</cbc:TaxAmount>
    (4)
</cac:TaxTotal>
1 Invoice currency
2 National currency
3 VAT amount in invoice currency
4 VAT amount in national currency

10.7. Payment means information

10.7.1. Credit transfer

If payment is made by credit transfer, the Payment account identifier (BT-84) is mandatory

See Payment means type code for all allowed codes. Examples of codes for payment by credit transfer are:

  • 30 - Credit transfer

  • 58 - SEPA credit transfer

UBL example of payment means info when payment is done by credit transfer
<cac:PaymentMeans>
    <cbc:PaymentMeansCode name="Credit transfer">30</cbc:PaymentMeansCode>(1)
    <cbc:PaymentID>93274234</cbc:PaymentID>(2)
    <cac:PayeeFinancialAccount>
        <cbc:ID>32423940</cbc:ID>(3)
        <cbc:Name>AccountName</cbc:Name>
        <cac:FinancialInstitutionBranch>
            <cbc:ID>BIC32409</cbc:ID>(4)
        </cac:FinancialInstitutionBranch>
    </cac:PayeeFinancialAccount>
</cac:PaymentMeans>
1 Mandatory, payment means code for credit transfer
2 Remittance information
3 Mandatory, IBAN (in case of a SEPA payment) or a national account number (BBAN)
4 BIC or a national clearing code

10.7.2. Card Payment

If the Buyer had opted to pay by using a payment card such as a credit or debit card, information on the Primary Account Number (PAN) shall be present in the invoice.

See Payment means type code for all allowed codes. Examples of codes for payment by card are:

  • 48 - Bank card

  • 54 - Credit card

  • 55 - Debet card

UBL example of payment means info when payment is done by payment card
<cac:PaymentMeans>
    <cbc:PaymentMeansCode name="Credit card">54</cbc:PaymentMeansCode>(1)
    <cbc:PaymentID>9387439</cbc:PaymentID>
    <cac:CardAccount>
        <cbc:PrimaryAccountNumberID>123236</cbc:PrimaryAccountNumberID>(2)
        <cbc:NetworkID>VISA</cbc:NetworkID>(3)
        <cbc:HolderName>Card holders name</cbc:HolderName>(4)
    </cac:CardAccount>
</cac:PaymentMeans>
1 Payment means code for credit card
2 Mandatory, shall be the last 4 to 6 digits of the payment card number
3 Mandatory, used to identify the financial service network provider of the card. Examples are VISA, MasterCard, American Express.
4 Card holder name

10.7.3. Direct debit

See Payment means type code for all allowed codes. Examples of codes for payment by direct debit are:

  • 49 - Direct debit

  • 59 - SEPA direct debit

UBL example of payment means info when payment is done by SEPA direct debit
 <cac:AccountingSupplierParty>
     <cac:Party>
         <cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
         <cac:PartyIdentification>
             <cbc:ID>99887766</cbc:ID>
         </cac:PartyIdentification>
         <cac:PartyIdentification>
             <cbc:ID schemeID="SEPA">23123687</cbc:ID>(1)
         </cac:PartyIdentification>
<!-- omitted code for clarity -->
 <cac:PaymentMeans>
     <cbc:PaymentMeansCode name="SEPA direct debit">59</cbc:PaymentMeansCode>(2)
     <cbc:PaymentID>payref2</cbc:PaymentID>(3)
     <cac:PaymentMandate>
         <cbc:ID>123456</cbc:ID>(4)
         <cac:PayerFinancialAccount>
             <cbc:ID>DK12328462834823</cbc:ID>
         </cac:PayerFinancialAccount>
     </cac:PaymentMandate>
 </cac:PaymentMeans>
1 Unique banking reference identifier of the Seller or Payee, schemeID shall have value "SEPA"
2 Payment means code
3 Remittance information
4 Mandate reference identifier

10.7.4. Payment by post- or bank giro

See Payment means type code for all allowed codes. Examples of codes for payment by giro are:

  • 50 - Payment by postgiro

  • 56 - Bankgiro

UBL example of payment means info when payment is done by postgiro
<cac:PaymentMeans>
    <cbc:PaymentMeansCode name="Postgiro">50</cbc:PaymentMeansCode>(1)
    <cbc:PaymentID>PgPaymRef-345</cbc:PaymentID>(2)
    <cac:PayeeFinancialAccount>
        <cbc:ID>98765432</cbc:ID>(3)
    </cac:PayeeFinancialAccount>
</cac:PaymentMeans>
1 Payment means code
2 Remittance information
3 Local postgiro account number

10.8. Intrastat

When EU member states buy from other EU members, traders commonly require some statistical information in the invoice, normally a classification code as the Combined Nomenclature.

It is recommended to use the Item classification identifier (BT-158) for this purpose, with the code "HS" as list identifier.

UBL example of Combined nomenclature information
<cac:CommodityClassification>
    <cbc:ItemClassificationCode listID="HS">080110</cbc:ItemClassificationCode>
</cac:CommodityClassification>

10.9. Item information

10.9.1. Item identifiers

In an invoice line the seller item identifier, the buyer item identifier and the standard item identifier can be provided. For sellers and buyers item identifiers, no scheme attribute is used, whilst the schemeID is mandatory for the standard item identification, and must be from the ISO 6523 ICD list.

UBL example of item identifiers
<cac:Item>

    <!-- Code omitted for clarity -->
    <cac:BuyersItemIdentification>
        <cbc:ID>b-13214</cbc:ID>
    </cac:BuyersItemIdentification>
    <cac:SellersItemIdentification>
        <cbc:ID>97iugug876</cbc:ID>
    </cac:SellersItemIdentification>
    <cac:StandardItemIdentification>
        <cbc:ID schemeID="0160">97iugug876</cbc:ID> (1)
    </cac:StandardItemIdentification>

    <!-- Code omitted for clarity -->
1 0160 is the ICD value for a GTIN identifier

10.9.2. Item classification

Several different item classification codes can be provided per invoice line, and the codes must be from one of the classification schemes in code list UNCL7143.

UBL example of using CPV
<cac:CommodityClassification>
    <cbc:ItemClassificationCode listID="STI">09348023</cbc:ItemClassificationCode>(1)
</cac:CommodityClassification>
1 listID must be from UNCL7143 code list, and code STI indicates this is a CPV classification.
UBL example of UNSPSC
<cac:CommodityClassification>
    <cbc:ItemClassificationCode listID="TST" listVersionID="19.05.01">86776</cbc:ItemClassificationCode>(1)
</cac:CommodityClassification>
1 listID must be from UNCL7143 code list, and code TST indicates this is a UNSPSC classification, listVersionID is optional, but can be used to specify the version of UNSPSC. NOTE, in previous versions code MP was used as temporary workaround to identify UNSPSC. In fall release 2019 it is replaced with the new 7143 code TST that is specific for UNSPSC.

10.10. Price information

An invoice must contain information about the item net price and additional information such as gross price, item price base quantity and price discount may be added.

For details on calculating price see Item net price (BT-146).

UBL example of price with price discount
<cac:Price>
    <cbc:PriceAmount currencyID="EUR">410</cbc:PriceAmount>(4)
    <cbc:BaseQuantity unitCode="XBX">1</cbc:BaseQuantity>(3)
    <cac:AllowanceCharge>
        <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
        <cbc:Amount currencyID="EUR">40</cbc:Amount>(2)
        <cbc:BaseAmount currencyID="EUR">450</cbc:BaseAmount>(1)
    </cac:AllowanceCharge>
</cac:Price>
1 Item gross price
2 Item price discount
3 Item price base quantity
4 Item net price, must be equal to Item Gross price - item price discount (if these elements are used)
UBL example of price without price discount
<cac:Price>
    <cbc:PriceAmount currencyID="EUR">200</cbc:PriceAmount>
    <cbc:BaseQuantity unitCode="C62">2</cbc:BaseQuantity>
</cac:Price>

10.11. Unit of measure

Unit of measure in an invoice allows the use of codes from UNECE Recommendation No. 20 (version 11e), as well as codes from UNECE Recommendation No. 21 prefixed with an X. Please also see Unit of measure for further information on the code lists.

Table 8. Examples of unit of measure from Recommendation No. 20
Code Name

H87

Piece

KGM

Kilogram

MTR

Meter

LTR

Litre

MTK

Square metre

MTQ

Cubic metre

KTM

Kilometre

TNE

Tonne (metric ton)

KWH

Kilowatt hour

DAY

Day

HUR

Hour

MIN

Minute

Table 9. Examples of unit of measure from Recommendation No. 21, prefixed with an X
Code Name

XBG

Bag

XBX

Box

XCT

Carton

XCY

Cylinder

XBA

Barrel

XPK

Package

XPX

Pallet

XRL

Reel

XSA

Sack

XST

Sheet

UBL example of unit of measure
<cbc:InvoicedQuantity unitCode="H87">10</cbc:InvoicedQuantity>(1)
<cbc:InvoicedQuantity unitCode="XPX">10</cbc:InvoicedQuantity>(2)
1 Code H87 from Recommendation no. 20
2 Code PX, prefixed with an X from Recommendation no. 21

11. Code lists

The following chapters give an overview of the restricted set of codes that is used in this Peppol BIS. For most codes the restriction is only to add a dated reference of the code list, but for the Invoice Type Code a subset of valid values have been established.

11.1. Code lists for coded elements

11.1.1. Code list for invoice type code (BT-3)

The following sub-chapters give an overview of the restricted set of invoice type codes (BT-3) that is used in this Peppol BIS Billing.

The table indicates the name and description of each code, as well as a column "Synonym with" to indicate how this invoice type can be processed if the recipient does not have a separate process/work flow for this code, and as you will see, all invoice types valid in this profile can be processed as a commercial invoice (380) and all credit note types as Commercial credit note (381). Some recipients might have separate processes or work flows for some of these types, and can then use these processes.

The table also gives information on what message type is to be used in the UBL syntax for the different codes.

Specific code lists for the invoice
Invoice Type Code

Document location

cbc:InvoiceTypeCode

Source codelist

Subset of UN/CEFACT code list 1001, D.16B

Table 10. Code list
Code Name Description Synonym with UBL Message type

380

Commercial invoice

Document/message claiming payment for goods or services supplied under conditions agreed between seller and buyer.

Invoice

71

Request for payment

Document/message issued by a creditor to a debtor to request payment of one or more invoices past due.

380

Invoice

80

Debit note related to goods or services

Debit information related to a transaction for goods or services to the relevant party.

380

Invoice

82

Metered services invoice

Document/message claiming payment for the supply of metered services (e.g., gas, electricity, etc.) supplied to a fixed meter whose consumption is measured over a period of time.

380

Invoice

84

Debit note related to financial adjustments

Document/message for providing debit information related to financial adjustments to the relevant party.

380

Invoice

102

Tax notification

Used to specify that the message is a tax notification

380

Invoice

218

Final payment request based on completion of work

The final payment request of a series of payment requests submitted upon completion of all the work.

380

Invoice

219

Payment request for completed units

A request for payment for completed units.

380

Invoice

331

Commercial invoice which includes a packing list

Commercial transaction (invoice) will include a packing list.

380

Invoice

382

Commission note

Document/message in which a seller specifies the amount of commission, the percentage of the invoice amount, or some other basis for the calculation of the commission to which a sales agent is entitled.

380

Invoice

383

Debit note

Document/message for providing debit information to the relevant party.

380

Invoice

386

Prepayment invoice

An invoice to pay amounts for goods and services in advance; these amounts will be subtracted from the final invoice.

380

Invoice

388

Tax invoice

An invoice for tax purposes.

380

Invoice

393

Factored invoice

Invoice assigned to a third party for collection.

380

Invoice

395

Consignment invoice

Commercial invoice that covers a transaction other than one involving a sale.

380

Invoice

553

Forwarder’s invoice discrepancy report

Document/message reporting invoice discrepancies indentified by the forwarder.

380

Invoice

575

Insurer’s invoice

Document/message issued by an insurer specifying the cost of an insurance which has been effected and claiming payment therefore

380

Invoice

623

Forwarder’s invoice

Invoice issued by a freight forwarder specifying services rendered and costs incurred and claiming payment therefore.

380

Invoice

780

Freight invoice

Document/message issued by a transport operation specifying freight costs and charges incurred for a transport operation and stating conditions of payment.

380

Invoice

817

Claim notification

Document notifying a claim.

380

Invoice

870

Consular invoice

Document/message to be prepared by an exporter in his country and presented to a diplomatic representation of the importing country for endorsement and subsequently to be presented by the importer in connection with the import of the goods described therein.

380

Invoice

875

Partial construction invoice

Partial invoice in the context of a specific construction project.

380

Invoice

876

Partial final construction invoice

Invoice concluding all previous partial construction invoices of a completed partial rendered service in the context of a specific construction project.

380

Invoice

877

Final construction invoice

Invoice concluding all previous partial invoices and partial final construction invoices in the context of a specific construction project.

380

Invoice

Specific code lists for the credit note
Credit note Type Code

Document location

cbc:CreditNoteTypeCode

Source codelist

Subset of UN/CEFACT code list 1001, D.16B

Table 11. Code list
Code Name Description Synonym with UBL Message type

381

Credit note

Document/message for providing credit information to the relevant party.

CreditNote

396

Factored credit note

Credit note related to assigned invoice(s).

381

CreditNote

81

Credit note related to goods or services

Document message used to provide credit information related to a transaction for goods or services to the relevant party.

381

CreditNote

83

Credit note related to financial adjustments

Document message for providing credit information related to financial adjustments to the relevant party, e.g., bonuses.

381

CreditNote

532

Forwarder’s credit note

Document/message for providing credit information to the relevant party.

381

CreditNote

11.1.2. Country code

All country codes in an invoice or credit note shall be the alpha-2 code from ISO 3166-1

Document location

cac:CountryCode/cbc:IdentificationCode
cac:OriginCountry/cbc:IdentificationCode

Source codelist

ISO 3166-1

11.1.3. Currency code

All currencies in an invoice or credit note shall be the alphabetic code from ISO 4217:2015

Table 12. Document and VAT currency codes

Document location

cbc:DocumentCurrencyCode
cbc:TaxCurrencyCode

Source codelist

ISO 4217:2015

Table 13. Currency identifiers

Document location

cbc:*/@currencyID

Source codelist

ISO 4217:2015

11.1.4. VAT category codes

A subset of values from UN/CEFACT code list 5305, D.16B shall be used.

Document location

cac:ClassifiedTaxCategory/cbc:ID
cac:TaxCategory/cbc:ID

Source codelist

Subset of UN/CEFACT code list 5305, D.16B

Valid values are listed in the table below:

Table 14. Code list
Code Description

AE

Vat Reverse Charge

E

Exempt from Tax

S

Standard rate

Z

Zero rated goods

G

Free export item, tax not charged

O

Services outside scope of tax

K

VAT exempt for EEA intra-community supply of goods and services

L

Canary Islands general indirect tax

M

Tax for production, services and importation in Ceuta and Melilla

11.1.5. Unit of measure

Valid unit codes shall be from UN/ECE Recommendation 20, Revision 11 (2015). Unless codes for unit of measure are not in common daily use, implementers should as necessary provide a function for clarification of codes when invoices are visualised.

Codes for unit of packaging from UNECE Recommendation No. 21 can be used in accordance with the descriptions in the "Intro" section of UN/ECE Recommendation 20, Revision 11 (2015):
The 2 character alphanumeric code values in UNECE Recommendation 21 shall be used. To avoid duplication with existing code values in UNECE Recommendation No. 20, each code value from UNECE Recommendation 21 shall be prefixed with an “X”, resulting in a 3 alphanumeric code when used as a unit of measure.

Document location

cbc:*/@unitCode

Source codelist

UN/ECE Recommendation 20, Revision 11 (2015)

11.1.6. Allowance reason codes

Any allowance reason codes shall be from UN/CEFACT code list 5189, D.16B

Document location

cbc:AllowanceChargeReasonCode[cbc:ChargeIndicator=false]

Source codelist

Subset of UN/CEFACT code list 5189, D.16B

Valid values are listed in the table below:

Table 15. Code list
Code Description

41

Bonus for works ahead of schedule

42

Other bonus

60

Manufacturer’s consumer discount

62

Due to military status

63

Due to work accident

64

Special agreement

65

Production error discount

66

New outlet discount

67

Sample discount

68

End-of-range discount

70

Incoterm discount

71

Point of sales threshold allowance

88

Material surcharge/deduction

95

Discount

100

Special rebate

102

Fixed long term

103

Temporary

104

Standard

105

Yearly turnover

11.1.7. Charge reason codes

Any charge reason code shall be from UN/CEFACT code list 7161, D.16B

Document location

cbc:AllowanceChargeReasonCode[cbc:ChargeIndicator=true]

Source codelist

UN/CEFACT code list 7161, D.16B

11.1.8. Media type code of attached document

Subset of IANA Media Types.

Document location

cbc:EmbeddedDocumentBinaryObject/@mimeCode

Source codelist

Subset of IANA

Valid values are listed in the table below.

Table 16. Code list

Documents

application/pdf

Images

image/png

image/jpeg

Text

text/csv

Spreadsheet

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

application/vnd.oasis.opendocument.spreadsheet

11.1.9. Payment means type code

Payment means type code shall be from UN/CEFACT code list 4461, D.16B

Document location

cac:PaymentMeans/cbc:PaymentMeansCode

Source codelist

UN/CEFACT code list 4461, D.16B

11.1.10. Value added tax point date code

A subset of values from Subset of UN/CEFACT code list 2005, D.16B shall be used.

Document location

cac:InvoicePeriod/cbc:DescriptionCode

Source codelist

Subset of UN/CEFACT code list 2005, D.16B

Valid values are listed in the table below:

Table 17. Code list
Code Description

3

Invoice document issue date time

35

Delivery date/time, actual

432

Paid to date

11.1.11. VAT exemption reason code

EN 16931 mandates use of a code list maintained by Connecting Europe Facility (CEF)

Document location

cac:TaxTotal/TaxSubtotal/TaxCategory/cbc:TaxExemptionReasonCode

Source codelist

CEF VATEX code list

11.2. Code lists for identifier schemes

11.2.1. Electronic address identifier scheme

For BT-49 and BT-34 Sellers and Buyers Electronic address identifiers (Endpoint identification) the EN 16931 mandates use of a code list to be maintained by Connecting Europe Facility (CEF).

Business Term Applicable XPath Code list (link or subset values)

Electronic address identifiers (Endpoint)

cbc:EndpointID/@schemeID

All party identifiers and party legal registration identifier has an optional scheme attribute. If used, the value shall be chosen from the ICD list from ISO/IEC 6523

Business Term Applicable XPath Code list (link or subset values)

Party identifiers (Buyer, Seller, Payee)

cac:PartyIdentification/cbc:ID/@schemeID

ICD list from ISO/IEC 6523

Legal registration identifiers (Buyer, Seller, Payee)

cac:PartyLegalEntity/cbc:CompanyID/@schemeID

Deliver to location identifier

cac:Delivery/cac:DeliveryLocation/cbc:ID/@schemeID

11.2.3. Invoiced object identifier scheme

The invoiced object identifier scheme shall be from UN/CEFACT code list 1153, D.16B

Business Term Applicable XPath Code list (link or subset values)

Invoiced object identifier

cac:AdditionalDocumentReference[cbc:DocumentTypeCode = '130']/cbc:ID/@schemeID

11.2.4. Item standard identifier scheme

An item standard identifier has a mandatory scheme attribute. The value shall be chosen from the ICD list from ISO/IEC 6523

Business Term Applicable XPath Code list (link or subset values)

Item Standard identifier

cac:InvoiceLine/cac:Item/cac:StandardItemIdentification/cbc:ID/@schemeID

ICD list from ISO/IEC 6523

11.2.5. Item classification identifier

An item classification identifier has a mandatory scheme attribute. The value shall be chosen from UN/CEFACT code list 7143, D.16B.

Business Term Applicable XPath Code list (link or subset values)

Item Classification identifier

cac:InvoiceLine/cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode/@listID

UN/CEFACT code list 7143, D.16B

12. Peppol Identifiers

Peppol has defined a Peppol Policy for identifiers, policy 8 that specifies how to use identifiers in both its transport infrastructure and within the documents exchanged across that infrastructure. It also introduces principles for any identifiers used in the Peppol environment. The policies that apply to this BIS are the following:

12.1. Profiles and messages

All messages contains Business process type (BT-23, ProfileID in UBL) and Specification identifier (BT-24, CustomizationID in UBL). Business process type identifies what business process a given message is part of, and Specification identifier identifies the kind of message and the rules applied.

Profiles are connected to one business process, and may contain multiple document types. Valid document instances shall contain corresponding Business process type and Specification identifier.

Specification identifier is a string without spaces. The list below contains spaces in Specification identifier to make them easier to read. Make sure to remove any spaces before use.

12.2. Profile 01 - Billing

In the table below you will find the values to be used as the specification identifier (BT-24) and the business process type (BT-23) for this profile

Type Element cbc:CustomizationID Element cbc:ProfileID

Invoice and credit note

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

UBL example of profile identifier
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>

13. UBL schemas and namespaces

The XML schemas used are

  • UBL Invoice 2.1 with the target namespace urn:oasis:names:specification:ubl:schema:xsd:Invoice-2

  • UBL CreditNote 2.1 with the target namespace urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2

14. Validation

To optimize the flexibility in the validation process, each Peppol document is validated in different stages with shifting focus in every stage. The diagram below illustrates the different stages.

Validation stages

14.1. Validation Principles

Stages in the validation process:

Validation of syntax

For example:

  • Check well-formedness

  • Tag names and attributes shall be correctly written and follow the UBL 2.1 sequence

  • All UBL 2.1 mandatory elements shall be present.

  • The element’s contents shall be according to the element’s type definition.

Validation against EN 16931

To verify that the instance message is compliant to the european standard, like:

  • Valid codes for currencies, countries, tax etc.

  • Mandatory elements according to EN 16931.

  • Logical correlations between information element, i.e. that start date is lower than or equal to end date, calculations give the correct result etc.

CIUS - General rules

General rule that applies to all invoices and are triggered by the existence of one or more specific business term(s).

  • Example rule text
    An invoice shall have a buyers reference or an order reference

  • Context that triggers the rule
    Existence of either Buyer reference (BT-10) OR Purchased order reference (BT-13)

CIUS - Country qualified validation rules

Applies only for invoices issued in a specific country. The rule is triggered by the given country code of the seller (BT-40).

  • Example rule text
    When the Seller is Swedish, the Legal Registration Number shall be numeric with 10 digits.

  • Context that triggers the rule
    Existence of Seller/Address/CountryCode=‘SE’ AND existence of Seller/LegalRegistrationNumber

15. Transaction validation rules

15.1. Peppol transaction business rules

The following rules have been defined by OpenPeppol in addition to the rules adopted from EN 16931. These rules apply in all profiles that use this transaction specification.

Please also see Restrictions on EN16931 for further details on the restrictions imposed by these rules.

Table 18. Peppol transaction business rules
Rule Message/Context/Test

PEPPOL-COMMON-R040 (fatal)

GLN must have a valid format according to GS1 rules.

cbc:EndpointID[@schemeID = '0088'] | cac:PartyIdentification/cbc:ID[@schemeID = '0088'] | cbc:CompanyID[@schemeID = '0088']

matches(normalize-space(), '^[0-9]+$') and u:gln(normalize-space())

PEPPOL-COMMON-R041 (fatal)

Norwegian organization number MUST be stated in the correct format.

cbc:EndpointID[@schemeID = '0192'] | cac:PartyIdentification/cbc:ID[@schemeID = '0192'] | cbc:CompanyID[@schemeID = '0192']

matches(normalize-space(), '^[0-9]{9}$') and u:mod11(normalize-space())

PEPPOL-COMMON-R042 (fatal)

Danish organization number (CVR) MUST be stated in the correct format.

cbc:EndpointID[@schemeID = '0184'] | cac:PartyIdentification/cbc:ID[@schemeID = '0184'] | cbc:CompanyID[@schemeID = '0184']

(string-length(text()) = 10) and (substring(text(), 1, 2) = 'DK') and (string-length(translate(substring(text(), 3, 8), '1234567890', '')) = 0)

PEPPOL-COMMON-R043 (fatal)

Belgian enterprise number MUST be stated in the correct format.

cbc:EndpointID[@schemeID = '0208'] | cac:PartyIdentification/cbc:ID[@schemeID = '0208'] | cbc:CompanyID[@schemeID = '0208']

matches(normalize-space(), '^[0-9]{10}$') and u:mod97-0208(normalize-space())

PEPPOL-COMMON-R044 (warning)

IPA Code (Codice Univoco Unità Organizzativa) must be stated in the correct format

cbc:EndpointID[@schemeID = '0201'] | cac:PartyIdentification/cbc:ID[@schemeID = '0201'] | cbc:CompanyID[@schemeID = '0201']

u:checkCodiceIPA(normalize-space())

PEPPOL-COMMON-R045 (warning)

Tax Code (Codice Fiscale) must be stated in the correct format

cbc:EndpointID[@schemeID = '0210'] | cac:PartyIdentification/cbc:ID[@schemeID = '0210'] | cbc:CompanyID[@schemeID = '0210']

u:checkCF(normalize-space())

PEPPOL-COMMON-R046 (warning)

Tax Code (Codice Fiscale) must be stated in the correct format

cbc:EndpointID[@schemeID = '9907']

u:checkCF(normalize-space())

PEPPOL-COMMON-R047 (warning)

Italian VAT Code (Partita Iva) must be stated in the correct format

cbc:EndpointID[@schemeID = '0211'] | cac:PartyIdentification/cbc:ID[@schemeID = '0211'] | cbc:CompanyID[@schemeID = '0211']

u:checkPIVAseIT(normalize-space())

PEPPOL-COMMON-R049 (fatal)

Swedish organization number MUST be stated in the correct format.

cbc:EndpointID[@schemeID = '0007'] | cac:PartyIdentification/cbc:ID[@schemeID = '0007'] | cbc:CompanyID[@schemeID = '0007']

string-length(normalize-space()) = 10 and string(number(normalize-space())) != 'NaN' and u:checkSEOrgnr(normalize-space())

PEPPOL-COMMON-R050 (fatal)

Australian Business Number (ABN) MUST be stated in the correct format.

cbc:EndpointID[@schemeID = '0151'] | cac:PartyIdentification/cbc:ID[@schemeID = '0151'] | cbc:CompanyID[@schemeID = '0151']

matches(normalize-space(), '^[0-9]{11}$') and u:abn(normalize-space())

PEPPOL-EN16931-CL001 (fatal)

Mime code must be according to subset of IANA code list.

cbc:EmbeddedDocumentBinaryObject[@mimeCode]

[small]# some $code in $MIMECODE satisfies @mimeCode = $code#

PEPPOL-EN16931-CL002 (fatal)

Reason code MUST be according to subset of UNCL 5189 D.16B.

cac:AllowanceCharge[cbc:ChargeIndicator = 'false']/cbc:AllowanceChargeReasonCode

[small]# some $code in $UNCL5189 satisfies normalize-space(text()) = $code#

PEPPOL-EN16931-CL003 (fatal)

Reason code MUST be according to UNCL 7161 D.16B.

cac:AllowanceCharge[cbc:ChargeIndicator = 'true']/cbc:AllowanceChargeReasonCode

[small]# some $code in $UNCL7161 satisfies normalize-space(text()) = $code#

PEPPOL-EN16931-CL006 (fatal)

Invoice period description code must be according to UNCL 2005 D.16B.

cac:InvoicePeriod/cbc:DescriptionCode

[small]# some $code in $UNCL2005 satisfies normalize-space(text()) = $code#

PEPPOL-EN16931-CL007 (fatal)

Currency code must be according to ISO 4217:2005

cbc:Amount | cbc:BaseAmount | cbc:PriceAmount | cbc:TaxAmount | cbc:TaxableAmount | cbc:LineExtensionAmount | cbc:TaxExclusiveAmount | cbc:TaxInclusiveAmount | cbc:AllowanceTotalAmount | cbc:ChargeTotalAmount | cbc:PrepaidAmount | cbc:PayableRoundingAmount | cbc:PayableAmount

[small]# some $code in $ISO4217 satisfies @currencyID = $code#

PEPPOL-EN16931-CL008 (fatal)

Electronic address identifier scheme must be from the codelist "Electronic Address Identifier Scheme"

cbc:EndpointID[@schemeID]

[small]# some $code in $eaid satisfies @schemeID = $code#

PEPPOL-EN16931-F001 (fatal)

A date MUST be formatted YYYY-MM-DD.

cbc:IssueDate | cbc:DueDate | cbc:TaxPointDate | cbc:StartDate | cbc:EndDate | cbc:ActualDeliveryDate

string-length(text()) = 10 and (string(.) castable as xs:date)

PEPPOL-EN16931-P0100 (fatal)

Invoice type code MUST be set according to the profile.

cbc:InvoiceTypeCode

[small]# $profile != '01' or (some $code in tokenize('71 80 82 84 102 218 219 326 331 380 382 383 384 386 388 393 395 553 575 623 780 817 870 875 876 877', '\s') satisfies normalize-space(text()) = $code)#

PEPPOL-EN16931-P0101 (fatal)

Credit note type code MUST be set according to the profile.

cbc:CreditNoteTypeCode

[small]# $profile != '01' or (some $code in tokenize('381 396 81 83 532', '\s') satisfies normalize-space(text()) = $code)#

PEPPOL-EN16931-P0104 (fatal)

Tax Category G MUST be used when exemption reason code is VATEX-EU-G

cac:TaxCategory[upper-case(cbc:TaxExemptionReasonCode)='VATEX-EU-G']

normalize-space(cbc:ID)='G'

PEPPOL-EN16931-P0105 (fatal)

Tax Category O MUST be used when exemption reason code is VATEX-EU-O

cac:TaxCategory[upper-case(cbc:TaxExemptionReasonCode)='VATEX-EU-O']

normalize-space(cbc:ID)='O'

PEPPOL-EN16931-P0106 (fatal)

Tax Category K MUST be used when exemption reason code is VATEX-EU-IC

cac:TaxCategory[upper-case(cbc:TaxExemptionReasonCode)='VATEX-EU-IC']

normalize-space(cbc:ID)='K'

PEPPOL-EN16931-P0107 (fatal)

Tax Category AE MUST be used when exemption reason code is VATEX-EU-AE

cac:TaxCategory[upper-case(cbc:TaxExemptionReasonCode)='VATEX-EU-AE']

normalize-space(cbc:ID)='AE'

PEPPOL-EN16931-P0108 (fatal)

Tax Category E MUST be used when exemption reason code is VATEX-EU-D

cac:TaxCategory[upper-case(cbc:TaxExemptionReasonCode)='VATEX-EU-D']

normalize-space(cbc:ID)='E'

PEPPOL-EN16931-P0109 (fatal)

Tax Category E MUST be used when exemption reason code is VATEX-EU-F

cac:TaxCategory[upper-case(cbc:TaxExemptionReasonCode)='VATEX-EU-F']

normalize-space(cbc:ID)='E'

PEPPOL-EN16931-P0110 (fatal)

Tax Category E MUST be used when exemption reason code is VATEX-EU-I

cac:TaxCategory[upper-case(cbc:TaxExemptionReasonCode)='VATEX-EU-I']

normalize-space(cbc:ID)='E'

PEPPOL-EN16931-P0111 (fatal)

Tax Category E MUST be used when exemption reason code is VATEX-EU-J

cac:TaxCategory[upper-case(cbc:TaxExemptionReasonCode)='VATEX-EU-J']

normalize-space(cbc:ID)='E'

PEPPOL-EN16931-P0112 (fatal)

Invoice type code 326 or 384 are only allowed when both buyer and seller are German organizations

cbc:InvoiceTypeCode

not(normalize-space(.) = '326' or normalize-space(.) = '384') or ($supplierCountryIsDE and $customerCountryIsDE)

PEPPOL-EN16931-R001 (fatal)

Business process MUST be provided.

ubl-creditnote:CreditNote | ubl-invoice:Invoice

cbc:ProfileID

PEPPOL-EN16931-R002 (fatal)

No more than one note is allowed on document level, unless both the buyer and seller are German organizations.

ubl-creditnote:CreditNote | ubl-invoice:Invoice

count(cbc:Note) ⇐ 1 or ($supplierCountryIsDE and $customerCountryIsDE)

PEPPOL-EN16931-R003 (fatal)

A buyer reference or purchase order reference MUST be provided.

ubl-creditnote:CreditNote | ubl-invoice:Invoice

cbc:BuyerReference or cac:OrderReference/cbc:ID

PEPPOL-EN16931-R004 (fatal)

Specification identifier MUST have the value 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0'.

ubl-creditnote:CreditNote | ubl-invoice:Invoice

starts-with(normalize-space(cbc:CustomizationID/text()), 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0')

PEPPOL-EN16931-R005 (fatal)

VAT accounting currency code MUST be different from invoice currency code when provided.

cbc:TaxCurrencyCode

not(normalize-space(text()) = normalize-space(../cbc:DocumentCurrencyCode/text()))

PEPPOL-EN16931-R007 (fatal)

Business process MUST be in the format 'urn:fdc:peppol.eu:2017:poacc:billing:NN:1.0' where NN indicates the process number.

ubl-creditnote:CreditNote | ubl-invoice:Invoice

$profile != 'Unknown'

PEPPOL-EN16931-R008 (fatal)

Document MUST not contain empty elements.

//[not() and not(normalize-space())]

false()

PEPPOL-EN16931-R010 (fatal)

Buyer electronic address MUST be provided

cac:AccountingCustomerParty/cac:Party

cbc:EndpointID

PEPPOL-EN16931-R020 (fatal)

Seller electronic address MUST be provided

cac:AccountingSupplierParty/cac:Party

cbc:EndpointID

PEPPOL-EN16931-R040 (fatal)

Allowance/charge amount must equal base amount * percentage/100 if base amount and percentage exists

ubl-invoice:Invoice/cac:AllowanceCharge | ubl-invoice:Invoice/cac:InvoiceLine/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:CreditNoteLine/cac:AllowanceCharge

[small]# not(cbc:MultiplierFactorNumeric and cbc:BaseAmount) or u:slack(if (cbc:Amount) then cbc:Amount else 0, (xs:decimal(cbc:BaseAmount) * xs:decimal(cbc:MultiplierFactorNumeric)) div 100, 0.02)#

PEPPOL-EN16931-R041 (fatal)

Allowance/charge base amount MUST be provided when allowance/charge percentage is provided.

ubl-invoice:Invoice/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)] | ubl-invoice:Invoice/cac:InvoiceLine/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)] | ubl-creditnote:CreditNote/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)] | ubl-creditnote:CreditNote/cac:CreditNoteLine/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)]

false()

PEPPOL-EN16931-R042 (fatal)

Allowance/charge percentage MUST be provided when allowance/charge base amount is provided.

ubl-invoice:Invoice/cac:AllowanceCharge[not(cbc:MultiplierFactorNumeric) and cbc:BaseAmount] | ubl-invoice:Invoice/cac:InvoiceLine/cac:AllowanceCharge[not(cbc:MultiplierFactorNumeric) and cbc:BaseAmount] | ubl-creditnote:CreditNote/cac:AllowanceCharge[not(cbc:MultiplierFactorNumeric) and cbc:BaseAmount] | ubl-creditnote:CreditNote/cac:CreditNoteLine/cac:AllowanceCharge[not(cbc:MultiplierFactorNumeric) and cbc:BaseAmount]

false()

PEPPOL-EN16931-R043 (fatal)

Allowance/charge ChargeIndicator value MUST equal 'true' or 'false'

ubl-invoice:Invoice/cac:AllowanceCharge | ubl-invoice:Invoice/cac:InvoiceLine/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:CreditNoteLine/cac:AllowanceCharge

normalize-space(cbc:ChargeIndicator/text()) = 'true' or normalize-space(cbc:ChargeIndicator/text()) = 'false'

PEPPOL-EN16931-R044 (fatal)

Charge on price level is NOT allowed. Only value 'false' allowed.

cac:Price/cac:AllowanceCharge

normalize-space(cbc:ChargeIndicator) = 'false'

PEPPOL-EN16931-R046 (fatal)

Item net price MUST equal (Gross price - Allowance amount) when gross price is provided.

cac:Price/cac:AllowanceCharge

not(cbc:BaseAmount) or xs:decimal(../cbc:PriceAmount) = xs:decimal(cbc:BaseAmount) - xs:decimal(cbc:Amount)

PEPPOL-EN16931-R051 (fatal)

All currencyID attributes must have the same value as the invoice currency code (BT-5), except for the invoice total VAT amount in accounting currency (BT-111).

cbc:Amount | cbc:BaseAmount | cbc:PriceAmount | cac:TaxTotal[cac:TaxSubtotal]/cbc:TaxAmount | cbc:TaxableAmount | cbc:LineExtensionAmount | cbc:TaxExclusiveAmount | cbc:TaxInclusiveAmount | cbc:AllowanceTotalAmount | cbc:ChargeTotalAmount | cbc:PrepaidAmount | cbc:PayableRoundingAmount | cbc:PayableAmount

@currencyID = $documentCurrencyCode

PEPPOL-EN16931-R053 (fatal)

Only one tax total with tax subtotals MUST be provided.

ubl-creditnote:CreditNote | ubl-invoice:Invoice

count(cac:TaxTotal[cac:TaxSubtotal]) = 1

PEPPOL-EN16931-R054 (fatal)

Only one tax total without tax subtotals MUST be provided when tax currency code is provided.

ubl-creditnote:CreditNote | ubl-invoice:Invoice

count(cac:TaxTotal[not(cac:TaxSubtotal)]) = (if (cbc:TaxCurrencyCode) then 1 else 0)

PEPPOL-EN16931-R055 (fatal)

Invoice total VAT amount and Invoice total VAT amount in accounting currency MUST have the same operational sign

ubl-creditnote:CreditNote | ubl-invoice:Invoice

[small]#not(cbc:TaxCurrencyCode) or (cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:TaxCurrencyCode)] ⇐ 0 and cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:DocumentCurrencyCode)] ⇐ 0) or (cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:TaxCurrencyCode)] >= 0 and cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:DocumentCurrencyCode)] >= 0) #

PEPPOL-EN16931-R061 (fatal)

Mandate reference MUST be provided for direct debit.

cac:PaymentMeans[some $code in tokenize('49 59', '\s') satisfies normalize-space(cbc:PaymentMeansCode) = $code]

cac:PaymentMandate/cbc:ID

PEPPOL-EN16931-R080 (fatal)

Only one project reference is allowed on document level

ubl-creditnote:CreditNote

(count(cac:AdditionalDocumentReference[cbc:DocumentTypeCode='50']) ⇐ 1)

PEPPOL-EN16931-R100 (fatal)

Only one invoiced object is allowed pr line

cac:InvoiceLine | cac:CreditNoteLine

(count(cac:DocumentReference) ⇐ 1)

PEPPOL-EN16931-R101 (fatal)

Element Document reference can only be used for Invoice line object

cac:InvoiceLine | cac:CreditNoteLine

(not(cac:DocumentReference) or (cac:DocumentReference/cbc:DocumentTypeCode='130'))

PEPPOL-EN16931-R110 (fatal)

Start date of line period MUST be within invoice period.

ubl-invoice:Invoice[cac:InvoicePeriod/cbc:StartDate]/cac:InvoiceLine/cac:InvoicePeriod/cbc:StartDate | ubl-creditnote:CreditNote[cac:InvoicePeriod/cbc:StartDate]/cac:CreditNoteLine/cac:InvoicePeriod/cbc:StartDate

xs:date(text()) >= xs:date(../../../cac:InvoicePeriod/cbc:StartDate)

PEPPOL-EN16931-R111 (fatal)

End date of line period MUST be within invoice period.

ubl-invoice:Invoice[cac:InvoicePeriod/cbc:EndDate]/cac:InvoiceLine/cac:InvoicePeriod/cbc:EndDate | ubl-creditnote:CreditNote[cac:InvoicePeriod/cbc:EndDate]/cac:CreditNoteLine/cac:InvoicePeriod/cbc:EndDate

xs:date(text()) ⇐ xs:date(../../../cac:InvoicePeriod/cbc:EndDate)

PEPPOL-EN16931-R120 (fatal)

Invoice line net amount MUST equal (Invoiced quantity * (Item net price/item price base quantity) + Sum of invoice line charge amount - sum of invoice line allowance amount

cac:InvoiceLine | cac:CreditNoteLine

u:slack($lineExtensionAmount, ($quantity * ($priceAmount div $baseQuantity)) + $chargesTotal - $allowancesTotal, 0.02)

PEPPOL-EN16931-R121 (fatal)

Base quantity MUST be a positive number above zero.

cac:InvoiceLine | cac:CreditNoteLine

not(cac:Price/cbc:BaseQuantity) or xs:decimal(cac:Price/cbc:BaseQuantity) > 0

PEPPOL-EN16931-R130 (fatal)

Unit code of price base quantity MUST be same as invoiced quantity.

cac:Price/cbc:BaseQuantity[@unitCode]

not($hasQuantity) or @unitCode = $quantity/@unitCode

15.2. EN 16931 transaction business rules

The following EN 16931 rules apply to invoice and credit note transaction as it is used in this Peppol BIS. This Peppol BIS uses a forked version of the validation rules from EN 16931. Further details can be found at https://github.com/OpenPEPPOL/tc434-validation.

Table 19. EN 16931 business rules
Rule Message

BR-01 (fatal)

An Invoice shall have a Specification identifier (BT-24).   

BR-02 (fatal)

An Invoice shall have an Invoice number (BT-1).

BR-03 (fatal)

An Invoice shall have an Invoice issue date (BT-2).

BR-04 (fatal)

An Invoice shall have an Invoice type code (BT-3).

BR-05 (fatal)

An Invoice shall have an Invoice currency code (BT-5).

BR-06 (fatal)

An Invoice shall contain the Seller name (BT-27).

BR-07 (fatal)

An Invoice shall contain the Buyer name (BT-44).

BR-08 (fatal)

An Invoice shall contain the Seller postal address.

BR-09 (fatal)

The Seller postal address (BG-5) shall contain a Seller country code (BT-40).

BR-10 (fatal)

An Invoice shall contain the Buyer postal address (BG-8).

BR-11 (fatal)

The Buyer postal address shall contain a Buyer country code (BT-55).

BR-12 (fatal)

An Invoice shall have the Sum of Invoice line net amount (BT-106).

BR-13 (fatal)

An Invoice shall have the Invoice total amount without VAT (BT-109).

BR-14 (fatal)

An Invoice shall have the Invoice total amount with VAT (BT-112).

BR-15 (fatal)

An Invoice shall have the Amount due for payment (BT-115).

BR-16 (fatal)

An Invoice shall have at least one Invoice line (BG-25)

BR-17 (fatal)

The Payee name (BT-59) shall be provided in the Invoice, if the Payee (BG-10) is different from the Seller (BG-4)

BR-18 (fatal)

The Seller tax representative name (BT-62) shall be provided in the Invoice, if the Seller (BG-4) has a Seller tax representative party (BG-11)

BR-19 (fatal)

The Seller tax representative postal address (BG-12) shall be provided in the Invoice, if the Seller (BG-4) has a Seller tax representative party (BG-11).

BR-20 (fatal)

The Seller tax representative postal address (BG-12) shall contain a Tax representative country code (BT-69), if the Seller (BG-4) has a Seller tax representative party (BG-11).

BR-21 (fatal)

Each Invoice line (BG-25) shall have an Invoice line identifier (BT-126).

BR-22 (fatal)

Each Invoice line (BG-25) shall have an Invoiced quantity (BT-129).

BR-23 (fatal)

An Invoice line (BG-25) shall have an Invoiced quantity unit of measure code (BT-130).

BR-24 (fatal)

Each Invoice line (BG-25) shall have an Invoice line net amount (BT-131).

BR-25 (fatal)

Each Invoice line (BG-25) shall contain the Item name (BT-153).

BR-26 (fatal)

Each Invoice line (BG-25) shall contain the Item net price (BT-146).

BR-27 (fatal)

The Item net price (BT-146) shall NOT be negative.

BR-28 (fatal)

The Item gross price (BT-148) shall NOT be negative.

BR-29 (fatal)

If both Invoicing period start date (BT-73) and Invoicing period end date (BT-74) are given then the Invoicing period end date (BT-74) shall be later or equal to the Invoicing period start date (BT-73).

BR-30 (fatal)

If both Invoice line period start date (BT-134) and Invoice line period end date (BT-135) are given then the Invoice line period end date (BT-135) shall be later or equal to the Invoice line period start date (BT-134).

BR-31 (fatal)

Each Document level allowance (BG-20) shall have a Document level allowance amount (BT-92).

BR-32 (fatal)

Each Document level allowance (BG-20) shall have a Document level allowance VAT category code (BT-95).

BR-33 (fatal)

Each Document level allowance (BG-20) shall have a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98).

BR-36 (fatal)

Each Document level charge (BG-21) shall have a Document level charge amount (BT-99).

BR-37 (fatal)

Each Document level charge (BG-21) shall have a Document level charge VAT category code (BT-102).

BR-38 (fatal)

Each Document level charge (BG-21) shall have a Document level charge reason (BT-104) or a Document level charge reason code (BT-105).

BR-41 (fatal)

Each Invoice line allowance (BG-27) shall have an Invoice line allowance amount (BT-136).

BR-42 (fatal)

Each Invoice line allowance (BG-27) shall have an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140).

BR-43 (fatal)

Each Invoice line charge (BG-28) shall have an Invoice line charge amount (BT-141).

BR-44 (fatal)

Each Invoice line charge shall have an Invoice line charge reason or an invoice line allowance reason code.

BR-45 (fatal)

Each VAT breakdown (BG-23) shall have a VAT category taxable amount (BT-116).

BR-46 (fatal)

Each VAT breakdown (BG-23) shall have a VAT category tax amount (BT-117).

BR-47 (fatal)

Each VAT breakdown (BG-23) shall be defined through a VAT category code (BT-118).

BR-48 (fatal)

Each VAT breakdown (BG-23) shall have a VAT category rate (BT-119), except if the Invoice is not subject to VAT.

BR-49 (fatal)

A Payment instruction (BG-16) shall specify the Payment means type code (BT-81).

BR-50 (fatal)

A Payment account identifier (BT-84) shall be present if Credit transfer (BG-17) information is provided in the Invoice.

BR-51 (warning)

In accordance with card payments security standards an invoice should never include a full card primary account number (BT-87). At the moment PCI Security Standards Council has defined that the first 6 digits and last 4 digits are the maximum number of digits to be shown.

BR-52 (fatal)

Each Additional supporting document (BG-24) shall contain a Supporting document reference (BT-122).

BR-53 (fatal)

If the VAT accounting currency code (BT-6) is present, then the Invoice total VAT amount in accounting currency (BT-111) shall be provided.

BR-54 (fatal)

Each Item attribute (BG-32) shall contain an Item attribute name (BT-160) and an Item attribute value (BT-161).

BR-55 (fatal)

Each Preceding Invoice reference (BG-3) shall contain a Preceding Invoice reference (BT-25).

BR-56 (fatal)

Each Seller tax representative party (BG-11) shall have a Seller tax representative VAT identifier (BT-63).

BR-57 (fatal)

Each Deliver to address (BG-15) shall contain a Deliver to country code (BT-80).

BR-61 (fatal)

If the Payment means type code (BT-81) means SEPA credit transfer, Local credit transfer or Non-SEPA international credit transfer, the Payment account identifier (BT-84) shall be present.

BR-62 (fatal)

The Seller electronic address (BT-34) shall have a Scheme identifier.

BR-63 (fatal)

The Buyer electronic address (BT-49) shall have a Scheme identifier.

BR-64 (fatal)

The Item standard identifier (BT-157) shall have a Scheme identifier.

BR-65 (fatal)

The Item classification identifier (BT-158) shall have a Scheme identifier.

BR-66 (fatal)

An Invoice shall contain maximum one Payment Card account (BG-18).

BR-67 (fatal)

An Invoice shall contain maximum one Payment Mandate (BG-19).

BR-AE-01 (fatal)

An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Reverse charge" shall contain in the VAT Breakdown (BG-23) exactly one VAT category code (BT-118) equal with "VAT reverse charge".

BR-AE-02 (fatal)

An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Reverse charge" shall contain the Seller VAT Identifier (BT-31), the Seller Tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) and/or the Buyer legal registration identifier (BT-47).

BR-AE-03 (fatal)

An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Reverse charge" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) and/or the Buyer legal registration identifier (BT-47).

BR-AE-04 (fatal)

An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Reverse charge" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) and/or the Buyer legal registration identifier (BT-47).

BR-AE-05 (fatal)

In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Reverse charge" the Invoiced item VAT rate (BT-152) shall be 0 (zero).

BR-AE-06 (fatal)

In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Reverse charge" the Document level allowance VAT rate (BT-96) shall be 0 (zero).

BR-AE-07 (fatal)

In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Reverse charge" the Document level charge VAT rate (BT-103) shall be 0 (zero).

BR-AE-08 (fatal)

In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Reverse charge" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Reverse charge".

BR-AE-09 (fatal)

The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Reverse charge" shall be 0 (zero).

BR-AE-10 (fatal)

A VAT breakdown (BG-23) with VAT Category code (BT-118) "Reverse charge" shall have a VAT exemption reason code (BT-121), meaning "Reverse charge" or the VAT exemption reason text (BT-120) "Reverse charge" (or the equivalent standard text in another language).

BR-B-01 (fatal)

An Invoice where the VAT category code (BT-151, BT-95 or BT-102) is “Split payment” shall be a domestic Italian invoice.

BR-B-02 (fatal)

An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “Split payment" shall not contain an invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “Standard rated”.

BR-CL-01 (fatal)

The document type code MUST be coded by the invoice and credit note related code lists of UNTDID 1001.

BR-CL-03 (fatal)

currencyID MUST be coded using ISO code list 4217 alpha-3

BR-CL-04 (fatal)

Invoice currency code MUST be coded using ISO code list 4217 alpha-3

BR-CL-05 (fatal)

Tax currency code MUST be coded using ISO code list 4217 alpha-3

BR-CL-06 (fatal)

Value added tax point date code MUST be coded using a restriction of UNTDID 2005.

BR-CL-07 (fatal)

Object identifier identification scheme identifier MUST be coded using a restriction of UNTDID 1153.

BR-CL-08 (fatal)

Invoiced note subject code shall be coded using UNCL4451

BR-CL-10 (fatal)

Any identifier identification scheme identifier MUST be coded using one of the ISO 6523 ICD list.

BR-CL-11 (fatal)

Any registration identifier identification scheme identifier MUST be coded using one of the ISO 6523 ICD list.

BR-CL-13 (fatal)

Item classification identifier identification scheme identifier MUST be coded using one of the UNTDID 7143 list.

BR-CL-14 (fatal)

Country codes in an invoice MUST be coded using ISO code list 3166-1

BR-CL-15 (fatal)

Country codes in an invoice MUST be coded using ISO code list 3166-1

BR-CL-16 (fatal)

Payment means in an invoice MUST be coded using UNCL4461 code list

BR-CL-17 (fatal)

Invoice tax categories MUST be coded using UNCL5305 code list

BR-CL-18 (fatal)

Invoice tax categories MUST be coded using UNCL5305 code list

BR-CL-19 (fatal)

Coded allowance reasons MUST belong to the UNCL 5189 code list

BR-CL-20 (fatal)

Coded charge reasons MUST belong to the UNCL 7161 code list

BR-CL-21 (fatal)

Item standard identifier scheme identifier MUST belong to the ISO 6523 ICD code list

BR-CL-22 (fatal)

Tax exemption reason code identifier scheme identifier MUST belong to the CEF VATEX code list

BR-CL-23 (fatal)

Unit code MUST be coded according to the UN/ECE Recommendation 20 with Rec 21 extension

BR-CL-24 (fatal)

For Mime code in attribute use MIMEMediaType.

BR-CL-25 (fatal)

Endpoint identifier scheme identifier MUST belong to the CEF EAS code list

BR-CL-26 (fatal)

Delivery location identifier scheme identifier MUST belong to the ISO 6523 ICD code list

BR-CO-03 (fatal)

Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive.

BR-CO-04 (fatal)

Each Invoice line (BG-25) shall be categorized with an Invoiced item VAT category code (BT-151).

BR-CO-05 (fatal)

Document level allowance reason code (BT-98) and Document level allowance reason (BT-97) shall indicate the same type of allowance.

BR-CO-06 (fatal)

Document level charge reason code (BT-105) and Document level charge reason (BT-104) shall indicate the same type of charge.

BR-CO-07 (fatal)

Invoice line allowance reason code (BT-140) and Invoice line allowance reason (BT-139) shall indicate the same type of allowance reason.

BR-CO-08 (fatal)

Invoice line charge reason code (BT-145) and Invoice line charge reason (BT-144) shall indicate the same type of charge reason.

BR-CO-09 (fatal)

The Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) shall have a prefix in accordance with ISO code ISO 3166-1 alpha-2 by which the country of issue may be identified. Nevertheless, Greece may use the prefix ‘EL’.

BR-CO-10 (fatal)

Sum of Invoice line net amount (BT-106) = Σ Invoice line net amount (BT-131).

BR-CO-11 (fatal)

Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92).

BR-CO-12 (fatal)

Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99).

BR-CO-13 (fatal)

Invoice total amount without VAT (BT-109) = Σ Invoice line net amount (BT-131) - Sum of allowances on document level (BT-107) + Sum of charges on document level (BT-108).

BR-CO-14 (fatal)

Invoice total VAT amount (BT-110) = Σ VAT category tax amount (BT-117).

BR-CO-15 (fatal)

Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).

BR-CO-16 (fatal)

Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) -Paid amount (BT-113) +Rounding amount (BT-114).

BR-CO-17 (fatal)

VAT category tax amount (BT-117) = VAT category taxable amount (BT-116) x (VAT category rate (BT-119) / 100), rounded to two decimals.

BR-CO-18 (fatal)

An Invoice shall at least have one VAT breakdown group (BG-23).

BR-CO-19 (fatal)

If Invoicing period (BG-14) is used, the Invoicing period start date (BT-73) or the Invoicing period end date (BT-74) shall be filled, or both.

BR-CO-20 (fatal)

If Invoice line period (BG-26) is used, the Invoice line period start date (BT-134) or the Invoice line period end date (BT-135) shall be filled, or both.

BR-CO-21 (fatal)

Each Document level allowance (BG-20) shall contain a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98), or both.

BR-CO-22 (fatal)

Each Document level charge (BG-21) shall contain a Document level charge reason (BT-104) or a Document level charge reason code (BT-105), or both.

BR-CO-23 (fatal)

Each Invoice line allowance (BG-27) shall contain an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140), or both.

BR-CO-24 (fatal)

Each Invoice line charge (BG-28) shall contain an Invoice line charge reason (BT-144) or an Invoice line charge reason code (BT-145), or both.

BR-CO-25 (fatal)

In case the Amount due for payment (BT-115) is positive, either the Payment due date (BT-9) or the Payment terms (BT-20) shall be present.

BR-CO-26 (fatal)

In order for the buyer to automatically identify a supplier, the Seller identifier (BT-29), the Seller legal registration identifier (BT-30) and/or the Seller VAT identifier (BT-31) shall be present. 

BR-DEC-01 (fatal)

The allowed maximum number of decimals for the Document level allowance amount (BT-92) is 2.

BR-DEC-02 (fatal)

The allowed maximum number of decimals for the Document level allowance base amount (BT-93) is 2.

BR-DEC-05 (fatal)

The allowed maximum number of decimals for the Document level charge amount (BT-99) is 2.

BR-DEC-06 (fatal)

The allowed maximum number of decimals for the Document level charge base amount (BT-100) is 2.

BR-DEC-09 (fatal)

The allowed maximum number of decimals for the Sum of Invoice line net amount (BT-106) is 2.

BR-DEC-10 (fatal)

The allowed maximum number of decimals for the Sum of allowanced on document level (BT-107) is 2.

BR-DEC-11 (fatal)

The allowed maximum number of decimals for the Sum of charges on document level (BT-108) is 2.

BR-DEC-12 (fatal)

The allowed maximum number of decimals for the Invoice total amount without VAT (BT-109) is 2.

BR-DEC-13 (fatal)

The allowed maximum number of decimals for the Invoice total VAT amount (BT-110) is 2.

BR-DEC-14 (fatal)

The allowed maximum number of decimals for the Invoice total amount with VAT (BT-112) is 2.

BR-DEC-15 (fatal)

The allowed maximum number of decimals for the Invoice total VAT amount in accounting currency (BT-111) is 2.

BR-DEC-16 (fatal)

The allowed maximum number of decimals for the Paid amount (BT-113) is 2.

BR-DEC-17 (fatal)

The allowed maximum number of decimals for the Rounding amount (BT-114) is 2.

BR-DEC-18 (fatal)

The allowed maximum number of decimals for the Amount due for payment (BT-115) is 2. 

BR-DEC-19 (fatal)

The allowed maximum number of decimals for the VAT category taxable amount (BT-116) is 2.

BR-DEC-20 (fatal)

The allowed maximum number of decimals for the VAT category tax amount (BT-117) is 2.    

BR-DEC-23 (fatal)

The allowed maximum number of decimals for the Invoice line net amount (BT-131) is 2.

BR-DEC-24 (fatal)

The allowed maximum number of decimals for the Invoice line allowance amount (BT-136) is 2.

BR-DEC-25 (fatal)

The allowed maximum number of decimals for the Invoice line allowance base amount (BT-137) is 2.

BR-DEC-27 (fatal)

The allowed maximum number of decimals for the Invoice line charge amount (BT-141) is 2.

BR-DEC-28 (fatal)

The allowed maximum number of decimals for the Invoice line charge base amount (BT-142) is 2.

BR-E-01 (fatal)

An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Exempt from VAT" shall contain exactly one VAT breakdown (BG-23) with the VAT category code (BT-118) equal to "Exempt from VAT".

BR-E-02 (fatal)

An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Exempt from VAT" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).

BR-E-03 (fatal)

An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Exempt from VAT" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).

BR-E-04 (fatal)

An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Exempt from VAT" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).

BR-E-05 (fatal)

In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Exempt from VAT", the Invoiced item VAT rate (BT-152) shall be 0 (zero).

BR-E-06 (fatal)

In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Exempt from VAT", the Document level allowance VAT rate (BT-96) shall be 0 (zero).

BR-E-07 (fatal)

In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Exempt from VAT", the Document level charge VAT rate (BT-103) shall be 0 (zero).

BR-E-08 (fatal)

In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Exempt from VAT" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Exempt from VAT".

BR-E-09 (fatal)

The VAT category tax amount (BT-117) In a VAT breakdown (BG-23) where the VAT category code (BT-118) equals "Exempt from VAT" shall equal 0 (zero).

BR-E-10 (fatal)

A VAT breakdown (BG-23) with VAT Category code (BT-118) "Exempt from VAT" shall have a VAT exemption reason code (BT-121) or a VAT exemption reason text (BT-120).

BR-G-01 (fatal)

An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Export outside the EU" shall contain in the VAT breakdown (BG-23) exactly one VAT category code (BT-118) equal with "Export outside the EU".

BR-G-02 (fatal)

An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Export outside the EU" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63).

BR-G-03 (fatal)

An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Export outside the EU" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63).

BR-G-04 (fatal)

An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Export outside the EU" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63).

BR-G-05 (fatal)

In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Export outside the EU" the Invoiced item VAT rate (BT-152) shall be 0 (zero).

BR-G-06 (fatal)

In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Export outside the EU" the Document level allowance VAT rate (BT-96) shall be 0 (zero).

BR-G-07 (fatal)

In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Export outside the EU" the Document level charge VAT rate (BT-103) shall be 0 (zero).

BR-G-08 (fatal)

In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Export outside the EU" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Export outside the EU".

BR-G-09 (fatal)

The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Export outside the EU" shall be 0 (zero).

BR-G-10 (fatal)

A VAT breakdown (BG-23) with the VAT Category code (BT-118) "Export outside the EU" shall have a VAT exemption reason code (BT-121), meaning "Export outside the EU" or the VAT exemption reason text (BT-120) "Export outside the EU" (or the equivalent standard text in another language).

BR-IC-01 (fatal)

An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Intra-community supply" shall contain in the VAT breakdown (BG-23) exactly one VAT category code (BT-118) equal with "Intra-community supply".

BR-IC-02 (fatal)

An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Intra-community supply" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48).

BR-IC-03 (fatal)

An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Intra-community supply" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48).

BR-IC-04 (fatal)

An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Intra-community supply" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48).

BR-IC-05 (fatal)

In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Intracommunity supply" the Invoiced item VAT rate (BT-152) shall be 0 (zero).

BR-IC-06 (fatal)

In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Intra-community supply" the Document level allowance VAT rate (BT-96) shall be 0 (zero).

BR-IC-07 (fatal)

In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Intra-community supply" the Document level charge VAT rate (BT-103) shall be 0 (zero).

BR-IC-08 (fatal)

In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Intra-community supply" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Intra-community supply".

BR-IC-09 (fatal)

The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Intra-community supply" shall be 0 (zero).

BR-IC-10 (fatal)

A VAT breakdown (BG-23) with the VAT Category code (BT-118) "Intra-community supply" shall have a VAT exemption reason code (BT-121), meaning "Intra-community supply" or the VAT exemption reason text (BT-120) "Intra-community supply" (or the equivalent standard text in another language).

BR-IC-11 (fatal)

In an Invoice with a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Intra-community supply" the Actual delivery date (BT-72) or the Invoicing period (BG-14) shall not be blank.

BR-IC-12 (fatal)

In an Invoice with a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Intra-community supply" the Deliver to country code (BT-80) shall not be blank.

BR-IG-01 (fatal)

An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "IGIC" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with "IGIC".

BR-IG-02 (fatal)

An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IGIC" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).

BR-IG-03 (fatal)

An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IGIC" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).

BR-IG-04 (fatal)

An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IGIC" shall contain the Seller VAT Identifier (BT-31), the Seller Tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).

BR-IG-05 (fatal)

In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IGIC" the invoiced item VAT rate (BT-152) shall be 0 (zero) or greater than zero.

BR-IG-06 (fatal)

In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IGIC" the Document level allowance VAT rate (BT-96) shall be 0 (zero) or greater than zero.

BR-IG-07 (fatal)

In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IGIC" the Document level charge VAT rate (BT-103) shall be 0 (zero) or greater than zero.

BR-IG-08 (fatal)

For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is "IGIC", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is "IGIC" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119).

BR-IG-09 (fatal)

The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "IGIC" shall equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119).

BR-IG-10 (fatal)

A VAT breakdown (BG-23) with VAT Category code (BT-118) "IGIC" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).

BR-IP-01 (fatal)

An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "IPSI" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with "IPSI".

BR-IP-02 (fatal)

An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IPSI" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).

BR-IP-03 (fatal)

An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IPSI" shall contain the Seller VAT Identifier (BT-31), the Seller Tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).

BR-IP-04 (fatal)

An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IPSI" shall contain the Seller VAT Identifier (BT-31), the Seller Tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).

BR-IP-05 (fatal)

In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IPSI" the Invoiced item VAT rate (BT-152) shall be 0 (zero) or greater than zero.

BR-IP-06 (fatal)

In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IPSI" the Document level allowance VAT rate (BT-96) shall be 0 (zero) or greater than zero.

BR-IP-07 (fatal)

In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IPSI" the Document level charge VAT rate (BT-103) shall be 0 (zero) or greater than zero.

BR-IP-08 (fatal)

For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is "IPSI", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is "IPSI" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119).

BR-IP-09 (fatal)

The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "IPSI" shall equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119).

BR-IP-10 (fatal)

A VAT breakdown (BG-23) with VAT Category code (BT-118) "IPSI" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).

BR-O-01 (fatal)

An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Not subject to VAT" shall contain exactly one VAT breakdown group (BG-23) with the VAT category code (BT-118) equal to "Not subject to VAT".

BR-O-02 (fatal)

An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Not subject to VAT" shall not contain the Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) or the Buyer VAT identifier (BT-48).

BR-O-03 (fatal)

An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Not subject to VAT" shall not contain the Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) or the Buyer VAT identifier (BT-48).

BR-O-04 (fatal)

An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Not subject to VAT" shall not contain the Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) or the Buyer VAT identifier (BT-48).

BR-O-05 (fatal)

An Invoice line (BG-25) where the VAT category code (BT-151) is "Not subject to VAT" shall not contain an Invoiced item VAT rate (BT-152).

BR-O-06 (fatal)

A Document level allowance (BG-20) where VAT category code (BT-95) is "Not subject to VAT" shall not contain a Document level allowance VAT rate (BT-96).

BR-O-07 (fatal)

A Document level charge (BG-21) where the VAT category code (BT-102) is "Not subject to VAT" shall not contain a Document level charge VAT rate (BT-103).

BR-O-08 (fatal)

In a VAT breakdown (BG-23) where the VAT category code (BT-118) is " Not subject to VAT" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Not subject to VAT".

BR-O-09 (fatal)

The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Not subject to VAT" shall be 0 (zero).

BR-O-10 (fatal)

A VAT breakdown (BG-23) with VAT Category code (BT-118) " Not subject to VAT" shall have a VAT exemption reason code (BT-121), meaning " Not subject to VAT" or a VAT exemption reason text (BT-120) " Not subject to VAT" (or the equivalent standard text in another language).

BR-O-11 (fatal)

An Invoice that contains a VAT breakdown group (BG-23) with a VAT category code (BT-118) "Not subject to VAT" shall not contain other VAT breakdown groups (BG-23).

BR-O-12 (fatal)

An Invoice that contains a VAT breakdown group (BG-23) with a VAT category code (BT-118) "Not subject to VAT" shall not contain an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is not "Not subject to VAT".

BR-O-13 (fatal)

An Invoice that contains a VAT breakdown group (BG-23) with a VAT category code (BT-118) "Not subject to VAT" shall not contain Document level allowances (BG-20) where Document level allowance VAT category code (BT-95) is not "Not subject to VAT".

BR-O-14 (fatal)

An Invoice that contains a VAT breakdown group (BG-23) with a VAT category code (BT-118) "Not subject to VAT" shall not contain Document level charges (BG-21) where Document level charge VAT category code (BT-102) is not "Not subject to VAT".

BR-S-01 (fatal)

An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Standard rated" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with "Standard rated".

BR-S-02 (fatal)

An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Standard rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).

BR-S-03 (fatal)

An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Standard rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).

BR-S-04 (fatal)

An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Standard rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).

BR-S-05 (fatal)

In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Standard rated" the Invoiced item VAT rate (BT-152) shall be greater than zero.

BR-S-06 (fatal)

In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Standard rated" the Document level allowance VAT rate (BT-96) shall be greater than zero.

BR-S-07 (fatal)

In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Standard rated" the Document level charge VAT rate (BT-103) shall be greater than zero. 

BR-S-08 (fatal)

For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is "Standard rated", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is "Standard rated" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119).

BR-S-09 (fatal)

The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "Standard rated" shall equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119).

BR-S-10 (fatal)

A VAT breakdown (BG-23) with VAT Category code (BT-118) "Standard rate" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).

BR-Z-01 (fatal)

An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Zero rated" shall contain in the VAT breakdown (BG-23) exactly one VAT category code (BT-118) equal with "Zero rated".

BR-Z-02 (fatal)

An Invoice that contains an Invoice line where the Invoiced item VAT category code (BT-151) is "Zero rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).

BR-Z-03 (fatal)

An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Zero rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).

BR-Z-04 (fatal)

An Invoice that contains a Document level charge where the Document level charge VAT category code (BT-102) is "Zero rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).

BR-Z-05 (fatal)

In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Zero rated" the Invoiced item VAT rate (BT-152) shall be 0 (zero).

BR-Z-06 (fatal)

In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Zero rated" the Document level allowance VAT rate (BT-96) shall be 0 (zero).

BR-Z-07 (fatal)

In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Zero rated" the Document level charge VAT rate (BT-103) shall be 0 (zero).

BR-Z-08 (fatal)

In a VAT breakdown (BG-23) where VAT category code (BT-118) is "Zero rated" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amount (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Zero rated".

BR-Z-09 (fatal)

The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "Zero rated" shall equal 0 (zero).

BR-Z-10 (fatal)

A VAT breakdown (BG-23) with VAT Category code (BT-118) "Zero rated" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).

Appendix A: Restrictions on EN16931

Below is a list of the restrictions on EN 16931 that is done in this Core Invoice Usage Specification (CIUS). In addition to these rules, some national rules gives further restrictions based on the seller country or VAT country. A list of these national rules can be found in National rules

All restrictions are within the allowed specifications in a Core Invoice Usage Specification (CIUS), as listed in chapter 7.3.2 in EN 16931.

A.1. Restrictions for profile 01 - Billing

BT-ID Business Term Restrition Type Description Rule

BT-3

Invoice type code

Mark defined values as not allowed

Allowed set of values can be found in Invoice Type Code

PEPPOL-EN16931-P0100, PEPPOL-EN16931-P0101

A.2. Restrictions on the invoice and credit note transaction

BT-ID Business Term Restrition Type Description Rule

BT-2 , BT-7 , BT-9 , BT-26, BT-72, BT-73, BT-74, BT-134, BT-135

All date elements

Add new non-conflicting business rule to existing element(s)

A date shall be formatted YYYY-MM-DD

PEPPOL-EN16931-F001

BT-6

VAT accounting currency code

Add new non-conflicting business rule to existing element(s)

VAT accounting currency code shall be different from invoice currency code when provided.

PEPPOL-EN16931-R005

BT-9, BT-20

Payment due date or payment terms

Change to existing CEN TC434 rule (issue reported to TC434)

Ensure the rule only fires for invoices, not credit notes

BR-CO-25

BT-10, BT-13

Buyer reference or Purchase order

Add new non-conflicting business rule to existing element(s)

A buyer reference or purchase order reference shall be provided.

PEPPOL-EN16931-R003

BG-1

Invoice note

Decrease number of repetitions (x..n – > x..1)

Change cardinality from 0..n to 0..1

PEPPOL-EN16931-R002

BT-21

Invoice note subject code

Mark conditional information element not to be used

Changing cardinality 0..1 to 0..0

Not applicable

BT-23

Business process type

Make a conditional element mandatory (0..x – > 1..x)

Changing cardinality 0..1 to 1..1

PEPPOL-EN16931-R001

BT-24

Specification identifier

Add new non-conflicting business rule to existing element(s)

Specification identifier shall have the value
'urn:cen.eu:en16931:2017#compliant#
urn:fdc:peppol.eu:2017:poacc:billing:3.0'.
(Remove spaces before use of value)

PEPPOL-EN16931-R004

BT-34

Seller electronic address

Make a conditional element mandatory (0..x – > 1..x)

Seller electronic address shall be provided

PEPPOL-EN16931-R020

BT-49

Buyer electronic address

Make a conditional element mandatory (0..x – > 1..x)

Buyer electronic address shall be provided

PEPPOL-EN16931-R010

BG-19

Direct debit

Add new non-conflicting business rule to existing element(s)

Mandate reference shall be provided for direct debit.

PEPPOL-EN16931-R061

BT-93, BT-100, BT-137, BT-142

Allowance/charge base amount

Add new non-conflicting business rule to existing element(s)

Allowance/charge base amount shall be provided when allowance/charge percentage is provided.

PEPPOL-EN16931-R041

BT-94, BT-101, BT-138, BT-143

Allowance/charge percentage

Add new non-conflicting business rule to existing element(s)

Allowance/charge percentage shall be provided when allowance/charge base amount is provided.

PEPPOL-EN16931-R042

BT-92, BT-99, BT-136, BT-141

Allowance/charge amount

Add new non-conflicting business rule to existing element(s)

If base amount and percentage exists in the instance, then
\$"Allowance/charge amount" =\$
\$"base amount" times ("percentage" div 100)\$

PEPPOL-EN16931-R040

BT-98, BT-140

Allowance reason code

Mark defined values as not allowed

Reason code shall be according to subset of UNCL 5189 D.16B.

PEPPOL-EN16931-CL002

BT-110

Invoice total VAT amount

Add new non-conflicting business rule to existing element(s)

Only one tax total without tax subtotals shall be provided when tax currency code is provided.

PEPPOL-EN16931-R054

BG-23

VAT breakdown

Add new non-conflicting business rule to existing element(s)

Only one tax total with tax subtotals shall be provided

PEPPOL-EN16931-R053

BG-23

VAT breakdown

Add new non-conflicting business rule to existing element(s)

Only one tax total without tax subtotals shall be provided when tax currency code is provided.

PEPPOL-EN16931-R054

BT-131

Invoice line net amount

Add new non-conflicting business rule to existing element(s)

Calculation shall equal \$ ("Invoiced quantity" times ("Item net price" div "item price base quantity"))\$
\$ + "Invoice line charge amount"\$
\$ - "Invoice line allowance amount"\$

PEPPOL-EN16931-R120

BT-134

Invoice line period start date

Add new non-conflicting business rule to existing element(s)

Start date of line period shall be within invoice period.

PEPPOL-EN16931-R110

BT-135

Invoice line period end date

Add new non-conflicting business rule to existing element(s)

End date of line period shall be within invoice period.

PEPPOL-EN16931-R111

BT-146

Item net price

Add new non-conflicting business rule to existing element(s)

Item net price shall equal (Gross price - Allowance amount) when gross price is provided.

PEPPOL-EN16931-R046

BT-149

Item price base quantity

Add new non-conflicting business rule to existing element(s)

Base quantity shall be a positive number above zero.

PEPPOL-EN16931-R121

BT-150

Item price base quantity unit of measure

Add new non-conflicting business rule to existing element(s)

Unit code of price base quantity shall be same as invoiced quantity.

PEPPOL-EN16931-R130

Not applicable

All currencyID attributes

Add new non-conflicting business rule to existing element(s)

All currencyID attributes shall have the same value as the invoice currency code (BT-5), except for the invoice total VAT amount in accounting currency (BT-111)

PEPPOL-EN16931-R051

A.3. Restrictions on the supported processes

Chapter 5.2 in the EN 16931 defines the business processes supported by the EN 16931.

This Core Invoice Usage Specification (CIUS) has made restrictions to not explicitly support the following business processes:

P10 - Corrective invoicing

The process as descibed for corrective invoicing was seen as unclear as to the differentiating between a corrective invoice and a credit note, and this process was set to be out of scope.

P11 - Partial and final invoicing

Due to the fact that partial and final invoices does not require all information that is mandated, this process is out of scope for this Peppol BIS.

P12 - Self billing

Directive 2006/112/EC (Article 224) requires a specific process to be observed, involving prior agreement and a procedure where the supplier is to accept each invoice. Self-billing requires a specific set-up due to the requirements for prior agreement and procedure for the acceptance of each self-bill. Specific milestones have to be observed at time of setting it up as well as in the operation of self-billing.

A.4. Known Issues for profile 01 - Billing

BT-ID Business Term Known Issue Work Around

BT-60, BT-90

Payee identifier with cardinality, Bank assigned creditor identifier

In the EN 16931 data model BT-60 and BT-90 are business terms that are defined independently of each other. Both map onto PayeeParty/PartyIdentification/ID. However, the cardinalities stated in the syntax block simultaneous use of the BT-60 and BT-90 identifiers. This situation might arise if the payment provision is to be based on factored SEPA direct debit.

None

Appendix B: Cross Industry Invoice

This Peppol BIS supports the optional use of the UN/CEFACT XML Cross Industry Invoice, D16B (CII), meaning that receivers of invoices can register in the SMP to receive CII invoices alongside the mandatory UBL version.

All invoice instances expressed in CII shall be compliant to the restrictions and rules made by this BIS, and hence a CII instance document, shall be validated against the Peppol specific rules, just as the UBL instance documents.

Specification identifier (BT-24) and business process type (BT-23) are the same in a CII instance as for the UBL instance, see Profile 01 - Billing

Appendix C: National rules

The following rules have been defined by Peppol Authorities in addition to the rules for Peppol BIS in general. These rules are affected based on the country of the seller, and will not affect invoices issued in other countries. They apply in all profiles that use this transaction specification.

National rules are provided by each country’s Peppol Authority, and if you need any changes or additions to these rules, please contact your Peppol Authority.

Table 20. National transaction business rules
Rule Message/Context/Test

DE-R-001 (fatal)

An invoice shall contain information on "PAYMENT INSTRUCTIONS" (BG-16).

(/ubl-invoice:Invoice | /ubl-creditnote:CreditNote)[$supplierCountryIsDE and $customerCountryIsDE]

cac:PaymentMeans

DE-R-002 (fatal)

The group "SELLER CONTACT" (BG-6) shall be provided.

(/ubl-invoice:Invoice/cac:AccountingSupplierParty | /ubl-creditnote:CreditNote/cac:AccountingSupplierParty)[$supplierCountryIsDE and $customerCountryIsDE]

cac:Party/cac:Contact

DE-R-003 (fatal)

The element "Seller city" (BT-37) shall be provided.

(/ubl-invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress | /ubl-creditnote:CreditNote/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress)[$supplierCountryIsDE and $customerCountryIsDE]

cbc:CityName[boolean(normalize-space(.))]

DE-R-004 (fatal)

The element "Seller post code" (BT-38) shall be provided.

(/ubl-invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress | /ubl-creditnote:CreditNote/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress)[$supplierCountryIsDE and $customerCountryIsDE]

cbc:PostalZone[boolean(normalize-space(.))]

DE-R-005 (fatal)

The element "Seller contact point" (BT-41) shall be provided.

(/ubl-invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact | /ubl-creditnote:CreditNote/cac:AccountingSupplierParty/cac:Party/cac:Contact)[$supplierCountryIsDE and $customerCountryIsDE]

cbc:Name[boolean(normalize-space(.))]

DE-R-006 (fatal)

The element "Seller contact telephone number" (BT-42) shall be provided.

(/ubl-invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact | /ubl-creditnote:CreditNote/cac:AccountingSupplierParty/cac:Party/cac:Contact)[$supplierCountryIsDE and $customerCountryIsDE]

cbc:Telephone[boolean(normalize-space(.))]

DE-R-007 (fatal)

The element "Seller contact email address" (BT-43) shall be provided.

(/ubl-invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact | /ubl-creditnote:CreditNote/cac:AccountingSupplierParty/cac:Party/cac:Contact)[$supplierCountryIsDE and $customerCountryIsDE]

cbc:ElectronicMail[boolean(normalize-space(.))]

DE-R-008 (fatal)

The element "Buyer city" (BT-52) shall be provided.

(/ubl-invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress | /ubl-creditnote:CreditNote/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress)[$supplierCountryIsDE and $customerCountryIsDE]

cbc:CityName[boolean(normalize-space(.))]

DE-R-009 (fatal)

The element "Buyer post code" (BT-53) shall be provided.

(/ubl-invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress | /ubl-creditnote:CreditNote/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress)[$supplierCountryIsDE and $customerCountryIsDE]

cbc:PostalZone[boolean(normalize-space(.))]

DE-R-010 (fatal)

The element "Deliver to city" (BT-77) shall be provided if the group "DELIVER TO ADDRESS" (BG-15) is delivered.

(/ubl-invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address | /ubl-creditnote:CreditNote/cac:Delivery/cac:DeliveryLocation/cac:Address)[$supplierCountryIsDE and $customerCountryIsDE]

cbc:CityName[boolean(normalize-space(.))]

DE-R-011 (fatal)

The element "Deliver to post code" (BT-78) shall be provided if the group "DELIVER TO ADDRESS" (BG-15) is delivered.

(/ubl-invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address | /ubl-creditnote:CreditNote/cac:Delivery/cac:DeliveryLocation/cac:Address)[$supplierCountryIsDE and $customerCountryIsDE]

cbc:PostalZone[boolean(normalize-space(.))]

DE-R-014 (fatal)

The element "VAT category rate" (BT-119) shall be provided.

(/ubl-invoice:Invoice/cac:TaxTotal/cac:TaxSubtotal | /ubl-creditnote:CreditNote/cac:TaxTotal/cac:TaxSubtotal)[$supplierCountryIsDE and $customerCountryIsDE]

cac:TaxCategory/cbc:Percent[boolean(normalize-space(.))]

DE-R-015 (fatal)

The element "Buyer reference" (BT-10) shall be provided.

(/ubl-invoice:Invoice | /ubl-creditnote:CreditNote)[$supplierCountryIsDE and $customerCountryIsDE]

cbc:BuyerReference[boolean(normalize-space(.))]

DE-R-016 (fatal)

If one of the VAT codes S, Z, E, AE, K, G, L, or M is used, an invoice shall contain at least one of the following elements: "Seller VAT identifier" (BT-31) or "Seller tax registration identifier" (BT-32) or "SELLER TAX REPRESENTATIVE PARTY" (BG-11).

(/ubl-invoice:Invoice | /ubl-creditnote:CreditNote)[$supplierCountryIsDE and $customerCountryIsDE]

[small]# (not( ($BT-95-UBL-Inv = $supportedVATCodes or $BT-95-UBL-CN = $supportedVATCodes) or ($BT-102 = $supportedVATCodes) or ($BT-151 = $supportedVATCodes) ) or (cac:TaxRepresentativeParty, $BT-31orBT-32Path)) #

DE-R-017 (warning)

The element "Invoice type code" (BT-3) should only contain the following values from code list UNTDID 1001: 326 (Partial invoice), 380 (Commercial invoice), 384 (Corrected invoice), 389 (Self-billed invoice), 381 (Credit note), 875 (Partial construction invoice), 876 (Partial final construction invoice), 877 (Final construction invoice).

(/ubl-invoice:Invoice | /ubl-creditnote:CreditNote)[$supplierCountryIsDE and $customerCountryIsDE]

cbc:InvoiceTypeCode = $supportedInvAndCNTypeCodes or cbc:CreditNoteTypeCode = $supportedInvAndCNTypeCodes

DE-R-018 (fatal)

Information on cash discounts for prompt payment (Skonto) shall be provided within the element "Payment terms" BT-20 in the following way: First segment "SKONTO", second segment amount of days ("TAGE=N"), third segment percentage ("PROZENT=N"). Percentage must be separated by dot with two decimal places. In case the base value of the invoiced amount is not provided in BT-115 but as a partial amount, the base value shall be provided as fourth segment "BASISBETRAG=N" as semantic data type amount. Each entry shall start with a #, the segments must be separated by # and a row shall end with a #. A complete statement on cash discount for prompt payment shall end with a XML-conformant line break. All statements on cash discount for prompt payment shall be given in capital letters. Additional whitespaces (blanks, tabulators or line breaks) are not allowed. Other characters or texts than defined above are not allowed.

(/ubl-invoice:Invoice | /ubl-creditnote:CreditNote)[$supplierCountryIsDE and $customerCountryIsDE]

every $line in cac:PaymentTerms/cbc:Note[1]/tokenize(. , '(\r?\n)')[starts-with( normalize-space(.) , '')] satisfies matches ( normalize-space ($line), $XR-SKONTO-REGEX) and matches( cac:PaymentTerms/cbc:Note[1]/tokenize(. , '.+')[last()], '^\s*\n' )#

DE-R-019 (warning)

The element "Payment account identifier" (BT-84) should contain a valid IBAN if code 58 SEPA is provided in "Payment means type code" (BT-81).

(/ubl-invoice:Invoice/cac:PaymentMeans[cbc:PaymentMeansCode = (30,58)] | /ubl-creditnote:CreditNote/cac:PaymentMeans[cbc:PaymentMeansCode = (30,58)])[$supplierCountryIsDE and $customerCountryIsDE]

not(cbc:PaymentMeansCode = '58') or matches(normalize-space(replace(cac:PayeeFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')), '^[A-Z]{2}[0-9]{2}[a-zA-Z0-9]{0,30}$') and xs:integer(string-join(for $cp in string-to-codepoints(concat(substring(normalize-space(replace(cac:PayeeFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),5),upper-case(substring(normalize-space(replace(cac:PayeeFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),1,2)),substring(normalize-space(replace(cac:PayeeFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),3,2))) return (if($cp > 64) then string($cp - 55) else string($cp - 48)),'')) mod 97 = 1

DE-R-020 (warning)

The element "Debited account identifier" (BT-91) should contain a valid IBAN if code 59 SEPA is provided in "Payment means type code" (BT-81).

(/ubl-invoice:Invoice/cac:PaymentMeans[cbc:PaymentMeansCode = 59] | /ubl-creditnote:CreditNote/cac:PaymentMeans[cbc:PaymentMeansCode = 59])[$supplierCountryIsDE and $customerCountryIsDE]

not(cbc:PaymentMeansCode = '59') or matches(normalize-space(replace(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')), '^[A-Z]{2}[0-9]{2}[a-zA-Z0-9]{0,30}$') and xs:decimal(string-join(for $cp in string-to-codepoints(concat(substring(normalize-space(replace(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),5),upper-case(substring(normalize-space(replace(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),1,2)),substring(normalize-space(replace(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),3,2))) return (if($cp > 64) then string($cp - 55) else string($cp - 48)),'')) mod 97 = 1

DE-R-022 (fatal)

Attached documents provided with an invoice in "ADDITIONAL SUPPORTING DOCUMENTS" (BG-24) shall have a unique filename (non case-sensitive) within the element ″Attached document″ (BT-125).

(/ubl-invoice:Invoice | /ubl-creditnote:CreditNote)[$supplierCountryIsDE and $customerCountryIsDE]

count(cac:AdditionalDocumentReference) = count(cac:AdditionalDocumentReference[not(./cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@filename = preceding-sibling::cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@filename)])

DE-R-023-1 (fatal)

If "Payment means type code" (BT-81) contains a code for credit transfer (30, 58), "CREDIT TRANSFER" (BG-17) shall be provided.

(/ubl-invoice:Invoice/cac:PaymentMeans[cbc:PaymentMeansCode = (30,58)] | /ubl-creditnote:CreditNote/cac:PaymentMeans[cbc:PaymentMeansCode = (30,58)])[$supplierCountryIsDE and $customerCountryIsDE]

cac:PayeeFinancialAccount

DE-R-023-2 (fatal)

If "Payment means type code" (BT-81) contains a code for credit transfer (30, 58), BG-18 and BG-19 shall not be provided.

(/ubl-invoice:Invoice/cac:PaymentMeans[cbc:PaymentMeansCode = (30,58)] | /ubl-creditnote:CreditNote/cac:PaymentMeans[cbc:PaymentMeansCode = (30,58)])[$supplierCountryIsDE and $customerCountryIsDE]

not(cac:CardAccount) and not(cac:PaymentMandate)

DE-R-024-1 (fatal)

If "Payment means type code" (BT-81) contains a code for payment card (48, 54, 55), "PAYMENT CARD INFORMATION" (BG-18) shall be provided.

(/ubl-invoice:Invoice/cac:PaymentMeans[cbc:PaymentMeansCode = (48,54,55)] |/ubl-creditnote:CreditNote/cac:PaymentMeans[cbc:PaymentMeansCode = (48,54,55)])[$supplierCountryIsDE and $customerCountryIsDE]

cac:CardAccount

DE-R-024-2 (fatal)

If "Payment means type code" (BT-81) contains a code for payment card (48, 54, 55), BG-17 and BG-19 shall not be provided.

(/ubl-invoice:Invoice/cac:PaymentMeans[cbc:PaymentMeansCode = (48,54,55)] |/ubl-creditnote:CreditNote/cac:PaymentMeans[cbc:PaymentMeansCode = (48,54,55)])[$supplierCountryIsDE and $customerCountryIsDE]

not(cac:PayeeFinancialAccount) and not(cac:PaymentMandate)

DE-R-025-1 (fatal)

If "Payment means type code" (BT-81) contains a code for direct debit (59), "DIRECT DEBIT" (BG-19) shall be provided.

(/ubl-invoice:Invoice/cac:PaymentMeans[cbc:PaymentMeansCode = 59] | /ubl-creditnote:CreditNote/cac:PaymentMeans[cbc:PaymentMeansCode = 59])[$supplierCountryIsDE and $customerCountryIsDE]

cac:PaymentMandate

DE-R-025-2 (fatal)

If "Payment means type code" (BT-81) contains a code for direct debit (59), BG-17 and BG-18 shall not be provided.

(/ubl-invoice:Invoice/cac:PaymentMeans[cbc:PaymentMeansCode = 59] | /ubl-creditnote:CreditNote/cac:PaymentMeans[cbc:PaymentMeansCode = 59])[$supplierCountryIsDE and $customerCountryIsDE]

not(cac:PayeeFinancialAccount) and not(cac:CardAccount)

DE-R-026 (warning)

If "Invoice type code" (BT-3) contains the code 384 (Corrected invoice), "PRECEDING INVOICE REFERENCE" (BG-3) should be provided at least once.

(/ubl-invoice:Invoice | /ubl-creditnote:CreditNote)[$supplierCountryIsDE and $customerCountryIsDE]

not(cbc:InvoiceTypeCode = 384 or cbc:CreditNoteTypeCode = 384) or (cac:BillingReference/cac:InvoiceDocumentReference)

DE-R-027 (warning)

"Seller contact telephone number" (BT-42) should contain a valid telephone number. A valid telephone should consist of 3 digits minimum.

(/ubl-invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact | /ubl-creditnote:CreditNote/cac:AccountingSupplierParty/cac:Party/cac:Contact)[$supplierCountryIsDE and $customerCountryIsDE]

matches(normalize-space(cbc:Telephone), $XR-TELEPHONE-REGEX)

DE-R-028 (warning)

"Seller contact email address" (BT-43) should contain exactly one @-sign, which should not be framed by a whitespace or a dot but by at least two characters on each side. A dot should not be the first or last character.

(/ubl-invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact | /ubl-creditnote:CreditNote/cac:AccountingSupplierParty/cac:Party/cac:Contact)[$supplierCountryIsDE and $customerCountryIsDE]

matches(normalize-space(cbc:ElectronicMail), $XR-EMAIL-REGEX)

DE-R-030 (fatal)

If the group "DIRECT DEBIT" (BG-19) is delivered, the element "Bank assigned creditor identifier" (BT-90) shall be provided.

(/ubl-invoice:Invoice | /ubl-creditnote:CreditNote)[$supplierCountryIsDE and $customerCountryIsDE]

[small]#not(cac:PaymentMeans/cac:PaymentMandate) or (cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID[@schemeID='SEPA']

cac:PayeeParty/cac:PartyIdentification/cbc:ID[@schemeID='SEPA'])#

DE-R-031 (fatal)

If the group "DIRECT DEBIT" (BG-19) is delivered, the element "Debited account identifier" (BT-91) shall be provided.

(/ubl-invoice:Invoice | /ubl-creditnote:CreditNote)[$supplierCountryIsDE and $customerCountryIsDE]

not(cac:PaymentMeans/cac:PaymentMandate) or (cac:PaymentMeans/cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID)

DK-R-002 (fatal)

Danish suppliers MUST provide legal entity (CVR-number)

ubl-creditnote:CreditNote[$DKSupplierCountry = 'DK'] | ubl-invoice:Invoice[$DKSupplierCountry = 'DK']

(normalize-space(cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID/text()) != '')

DK-R-003 (warning)

If ItemClassification is provided from Danish suppliers, UNSPSC version 19.0501 should be used.

ubl-creditnote:CreditNote[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:CreditNoteLine | ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:InvoiceLine

not((cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode/@listID = 'TST') and not((cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode/@listVersionID = '19.05.01') or (cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode/@listVersionID = '19.0501') ) )

DK-R-004 (fatal)

When specifying non-VAT Taxes for Danish customers, Danish suppliers MUST use the AllowanceChargeReasonCode="ZZZ" and the 4-digit Tax category MUST be specified in AllowanceChargeReason

cac:AllowanceCharge[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']

notcbc:AllowanceChargeReasonCode = 'ZZZ') and not((string-length(normalize-space(cbc:AllowanceChargeReason/text() = 4) and (number(cbc:AllowanceChargeReason) >= 0) and (number(cbc:AllowanceChargeReason) ⇐ 9999)) )

DK-R-005 (fatal)

For Danish suppliers the following Payment means codes are allowed: 1, 10, 31, 42, 48, 49, 50, 58, 59, 93 and 97

ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:PaymentMeans

contains(' 1 10 31 42 48 49 50 58 59 93 97 ', concat(' ', cbc:PaymentMeansCode, ' '))

DK-R-006 (fatal)

For Danish suppliers bank account and registration account is mandatory if payment means is 31 or 42

ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:PaymentMeans

not(cbc:PaymentMeansCode = '31') or (cbc:PaymentMeansCode = '42' and notnormalize-space(cac:PayeeFinancialAccount/cbc:ID/text( != '') and (normalize-space(cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:ID/text()) != '')) )

DK-R-007 (fatal)

For Danish suppliers PaymentMandate/ID and PayerFinancialAccount/ID are mandatory when payment means is 49

ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:PaymentMeans

notcbc:PaymentMeansCode = '49') and not((normalize-space(cac:PaymentMandate/cbc:ID/text( != '') and (normalize-space(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID/text()) != '')) )

DK-R-008 (fatal)

For Danish Suppliers PaymentID is mandatory and MUST start with 01#, 04# or 15# (kortartkode), and PayeeFinancialAccount/ID (Giro kontonummer) is mandatory and must be 7 characters long, when payment means equals 50 (Giro)

ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:PaymentMeans

notcbc:PaymentMeansCode = '50') and not(((substring(cbc:PaymentID, 1, 3) = '01') or (substring(cbc:PaymentID, 1, 3) = '04#') or (substring(cbc:PaymentID, 1, 3) = '15#' and (string-length(cac:PayeeFinancialAccount/cbc:ID/text()) = 7) ) )#

DK-R-009 (fatal)

For Danish Suppliers if the PaymentID is prefixed with 04# or 15# the 16 digits instruction Id must be added to the PaymentID eg. "04#1234567890123456" when Payment means equals 50 (Giro)

ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:PaymentMeans

notcbc:PaymentMeansCode = '50') and ((substring(cbc:PaymentID, 1, 3) = '04') or (substring(cbc:PaymentID, 1, 3) = '15#' and not(string-length(cbc:PaymentID) = 19) )#

DK-R-010 (fatal)

For Danish Suppliers the PaymentID is mandatory and MUST start with 71#, 73# or 75# (kortartkode) and PayeeFinancialAccount/ID (Kreditornummer) is mandatory and must be exactly 8 characters long, when Payment means equals 93 (FIK)

ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:PaymentMeans

notcbc:PaymentMeansCode = '93') and not(((substring(cbc:PaymentID, 1, 3) = '71') or (substring(cbc:PaymentID, 1, 3) = '73#') or (substring(cbc:PaymentID, 1, 3) = '75#' and (string-length(cac:PayeeFinancialAccount/cbc:ID/text()) = 8) ) )#

DK-R-011 (fatal)

For Danish Suppliers if the PaymentID is prefixed with 71# or 75# the 15-16 digits instruction Id must be added to the PaymentID eg. "71#1234567890123456" when payment Method equals 93 (FIK)

ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:PaymentMeans

notcbc:PaymentMeansCode = '93') and ((substring(cbc:PaymentID, 1, 3) = '71') or (substring(cbc:PaymentID, 1, 3) = '75#' and notstring-length(cbc:PaymentID) = 18) or (string-length(cbc:PaymentID) = 19 )#

DK-R-013 (fatal)

For Danish Suppliers it is mandatory to use schemeID when PartyIdentification/ID is used for AccountingCustomerParty or AccountingSupplierParty

ubl-creditnote:CreditNote[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification | ubl-creditnote:CreditNote[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification | ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification | ubl-invoice:Invoice[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']/cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification

notboolean(cbc:ID and (normalize-space(cbc:ID/@schemeID) = '') )

DK-R-014 (fatal)

For Danish Suppliers it is mandatory to specify schemeID as "0184" (DK CVR-number) when PartyLegalEntity/CompanyID is used for AccountingSupplierParty

ubl-creditnote:CreditNote[$DKSupplierCountry = 'DK'] | ubl-invoice:Invoice[$DKSupplierCountry = 'DK']

not(boolean(cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID and (normalize-space(cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID/@schemeID) != '0184')) )

DK-R-016 (fatal)

For Danish Suppliers, a Credit note cannot have a negative total (PayableAmount)

ubl-creditnote:CreditNote[$DKSupplierCountry = 'DK'] | ubl-invoice:Invoice[$DKSupplierCountry = 'DK']

notboolean(/ubl-creditnote:CreditNote) and ($DKCustomerCountry = 'DK' and (number(cac:LegalMonetaryTotal/cbc:PayableAmount/text()) < 0) )

GR-R-001-1 (fatal)

When the Supplier is Greek, the Invoice Id should consist of 6 segments

/ubl-invoice:Invoice/cbc:ID[$isGreekSender] | /ubl-creditnote:CreditNote/cbc:ID[$isGreekSender]

count($IdSegments) = 6

GR-R-001-2 (fatal)

When the Supplier is Greek, the Invoice Id first segment must be a valid TIN Number and match either the Supplier’s or the Tax Representative’s Tin Number

/ubl-invoice:Invoice/cbc:ID[$isGreekSender] | /ubl-creditnote:CreditNote/cbc:ID[$isGreekSender]

string-length(normalize-space($IdSegments[1])) = 9 and u:TinVerification($IdSegments[1]) and ($IdSegments[1] = //cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/substring(cbc:CompanyID, 3, 9) or $IdSegments[1] = //cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/substring(cbc:CompanyID, 3, 9) )

GR-R-001-3 (fatal)

When the Supplier is Greek, the Invoice Id second segment must be a valid Date that matches the invoice Issue Date

/ubl-invoice:Invoice/cbc:ID[$isGreekSender] | /ubl-creditnote:CreditNote/cbc:ID[$isGreekSender]

string-length(normalize-space($IdSegments[2]))>0 and matches($IdSegments[2],$dateRegExp) and ($tokenizedIdDate[1] = $tokenizedUblIssueDate[3] and $tokenizedIdDate[2] = $tokenizedUblIssueDate[2] and $tokenizedIdDate[3] = $tokenizedUblIssueDate[1])

GR-R-001-4 (fatal)

When Supplier is Greek, the Invoice Id third segment must be a positive integer

/ubl-invoice:Invoice/cbc:ID[$isGreekSender] | /ubl-creditnote:CreditNote/cbc:ID[$isGreekSender]

string-length(normalize-space($IdSegments[3]))>0 and string(number($IdSegments[3])) != 'NaN' and xs:integer($IdSegments[3]) >= 0

GR-R-001-5 (fatal)

When Supplier is Greek, the Invoice Id in the fourth segment must be a valid greek document type

/ubl-invoice:Invoice/cbc:ID[$isGreekSender] | /ubl-creditnote:CreditNote/cbc:ID[$isGreekSender]

string-length(normalize-space($IdSegments[4]))>0 and (some $c in $greekDocumentType satisfies $IdSegments[4] = $c)

GR-R-001-6 (fatal)

When Supplier is Greek, the Invoice Id fifth segment must not be empty

/ubl-invoice:Invoice/cbc:ID[$isGreekSender] | /ubl-creditnote:CreditNote/cbc:ID[$isGreekSender]

[small]#string-length($IdSegments[5]) > 0 #

GR-R-001-7 (fatal)

When Supplier is Greek, the Invoice Id sixth segment must not be empty

/ubl-invoice:Invoice/cbc:ID[$isGreekSender] | /ubl-creditnote:CreditNote/cbc:ID[$isGreekSender]

[small]#string-length($IdSegments[6]) > 0 #

GR-R-002 (fatal)

Greek Suppliers must provide their full name as they are registered in the Greek Business Registry (G.E.MH.) as a legal entity or in the Tax Registry as a natural person

cac:AccountingSupplierParty[$isGreekSender]/cac:Party

string-length(./cac:PartyName/cbc:Name)>0

GR-R-003 (fatal)

For the Greek Suppliers, the VAT must start with 'EL' and must be a valid TIN number

cac:AccountingSupplierParty[$isGreekSender]/cac:Party/cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/cbc:CompanyID

substring(.,1,2) = 'EL' and u:TinVerification(substring(.,3))

GR-R-004-1 (fatal)

When Supplier is Greek, there must be one MARK Number

/ubl-invoice:Invoice[$isGreekSender and ( //cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'GR')] | /ubl-creditnote:CreditNote[$isGreekSender and ( //cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'GR')]

count(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'M.AR.K'])=1

GR-R-004-2 (fatal)

When Supplier is Greek, the MARK Number must be a positive integer

cac:AdditionalDocumentReference[$isGreekSender and ( /*/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'GR') and cbc:DocumentDescription = 'M.AR.K']/cbc:ID

matches(.,'^[1-9]([0-9]*)')

GR-R-005 (fatal)

Greek Suppliers must provide the full name of the buyer

cac:AccountingCustomerParty[$isGreekSender]/cac:Party

string-length(./cac:PartyName/cbc:Name)>0

GR-R-006 (fatal)

Greek Suppliers must provide the VAT number of the buyer, if the buyer is Greek

cac:AccountingCustomerParty[$isGreekSenderandReceiver]/cac:Party

count(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/cbc:CompanyID)=1 and substring(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/cbc:CompanyID,1,2) = 'EL' and u:TinVerification(substring(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/cbc:CompanyID,3))

GR-R-008-2 (fatal)

When Supplier is Greek, there should be no more than one invoice url

/ubl-invoice:Invoice[$isGreekSender and ( //cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'GR')] | /ubl-creditnote:CreditNote[$isGreekSender and ( //cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'GR')]

(count(cac:AdditionalDocumentReference[cbc:DocumentDescription = '#INVOICE

URL']) = 0 ) or (count(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'INVOICE

URL#']) = 1 )

GR-R-008-3 (fatal)

When Supplier is Greek and the INVOICE URL Document reference exists, the External Reference URI should be present

cac:AdditionalDocumentReference[$isGreekSender and cbc:DocumentDescription = 'INVOICE|URL']

string-length(normalize-space(cac:Attachment/cac:ExternalReference/cbc:URI))>0

GR-R-009 (fatal)

Greek suppliers that send an invoice through the PEPPOL network must use a correct TIN number as an electronic address according to PEPPOL Electronic Address Identifier scheme (schemeID 9933).

cac:AccountingSupplierParty/cac:Party[$accountingSupplierCountry='GR' or $accountingSupplierCountry='EL']/cbc:EndpointID

./@schemeID='9933' and u:TinVerification(.)

GR-R-010 (fatal)

Greek Suppliers that send an invoice through the PEPPOL network to a greek buyer must use a correct TIN number as an electronic address according to PEPPOL Electronic Address Identifier scheme (SchemeID 9933)

cac:AccountingCustomerParty[$isGreekSenderandReceiver]/cac:Party/cbc:EndpointID

./@schemeID='9933' and u:TinVerification(.)

GR-S-008-1 (warning)

When Supplier is Greek, there should be one invoice url

/ubl-invoice:Invoice[$isGreekSender and ( //cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'GR')] | /ubl-creditnote:CreditNote[$isGreekSender and ( //cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'GR')]

count(cac:AdditionalDocumentReference[cbc:DocumentDescription = '#INVOICE

URL#'])=1

GR-S-011 (warning)

Greek suppliers must provide their Seller Tax Registration Number, prefixed by the country code

cac:AccountingSupplierParty[$isGreekSender]/cac:Party

count(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/cbc:CompanyID)=1 and substring(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/cbc:CompanyID,1,2) = 'EL' and u:TinVerification(substring(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/cbc:CompanyID,3))

IS-R-001 (warning)

[IS-R-001]-If seller is icelandic then invoice type should be 380 or 381 — Ef seljandi er íslenskur þá ætti gerð reiknings (BT-3) að vera sölureikningur (380) eða kreditreikningur (381).

ubl-creditnote:CreditNote[$SupplierCountry = 'IS'] | ubl-invoice:Invoice[$SupplierCountry = 'IS']

( ( not(contains(normalize-space(cbc:InvoiceTypeCode),' ')) and contains( ' 380 381 ',concat(' ',normalize-space(cbc:InvoiceTypeCode),' ') ) ) ) or ( ( not(contains(normalize-space(cbc:CreditNoteTypeCode),' ')) and contains( ' 380 381 ',concat(' ',normalize-space(cbc:CreditNoteTypeCode),' ') ) ) )

IS-R-002 (fatal)

[IS-R-002]-If seller is icelandic then it shall contain sellers legal id — Ef seljandi er íslenskur þá skal reikningur innihalda íslenska kennitölu seljanda (BT-30).

ubl-creditnote:CreditNote[$SupplierCountry = 'IS'] | ubl-invoice:Invoice[$SupplierCountry = 'IS']

exists(cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID) and cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID/@schemeID = '0196'

IS-R-003 (fatal)

[IS-R-003]-If seller is icelandic then it shall contain his address with street name and zip code — Ef seljandi er íslenskur þá skal heimilisfang seljanda innihalda götuheiti og póstnúmer (BT-35 og BT-38).

ubl-creditnote:CreditNote[$SupplierCountry = 'IS'] | ubl-invoice:Invoice[$SupplierCountry = 'IS']

exists(cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:StreetName) and exists(cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:PostalZone)

IS-R-004 (fatal)

[IS-R-004]-If seller and buyer are icelandic then the invoice shall contain the buyers icelandic legal identifier — Ef seljandi og kaupandi eru íslenskir þá skal reikningurinn innihalda íslenska kennitölu kaupanda (BT-47).

ubl-creditnote:CreditNote[$SupplierCountry = 'IS' and $CustomerCountry = 'IS']/cac:AccountingCustomerParty | ubl-invoice:Invoice[$SupplierCountry = 'IS' and $CustomerCountry = 'IS']/cac:AccountingCustomerParty

exists(cac:Party/cac:PartyLegalEntity/cbc:CompanyID) and cac:Party/cac:PartyLegalEntity/cbc:CompanyID/@schemeID = '0196'

IS-R-005 (fatal)

[IS-R-005]-If seller and buyer are icelandic then the invoice shall contain the buyers address with street name and zip code — Ef seljandi og kaupandi eru íslenskir þá skal heimilisfang kaupanda innihalda götuheiti og póstnúmer (BT-50 og BT-53)

ubl-creditnote:CreditNote[$SupplierCountry = 'IS' and $CustomerCountry = 'IS']/cac:AccountingCustomerParty | ubl-invoice:Invoice[$SupplierCountry = 'IS' and $CustomerCountry = 'IS']/cac:AccountingCustomerParty

exists(cac:Party/cac:PostalAddress/cbc:StreetName) and exists(cac:Party/cac:PostalAddress/cbc:PostalZone)

IS-R-006 (fatal)

[IS-R-006]-If seller is icelandic and payment means code is 9 then a 12 digit account id must exist — Ef seljandi er íslenskur og greiðslumáti (BT-81) er krafa (kóti 9) þá skal koma fram 12 stafa númer (bankanúmer, höfuðbók 66 og reikningsnúmer) (BT-84)

ubl-creditnote:CreditNote[$SupplierCountry = 'IS'] | ubl-invoice:Invoice[$SupplierCountry = 'IS']

exists(cac:PaymentMeans[cbc:PaymentMeansCode = '9']/cac:PayeeFinancialAccount/cbc:ID) and string-length(normalize-space(cac:PaymentMeans[cbc:PaymentMeansCode = '9']/cac:PayeeFinancialAccount/cbc:ID)) = 12 or not(exists(cac:PaymentMeans[cbc:PaymentMeansCode = '9']))

IS-R-007 (fatal)

[IS-R-007]-If seller is icelandic and payment means code is 42 then a 12 digit account id must exist — Ef seljandi er íslenskur og greiðslumáti (BT-81) er millifærsla (kóti 42) þá skal koma fram 12 stafa reikningnúmer (BT-84)

ubl-creditnote:CreditNote[$SupplierCountry = 'IS'] | ubl-invoice:Invoice[$SupplierCountry = 'IS']

exists(cac:PaymentMeans[cbc:PaymentMeansCode = '42']/cac:PayeeFinancialAccount/cbc:ID) and string-length(normalize-space(cac:PaymentMeans[cbc:PaymentMeansCode = '42']/cac:PayeeFinancialAccount/cbc:ID)) = 12 or not(exists(cac:PaymentMeans[cbc:PaymentMeansCode = '42']))

IS-R-008 (fatal)

[IS-R-008]-If seller is icelandic and invoice contains supporting description EINDAGI then the id form must be YYYY-MM-DD — Ef seljandi er íslenskur þá skal eindagi (BT-122, DocumentDescription = EINDAGI) vera á forminu YYYY-MM-DD.

ubl-creditnote:CreditNote[$SupplierCountry = 'IS'] | ubl-invoice:Invoice[$SupplierCountry = 'IS']

(exists(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'EINDAGI']) and string-length(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'EINDAGI']/cbc:ID) = 10 and (string(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'EINDAGI']/cbc:ID) castable as xs:date)) or not(exists(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'EINDAGI']))

IS-R-009 (fatal)

[IS-R-009]-If seller is icelandic and invoice contains supporting description EINDAGI invoice must have due date — Ef seljandi er íslenskur þá skal reikningur sem inniheldur eindaga (BT-122, DocumentDescription = EINDAGI) einnig hafa gjalddaga (BT-9).

ubl-creditnote:CreditNote[$SupplierCountry = 'IS'] | ubl-invoice:Invoice[$SupplierCountry = 'IS']

(exists(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'EINDAGI']) and exists(cbc:DueDate)) or not(exists(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'EINDAGI']))

IS-R-010 (fatal)

[IS-R-010]-If seller is icelandic and invoice contains supporting description EINDAGI the id date must be same or later than due date — Ef seljandi er íslenskur þá skal eindagi (BT-122, DocumentDescription = EINDAGI) skal vera sami eða síðar en gjalddagi (BT-9) ef eindagi er til staðar.

ubl-creditnote:CreditNote[$SupplierCountry = 'IS'] | ubl-invoice:Invoice[$SupplierCountry = 'IS']

(exists(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'EINDAGI']) and (cbc:DueDate) ⇐ (cac:AdditionalDocumentReference[cbc:DocumentDescription = 'EINDAGI']/cbc:ID)) or not(exists(cac:AdditionalDocumentReference[cbc:DocumentDescription = 'EINDAGI']))

IT-R-001 (fatal)

[IT-R-001] BT-32 (Seller tax registration identifier) - For Italian suppliers BT-32 minimum length 11 and maximum length shall be 16. Per i fornitori italiani il BT-32 deve avere una lunghezza tra 11 e 16 caratteri

cac:AccountingSupplierParty/cac:Party[$supplierCountry = 'IT']/cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) != 'VAT']

matches(normalize-space(cbc:CompanyID),'^[A-Z0-9]{11,16}$')

IT-R-002 (fatal)

[IT-R-002] BT-35 (Seller address line 1) - Italian suppliers MUST provide the postal address line 1 - I fornitori italiani devono indicare l’indirizzo postale.

cac:AccountingSupplierParty/cac:Party[$supplierCountry = 'IT']

cac:PostalAddress/cbc:StreetName

IT-R-003 (fatal)

[IT-R-003] BT-37 (Seller city) - Italian suppliers MUST provide the postal address city - I fornitori italiani devono indicare la città di residenza.

cac:AccountingSupplierParty/cac:Party[$supplierCountry = 'IT']

cac:PostalAddress/cbc:CityName

IT-R-004 (fatal)

">[IT-R-004] BT-38 (Seller post code) - Italian suppliers MUST provide the postal address post code - I fornitori italiani devono indicare il CAP di residenza.

cac:AccountingSupplierParty/cac:Party[$supplierCountry = 'IT']

cac:PostalAddress/cbc:PostalZone

NL-R-001 (fatal)

[NL-R-001] For suppliers in the Netherlands, if the document is a creditnote, the document MUST contain an invoice reference (cac:BillingReference/cac:InvoiceDocumentReference/cbc:ID)

cbc:CreditNoteTypeCode[$supplierCountryIsNL]

/*/cac:BillingReference/cac:InvoiceDocumentReference/cbc:ID

NL-R-002 (fatal)

[NL-R-002] For suppliers in the Netherlands the supplier’s address (cac:AccountingSupplierParty/cac:Party/cac:PostalAddress) MUST contain street name (cbc:StreetName), city (cbc:CityName) and post code (cbc:PostalZone)

cac:AccountingSupplierParty/cac:Party/cac:PostalAddress[$supplierCountryIsNL]

cbc:StreetName and cbc:CityName and cbc:PostalZone

NL-R-003 (fatal)

[NL-R-003] For suppliers in the Netherlands, the legal entity identifier MUST be either a KVK or OIN number (schemeID 0106 or 0190)

cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID[$supplierCountryIsNL]

(contains(concat(' ', string-join(@schemeID, ' '), ' '), ' 0106 ') or contains(concat(' ', string-join(@schemeID, ' '), ' '), ' 0190 ')) and (normalize-space(.) != '')

NL-R-004 (fatal)

[NL-R-004] For suppliers in the Netherlands, if the customer is in the Netherlands, the customer address (cac:AccountingCustomerParty/cac:Party/cac:PostalAddress) MUST contain the street name (cbc:StreetName), the city (cbc:CityName) and post code (cbc:PostalZone)

cac:AccountingCustomerParty/cac:Party/cac:PostalAddress[$supplierCountryIsNL and $customerCountryIsNL]

cbc:StreetName and cbc:CityName and cbc:PostalZone

NL-R-005 (fatal)

[NL-R-005] For suppliers in the Netherlands, if the customer is in the Netherlands, the customer’s legal entity identifier MUST be either a KVK or OIN number (schemeID 0106 or 0190)

cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID[$supplierCountryIsNL and $customerCountryIsNL]

(contains(concat(' ', string-join(@schemeID, ' '), ' '), ' 0106 ') or contains(concat(' ', string-join(@schemeID, ' '), ' '), ' 0190 ')) and (normalize-space(.) != '')

NL-R-006 (fatal)

[NL-R-006] For suppliers in the Netherlands, if the fiscal representative is in the Netherlands, the representative’s address (cac:TaxRepresentativeParty/cac:PostalAddress) MUST contain street name (cbc:StreetName), city (cbc:CityName) and post code (cbc:PostalZone)

cac:TaxRepresentativeParty/cac:PostalAddress[$supplierCountryIsNL and $taxRepresentativeCountryIsNL]

cbc:StreetName and cbc:CityName and cbc:PostalZone

NL-R-007 (fatal)

[NL-R-007] For suppliers in the Netherlands, the supplier MUST provide a means of payment (cac:PaymentMeans) if the payment is from customer to supplier

cac:LegalMonetaryTotal[$supplierCountryIsNL]

(/ubl-invoice:Invoice and xs:decimal(cbc:PayableAmount) ⇐ 0.0) or (/ubl-creditnote:CreditNote and xs:decimal(cbc:PayableAmount) >= 0.0) or (//cac:PaymentMeans)

NL-R-008 (fatal)

[NL-R-008] For suppliers in the Netherlands, if the customer is in the Netherlands, the payment means code (cac:PaymentMeans/cbc:PaymentMeansCode) MUST be one of 30, 48, 49, 57, 58 or 59

cac:PaymentMeans[$supplierCountryIsNL and $customerCountryIsNL]

normalize-space(cbc:PaymentMeansCode) = '30' or normalize-space(cbc:PaymentMeansCode) = '48' or normalize-space(cbc:PaymentMeansCode) = '49' or normalize-space(cbc:PaymentMeansCode) = '57' or normalize-space(cbc:PaymentMeansCode) = '58' or normalize-space(cbc:PaymentMeansCode) = '59'

NL-R-009 (fatal)

[NL-R-009] For suppliers in the Netherlands, if an order line reference (cac:OrderLineReference/cbc:LineID) is used, there must be an order reference on the document level (cac:OrderReference/cbc:ID)

cac:OrderLineReference/cbc:LineID[$supplierCountryIsNL]

exists(/*/cac:OrderReference/cbc:ID)

NO-R-001 (fatal)

For Norwegian suppliers, a VAT number MUST be the country code prefix NO followed by a valid Norwegian organization number (nine numbers) followed by the letters MVA.

cac:AccountingSupplierParty/cac:Party[$supplierCountry = 'NO']

cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/substring(cbc:CompanyID, 1, 2)='NO' and matches(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/substring(cbc:CompanyID,3), '^[0-9]{9}MVA$') and u:mod11(substring(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/cbc:CompanyID, 3, 9)) or not(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'VAT']/substring(cbc:CompanyID, 1, 2)='NO')

NO-R-002 (warning)

For Norwegian suppliers, most invoice issuers are required to append "Foretaksregisteret" to their invoice. "Dersom selger er aksjeselskap, allmennaksjeselskap eller filial av utenlandsk selskap skal også ordet «Foretaksregisteret» fremgå av salgsdokumentet, jf. foretaksregisterloven § 10-2."

cac:AccountingSupplierParty/cac:Party[$supplierCountry = 'NO']

normalize-space(cac:PartyTaxScheme[normalize-space(cac:TaxScheme/cbc:ID) = 'TAX']/cbc:CompanyID) = 'Foretaksregisteret'

SE-R-001 (fatal)

For Swedish suppliers, Swedish VAT-numbers must consist of 14 characters.

//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE' and cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/substring(cbc:CompanyID, 1, 2) = 'SE']

string-length(normalize-space(cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/cbc:CompanyID)) = 14

SE-R-002 (fatal)

For Swedish suppliers, the Swedish VAT-numbers must have the trailing 12 characters in numeric form

//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE' and cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/substring(cbc:CompanyID, 1, 2) = 'SE']

string(number(substring(cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/cbc:CompanyID, 3, 12))) != 'NaN'

SE-R-003 (fatal)

Swedish organisation numbers should be numeric.

//cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity[../cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE' and cbc:CompanyID]

string(number(cbc:CompanyID)) != 'NaN'

SE-R-004 (fatal)

Swedish organisation numbers consist of 10 characters.

//cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity[../cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE' and cbc:CompanyID]

string-length(normalize-space(cbc:CompanyID)) = 10

SE-R-005 (fatal)

For Swedish suppliers, when using Seller tax registration identifier, 'Godkänd för F-skatt' must be stated

//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE' and exists(cac:PartyLegalEntity/cbc:CompanyID)]/cac:PartyTaxScheme[normalize-space(upper-case(cac:TaxScheme/cbc:ID)) != 'VAT']/cbc:CompanyID

normalize-space(upper-case(.)) = 'GODKÄND FÖR F-SKATT'

SE-R-006 (fatal)

For Swedish suppliers, only standard VAT rate of 6, 12 or 25 are used

//cac:TaxCategory[//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE' and cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/substring(cbc:CompanyID, 1, 2) = 'SE'] and cbc:ID = 'S'] | //cac:ClassifiedTaxCategory[//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE' and cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'VAT']/substring(cbc:CompanyID, 1, 2) = 'SE'] and cbc:ID = 'S']

number(cbc:Percent) = 25 or number(cbc:Percent) = 12 or number(cbc:Percent) = 6

SE-R-007 (warning)

For Swedish suppliers using Plusgiro, the Account ID must be numeric

//cac:PaymentMeans[//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE'] and normalize-space(cbc:PaymentMeansCode) = '30' and normalize-space(cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:ID) = 'SE:PLUSGIRO']/cac:PayeeFinancialAccount/cbc:ID

string(number(normalize-space(.))) != 'NaN'

SE-R-008 (warning)

For Swedish suppliers using Bankgiro, the Account ID must be numeric

//cac:PaymentMeans[//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE'] and normalize-space(cbc:PaymentMeansCode) = '30' and normalize-space(cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:ID) = 'SE:BANKGIRO']/cac:PayeeFinancialAccount/cbc:ID

string(number(normalize-space(.))) != 'NaN'

SE-R-009 (warning)

For Swedish suppliers using Bankgiro, the Account ID must have 7-8 characters

//cac:PaymentMeans[//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE'] and normalize-space(cbc:PaymentMeansCode) = '30' and normalize-space(cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:ID) = 'SE:BANKGIRO']/cac:PayeeFinancialAccount/cbc:ID

string-length(normalize-space(.)) = 7 or string-length(normalize-space(.)) = 8

SE-R-010 (warning)

For Swedish suppliers using Plusgiro, the Account ID must have 2-8 characters

//cac:PaymentMeans[//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE'] and normalize-space(cbc:PaymentMeansCode) = '30' and normalize-space(cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:ID) = 'SE:PLUSGIRO']/cac:PayeeFinancialAccount/cbc:ID

string-length(normalize-space(.)) >= 2 and string-length(normalize-space(.)) ⇐ 8

SE-R-011 (warning)

For Swedish suppliers using Swedish Bankgiro or Plusgiro, the proper way to indicate this is to use Code 30 for PaymentMeans and FinancialInstitutionBranch ID with code SE:BANKGIRO or SE:PLUSGIRO

//cac:PaymentMeans[//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE'] and (cbc:PaymentMeansCode = normalize-space('50') or cbc:PaymentMeansCode = normalize-space('56'))]

false()

SE-R-012 (warning)

For domestic transactions between Swedish trading partners, credit transfer should be indicated by PaymentMeansCode="30"

//cac:PaymentMeans[//cac:AccountingSupplierParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE'] and //cac:AccountingCustomerParty/cac:Party[cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE'] and (cbc:PaymentMeansCode = normalize-space('31'))]

false()

SE-R-013 (fatal)

The last digit of a Swedish organization number must be valid according to the Luhn algorithm.

//cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity[../cac:PostalAddress/cac:Country/cbc:IdentificationCode = 'SE' and cbc:CompanyID]

u:checkSEOrgnr(normalize-space(cbc:CompanyID))

Appendix D: Syntax rules

The following EN 16931 syntax rules apply to invoice and credit note transaction as it is used in this Peppol BIS.

Table 21. EN 16931 syntax rules
Rule Message

UBL-CR-001 (warning)

A UBL invoice should not include extensions

UBL-CR-002 (warning)

A UBL invoice should not include the UBLVersionID or it should be 2.1

UBL-CR-003 (warning)

A UBL invoice should not include the ProfileExecutionID

UBL-CR-004 (warning)

A UBL invoice should not include the CopyIndicator

UBL-CR-005 (warning)

A UBL invoice should not include the UUID

UBL-CR-006 (warning)

A UBL invoice should not include the IssueTime

UBL-CR-007 (warning)

A UBL invoice should not include the PricingCurrencyCode

UBL-CR-008 (warning)

A UBL invoice should not include the PaymentCurrencyCode

UBL-CR-009 (warning)

A UBL invoice should not include the PaymentAlternativeCurrencyCode

UBL-CR-010 (warning)

A UBL invoice should not include the AccountingCostCode

UBL-CR-011 (warning)

A UBL invoice should not include the LineCountNumeric

UBL-CR-012 (warning)

A UBL invoice should not include the InvoicePeriod StartTime

UBL-CR-013 (warning)

A UBL invoice should not include the InvoicePeriod EndTime

UBL-CR-014 (warning)

A UBL invoice should not include the InvoicePeriod DurationMeasure

UBL-CR-015 (warning)

A UBL invoice should not include the InvoicePeriod Description

UBL-CR-016 (warning)

A UBL invoice should not include the OrderReference CopyIndicator

UBL-CR-017 (warning)

A UBL invoice should not include the OrderReference UUID

UBL-CR-018 (warning)

A UBL invoice should not include the OrderReference IssueDate

UBL-CR-019 (warning)

A UBL invoice should not include the OrderReference IssueTime

UBL-CR-020 (warning)

A UBL invoice should not include the OrderReference CustomerReference

UBL-CR-021 (warning)

A UBL invoice should not include the OrderReference OrderTypeCode

UBL-CR-022 (warning)

A UBL invoice should not include the OrderReference DocumentReference

UBL-CR-023 (warning)

A UBL invoice should not include the BillingReference CopyIndicator

UBL-CR-024 (warning)

A UBL invoice should not include the BillingReference UUID

UBL-CR-025 (warning)

A UBL invoice should not include the BillingReference IssueTime

UBL-CR-026 (warning)

A UBL invoice should not include the BillingReference DocumentTypeCode

UBL-CR-027 (warning)

A UBL invoice should not include the BillingReference DocumentType

UBL-CR-028 (warning)

A UBL invoice should not include the BillingReference Xpath

UBL-CR-029 (warning)

A UBL invoice should not include the BillingReference LanguageID

UBL-CR-030 (warning)

A UBL invoice should not include the BillingReference LocaleCode

UBL-CR-031 (warning)

A UBL invoice should not include the BillingReference VersionID

UBL-CR-032 (warning)

A UBL invoice should not include the BillingReference DocumentStatusCode

UBL-CR-033 (warning)

A UBL invoice should not include the BillingReference DocumenDescription

UBL-CR-034 (warning)

A UBL invoice should not include the BillingReference Attachment

UBL-CR-035 (warning)

A UBL invoice should not include the BillingReference ValidityPeriod

UBL-CR-036 (warning)

A UBL invoice should not include the BillingReference IssuerParty

UBL-CR-037 (warning)

A UBL invoice should not include the BillingReference ResultOfVerification

UBL-CR-038 (warning)

A UBL invoice should not include the BillingReference SelfBilledInvoiceDocumentReference

UBL-CR-039 (warning)

A UBL invoice should not include the BillingReference CreditNoteDocumentReference

UBL-CR-040 (warning)

A UBL invoice should not include the BillingReference SelfBilledCreditNoteDocumentReference

UBL-CR-041 (warning)

A UBL invoice should not include the BillingReference DebitNoteDocumentReference

UBL-CR-042 (warning)

A UBL invoice should not include the BillingReference ReminderDocumentReference

UBL-CR-043 (warning)

A UBL invoice should not include the BillingReference AdditionalDocumentReference

UBL-CR-044 (warning)

A UBL invoice should not include the BillingReference BillingReferenceLine

UBL-CR-045 (warning)

A UBL invoice should not include the DespatchDocumentReference CopyIndicator

UBL-CR-046 (warning)

A UBL invoice should not include the DespatchDocumentReference UUID

UBL-CR-047 (warning)

A UBL invoice should not include the DespatchDocumentReference IssueDate

UBL-CR-048 (warning)

A UBL invoice should not include the DespatchDocumentReference IssueTime

UBL-CR-049 (warning)

A UBL invoice should not include the DespatchDocumentReference DocumentTypeCode

UBL-CR-050 (warning)

A UBL invoice should not include the DespatchDocumentReference DocumentType

UBL-CR-051 (warning)

A UBL invoice should not include the DespatchDocumentReference Xpath

UBL-CR-052 (warning)

A UBL invoice should not include the DespatchDocumentReference LanguageID

UBL-CR-053 (warning)

A UBL invoice should not include the DespatchDocumentReference LocaleCode

UBL-CR-054 (warning)

A UBL invoice should not include the DespatchDocumentReference VersionID

UBL-CR-055 (warning)

A UBL invoice should not include the DespatchDocumentReference DocumentStatusCode

UBL-CR-056 (warning)

A UBL invoice should not include the DespatchDocumentReference DocumentDescription

UBL-CR-057 (warning)

A UBL invoice should not include the DespatchDocumentReference Attachment

UBL-CR-058 (warning)

A UBL invoice should not include the DespatchDocumentReference ValidityPeriod

UBL-CR-059 (warning)

A UBL invoice should not include the DespatchDocumentReference IssuerParty

UBL-CR-060 (warning)

A UBL invoice should not include the DespatchDocumentReference ResultOfVerification

UBL-CR-061 (warning)

A UBL invoice should not include the ReceiptDocumentReference CopyIndicator

UBL-CR-062 (warning)

A UBL invoice should not include the ReceiptDocumentReference UUID

UBL-CR-063 (warning)

A UBL invoice should not include the ReceiptDocumentReference IssueDate

UBL-CR-064 (warning)

A UBL invoice should not include the ReceiptDocumentReference IssueTime

UBL-CR-065 (warning)

A UBL invoice should not include the ReceiptDocumentReference DocumentTypeCode

UBL-CR-066 (warning)

A UBL invoice should not include the ReceiptDocumentReference DocumentType

UBL-CR-067 (warning)

A UBL invoice should not include the ReceiptDocumentReference Xpath

UBL-CR-068 (warning)

A UBL invoice should not include the ReceiptDocumentReference LanguageID

UBL-CR-069 (warning)

A UBL invoice should not include the ReceiptDocumentReference LocaleCode

UBL-CR-070 (warning)

A UBL invoice should not include the ReceiptDocumentReference VersionID

UBL-CR-071 (warning)

A UBL invoice should not include the ReceiptDocumentReference DocumentStatusCode

UBL-CR-072 (warning)

A UBL invoice should not include the ReceiptDocumentReference DocumentDescription

UBL-CR-073 (warning)

A UBL invoice should not include the ReceiptDocumentReference Attachment

UBL-CR-074 (warning)

A UBL invoice should not include the ReceiptDocumentReference ValidityPeriod

UBL-CR-075 (warning)

A UBL invoice should not include the ReceiptDocumentReference IssuerParty

UBL-CR-076 (warning)

A UBL invoice should not include the ReceiptDocumentReference ResultOfVerification

UBL-CR-077 (warning)

A UBL invoice should not include the StatementDocumentReference

UBL-CR-078 (warning)

A UBL invoice should not include the OriginatorDocumentReference CopyIndicator

UBL-CR-079 (warning)

A UBL invoice should not include the OriginatorDocumentReference UUID

UBL-CR-080 (warning)

A UBL invoice should not include the OriginatorDocumentReference IssueDate

UBL-CR-081 (warning)

A UBL invoice should not include the OriginatorDocumentReference IssueTime

UBL-CR-082 (warning)

A UBL invoice should not include the OriginatorDocumentReference DocumentTypeCode

UBL-CR-083 (warning)

A UBL invoice should not include the OriginatorDocumentReference DocumentType

UBL-CR-084 (warning)

A UBL invoice should not include the OriginatorDocumentReference Xpath

UBL-CR-085 (warning)

A UBL invoice should not include the OriginatorDocumentReference LanguageID

UBL-CR-086 (warning)

A UBL invoice should not include the OriginatorDocumentReference LocaleCode

UBL-CR-087 (warning)

A UBL invoice should not include the OriginatorDocumentReference VersionID

UBL-CR-088 (warning)

A UBL invoice should not include the OriginatorDocumentReference DocumentStatusCode

UBL-CR-089 (warning)

A UBL invoice should not include the OriginatorDocumentReference DocumentDescription

UBL-CR-090 (warning)

A UBL invoice should not include the OriginatorDocumentReference Attachment

UBL-CR-091 (warning)

A UBL invoice should not include the OriginatorDocumentReference ValidityPeriod

UBL-CR-092 (warning)

A UBL invoice should not include the OriginatorDocumentReference IssuerParty

UBL-CR-093 (warning)

A UBL invoice should not include the OriginatorDocumentReference ResultOfVerification

UBL-CR-094 (warning)

A UBL invoice should not include the ContractDocumentReference CopyIndicator

UBL-CR-095 (warning)

A UBL invoice should not include the ContractDocumentReference UUID

UBL-CR-096 (warning)

A UBL invoice should not include the ContractDocumentReference IssueDate

UBL-CR-097 (warning)

A UBL invoice should not include the ContractDocumentReference IssueTime

UBL-CR-098 (warning)

A UBL invoice should not include the ContractDocumentReference DocumentTypeCode

UBL-CR-099 (warning)

A UBL invoice should not include the ContractDocumentReference DocumentType

UBL-CR-100 (warning)

A UBL invoice should not include the ContractDocumentReference Xpath

UBL-CR-101 (warning)

A UBL invoice should not include the ContractDocumentReference LanguageID

UBL-CR-102 (warning)

A UBL invoice should not include the ContractDocumentReference LocaleCode

UBL-CR-103 (warning)

A UBL invoice should not include the ContractDocumentReference VersionID

UBL-CR-104 (warning)

A UBL invoice should not include the ContractDocumentReference DocumentStatusCode

UBL-CR-105 (warning)

A UBL invoice should not include the ContractDocumentReference DocumentDescription

UBL-CR-106 (warning)

A UBL invoice should not include the ContractDocumentReference Attachment

UBL-CR-107 (warning)

A UBL invoice should not include the ContractDocumentReference ValidityPeriod

UBL-CR-108 (warning)

A UBL invoice should not include the ContractDocumentReference IssuerParty

UBL-CR-109 (warning)

A UBL invoice should not include the ContractDocumentReference ResultOfVerification

UBL-CR-110 (warning)

A UBL invoice should not include the AdditionalDocumentReference CopyIndicator

UBL-CR-111 (warning)

A UBL invoice should not include the AdditionalDocumentReference UUID

UBL-CR-112 (warning)

A UBL invoice should not include the AdditionalDocumentReference IssueDate

UBL-CR-113 (warning)

A UBL invoice should not include the AdditionalDocumentReference IssueTime

UBL-CR-114 (warning)

A UBL invoice should not include the AdditionalDocumentReference DocumentType

UBL-CR-115 (warning)

A UBL invoice should not include the AdditionalDocumentReference Xpath

UBL-CR-116 (warning)

A UBL invoice should not include the AdditionalDocumentReference LanguageID

UBL-CR-117 (warning)

A UBL invoice should not include the AdditionalDocumentReference LocaleCode

UBL-CR-118 (warning)

A UBL invoice should not include the AdditionalDocumentReference VersionID

UBL-CR-119 (warning)

A UBL invoice should not include the AdditionalDocumentReference DocumentStatusCode

UBL-CR-121 (warning)

A UBL invoice should not include the AdditionalDocumentReference Attachment External DocumentHash

UBL-CR-122 (warning)

A UBL invoice should not include the AdditionalDocumentReference Attachment External HashAlgorithmMethod

UBL-CR-123 (warning)

A UBL invoice should not include the AdditionalDocumentReference Attachment External ExpiryDate

UBL-CR-124 (warning)

A UBL invoice should not include the AdditionalDocumentReference Attachment External ExpiryTime

UBL-CR-125 (warning)

A UBL invoice should not include the AdditionalDocumentReference Attachment External MimeCode

UBL-CR-126 (warning)

A UBL invoice should not include the AdditionalDocumentReference Attachment External FormatCode

UBL-CR-127 (warning)

A UBL invoice should not include the AdditionalDocumentReference Attachment External EncodingCode

UBL-CR-128 (warning)

A UBL invoice should not include the AdditionalDocumentReference Attachment External CharacterSetCode

UBL-CR-129 (warning)

A UBL invoice should not include the AdditionalDocumentReference Attachment External FileName

UBL-CR-130 (warning)

A UBL invoice should not include the AdditionalDocumentReference Attachment External Descriprion

UBL-CR-131 (warning)

A UBL invoice should not include the AdditionalDocumentReference ValidityPeriod

UBL-CR-132 (warning)

A UBL invoice should not include the AdditionalDocumentReference IssuerParty

UBL-CR-133 (warning)

A UBL invoice should not include the AdditionalDocumentReference ResultOfVerification

UBL-CR-134 (warning)

A UBL invoice should not include the ProjectReference UUID

UBL-CR-135 (warning)

A UBL invoice should not include the ProjectReference IssueDate

UBL-CR-136 (warning)

A UBL invoice should not include the ProjectReference WorkPhaseReference

UBL-CR-137 (warning)

A UBL invoice should not include the Signature

UBL-CR-138 (warning)

A UBL invoice should not include the AccountingSupplierParty CustomerAssignedAccountID

UBL-CR-139 (warning)

A UBL invoice should not include the AccountingSupplierParty AdditionalAccountID

UBL-CR-140 (warning)

A UBL invoice should not include the AccountingSupplierParty DataSendingCapability

UBL-CR-141 (warning)

A UBL invoice should not include the AccountingSupplierParty Party MarkCareIndicator

UBL-CR-142 (warning)

A UBL invoice should not include the AccountingSupplierParty Party MarkAttentionIndicator

UBL-CR-143 (warning)

A UBL invoice should not include the AccountingSupplierParty Party WebsiteURI

UBL-CR-144 (warning)

A UBL invoice should not include the AccountingSupplierParty Party LogoReferenceID

UBL-CR-145 (warning)

A UBL invoice should not include the AccountingSupplierParty Party IndustryClassificationCode

UBL-CR-146 (warning)

A UBL invoice should not include the AccountingSupplierParty Party Language

UBL-CR-147 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress ID

UBL-CR-148 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress AddressTypeCode

UBL-CR-149 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress AddressFormatCode

UBL-CR-150 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress Postbox

UBL-CR-151 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress Floor

UBL-CR-152 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress Room

UBL-CR-153 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress BlockName

UBL-CR-154 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress BuildingName

UBL-CR-155 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress BuildingNumber

UBL-CR-156 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress InhouseMail

UBL-CR-157 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress Department

UBL-CR-158 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress MarkAttention

UBL-CR-159 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress MarkCare

UBL-CR-160 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress PlotIdentification

UBL-CR-161 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress CitySubdivisionName

UBL-CR-162 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress CountrySubentityCode

UBL-CR-163 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress Region

UBL-CR-164 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress District

UBL-CR-165 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress TimezoneOffset

UBL-CR-166 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress Country Name

UBL-CR-167 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PostalAddress LocationCoordinate

UBL-CR-168 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PhysicalLocation

UBL-CR-169 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyTaxScheme RegistrationName

UBL-CR-170 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyTaxScheme TaxLevelCode

UBL-CR-171 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyTaxScheme ExemptionReasonCode

UBL-CR-172 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyTaxScheme ExemptionReason

UBL-CR-173 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyTaxScheme RegistrationAddress

UBL-CR-174 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyTaxScheme TaxScheme Name

UBL-CR-175 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyTaxScheme TaxScheme TaxTypeCode

UBL-CR-176 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyTaxScheme TaxScheme CurrencyCode

UBL-CR-177 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyTaxScheme TaxScheme JurisdictionRegionAddress

UBL-CR-178 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyLegalEntity RegistrationDate

UBL-CR-179 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyLegalEntity RegistrationExpirationDate

UBL-CR-180 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyLegalEntity CompanyLegalFormCode

UBL-CR-181 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyLegalEntity SoleProprietorshipIndicator

UBL-CR-182 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyLegalEntity CompanyLiquidationStatusCode

UBL-CR-183 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyLegalEntity CorporateStockAmount

UBL-CR-184 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyLegalEntity FullyPaidSharesIndicator

UBL-CR-185 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyLegalEntity RegistrationAddress

UBL-CR-186 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyLegalEntity CorporateRegistrationScheme

UBL-CR-187 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyLegalEntity HeadOfficeParty

UBL-CR-188 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PartyLegalEntity ShareholderParty

UBL-CR-189 (warning)

A UBL invoice should not include the AccountingSupplierParty Party Contact ID

UBL-CR-190 (warning)

A UBL invoice should not include the AccountingSupplierParty Party Contact Telefax

UBL-CR-191 (warning)

A UBL invoice should not include the AccountingSupplierParty Party Contact Note

UBL-CR-192 (warning)

A UBL invoice should not include the AccountingSupplierParty Party Contact OtherCommunication

UBL-CR-193 (warning)

A UBL invoice should not include the AccountingSupplierParty Party Person

UBL-CR-194 (warning)

A UBL invoice should not include the AccountingSupplierParty Party AgentParty

UBL-CR-195 (warning)

A UBL invoice should not include the AccountingSupplierParty Party ServiceProviderParty

UBL-CR-196 (warning)

A UBL invoice should not include the AccountingSupplierParty Party PowerOfAttorney

UBL-CR-197 (warning)

A UBL invoice should not include the AccountingSupplierParty Party FinancialAccount

UBL-CR-198 (warning)

A UBL invoice should not include the AccountingSupplierParty DespatchContact

UBL-CR-199 (warning)

A UBL invoice should not include the AccountingSupplierParty AccountingContact

UBL-CR-200 (warning)

A UBL invoice should not include the AccountingSupplierParty SellerContact

UBL-CR-201 (warning)

A UBL invoice should not include the AccountingCustomerParty CustomerAssignedAccountID

UBL-CR-202 (warning)

A UBL invoice should not include the AccountingCustomerParty SupplierAssignedAccountID

UBL-CR-203 (warning)

A UBL invoice should not include the AccountingCustomerParty AdditionalAccountID

UBL-CR-204 (warning)

A UBL invoice should not include the AccountingCustomerParty Party MarkCareIndicator

UBL-CR-205 (warning)

A UBL invoice should not include the AccountingCustomerParty Party MarkAttentionIndicator

UBL-CR-206 (warning)

A UBL invoice should not include the AccountingCustomerParty Party WebsiteURI

UBL-CR-207 (warning)

A UBL invoice should not include the AccountingCustomerParty Party LogoReferenceID

UBL-CR-208 (warning)

A UBL invoice should not include the AccountingCustomerParty Party IndustryClassificationCode

UBL-CR-209 (warning)

A UBL invoice should not include the AccountingCustomerParty Party Language

UBL-CR-210 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress ID

UBL-CR-211 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress AddressTypeCode

UBL-CR-212 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress AddressFormatCode

UBL-CR-213 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress Postbox

UBL-CR-214 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress Floor

UBL-CR-215 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress Room

UBL-CR-216 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress BlockName

UBL-CR-217 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress BuildingName

UBL-CR-218 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress BuildingNumber

UBL-CR-219 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress InhouseMail

UBL-CR-220 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress Department

UBL-CR-221 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress MarkAttention

UBL-CR-222 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress MarkCare

UBL-CR-223 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress PlotIdentification

UBL-CR-224 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress CitySubdivisionName

UBL-CR-225 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress CountrySubentityCode

UBL-CR-226 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress Region

UBL-CR-227 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress District

UBL-CR-228 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress TimezoneOffset

UBL-CR-229 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress Country Name

UBL-CR-230 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PostalAddress LocationCoordinate

UBL-CR-231 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PhysicalLocation

UBL-CR-232 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyTaxScheme RegistrationName

UBL-CR-233 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyTaxScheme TaxLevelCode

UBL-CR-234 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyTaxScheme ExemptionReasonCode

UBL-CR-235 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyTaxScheme ExemptionReason

UBL-CR-236 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyTaxScheme RegistrationAddress

UBL-CR-237 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyTaxScheme TaxScheme Name

UBL-CR-238 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyTaxScheme TaxScheme TaxTypeCode

UBL-CR-239 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyTaxScheme TaxScheme CurrencyCode

UBL-CR-240 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyTaxScheme TaxScheme JurisdictionRegionAddress

UBL-CR-241 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyLegalEntity RegistrationDate

UBL-CR-242 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyLegalEntity RegistrationExpirationDate

UBL-CR-243 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyLegalEntity CompanyLegalFormCode

UBL-CR-244 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyLegalEntity CompanyLegalForm

UBL-CR-245 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyLegalEntity SoleProprietorshipIndicator

UBL-CR-246 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyLegalEntity CompanyLiquidationStatusCode

UBL-CR-247 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyLegalEntity CorporateStockAmount

UBL-CR-248 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyLegalEntity FullyPaidSharesIndicator

UBL-CR-249 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyLegalEntity RegistrationAddress

UBL-CR-250 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyLegalEntity CorporateRegistrationScheme

UBL-CR-251 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyLegalEntity HeadOfficeParty

UBL-CR-252 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PartyLegalEntity ShareholderParty

UBL-CR-253 (warning)

A UBL invoice should not include the AccountingCustomerParty Party Contact ID

UBL-CR-254 (warning)

A UBL invoice should not include the AccountingCustomerParty Party Contact Telefax

UBL-CR-255 (warning)

A UBL invoice should not include the AccountingCustomerParty Party Contact Note

UBL-CR-256 (warning)

A UBL invoice should not include the AccountingCustomerParty Party Contact OtherCommunication

UBL-CR-257 (warning)

A UBL invoice should not include the AccountingCustomerParty Party Person

UBL-CR-258 (warning)

A UBL invoice should not include the AccountingCustomerParty Party AgentParty

UBL-CR-259 (warning)

A UBL invoice should not include the AccountingCustomerParty Party ServiceProviderParty

UBL-CR-260 (warning)

A UBL invoice should not include the AccountingCustomerParty Party PowerOfAttorney

UBL-CR-261 (warning)

A UBL invoice should not include the AccountingCustomerParty Party FinancialAccount

UBL-CR-262 (warning)

A UBL invoice should not include the AccountingCustomerParty DeliveryContact

UBL-CR-263 (warning)

A UBL invoice should not include the AccountingCustomerParty AccountingContact

UBL-CR-264 (warning)

A UBL invoice should not include the AccountingCustomerParty BuyerContact

UBL-CR-265 (warning)

A UBL invoice should not include the PayeeParty MarkCareIndicator

UBL-CR-266 (warning)

A UBL invoice should not include the PayeeParty MarkAttentionIndicator

UBL-CR-267 (warning)

A UBL invoice should not include the PayeeParty WebsiteURI

UBL-CR-268 (warning)

A UBL invoice should not include the PayeeParty LogoReferenceID

UBL-CR-269 (warning)

A UBL invoice should not include the PayeeParty EndpointID

UBL-CR-270 (warning)

A UBL invoice should not include the PayeeParty IndustryClassificationCode

UBL-CR-271 (warning)

A UBL invoice should not include the PayeeParty Language

UBL-CR-272 (warning)

A UBL invoice should not include the PayeeParty PostalAddress

UBL-CR-273 (warning)

A UBL invoice should not include the PayeeParty PhysicalLocation

UBL-CR-274 (warning)

A UBL invoice should not include the PayeeParty PartyTaxScheme

UBL-CR-275 (warning)

A UBL invoice should not include the PayeeParty PartyLegalEntity RegistrationName

UBL-CR-276 (warning)

A UBL invoice should not include the PayeeParty PartyLegalEntity RegistrationDate

UBL-CR-277 (warning)

A UBL invoice should not include the PayeeParty PartyLegalEntity RegistrationExpirationDate

UBL-CR-278 (warning)

A UBL invoice should not include the PayeeParty PartyLegalEntity CompanyLegalFormCode

UBL-CR-279 (warning)

A UBL invoice should not include the PayeeParty PartyLegalEntity CompanyLegalForm

UBL-CR-280 (warning)

A UBL invoice should not include the PayeeParty PartyLegalEntity SoleProprietorshipIndicator

UBL-CR-281 (warning)

A UBL invoice should not include the PayeeParty PartyLegalEntity CompanyLiquidationStatusCode

UBL-CR-282 (warning)

A UBL invoice should not include the PayeeParty PartyLegalEntity CorporateStockAmount

UBL-CR-283 (warning)

A UBL invoice should not include the PayeeParty PartyLegalEntity FullyPaidSharesIndicator

UBL-CR-284 (warning)

A UBL invoice should not include the PayeeParty PartyLegalEntity RegistrationAddress

UBL-CR-285 (warning)

A UBL invoice should not include the PayeeParty PartyLegalEntity CorporateRegistrationScheme

UBL-CR-286 (warning)

A UBL invoice should not include the PayeeParty PartyLegalEntity HeadOfficeParty

UBL-CR-287 (warning)

A UBL invoice should not include the PayeeParty PartyLegalEntity ShareholderParty

UBL-CR-288 (warning)

A UBL invoice should not include the PayeeParty Contact

UBL-CR-289 (warning)

A UBL invoice should not include the PayeeParty Person

UBL-CR-290 (warning)

A UBL invoice should not include the PayeeParty AgentParty

UBL-CR-291 (warning)

A UBL invoice should not include the PayeeParty ServiceProviderParty

UBL-CR-292 (warning)

A UBL invoice should not include the PayeeParty PowerOfAttorney

UBL-CR-293 (warning)

A UBL invoice should not include the PayeeParty FinancialAccount

UBL-CR-294 (warning)

A UBL invoice should not include the BuyerCustomerParty

UBL-CR-295 (warning)

A UBL invoice should not include the SellerSupplierParty

UBL-CR-296 (warning)

A UBL invoice should not include the TaxRepresentativeParty MarkCareIndicator

UBL-CR-297 (warning)

A UBL invoice should not include the TaxRepresentativeParty MarkAttentionIndicator

UBL-CR-298 (warning)

A UBL invoice should not include the TaxRepresentativeParty WebsiteURI

UBL-CR-299 (warning)

A UBL invoice should not include the TaxRepresentativeParty LogoReferenceID

UBL-CR-300 (warning)

A UBL invoice should not include the TaxRepresentativeParty EndpointID

UBL-CR-301 (warning)

A UBL invoice should not include the TaxRepresentativeParty IndustryClassificationCode

UBL-CR-302 (warning)

A UBL invoice should not include the TaxRepresentativeParty PartyIdentification

UBL-CR-303 (warning)

A UBL invoice should not include the TaxRepresentativeParty Language

UBL-CR-304 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress ID

UBL-CR-305 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress AddressTypeCode

UBL-CR-306 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress AddressFormatCode

UBL-CR-307 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress Postbox

UBL-CR-308 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress Floor

UBL-CR-309 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress Room

UBL-CR-310 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress BlockName

UBL-CR-311 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress BuildingName

UBL-CR-312 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress BuildingNumber

UBL-CR-313 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress InhouseMail

UBL-CR-314 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress Department

UBL-CR-315 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress MarkAttention

UBL-CR-316 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress MarkCare

UBL-CR-317 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress PlotIdentification

UBL-CR-318 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress CitySubdivisionName

UBL-CR-319 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress CountrySubentityCode

UBL-CR-320 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress Region

UBL-CR-321 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress District

UBL-CR-322 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress TimezoneOffset

UBL-CR-323 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress Country Name

UBL-CR-324 (warning)

A UBL invoice should not include the TaxRepresentativeParty PostalAddress LocationCoordinate

UBL-CR-325 (warning)

A UBL invoice should not include the TaxRepresentativeParty PhysicalLocation

UBL-CR-326 (warning)

A UBL invoice should not include the TaxRepresentativeParty PartyTaxScheme RegistrationName

UBL-CR-327 (warning)

A UBL invoice should not include the TaxRepresentativeParty PartyTaxScheme TaxLevelCode

UBL-CR-328 (warning)

A UBL invoice should not include the TaxRepresentativeParty PartyTaxScheme ExemptionReasonCode

UBL-CR-329 (warning)

A UBL invoice should not include the TaxRepresentativeParty PartyTaxScheme ExemptionReason

UBL-CR-330 (warning)

A UBL invoice should not include the TaxRepresentativeParty PartyTaxScheme RegistrationAddress

UBL-CR-331 (warning)

A UBL invoice should not include the TaxRepresentativeParty PartyTaxScheme TaxScheme Name

UBL-CR-332 (warning)

A UBL invoice should not include the TaxRepresentativeParty PartyTaxScheme TaxScheme TaxTypeCode

UBL-CR-333 (warning)

A UBL invoice should not include the TaxRepresentativeParty PartyTaxScheme TaxScheme CurrencyCode

UBL-CR-334 (warning)

A UBL invoice should not include the TaxRepresentativeParty PartyTaxScheme TaxScheme JurisdictionRegionAddress

UBL-CR-335 (warning)

A UBL invoice should not include the TaxRepresentativeParty PartyLegalEntity

UBL-CR-336 (warning)

A UBL invoice should not include the TaxRepresentativeParty Contact

UBL-CR-337 (warning)

A UBL invoice should not include the TaxRepresentativeParty Person

UBL-CR-338 (warning)

A UBL invoice should not include the TaxRepresentativeParty AgentParty

UBL-CR-339 (warning)

A UBL invoice should not include the TaxRepresentativeParty ServiceProviderParty

UBL-CR-340 (warning)

A UBL invoice should not include the TaxRepresentativeParty PowerOfAttorney

UBL-CR-341 (warning)

A UBL invoice should not include the TaxRepresentativeParty FinancialAccount

UBL-CR-342 (warning)

A UBL invoice should not include the Delivery ID

UBL-CR-343 (warning)

A UBL invoice should not include the Delivery Quantity

UBL-CR-344 (warning)

A UBL invoice should not include the Delivery MinimumQuantity

UBL-CR-345 (warning)

A UBL invoice should not include the Delivery MaximumQuantity

UBL-CR-346 (warning)

A UBL invoice should not include the Delivery ActualDeliveryTime

UBL-CR-347 (warning)

A UBL invoice should not include the Delivery LatestDeliveryDate

UBL-CR-348 (warning)

A UBL invoice should not include the Delivery LatestDeliveryTime

UBL-CR-349 (warning)

A UBL invoice should not include the Delivery ReleaseID

UBL-CR-350 (warning)

A UBL invoice should not include the Delivery TrackingID

UBL-CR-351 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Description

UBL-CR-352 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Conditions

UBL-CR-353 (warning)

A UBL invoice should not include the Delivery DeliveryLocation CountrySubentity

UBL-CR-354 (warning)

A UBL invoice should not include the Delivery DeliveryLocation CountrySubentityCode

UBL-CR-355 (warning)

A UBL invoice should not include the Delivery DeliveryLocation LocationTypeCode

UBL-CR-356 (warning)

A UBL invoice should not include the Delivery DeliveryLocation InformationURI

UBL-CR-357 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Name

UBL-CR-358 (warning)

A UBL invoice should not include the Delivery DeliveryLocation ValidityPeriod

UBL-CR-359 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address ID

UBL-CR-360 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address AddressTypeCode

UBL-CR-361 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address AddressFormatCode

UBL-CR-362 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address Postbox

UBL-CR-363 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address Floor

UBL-CR-364 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address Room

UBL-CR-365 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address BlockName

UBL-CR-366 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address BuildingName

UBL-CR-367 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address BuildingNumber

UBL-CR-368 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address InhouseMail

UBL-CR-369 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address Department

UBL-CR-370 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address MarkAttention

UBL-CR-371 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address MarkCare

UBL-CR-372 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address PlotIdentification

UBL-CR-373 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address CitySubdivisionName

UBL-CR-374 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address CountrySubentityCode

UBL-CR-375 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address Region

UBL-CR-376 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address District

UBL-CR-377 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address TimezoneOffset

UBL-CR-378 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address Country Name

UBL-CR-379 (warning)

A UBL invoice should not include the Delivery DeliveryLocation Address LocationCoordinate

UBL-CR-380 (warning)

A UBL invoice should not include the Delivery DeliveryLocation SubsidiaryLocation

UBL-CR-381 (warning)

A UBL invoice should not include the Delivery DeliveryLocation LocationCoordinate

UBL-CR-382 (warning)

A UBL invoice should not include the Delivery AlternativeDeliveryLocation

UBL-CR-383 (warning)

A UBL invoice should not include the Delivery RequestedDeliveryPeriod

UBL-CR-384 (warning)

A UBL invoice should not include the Delivery EstimatedDeliveryPeriod

UBL-CR-385 (warning)

A UBL invoice should not include the Delivery CarrierParty

UBL-CR-386 (warning)

A UBL invoice should not include the DeliveryParty MarkCareIndicator

UBL-CR-387 (warning)

A UBL invoice should not include the DeliveryParty MarkAttentionIndicator

UBL-CR-388 (warning)

A UBL invoice should not include the DeliveryParty WebsiteURI

UBL-CR-389 (warning)

A UBL invoice should not include the DeliveryParty LogoReferenceID

UBL-CR-390 (warning)

A UBL invoice should not include the DeliveryParty EndpointID

UBL-CR-391 (warning)

A UBL invoice should not include the DeliveryParty IndustryClassificationCode

UBL-CR-392 (warning)

A UBL invoice should not include the DeliveryParty PartyIdentification

UBL-CR-393 (warning)

A UBL invoice should not include the DeliveryParty Language

UBL-CR-394 (warning)

A UBL invoice should not include the DeliveryParty PostalAddress

UBL-CR-395 (warning)

A UBL invoice should not include the DeliveryParty PhysicalLocation

UBL-CR-396 (warning)

A UBL invoice should not include the DeliveryParty PartyTaxScheme

UBL-CR-397 (warning)

A UBL invoice should not include the DeliveryParty PartyLegalEntity

UBL-CR-398 (warning)

A UBL invoice should not include the DeliveryParty Contact

UBL-CR-399 (warning)

A UBL invoice should not include the DeliveryParty Person

UBL-CR-400 (warning)

A UBL invoice should not include the DeliveryParty AgentParty

UBL-CR-401 (warning)

A UBL invoice should not include the DeliveryParty ServiceProviderParty

UBL-CR-402 (warning)

A UBL invoice should not include the DeliveryParty PowerOfAttorney

UBL-CR-403 (warning)

A UBL invoice should not include the DeliveryParty FinancialAccount

UBL-CR-404 (warning)

A UBL invoice should not include the Delivery NotifyParty

UBL-CR-405 (warning)

A UBL invoice should not include the Delivery Despatch

UBL-CR-406 (warning)

A UBL invoice should not include the Delivery DeliveryTerms

UBL-CR-407 (warning)

A UBL invoice should not include the Delivery MinimumDeliveryUnit

UBL-CR-408 (warning)

A UBL invoice should not include the Delivery MaximumDeliveryUnit

UBL-CR-409 (warning)

A UBL invoice should not include the Delivery Shipment

UBL-CR-410 (warning)

A UBL invoice should not include the DeliveryTerms

UBL-CR-411 (warning)

A UBL invoice should not include the PaymentMeans ID

UBL-CR-412 (warning)

A UBL invoice should not include the PaymentMeans PaymentDueDate

UBL-CR-413 (warning)

A UBL invoice should not include the PaymentMeans PaymentChannelCode

UBL-CR-414 (warning)

A UBL invoice should not include the PaymentMeans InstructionID

UBL-CR-415 (warning)

A UBL invoice should not include the PaymentMeans CardAccount CardTypeCode

UBL-CR-416 (warning)

A UBL invoice should not include the PaymentMeans CardAccount ValidityStartDate

UBL-CR-417 (warning)

A UBL invoice should not include the PaymentMeans CardAccount ExpiryDate

UBL-CR-418 (warning)

A UBL invoice should not include the PaymentMeans CardAccount IssuerID

UBL-CR-419 (warning)

A UBL invoice should not include the PaymentMeans CardAccount IssueNumberID

UBL-CR-420 (warning)

A UBL invoice should not include the PaymentMeans CardAccount CV2ID

UBL-CR-421 (warning)

A UBL invoice should not include the PaymentMeans CardAccount CardChipCode

UBL-CR-422 (warning)

A UBL invoice should not include the PaymentMeans CardAccount ChipApplicationID

UBL-CR-424 (warning)

A UBL invoice should not include the PaymentMeans PayeeFinancialAccount AliasName

UBL-CR-425 (warning)

A UBL invoice should not include the PaymentMeans PayeeFinancialAccount AccountTypeCode

UBL-CR-426 (warning)

A UBL invoice should not include the PaymentMeans PayeeFinancialAccount AccountFormatCode

UBL-CR-427 (warning)

A UBL invoice should not include the PaymentMeans PayeeFinancialAccount CurrencyCode

UBL-CR-428 (warning)

A UBL invoice should not include the PaymentMeans PayeeFinancialAccount PaymentNote

UBL-CR-429 (warning)

A UBL invoice should not include the PaymentMeans PayeeFinancialAccount FinancialInstitutionBranch Name

UBL-CR-430 (warning)

A UBL invoice should not include the PaymentMeans PayeeFinancialAccount FinancialInstitutionBranch FinancialInstitution Name

UBL-CR-431 (warning)

A UBL invoice should not include the PaymentMeans PayeeFinancialAccount FinancialInstitutionBranch FinancialInstitution Address

UBL-CR-432 (warning)

A UBL invoice should not include the PaymentMeans PayeeFinancialAccount FinancialInstitutionBranch Address

UBL-CR-433 (warning)

A UBL invoice should not include the PaymentMeans PayeeFinancialAccount Country

UBL-CR-434 (warning)

A UBL invoice should not include the PaymentMeans CreditAccount

UBL-CR-435 (warning)

A UBL invoice should not include the PaymentMeans PaymentMandate MandateTypeCode

UBL-CR-436 (warning)

A UBL invoice should not include the PaymentMeans PaymentMandate MaximumPaymentInstructionsNumeric

UBL-CR-437 (warning)

A UBL invoice should not include the PaymentMeans PaymentMandate MaximumPaidAmount

UBL-CR-438 (warning)

A UBL invoice should not include the PaymentMeans PaymentMandate SignatureID

UBL-CR-439 (warning)

A UBL invoice should not include the PaymentMeans PaymentMandate PayerParty

UBL-CR-440 (warning)

A UBL invoice should not include the PaymentMeans PaymentMandate PayerFinancialAccount Name

UBL-CR-441 (warning)

A UBL invoice should not include the PaymentMeans PaymentMandate PayerFinancialAccount AliasName

UBL-CR-442 (warning)

A UBL invoice should not include the PaymentMeans PaymentMandate PayerFinancialAccount AccountTypeCode

UBL-CR-443 (warning)

A UBL invoice should not include the PaymentMeans PaymentMandate PayerFinancialAccount AccountFormatCode

UBL-CR-444 (warning)

A UBL invoice should not include the PaymentMeans PaymentMandate PayerFinancialAccount CurrencyCode

UBL-CR-445 (warning)

A UBL invoice should not include the PaymentMeans PaymentMandate PayerFinancialAccount PaymentNote

UBL-CR-446 (warning)

A UBL invoice should not include the PaymentMeans PaymentMandate PayerFinancialAccount FinancialInstitutionBranch

UBL-CR-447 (warning)

A UBL invoice should not include the PaymentMeans PaymentMandate PayerFinancialAccount Country

UBL-CR-448 (warning)

A UBL invoice should not include the PaymentMeans PaymentMandate ValidityPeriod

UBL-CR-449 (warning)

A UBL invoice should not include the PaymentMeans PaymentMandate PaymentReversalPeriod

UBL-CR-450 (warning)

A UBL invoice should not include the PaymentMeans PaymentMandate Clause

UBL-CR-451 (warning)

A UBL invoice should not include the PaymentMeans TradeFinancing

UBL-CR-452 (warning)

A UBL invoice should not include the PaymentTerms ID

UBL-CR-453 (warning)

A UBL invoice should not include the PaymentTerms PaymentMeansID

UBL-CR-454 (warning)

A UBL invoice should not include the PaymentTerms PrepaidPaymentReferenceID

UBL-CR-455 (warning)

A UBL invoice should not include the PaymentTerms ReferenceEventCode

UBL-CR-456 (warning)

A UBL invoice should not include the PaymentTerms SettlementDiscountPercent

UBL-CR-457 (warning)

A UBL invoice should not include the PaymentTerms PenaltySurchargePercent

UBL-CR-458 (warning)

A UBL invoice should not include the PaymentTerms PaymentPercent

UBL-CR-459 (warning)

A UBL invoice should not include the PaymentTerms Amount

UBL-CR-460 (warning)

A UBL invoice should not include the PaymentTerms SettlementDiscountAmount

UBL-CR-461 (warning)

A UBL invoice should not include the PaymentTerms PenaltyAmount

UBL-CR-462 (warning)

A UBL invoice should not include the PaymentTerms PaymentTermsDetailsURI

UBL-CR-463 (warning)

A UBL invoice should not include the PaymentTerms PaymentDueDate

UBL-CR-464 (warning)

A UBL invoice should not include the PaymentTerms InstallmentDueDate

UBL-CR-465 (warning)

A UBL invoice should not include the PaymentTerms InvoicingPartyReference

UBL-CR-466 (warning)

A UBL invoice should not include the PaymentTerms SettlementPeriod

UBL-CR-467 (warning)

A UBL invoice should not include the PaymentTerms PenaltyPeriod

UBL-CR-468 (warning)

A UBL invoice should not include the PaymentTerms ExchangeRate

UBL-CR-469 (warning)

A UBL invoice should not include the PaymentTerms ValidityPeriod

UBL-CR-470 (warning)

A UBL invoice should not include the PrepaidPayment

UBL-CR-471 (warning)

A UBL invoice should not include the AllowanceCharge ID

UBL-CR-472 (warning)

A UBL invoice should not include the AllowanceCharge PrepaidIndicator

UBL-CR-473 (warning)

A UBL invoice should not include the AllowanceCharge SequenceNumeric

UBL-CR-474 (warning)

A UBL invoice should not include the AllowanceCharge AccountingCostCode

UBL-CR-475 (warning)

A UBL invoice should not include the AllowanceCharge AccountingCost

UBL-CR-476 (warning)

A UBL invoice should not include the AllowanceCharge PerUnitAmount

UBL-CR-477 (warning)

A UBL invoice should not include the AllowanceCharge TaxCategory Name

UBL-CR-478 (warning)

A UBL invoice should not include the AllowanceCharge TaxCategory BaseUnitMeasure

UBL-CR-479 (warning)

A UBL invoice should not include the AllowanceCharge TaxCategory PerUnitAmount

UBL-CR-480 (warning)

A UBL invoice should not include the AllowanceCharge TaxCategory TaxExemptionReasonCode

UBL-CR-481 (warning)

A UBL invoice should not include the AllowanceCharge TaxCategory TaxExemptionReason

UBL-CR-482 (warning)

A UBL invoice should not include the AllowanceCharge TaxCategory TierRange

UBL-CR-483 (warning)

A UBL invoice should not include the AllowanceCharge TaxCategory TierRatePercent

UBL-CR-484 (warning)

A UBL invoice should not include the AllowanceCharge TaxCategory TaxScheme Name

UBL-CR-485 (warning)

A UBL invoice should not include the AllowanceCharge TaxCategory TaxScheme TaxTypeCode

UBL-CR-486 (warning)

A UBL invoice should not include the AllowanceCharge TaxCategory TaxScheme CurrencyCode

UBL-CR-487 (warning)

A UBL invoice should not include the AllowanceCharge TaxCategory TaxScheme JurisdictionRegionAddress

UBL-CR-488 (warning)

A UBL invoice should not include the AllowanceCharge TaxTotal

UBL-CR-489 (warning)

A UBL invoice should not include the AllowanceCharge PaymentMeans

UBL-CR-490 (warning)

A UBL invoice should not include the TaxExchangeRate

UBL-CR-491 (warning)

A UBL invoice should not include the PricingExchangeRate

UBL-CR-492 (warning)

A UBL invoice should not include the PaymentExchangeRate

UBL-CR-493 (warning)

A UBL invoice should not include the PaymentAlternativeExchangeRate

UBL-CR-494 (warning)

A UBL invoice should not include the TaxTotal RoundingAmount

UBL-CR-495 (warning)

A UBL invoice should not include the TaxTotal TaxEvidenceIndicator

UBL-CR-496 (warning)

A UBL invoice should not include the TaxTotal TaxIncludedIndicator

UBL-CR-497 (warning)

A UBL invoice should not include the TaxTotal TaxSubtotal CalulationSequenceNumeric

UBL-CR-498 (warning)

A UBL invoice should not include the TaxTotal TaxSubtotal TransactionCurrencyTaxAmount

UBL-CR-499 (warning)

A UBL invoice should not include the TaxTotal TaxSubtotal Percent

UBL-CR-500 (warning)

A UBL invoice should not include the TaxTotal TaxSubtotal BaseUnitMeasure

UBL-CR-501 (warning)

A UBL invoice should not include the TaxTotal TaxSubtotal PerUnitAmount

UBL-CR-502 (warning)

A UBL invoice should not include the TaxTotal TaxSubtotal TierRange

UBL-CR-503 (warning)

A UBL invoice should not include the TaxTotal TaxSubtotal TierRatePercent

UBL-CR-504 (warning)

A UBL invoice should not include the TaxTotal TaxSubtotal TaxCategory Name

UBL-CR-505 (warning)

A UBL invoice should not include the TaxTotal TaxSubtotal TaxCategory BaseUnitMeasure

UBL-CR-506 (warning)

A UBL invoice should not include the TaxTotal TaxSubtotal TaxCategory PerUnitAmount

UBL-CR-507 (warning)

A UBL invoice should not include the TaxTotal TaxSubtotal TaxCategory TierRange

UBL-CR-508 (warning)

A UBL invoice should not include the TaxTotal TaxSubtotal TaxCategory TierRatePercent

UBL-CR-509 (warning)

A UBL invoice should not include the TaxTotal TaxSubtotal TaxCategory TaxScheme Name

UBL-CR-510 (warning)

A UBL invoice should not include the TaxTotal TaxSubtotal TaxCategory TaxScheme TaxTypeCode

UBL-CR-511 (warning)

A UBL invoice should not include the TaxTotal TaxSubtotal TaxCategory TaxScheme CurrencyCode

UBL-CR-512 (warning)

A UBL invoice should not include the TaxTotal TaxSubtotal TaxCategory TaxScheme JurisdictionRegionAddress

UBL-CR-513 (warning)

A UBL invoice should not include the WithholdingTaxTotal

UBL-CR-514 (warning)

A UBL invoice should not include the LegalMonetaryTotal PayableAlternativeAmount

UBL-CR-515 (warning)

A UBL invoice should not include the InvoiceLine UUID

UBL-CR-516 (warning)

A UBL invoice should not include the InvoiceLine TaxPointDate

UBL-CR-517 (warning)

A UBL invoice should not include the InvoiceLine AccountingCostCode

UBL-CR-518 (warning)

A UBL invoice should not include the InvoiceLine PaymentPurposeCode

UBL-CR-519 (warning)

A UBL invoice should not include the InvoiceLine FreeOfChargeIndicator

UBL-CR-520 (warning)

A UBL invoice should not include the InvoiceLine InvoicePeriod StartTime

UBL-CR-521 (warning)

A UBL invoice should not include the InvoiceLine InvoicePeriod EndTime

UBL-CR-522 (warning)

A UBL invoice should not include the InvoiceLine InvoicePeriod DurationMeasure

UBL-CR-523 (warning)

A UBL invoice should not include the InvoiceLine InvoicePeriod DescriptionCode

UBL-CR-524 (warning)

A UBL invoice should not include the InvoiceLine InvoicePeriod Description

UBL-CR-525 (warning)

A UBL invoice should not include the InvoiceLine OrderLineReference SalesOrderLineID

UBL-CR-526 (warning)

A UBL invoice should not include the InvoiceLine OrderLineReference UUID

UBL-CR-527 (warning)

A UBL invoice should not include the InvoiceLine OrderLineReference LineStatusCode

UBL-CR-528 (warning)

A UBL invoice should not include the InvoiceLine OrderLineReference OrderReference

UBL-CR-529 (warning)

A UBL invoice should not include the InvoiceLine DespatchLineReference

UBL-CR-530 (warning)

A UBL invoice should not include the InvoiceLine ReceiptLineReference

UBL-CR-531 (warning)

A UBL invoice should not include the InvoiceLine BillingReference

UBL-CR-532 (warning)

A UBL invoice should not include the InvoiceLine DocumentReference CopyIndicator

UBL-CR-533 (warning)

A UBL invoice should not include the InvoiceLine DocumentReference UUID

UBL-CR-534 (warning)

A UBL invoice should not include the InvoiceLine DocumentReference IssueDate

UBL-CR-535 (warning)

A UBL invoice should not include the InvoiceLine DocumentReference IssueTime

UBL-CR-537 (warning)

A UBL invoice should not include the InvoiceLine DocumentReference DocumentType

UBL-CR-538 (warning)

A UBL invoice should not include the InvoiceLine DocumentReference Xpath

UBL-CR-539 (warning)

A UBL invoice should not include the InvoiceLine DocumentReference LanguageID

UBL-CR-540 (warning)

A UBL invoice should not include the InvoiceLine DocumentReference LocaleCode

UBL-CR-541 (warning)

A UBL invoice should not include the InvoiceLine DocumentReference VersionID

UBL-CR-542 (warning)

A UBL invoice should not include the InvoiceLine DocumentReference DocumentStatusCode

UBL-CR-543 (warning)

A UBL invoice should not include the InvoiceLine DocumentReference DocumentDescription

UBL-CR-544 (warning)

A UBL invoice should not include the InvoiceLine DocumentReference Attachment

UBL-CR-545 (warning)

A UBL invoice should not include the InvoiceLine DocumentReference ValidityPeriod

UBL-CR-546 (warning)

A UBL invoice should not include the InvoiceLine DocumentReference IssuerParty

UBL-CR-547 (warning)

A UBL invoice should not include the InvoiceLine DocumentReference ResultOfVerification

UBL-CR-548 (warning)

A UBL invoice should not include the InvoiceLine PricingReference

UBL-CR-549 (warning)

A UBL invoice should not include the InvoiceLine OriginatorParty

UBL-CR-550 (warning)

A UBL invoice should not include the InvoiceLine Delivery

UBL-CR-551 (warning)

A UBL invoice should not include the InvoiceLine PaymentTerms

UBL-CR-552 (warning)

A UBL invoice should not include the InvoiceLine AllowanceCharge ID

UBL-CR-553 (warning)

A UBL invoice should not include the InvoiceLine AllowanceCharge PrepaidIndicator

UBL-CR-554 (warning)

A UBL invoice should not include the InvoiceLine AllowanceCharge SequenceNumeric

UBL-CR-555 (warning)

A UBL invoice should not include the InvoiceLine AllowanceCharge AccountingCostCode

UBL-CR-556 (warning)

A UBL invoice should not include the InvoiceLine AllowanceCharge AccountingCost

UBL-CR-557 (warning)

A UBL invoice should not include the InvoiceLine AllowanceCharge PerUnitAmount

UBL-CR-558 (warning)

A UBL invoice should not include the InvoiceLine AllowanceCharge TaxCategory

UBL-CR-559 (warning)

A UBL invoice should not include the InvoiceLine AllowanceCharge TaxTotal

UBL-CR-560 (warning)

A UBL invoice should not include the InvoiceLine AllowanceCharge PaymentMeans

UBL-CR-561 (warning)

A UBL invoice should not include the InvoiceLine TaxTotal

UBL-CR-562 (warning)

A UBL invoice should not include the InvoiceLine WithholdingTaxTotal

UBL-CR-563 (warning)

A UBL invoice should not include the InvoiceLine Item PackQuantity

UBL-CR-564 (warning)

A UBL invoice should not include the InvoiceLine Item PackSizeNumeric

UBL-CR-565 (warning)

A UBL invoice should not include the InvoiceLine Item CatalogueIndicator

UBL-CR-566 (warning)

A UBL invoice should not include the InvoiceLine Item HazardousRiskIndicator

UBL-CR-567 (warning)

A UBL invoice should not include the InvoiceLine Item AdditionalInformation

UBL-CR-568 (warning)

A UBL invoice should not include the InvoiceLine Item Keyword

UBL-CR-569 (warning)

A UBL invoice should not include the InvoiceLine Item BrandName

UBL-CR-570 (warning)

A UBL invoice should not include the InvoiceLine Item ModelName

UBL-CR-571 (warning)

A UBL invoice should not include the InvoiceLine Item BuyersItemIdentification ExtendedID

UBL-CR-572 (warning)

A UBL invoice should not include the InvoiceLine Item BuyersItemIdentification BarecodeSymbologyID

UBL-CR-573 (warning)

A UBL invoice should not include the InvoiceLine Item BuyersItemIdentification PhysicalAttribute

UBL-CR-574 (warning)

A UBL invoice should not include the InvoiceLine Item BuyersItemIdentification MeasurementDimension

UBL-CR-575 (warning)

A UBL invoice should not include the InvoiceLine Item BuyersItemIdentification IssuerParty

UBL-CR-576 (warning)

A UBL invoice should not include the InvoiceLine Item SellersItemIdentification ExtendedID

UBL-CR-577 (warning)

A UBL invoice should not include the InvoiceLine Item SellersItemIdentification BarecodeSymbologyID

UBL-CR-578 (warning)

A UBL invoice should not include the InvoiceLine Item SellersItemIdentification PhysicalAttribute

UBL-CR-579 (warning)

A UBL invoice should not include the InvoiceLine Item SellersItemIdentification MeasurementDimension

UBL-CR-580 (warning)

A UBL invoice should not include the InvoiceLine Item SellersItemIdentification IssuerParty

UBL-CR-581 (warning)

A UBL invoice should not include the InvoiceLine Item ManufacturersItemIdentification

UBL-CR-582 (warning)

A UBL invoice should not include the InvoiceLine Item StandardItemIdentification ExtendedID

UBL-CR-583 (warning)

A UBL invoice should not include the InvoiceLine Item StandardItemIdentification BarecodeSymbologyID

UBL-CR-584 (warning)

A UBL invoice should not include the InvoiceLine Item StandardItemIdentification PhysicalAttribute

UBL-CR-585 (warning)

A UBL invoice should not include the InvoiceLine Item StandardItemIdentification MeasurementDimension

UBL-CR-586 (warning)

A UBL invoice should not include the InvoiceLine Item StandardItemIdentification IssuerParty

UBL-CR-587 (warning)

A UBL invoice should not include the InvoiceLine Item CatalogueItemIdentification

UBL-CR-588 (warning)

A UBL invoice should not include the InvoiceLine Item AdditionalItemIdentification

UBL-CR-589 (warning)

A UBL invoice should not include the InvoiceLine Item CatalogueDocumentReference

UBL-CR-590 (warning)

A UBL invoice should not include the InvoiceLine Item ItemSpecificationDocumentReference

UBL-CR-591 (warning)

A UBL invoice should not include the InvoiceLine Item OriginCountry Name

UBL-CR-592 (warning)

A UBL invoice should not include the InvoiceLine Item CommodityClassification NatureCode

UBL-CR-593 (warning)

A UBL invoice should not include the InvoiceLine Item CommodityClassification CargoTypeCode

UBL-CR-594 (warning)

A UBL invoice should not include the InvoiceLine Item CommodityClassification CommodityCode

UBL-CR-595 (warning)

A UBL invoice should not include the InvoiceLine Item TransactionConditions

UBL-CR-596 (warning)

A UBL invoice should not include the InvoiceLine Item HazardousItem

UBL-CR-597 (warning)

A UBL invoice should not include the InvoiceLine Item ClassifiedTaxCategory Name

UBL-CR-598 (warning)

A UBL invoice should not include the InvoiceLine Item ClassifiedTaxCategory BaseUnitMeasure

UBL-CR-599 (warning)

A UBL invoice should not include the InvoiceLine Item ClassifiedTaxCategory PerUnitAmount

UBL-CR-600 (warning)

A UBL invoice should not include the InvoiceLine Item ClassifiedTaxCategory TaxExemptionReasonCode

UBL-CR-601 (warning)

A UBL invoice should not include the InvoiceLine Item ClassifiedTaxCategory TaxExemptionReason

UBL-CR-602 (warning)

A UBL invoice should not include the InvoiceLine Item ClassifiedTaxCategory TierRange

UBL-CR-603 (warning)

A UBL invoice should not include the InvoiceLine Item ClassifiedTaxCategory TierRatePercent

UBL-CR-604 (warning)

A UBL invoice should not include the InvoiceLine Item ClassifiedTaxCategory TaxScheme Name

UBL-CR-605 (warning)

A UBL invoice should not include the InvoiceLine Item ClassifiedTaxCategory TaxScheme TaxTypeCode

UBL-CR-606 (warning)

A UBL invoice should not include the InvoiceLine Item ClassifiedTaxCategory TaxScheme CurrencyCode

UBL-CR-607 (warning)

A UBL invoice should not include the InvoiceLine Item ClassifiedTaxCategory TaxScheme JurisdictionRegionAddress

UBL-CR-608 (warning)

A UBL invoice should not include the InvoiceLine Item AdditionalItemProperty ID

UBL-CR-609 (warning)

A UBL invoice should not include the InvoiceLine Item AdditionalItemProperty NameCode

UBL-CR-610 (warning)

A UBL invoice should not include the InvoiceLine Item AdditionalItemProperty TestMethod

UBL-CR-611 (warning)

A UBL invoice should not include the InvoiceLine Item AdditionalItemProperty ValueQuantity

UBL-CR-612 (warning)

A UBL invoice should not include the InvoiceLine Item AdditionalItemProperty ValueQualifier

UBL-CR-613 (warning)

A UBL invoice should not include the InvoiceLine Item AdditionalItemProperty ImportanceCode

UBL-CR-614 (warning)

A UBL invoice should not include the InvoiceLine Item AdditionalItemProperty ListValue

UBL-CR-615 (warning)

A UBL invoice should not include the InvoiceLine Item AdditionalItemProperty UsabilityPeriod

UBL-CR-616 (warning)

A UBL invoice should not include the InvoiceLine Item AdditionalItemProperty ItemPropertyGroup

UBL-CR-617 (warning)

A UBL invoice should not include the InvoiceLine Item AdditionalItemProperty RangeDimension

UBL-CR-618 (warning)

A UBL invoice should not include the InvoiceLine Item AdditionalItemProperty ItemPropertyRange

UBL-CR-619 (warning)

A UBL invoice should not include the InvoiceLine Item ManufacturerParty

UBL-CR-620 (warning)

A UBL invoice should not include the InvoiceLine Item InformationContentProviderParty

UBL-CR-621 (warning)

A UBL invoice should not include the InvoiceLine Item OriginAddress

UBL-CR-622 (warning)

A UBL invoice should not include the InvoiceLine Item ItemInstance

UBL-CR-623 (warning)

A UBL invoice should not include the InvoiceLine Item Certificate

UBL-CR-624 (warning)

A UBL invoice should not include the InvoiceLine Item Dimension

UBL-CR-625 (warning)

A UBL invoice should not include the InvoiceLine Item Price PriceChangeReason

UBL-CR-626 (warning)

A UBL invoice should not include the InvoiceLine Item Price PriceTypeCode

UBL-CR-627 (warning)

A UBL invoice should not include the InvoiceLine Item Price PriceType

UBL-CR-628 (warning)

A UBL invoice should not include the InvoiceLine Item Price OrderableUnitFactorRate

UBL-CR-629 (warning)

A UBL invoice should not include the InvoiceLine Item Price ValidityPeriod

UBL-CR-630 (warning)

A UBL invoice should not include the InvoiceLine Item Price PriceList

UBL-CR-631 (warning)

A UBL invoice should not include the InvoiceLine Item Price OrderableUnitFactorRate

UBL-CR-632 (warning)

A UBL invoice should not include the InvoiceLine Item Price AllowanceCharge ID

UBL-CR-633 (warning)

A UBL invoice should not include the InvoiceLine Item Price AllowanceCharge AllowanceChargeReasonCode

UBL-CR-634 (warning)

A UBL invoice should not include the InvoiceLine Item Price AllowanceCharge AllowanceChargeReason

UBL-CR-635 (warning)

A UBL invoice should not include the InvoiceLine Item Price AllowanceCharge MultiplierFactorNumeric

UBL-CR-636 (warning)

A UBL invoice should not include the InvoiceLine Item Price AllowanceCharge PrepaidIndicator

UBL-CR-637 (warning)

A UBL invoice should not include the InvoiceLine Item Price AllowanceCharge SequenceNumeric

UBL-CR-638 (warning)

A UBL invoice should not include the InvoiceLine Item Price AllowanceCharge AccountingCostCode

UBL-CR-639 (warning)

A UBL invoice should not include the InvoiceLine Item Price AllowanceCharge AccountingCost

UBL-CR-640 (warning)

A UBL invoice should not include the InvoiceLine Item Price AllowanceCharge PerUnitAmount

UBL-CR-641 (warning)

A UBL invoice should not include the InvoiceLine Item Price AllowanceCharge TaxCategory

UBL-CR-642 (warning)

A UBL invoice should not include the InvoiceLine Item Price AllowanceCharge TaxTotal

UBL-CR-643 (warning)

A UBL invoice should not include the InvoiceLine Item Price AllowanceCharge PaymentMeans

UBL-CR-644 (warning)

A UBL invoice should not include the InvoiceLine Item Price PricingExchangeRate

UBL-CR-645 (warning)

A UBL invoice should not include the InvoiceLine DeliveryTerms

UBL-CR-646 (warning)

A UBL invoice should not include the InvoiceLine SubInvoiceLine

UBL-CR-647 (warning)

A UBL invoice should not include the InvoiceLine ItemPriceExtension

UBL-CR-648 (warning)

A UBL invoice should not include the CustomizationID scheme identifier

UBL-CR-649 (warning)

A UBL invoice should not include the ProfileID scheme identifier

UBL-CR-650 (warning)

A UBL invoice shall not include the Invoice ID scheme identifier

UBL-CR-651 (warning)

A UBL invoice should not include the SalesOrderID scheme identifier

UBL-CR-652 (warning)

A UBL invoice should not include the PartyTaxScheme CompanyID scheme identifier

UBL-CR-653 (warning)

A UBL invoice should not include the PaymentID scheme identifier

UBL-CR-654 (warning)

A UBL invoice should not include the PayeeFinancialAccount scheme identifier

UBL-CR-655 (warning)

A UBL invoice shall not include the FinancialInstitutionBranch ID scheme identifier

UBL-CR-656 (warning)

A UBL invoice should not include the InvoiceTypeCode listID

UBL-CR-657 (warning)

A UBL invoice should not include the DocumentCurrencyCode listID

UBL-CR-658 (warning)

A UBL invoice should not include the TaxCurrencyCode listID

UBL-CR-659 (warning)

A UBL invoice shall not include the AdditionalDocumentReference DocumentTypeCode listID

UBL-CR-660 (warning)

A UBL invoice should not include the Country Identification code listID

UBL-CR-661 (warning)

A UBL invoice should not include the PaymentMeansCode listID

UBL-CR-662 (warning)

A UBL invoice should not include the AllowanceChargeReasonCode listID

UBL-CR-663 (warning)

A UBL invoice should not include the unitCodeListID

UBL-CR-664 (warning)

A UBL invoice should not include the FinancialInstitutionBranch FinancialInstitution

UBL-CR-665 (warning)

A UBL invoice should not include the AdditionalDocumentReference ID schemeID unless the DocumentTypeCode equals '130'

UBL-CR-666 (fatal)

A UBL invoice shall not include an AdditionalDocumentReference simultaneously referring an Invoice Object Identifier and an Attachment

UBL-CR-667 (warning)

A UBL invoice should not include a Buyer Item Identification schemeID

UBL-CR-668 (warning)

A UBL invoice should not include a Sellers Item Identification schemeID

UBL-CR-669 (warning)

A UBL invoice should not include a Price Allowance Reason Code

UBL-CR-670 (warning)

A UBL invoice should not include a Price Allowance Reason

UBL-CR-671 (warning)

A UBL invoice should not include a Price Allowance Multiplier Factor

UBL-CR-672 (warning)

A UBL credit note should not include the CreditNoteTypeCode listID

UBL-CR-673 (fatal)

A UBL invoice shall not include an AdditionalDocumentReference simultaneously referring an Invoice Object Identifier and an Document Description

UBL-CR-674 (warning)

A UBL invoice should not include the PrimaryAccountNumber schemeID

UBL-CR-675 (warning)

A UBL invoice should not include the NetworkID schemeID

UBL-CR-676 (warning)

A UBL invoice should not include the PaymentMandate/ID schemeID

UBL-CR-677 (warning)

A UBL invoice should not include the PayerFinancialAccount/ID schemeID

UBL-CR-678 (warning)

A UBL invoice should not include the TaxCategory/ID schemeID

UBL-CR-679 (warning)

A UBL invoice should not include the ClassifiedTaxCategory/ID schemeID

UBL-CR-680 (warning)

A UBL invoice should not include the PaymentMeans/PayerFinancialAccount

UBL-CR-681 (warning)

A UBL invoice should not include the PaymentMeans InstructionNote

UBL-CR-682 (warning)

A UBL invoice should not include the Delivery DeliveryAddress

UBL-DT-01 (fatal)

Amounts shall be decimal up to two fraction digits

UBL-DT-06 (fatal)

Binary object elements shall contain the mime code attribute

UBL-DT-07 (fatal)

Binary object elements shall contain the file name attribute

UBL-DT-08 (warning)

Scheme name attribute should not be present

UBL-DT-09 (warning)

Scheme agency name attribute should not be present

UBL-DT-10 (warning)

Scheme data uri attribute should not be present

UBL-DT-11 (warning)

Scheme uri attribute should not be present

UBL-DT-12 (warning)

Format attribute should not be present

UBL-DT-13 (warning)

Unit code list identifier attribute should not be present

UBL-DT-14 (warning)

Unit code list agency identifier attribute should not be present

UBL-DT-15 (warning)

Unit code list agency name attribute should not be present

UBL-DT-16 (warning)

List agency name attribute should not be present

UBL-DT-17 (warning)

List name attribute should not be present

UBL-DT-18 (warning)

Name attribute should not be present

UBL-DT-19 (warning)

Language identifier attribute should not be present

UBL-DT-20 (warning)

List uri attribute should not be present

UBL-DT-21 (warning)

List scheme uri attribute should not be present

UBL-DT-22 (warning)

Language local identifier attribute should not be present

UBL-DT-23 (warning)

Uri attribute should not be present

UBL-DT-24 (warning)

Currency code list version id should not be present

UBL-DT-25 (warning)

CharacterSetCode attribute should not be present

UBL-DT-26 (warning)

EncodingCode attribute should not be present

UBL-DT-27 (warning)

Scheme Agency ID attribute should not be present

UBL-DT-28 (warning)

List Agency ID attribute should not be present

UBL-SR-01 (fatal)

Contract identifier shall occur maximum once.

UBL-SR-02 (fatal)

Receive advice identifier shall occur maximum once

UBL-SR-03 (fatal)

Despatch advice identifier shall occur maximum once

UBL-SR-04 (fatal)

Invoice object identifier shall occur maximum once

UBL-SR-05 (fatal)

Payment terms shall occur maximum once

UBL-SR-06 (fatal)

Preceding invoice reference shall occur maximum once

UBL-SR-07 (fatal)

If there is a preceding invoice reference, the preceding invoice number shall be present

UBL-SR-08 (fatal)

Invoice period shall occur maximum once

UBL-SR-09 (fatal)

Seller name shall occur maximum once

UBL-SR-10 (fatal)

Seller trader name shall occur maximum once

UBL-SR-11 (fatal)

Seller legal registration identifier shall occur maximum once

UBL-SR-12 (fatal)

Seller VAT identifier shall occur maximum once

UBL-SR-13 (fatal)

Seller tax registration shall occur maximum once

UBL-SR-14 (fatal)

Seller additional legal information shall occur maximum once

UBL-SR-15 (fatal)

Buyer name shall occur maximum once

UBL-SR-16 (fatal)

Buyer identifier shall occur maximum once

UBL-SR-17 (fatal)

Buyer legal registration identifier shall occur maximum once

UBL-SR-18 (fatal)

Buyer VAT identifier shall occur maximum once

UBL-SR-19 (fatal)

Payee name shall occur maximum once, if the Payee is different from the Seller

UBL-SR-20 (fatal)

Payee identifier shall occur maximum once, if the Payee is different from the Seller

UBL-SR-21 (fatal)

Payee legal registration identifier shall occur maximum once, if the Payee is different from the Seller

UBL-SR-22 (fatal)

Seller tax representative name shall occur maximum once, if the Seller has a tax representative

UBL-SR-23 (fatal)

Seller tax representative VAT identifier shall occur maximum once, if the Seller has a tax representative

UBL-SR-24 (fatal)

Deliver to information shall occur maximum once

UBL-SR-25 (fatal)

Deliver to party name shall occur maximum once

UBL-SR-26 (fatal)

Payment reference shall occur maximum once

UBL-SR-27 (fatal)

Payment means text shall occur maximum once

UBL-SR-28 (fatal)

Mandate reference identifier shall occur maximum once

UBL-SR-29 (fatal)

Bank creditor reference shall occur maximum once

UBL-SR-30 (fatal)

Document level allowance reason shall occur maximum once

UBL-SR-31 (fatal)

Document level charge reason shall occur maximum once

UBL-SR-32 (fatal)

VAT exemption reason text shall occur maximum once

UBL-SR-33 (fatal)

Supporting document description shall occur maximum once

UBL-SR-34 (fatal)

Invoice line note shall occur maximum once

UBL-SR-35 (fatal)

Referenced purchase order line identifier shall occur maximum once

UBL-SR-36 (fatal)

Invoice line period shall occur maximum once

UBL-SR-37 (fatal)

Item price discount shall occur maximum once

UBL-SR-39 (fatal)

Project reference shall occur maximum once.

UBL-SR-40 (fatal)

Buyer trade name shall occur maximum once

UBL-SR-42 (fatal)

Party tax scheme shall occur maximum twice in accounting supplier party

UBL-SR-43 (fatal)

Scheme identifier shall only be used for invoiced object (document type code with value 130 or 50)

UBL-SR-44 (fatal)

An Invoice may only have one unique PaymentID, but the PaymentID may be used for multiple PaymentMeans

UBL-SR-45 (fatal)

Due Date shall occur maximum once

UBL-SR-46 (fatal)

Payment means text shall occur maximum once

UBL-SR-47 (fatal)

When there are more than one payment means code, they shall be equal

UBL-SR-48 (fatal)

Invoice lines shall have one and only one classified tax category.

UBL-SR-49 (fatal)

Value tax point date shall occur maximum once

UBL-SR-50 (fatal)

Item description shall occur maximum once

UBL-SR-51 (fatal)

An address can only have one third line.

UBL-SR-52 (fatal)

Document reference shall occur maximum once

Appendix E: Example files

The example files can be downloaded from the main page of this specification. In addition, several example files have been developed in order to extract snippets into this guide. You might freely use them, but be aware that they include several comments used to extract the snippets.