1. Introduction

Pagero Universal Format, hereafter referred to as "PUF", is developed and maintained by Pagero Group. PUF is based upon Universal Business Language Version 2.1 (UBL 2.1).

To align with new regulations and the business needs that comes with the growing use of electronic invoices throughout the world, the core idea of PUF is to enable its users to provide enough data to meet the requirements in these markets.

To be able to provide the broadest support possible, PUF has been designed with the following core basis in mind:

  • European standard EN 16931-1:2017

    • EN 16931-1:2017 complies with the European Directive on electronic invoicing for public authorities (EN 2014/55 / ​​EU). It has been prepared by the Technical Committee TC434 at CEN by the European Commission.

  • Peppol BIS Billing 3.0 (OpenPeppol’s CIUS (Core Invoice Usage Specification) with EN16931 as the underlying specification)

  • Other CIUS’s based on the regulations of EN 16931-1:2017

  • Extensions based on the regulations of EN 16931-1:2017

  • Country specific information found in domestic formats in various legal domains.

Based on extensive analysis of the above, PUF has been designed to meet these country-, industry-, format- and/or system-specific requirements.

Another intention of PUF has been to create a flexible, extendable format which can be updated quickly to be able to meet the requirements of the fast-changing global electronic document landscape.

PUF is not to be considered a CIUS based on EN16931 or any other CIUS or format. PUF will, however, to a large extent try to follow the work done in EN16931, Peppol and other UBL based invoicing specifications.

If one can create a valid and syntactically correct EN16931 based UBL-format; the threshold for implementing PUF should be negligible.

1.1. Version and Changelog

Table 1. Version
Version Date Description

2.0

2021-06-01

Second version published

1.0

2019-05-02

First version published

2. Guidelines

PUF was originally built to support information and content as described in PEPPOL BIS Billing 3.0 but also adding support for elements that where not present in Peppol BIS specification.

While PUF aim to fully support Peppol BIS it will not necessarily be restricted to the rules as stated in the Peppol BIS specification nor in the EN16931.

In areas where support for certain information is available in the existing UBL 2.1 structure, PUF implements these elements.

In other areas where there are no suitable elements in the existing UBL 2.1 schema, PUF implements UBLExtensions.

Since UBLExtensions are only available on document level in UBL 2.1, it had to be altered, adding the UBLExtension in every aggregate thus replacing the UBL-CommonAggregateComponents-2.1.xsd with the PUF altered PUF-CommonAggregateComponents-2.1.xsd. The reason for this is that there would be too many semantic rules to tie each UBLExtension on document level to their corresponding existing element on other levels.

2.1. How to get started with PUF

In the following chapters you can see which elements and what type of information that is supported in PUF.

In some cases you will also get longer snippets of code and implementation guidelines in order how to properly provide the data.

There is also a section with test files that can be useful when implementing PUF.

If your ERP system already can create Invoices and CreditNotes in Universal Business Language Version 2.1 (UBL 2.1) or if your ERP system can create a UBL based format or CIUS such as PEPPOL BIS Billing 3.0 you can easily use this as stepping stone when moving towards PUF.

2.1.1. Moving from other UBL formats to PUF

  1. Download the PUF XML Schemas.

  2. Change namespaces (see chapter Namespaces).

  3. Verify that your interpretation of the UBL elements mentioned in this specification are the same.

  4. Change the Customization ID and Profile ID (see chapter Customization and Profile ID)

  5. If elements from extensions are needed see chapter Working with extensions for details on how this is implemented.

  6. Before implementing additional elements available in PUF, validate the document with the XSD schema downloaded in step 1 above.

In the XML schemas provided in chapter XML Schemas you will see the structure and the occurrences of every element available in PUF.
This specification will not include any cardinality from a schema perspective nor from what is required in a specific legal domain since this might differ depending on which specific country, region or business requirements you will have to comply with. In order to know what information is sufficient to provide you should first check what the requirements from a legal and business perspective and then refer to this specification on where to provide this information.
Also note that the elements and their sequence order provided in specification is done with the Invoice document type.
When using CreditNote please take note to use the separate XML schema provided for possible differences in element names or sequence order.

2.2. Namespaces

Target name space - Invoice:

  • urn:pagero:PageroUniversalFormat:Invoice:1:0

Example:
Invoice example for target namespace

<Invoice xmlns="urn:pagero:PageroUniversalFormat:Invoice:1.0">
  <!-- Code omitted for clarity -->
</Invoice>

Target name space - CreditNote:

  • urn:pagero:PageroUniversalFormat:CreditNote:1:0

Example:
Credit note example for target namespace

<CreditNote xmlns="urn:pagero:PageroUniversalFormat:CreditNote:1.0">
  <!-- Code omitted for clarity -->
</CreditNote>

CommonAggregateComponents - Invoice/CreditNote:

  • urn:pagero:CommonAggregateComponents:1.0

Example:
Invoice example for CommonAggregateComponents namespace

<Invoice xmlns:cac="urn:pagero:CommonAggregateComponents:1.0"> (1)
  <!-- Code omitted for clarity -->
</Invoice>
1 Note that the namespace is the same for CreditNote-root element.

2.3. Customization and Profile ID

To indicate the correct PUF specification identifer and the profile identifier, the values in below table must be sent in cbc:CustomizationID and cbc:ProfileID.

Type Element cbc:CustomizationID Element cbc:ProfileID

Invoice and credit note

urn:pagero.com:puf:billing:2.0

urn:pagero.com:puf:billing:1.0

Example of CustomizationID and ProfileID:

<cbc:CustomizationID>urn:pagero.com:puf:billing:2.0</cbc:CustomizationID>
<cbc:ProfileID>urn:pagero.com:puf:billing:1.0</cbc:ProfileID>

2.4. Working with extensions

In order to facilitate the use of PUF specific extensions, a schema for the extensions is provided. The PUF-ExtensionComponent.xsd can be found together with the other schemas in chapter XML Schemas. This chapter provides an overview on how to use extensions.

To be able to use the PUF-ExtensionComponent a namespace must be included in the document file.

Example
Example from Invoice

<Invoice ... xmlns:puf="urn:pagero:ExtensionComponent:1.0"> (1)
  <!-- Code omitted for clarity -->
</Invoice>
1 Note that the namespace is the same for CreditNote-root element.

Depending on in which context the UBLExtensions are used there are different options of what types of values you are able to provide. To identify which context the UBLExtensions is in the element ExtensionURI is used. When using these Pagero extensions, the URI has the same base:

  • urn:pagero:ExtensionComponent:1.0:PageroExtension

After the URI, the specific resource name is added.

Example
UBLExtension used in the Party structure.

<cac:AccountingSupplierParty>
    <cac:Party>
        <ext:UBLExtensions>
            <ext:UBLExtension>
                <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:PartyExtension</ext:ExtensionURI>
        <!-- Code omitted for clarity -->
    </cac:Party>
</cac:AccountingSupplierParty>

For detailed examples and how to use possible values in each extension please check the chapters where the PUF-specific elements are described.

2.5. Continuous development and release management

PUF will continuously be updated to meet new market demands. In order to support backward compatibility, the XSD schema is built with the use of "other" elements.

The "other" elements in the XSD will prevent validation error for customers who do not frequently keep the XSD schema up-to-date.

2.5.1. Minor release

A minor release will always be backward compatible and will take place without prior notice and will be implemented whenever needed.

Minor releases may include bugfixes, new elements, schematron updates and other features. These releases can be followed on GitHub.

2.5.2. Major release

A major release may include changes that are not backward compatible. Such a release will be notified at least three months prior to date of implementation, to users who registered an account on Pagero validex or on GitHub.

To register for PUF major release notification you can create an account on https://pagero.validex.net. But we urge all interested parties to follow the project on GitHub where all releases will be notified.

3. Content

The chapter is divided into two parts for easier navigation:

  1. Invoice (specifies segments available on document level)

  2. cac:InvoiceLine (specifies segments available on line level)

Note that most examples are only shown for document type Invoice.

3.1. Invoice

Information in this section (3.1) describe the elements available on document level.

ext:UBLExtensions

Path Description

ext:UBLExtensions

Extension Content
Added elements in regards to ext:UBLExtensions for Invoice can be found below:

RestrictedInformation
SupplyType
DutyStamp
IGSTOnIntra

cbc:CustomizationID

Path Description

cbc:CustomizationID

Document specification identifier
Must be value 'urn:pagero.com:puf:billing:2.0'

Example
cbc:CustomizationID populated with correct value

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:CustomizationID>urn:pagero.com:puf:billing:2.0</cbc:CustomizationID>
  <!-- Code omitted for clarity -->
</Invoice>

cbc:ProfileID

Path Description

cbc:ProfileID

Business process type
Identifies the business process.
Must be value 'urn:pagero.com:puf:billing:1.0'

Example
cbc:ProfileID populated with correct value

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:ProfileID>urn:pagero.com:puf:billing:1.0</cbc:ProfileID>
  <!-- Code omitted for clarity -->
</Invoice>

cbc:ID

Path Description

cbc:ID

Invoice number
A unique identifier of the invoice.

Example
cbc:ID with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:ID>51234882</cbc:ID>
  <!-- Code omitted for clarity -->
</Invoice>

cbc:IssueDate

Path Description

cbc:IssueDate

Issue date of invoice
Format "YYYY-MM-DD"

Example
cbc:IssueDate with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:IssueDate>2021-01-30</cbc:IssueDate>
  <!-- Code omitted for clarity -->
</Invoice>

cbc:IssueTime

Path Description

cbc:IssueTime

The time, assigned by the sender, at which this document was issued.
Format "HH:mm:ss", "HH:mm:ssZZZZ", "HH:mm:ss.SSS’Z'", or "HH:mm:ss.SSS"

Example
cbc:IssueTime with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:IssueTime>21:32:52</cbc:IssueTime>
  <!-- Code omitted for clarity -->
</Invoice>

cbc:DueDate

Path Description

cbc:DueDate

Due date of invoice
Format "YYYY-MM-DD"

Example
cbc:DueDate with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:DueDate>2021-02-28</cbc:DueDate>
  <!-- Code omitted for clarity -->
</Invoice>

cbc:InvoiceTypeCode

Path Description

cbc:InvoiceTypeCode

Invoice type code
Identifier of the invoice type.
Example value to be set: '380' on Invoice
Example value to be set: '381' on CreditNote
Note that corresponding element in UBL message/document type CreditNote is named cbc:CreditNoteTypeCode
For valid values see code list PUF-003-INVOICETYPECODE

cbc:InvoiceTypeCode/@name

Invoice type code name
The textual equivalent of the cbc:InvoiceTypeCode.

Example
cbc:InvoiceTypeCode populated with correct value

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
  <!-- Code omitted for clarity -->
</Invoice>

cbc:Note

Path Description

cbc:Note

Note
Free text, the element can be iterated multiple times.

Example
cbc:Note example

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:Note>This</cbc:Note>
  <cbc:Note>is a</cbc:Note>
  <cbc:Note>free text example</cbc:Note>
  <!-- Code omitted for clarity -->
</Invoice>

cbc:TaxPointDate

Path Description

cbc:TaxPointDate

VAT point date
This element should be filled in if the date when VAT become liable for seller and buyer is different from the invoice issue date.
Format "YYYY-MM-DD"

Example
cbc:TaxPointDate with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:TaxPointDate>2021-01-31</cbc:TaxPointDate>
  <!-- Code omitted for clarity -->
</Invoice>

cbc:DocumentCurrencyCode

Path Description

cbc:DocumentCurrencyCode

Document currency code
The currency code in which the amounts is specified through out the invoice.
Value must be according to ISO 4217 Currency codes
For valid values see code list PUF-004-CURRENCYCODE

Example
cbc:DocumentCurrencyCode populated with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
  <!-- Code omitted for clarity -->
</Invoice>

cbc:TaxCurrencyCode

Path Description

cbc:TaxCurrencyCode

Tax currency code
The accounting currency, this must be filled in if tax amount in accounting currency is populated in the document. Should only be filled in if the currency is different from the document currency.
Value must be according to ISO 4217 Currency codes
For valid values see code list PUF-004-CURRENCYCODE

Example
cbc:TaxCurrencyCode populated with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:TaxCurrencyCode>USD</cbc:TaxCurrencyCode>
  <!-- Code omitted for clarity -->
</Invoice>

cbc:AccountingCost

Path Description

cbc:AccountingCost

Accounting cost
Book keeping reference for buyers financial system

Example
cbc:AccountingCost populated with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:AccountingCost>1111.22.456</cbc:AccountingCost>
  <!-- Code omitted for clarity -->
</Invoice>

cbc:BuyerReference

Path Description

cbc:BuyerReference

Buyer Reference
Reference assigned by the buyer for internal routing.

Example
cbc:BuyerReference populated with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:BuyerReference>ASFF2222</cbc:BuyerReference>
  <!-- Code omitted for clarity -->
</Invoice>

cac:InvoicePeriod

Table 2. Elements available in cac:InvoicePeriod
Path Description

cbc:StartDate

Invoicing period start date
Format "YYYY-MM-DD"

cbc:EndDate

Invoicing period end date
Format "YYYY-MM-DD"

cbc:Description

Description of the billing period (free text).

Example
cac:InvoicePeriod with example values

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoicePeriod>
      <cbc:StartDate>2021-01-01</cbc:StartDate>
      <cbc:EndDate>2021-01-31</cbc:EndDate>
      <cbc:Description>Description of invoice period</cbc:Description>
  </cac:InvoicePeriod>
  <!-- Code omitted for clarity -->
</Invoice>

cac:OrderReference

Below table show available fields in cac:OrderReference, note that additional elements has also been added to the extension available in OrderReference

Table 3. Elements added in cac:OrderReference
Path Description

ext:UBLExtensions

Extension Content
Extension is added to provide additional information in the cac:OrderReference element, the information available can be found here

cbc:ID

Purchase order reference
Purchase order identifier, issued by the buyer.

cbc:SalesOrderID

Sales order reference
Sales order identifier, issued by the seller.

cbc:IssueDate

Issue date
Date of issue of the referenced purchase order
Format "YYYY-MM-DD"

Example
cbc:OrderReference example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:OrderReference>
    <cbc:ID>PO123215</cbc:ID>
    <cbc:SalesOrderID>SO1117782</cbc:SalesOrderID>
    <cbc:IssueDate>2021-01-01</cbc:IssueDate>
  </cac:OrderReference>
  <!-- Code omitted for clarity -->
</Invoice>

cac:BillingReference

Below table show available fields in cac:BillingReference/cac:InvoiceDocumentReference, note that additional elements has also been added to the extension available in BillingReference.

Table 4. Elements added in cac:BillingReference/cac:InvoiceDocumentReference
Path Description

ext:UBLExtensions

Extension Content
Extension is added to provide additional information in the cac:BillingReference/cac:InvoiceDocumentReference element, the information available can be found here

cbc:ID

Preceding invoice number
Identifier of a previous issued invoice.

cbc:IssueDate

Issue date
Issue date of previous issued invoice.
Format "YYYY-MM-DD"

Example
cbc:Note example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:BillingReference>
    <cac:InvoiceDocumentReference>
      <cbc:ID>1144884</cbc:ID>
      <cbc:IssueDate>2021-01-01</cbc:IssueDate>
    </cac:InvoiceDocumentReference>
  </<cac:BillingReference>
  <!-- Code omitted for clarity -->
</Invoice>

cac:DespatchDocumentReference

Table 5. Elements added in cac:DespatchDocumentReference
Path Description

cbc:ID

Despatch advice reference
Identifier of issued despatch advice.

cbc:IssueDate

Issue date
Issue date of despatch advice.
Format "YYYY-MM-DD"

Example
cac:DespatchDocumentReference example values

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:DespatchDocumentReference>
      <cbc:ID>1151555</cbc:ID>
      <cbc:IssueDate>2021-01-01</cbc:IssueDate>
  </cac:DespatchDocumentReference>
  <!-- Code omitted for clarity -->
</Invoice>

cac:ReceiptDocumentReference

Table 6. Elements added in cac:ReceiptDocumentReference
Path Description

cbc:ID

Receiving advice reference
An identifier of a referenced receiving advice.

Example
cac:ReceiptDocumentReference example values

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:ReceiptDocumentReference>
      <cbc:ID>587345</cbc:ID>
  </cac:ReceiptDocumentReference>
  <!-- Code omitted for clarity -->
</Invoice>

cac:OriginatorDocumentReference

Table 7. Elements added in cac:OriginatorDocumentReference
Path Description

cbc:ID

Tender reference identifier
Identifier of the tender.

cbc:IssueDate

Issue date
Issue date of the tender.
Format "YYYY-MM-DD"

Example
cac:OriginatorDocumentReference example values

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:OriginatorDocumentReference>
      <cbc:ID>710654</cbc:ID>
      <cbc:IssueDate>2021-01-01</cbc:IssueDate>
  </cac:OriginatorDocumentReference>
  <!-- Code omitted for clarity -->
</Invoice>

cac:ContractDocumentReference

Below table show available fields in cac:ContractDocumentReference, note that additional elements has also been added to the extension available in ContractDocumentReference.

Table 8. Elements added in cac:ContractDocumentReference
Path Description

ext:UBLExtensions

Extension Content
Extension is added to provide additional information in the cac:ContractDocumentReference element, the information available can be found here

cbc:ID

Contract reference
Contract reference identifier.

cbc:IssueDate

Issue date
Issue date of the contract.
Format "YYYY-MM-DD"

Example
cbc:ContractDocumentReference example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:ContractDocumentReference>
    <cbc:ID>123215</cbc:ID>
    <cbc:IssueDate>2021-01-01</cbc:IssueDate>
  </cac:ContractDocumentReference>
  <!-- Code omitted for clarity -->
</Invoice>

cac:AdditionalDocumentReference

In EN16931 based specifications, the cac:AdditionalDocumentReference aggregate is used to reference a supporting document. These can either be provided as a base64 encoded document embedded within the Invoice or CreditNote itself but can also reference an invoiced object by a document number or referencing an external document via a URL.

PUF supports this handling but also has additional support in order to provide invoice or credit notes image/presentation.

Table 9. Elements available in cac:AdditionalDocumentReference
Applicable XPath Description

cbc:ID

Identifier for the referenced object/document.

cbc:ID/@schemeID

Scheme identifier of the referenced object/document.
When used it should be according to the list
PUF-005-INVOICEDOBJECTIDENTIFIER

cbc:DocumentTypeCode

Document type code. Should be 130 if referencing an invoiced object. Not used for other additional document references.

cbc:DocumentDescription

A description of the referenced or attached document.

cac:Attachment/cbc:EmbeddedDocumentBinaryObject

The attached document base64 encoded.

cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@mimeCode

The mimecode of the attached document.
Supported mime codes can be found in the code list
PUF-006-MIMECODES

cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@filename

Filename of the attached document.

cac:Attachment/cac:ExternalReference/cbc:URI

A URL to where the referenced document can be found.

Invoice image/presentation and Credit Note image/presentation

Providing an invoice presentation/image or credit note image/presentation is sometimes useful. This can be done in PUF as shown in the examples below.

If cbc:DocumentDescription is "Commercial Invoice" or "Credit Note" the attachment will be interpreted as a an invoice presentation/image otherwise the attachment will be interpreted as a miscellaneous or "other" type of document.

Example
Invoice with presentation (PDF-image)

<Invoice>
<!-- Code omitted for clarity -->
  <cac:AdditionalDocumentReference>
      <cbc:ID>123456</cbc:ID>
      <cbc:DocumentDescription>Commercial Invoice</cbc:DocumentDescription> (1)
      <cac:Attachment>
        <cbc:EmbeddedDocumentBinaryObject mimeCode="application/pdf" filename="presentation.pdf">MvYmlsbGluZy...8zLjAvYmlzLw==</cbc:EmbeddedDocumentBinaryObject>
      </cac:Attachment>
  </cac:AdditionalDocumentReference>
<!-- Code omitted for clarity -->
</Invoice>
1 If "Commercial Invoice" is stated in the cbc:DocumentDescription the attachment will be interpreted as a presentation.

Example
Credit Note with (PDF-image)

<CreditNote>
<!-- Code omitted for clarity -->
  <cac:AdditionalDocumentReference>
      <cbc:ID>123456</cbc:ID>
      <cbc:DocumentDescription>Credit Note</cbc:DocumentDescription> (1)
      <cac:Attachment>
        <cbc:EmbeddedDocumentBinaryObject mimeCode="application/pdf" filename="presentation.pdf">MvYmlsbGluZy...8zLjAvYmlzLw==</cbc:EmbeddedDocumentBinaryObject>
      </cac:Attachment>
  </cac:AdditionalDocumentReference>
<!-- Code omitted for clarity -->
</CreditNote>
1 If "Credit Note" is stated in the Credit Note the attachment will be interpreted as a presentation.
Invoiced object reference

If there is a need to reference a document/object number without providing a link to the location and without embedding it in the Invoice/CreditNote this can be done in PUF within the cac:AdditionalDocumentReference as shown in below example. Note that it is possible to provide more than one invoiced object reference.

Example
Invoice with reference to an invoiced object with a document number

<Invoice>
<!-- Code omitted for clarity -->
  <cac:AdditionalDocumentReference>
      <cbc:ID schemeID="AIT">123456</cbc:ID> (1)
      <cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>(2)
  </cac:AdditionalDocumentReference>
<!-- Code omitted for clarity -->
</Invoice>
1 The schemeID must be according to list PUF-005-INVOICEDOBJECTIDENTIFIER.
2 Document type code should be '130' to indicate invoiced object.

cac:ProjectReference

Table 10. Elements added in cac:ProjectReference
Path Description

cbc:ID

Project reference
An identifier of the project.

Example
cac:ProjectReference example values

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:ProjectReference>
      <cbc:ID>557884</cbc:ID>
  </cac:ProjectReference>
  <!-- Code omitted for clarity -->
</Invoice>

cac:AccountingSupplierParty

Below table show available fields in cac:AccountingSupplierParty, note that additional elements has also been added to the extension available in Party.

Table 11. Additional elements added within cac:AccountingSupplierParty
Path Description

cbc:CustomerAssignedAccountID

Customer Account ID
Supplier ID, assigned by the buyer.

cac:Party/ext:UBLExtensions

Extension Content
Extension is added to provide additional information in the cac:Party element, the information available can be found here

cac:Party/cbc:EndpointID

Electronic Identifier
Seller’s electronic address

cac:Party/cbc:EndpointID/@schemeID

Electronic Identifier scheme ID
Scheme identifier of electronic address.
Value must be according to code list PUF-007-ENDPOINTSCHEME

cac:Party/cac:PartyIdentification/cbc:ID

Seller Identifier
Identifier of the seller.

cac:Party/cac:PartyIdentification/cbc:ID/@schemeID

Seller Identifier
Scheme identifier of seller identifier
Value must be according to code list PUF-008-IDENTIFICATIONSCHEME

cac:Party/cac:PartyName/cbc:Name

Seller name
Seller name

cac:Party/cac:PostalAddress/cbc:Postbox

Postal box
Seller’s postal address post box

cac:Party/cac:PostalAddress/cbc:StreetName

Street name
Seller’s postal address street name

cac:Party/cac:PostalAddress/cbc:AdditionalStreetName

Additional Street name
Seller’s postal address additional street name

cac:Party/cac:PostalAddress/cbc:BuildingNumber

Building number
Seller’s postal address building number

cac:Party/cac:PostalAddress/cbc:Department

Department
Seller’s postal address department

cac:Party/cac:PostalAddress/cbc:PlotIdentification

Plot Identification
Seller’s postal address plot identification. Additional address number. An identifier for the piece of land associated with this address.

cac:Party/cac:PostalAddress/cbc:CitySubdivisionName

City Subdvision Name
Seller’s postal address city subdivision name. The name of the subdivision of the seller city, town, or village in which its address is located, such as the name of its district or borough.

cac:Party/cac:PostalAddress/cbc:CityName

City name
Seller’s postal address city name

cac:Party/cac:PostalAddress/cbc:PostalZone

Postal zone
Seller’s postal address post code

cac:Party/cac:PostalAddress/cbc:CountrySubentity

Country subentity
Seller’s postal address province or state

cac:Party/cac:PostalAddress/cbc:CountrySubentityCode

Country subentity code
Seller’s postal address province or state code

cac:Party/cac:PostalAddress/cac:AddressLine/cbc:Line

Additional address line
Note that cbc:StreetName and cbc:AdditionalStreetName should be populated prior of using this element.

cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode

Country code
Seller’s postal address country code

cac:Party/cac:PostalAddress/cac:Country/cbc:Name

Country name
Seller’s postal address country name

cac:Party/cac:PartyTaxScheme/cbc:CompanyID

Company identifier
Seller’s tax registration number

cac:Party/cac:PartyTaxScheme/cac:TaxScheme/cbc:ID

Tax scheme identifier
Seller’s tax registration number tax scheme Identifier.
If cac:PartyTaxScheme/cbc:CompanyID is to be intepreted as a VAT registration text e.g. "Godkänd för F-Skatt" or "Foretaksregisteret", cac:TaxScheme/cbc:ID must be "TAX".

cac:Party/cac:PartyLegalEntity/cbc:RegistrationName

Registration name
Seller’s formal name or company name

cac:Party/cac:PartyLegalEntity/cbc:CompanyID

Legal company identifier
Seller’s legal registration identifier

cac:Party/cac:PartyLegalEntity/cbc:CompanyID/@schemeID

Legal company scheme identifier
Seller’s legal registration identifier scheme identifier
Value must be according to code list PUF-008-IDENTIFICATIONSCHEME

cac:Party/cac:PartyLegalEntity/cbc:CompanyLegalForm

Company legal form
Relevant legal information regarding the seller.

cac:Party/cac:Contact/cbc:Name

Contact name
Name of contact person.

cac:Party/cac:Contact/cbc:Telephone

Contact telephone
Phone number of contact person.

cac:Party/cac:Contact/cbc:ElectronicMail

Contact E-mail
E-mail of contact person..

cac:AccountingContact/cbc:Telephone

Accounting telephone
The telephone number for the accounting contact of the organization.

cac:AccountingContact/cbc:Telefax

Accounting fax number
The telefax number for the accounting contact of the organization.

cac:AccountingContact/cbc:ElectronicMail

Accounting E-mail
The e-mail address for the accounting contact of the organization.

Example
cac:AccountingSupplierParty example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:AccountingSupplierParty>
      <cbc:CustomerAssignedAccountID>SupplierId</cbc:CustomerAssignedAccountID>
      <cac:Party>
          <cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
          <cac:PartyIdentification>
              <cbc:ID schemeID="0088">7300010000001</cbc:ID>
          </cac:PartyIdentification>
          <cac:PartyName>
              <cbc:Name>Supplier Name</cbc:Name>
          </cac:PartyName>
          <cac:PostalAddress>
              <cbc:Postbox>12345</cbc:Postbox>
              <cbc:StreetName>Test Street 1</cbc:StreetName>
              <cbc:Department>Department</cbc:Department>
              <cbc:PlotIdentification>0000</cbc:PlotIdentification>
              <cbc:CitySubdivisionName>City Subdivision Name</cbc:CitySubdivisionName>
              <cbc:CityName>Town</cbc:CityName>
              <cbc:PostalZone>00000</cbc:PostalZone>
              <cbc:CountrySubentity>Province</cbc:CountrySubentity>
              <cac:Country>
                  <cbc:IdentificationCode>SE</cbc:IdentificationCode>
                  <cbc:Name>Sweden</cbc:Name>
              </cac:Country>
          </cac:PostalAddress>
          <cac:PartyTaxScheme>
              <cbc:CompanyID>SE123456123401</cbc:CompanyID>
              <cac:TaxScheme>
                  <cbc:ID>VAT</cbc:ID>
              </cac:TaxScheme>
          </cac:PartyTaxScheme>
          <cac:PartyLegalEntity>
              <cbc:RegistrationName>Supplier Registration Name</cbc:RegistrationName>
              <cbc:CompanyID schemeID="0007">1234561234</cbc:CompanyID>
              <cac:RegistrationAddress>
                  <cbc:CityName>Supplier Hometown</cbc:CityName>
                  <cac:Country>
                      <cbc:IdentificationCode>SE</cbc:IdentificationCode>
                  </cac:Country>
              </cac:RegistrationAddress>
          </cac:PartyLegalEntity>
          <cac:Contact>
              <cbc:Name>Supplier Contact Name</cbc:Name>
              <cbc:Telephone>11111111</cbc:Telephone>
              <cbc:ElectronicMail>supplier@contact.com</cbc:ElectronicMail>
          </cac:Contact>
      </cac:Party>
      <cac:AccountingContact>
          <cbc:Telephone>Supplier tel</cbc:Telephone>
          <cbc:Telefax>Supplier Fax</cbc:Telefax>
          <cbc:ElectronicMail>Supplier@mainContact.com</cbc:ElectronicMail>
      </cac:AccountingContact>
  </cac:AccountingSupplierParty>
  <!-- Code omitted for clarity -->
</Invoice>

cac:AccountingCustomerParty

Below table show available fields in cac:AccountingCustomerParty, note that additional elements has also been added to the extension available in Party.

Table 12. Additional elements added within cac:AccountingCustomerParty
Path Description

cbc:SupplierAssignedAccountID

Customer Account ID
Customer ID, assigned by the seller.

cac:Party/ext:UBLExtensions

Extension Content
Extension is added to provide additional information in the cac:Party element, the information available can be found here

cac:Party/cbc:EndpointID

Electronic Identifier
Buyer’s electronic address

cac:Party/cbc:EndpointID/@schemeID

Electronic Identifier scheme ID
Scheme identifier of electronic address
Value must be according to code list PUF-007-ENDPOINTSCHEME

cac:Party/cac:PartyIdentification/cbc:ID

Buyer Identifier
Identifier of the Buyer.

cac:Party/cac:PartyIdentification/cbc:ID/@schemeID

Buyer Identifier
Scheme identifier of Buyer identifier.
Value must be according to code list PUF-008-IDENTIFICATIONSCHEME

cac:Party/cac:PartyName/cbc:Name

Buyer name
Buyer name

cac:Party/cac:PostalAddress/cbc:Postbox

Postal box
Buyer’s postal address post box

cac:Party/cac:PostalAddress/cbc:StreetName

Street name
Buyer’s postal address street name

cac:Party/cac:PostalAddress/cbc:AdditionalStreetName

Additional Street name
Buyer’s postal address additional street name

cac:Party/cac:PostalAddress/cbc:BuildingNumber

Building number
Buyer’s postal address building number

cac:Party/cac:PostalAddress/cbc:Department

Department
Buyer’s postal address department

cac:Party/cac:PostalAddress/cbc:PlotIdentification

Plot Identification
Buyer’s postal address plot identification. Additional address number. An identifier for the piece of land associated with this address.

cac:Party/cac:PostalAddress/cbc:CitySubdivisionName

City Subdvision Name
Buyer’s postal address city subdivision name. The name of the subdivision of the Buyer city, town, or village in which its address is located, such as the name of its district or borough.

cac:Party/cac:PostalAddress/cbc:CityName

City name
Buyer’s postal address city name

cac:Party/cac:PostalAddress/cbc:PostalZone

Postal zone
Buyer’s postal address post code

cac:Party/cac:PostalAddress/cbc:CountrySubentity

Country subentity
Buyer’s postal address province or state

cac:Party/cac:PostalAddress/cbc:CountrySubentityCode

Country subentity code
Buyer’s postal address province or state code

cac:Party/cac:PostalAddress/cac:AddressLine/cbc:Line

Additional address line
Note that cbc:StreetName and cbc:AdditionalStreetName should be populated prior of using this element.

cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode

Country code
Buyer’s postal address country code

cac:Party/cac:PostalAddress/cac:Country/cbc:Name

Country name
Buyer’s postal address country name

cac:Party/cac:PartyTaxScheme/cbc:CompanyID

Company identifier
Buyer’s tax registration number

cac:Party/cac:PartyTaxScheme/cac:TaxScheme/cbc:ID

Tax scheme identifier
Buyer’s tax registration number tax scheme Identifier.

cac:Party/cac:PartyLegalEntity/cbc:RegistrationName

Registration name
Buyer’s formal name or company name

cac:Party/cac:PartyLegalEntity/cbc:CompanyID

Legal company identifier
Buyer’s legal registration identifier

cac:Party/cac:PartyLegalEntity/cbc:CompanyID/@schemeID

Legal company scheme identifier
Buyer’s legal registration identifier scheme identifier.
Value must be according to code list PUF-008-IDENTIFICATIONSCHEME

cac:Party/cac:PartyLegalEntity/cbc:CompanyLegalForm

Company legal form
Relevant legal information regarding the Buyer.

cac:Party/cac:Contact/cbc:Name

Contact name
Name of contact person.

cac:Party/cac:Contact/cbc:Telephone

Contact telephone
Phone number of contact person.

cac:Party/cac:Contact/cbc:ElectronicMail

Contact E-mail
E-mail of contact person..

cac:AccountingContact/cbc:Telephone

Accounting telephone
The telephone number for the accounting contact of the organization.

cac:AccountingContact/cbc:Telefax

Accounting fax number
The telefax number for the accounting contact of the organization.

cac:AccountingContact/cbc:ElectronicMail

Accounting E-mail
The e-mail address for the accounting contact of the organization.
(Also used for distribution via email through Pagero Online)

Example
cac:AccountingCustomerParty example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:AccountingCustomerParty>
      <cbc:SupplierAssignedAccountID>Customer Number</cbc:SupplierAssignedAccountID>
      <cac:Party>
          <cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
          <cac:PartyIdentification>
              <cbc:ID schemeID="0088">7300010000001</cbc:ID>
          </cac:PartyIdentification>
          <cac:PartyName>
              <cbc:Name>Customer Name</cbc:Name>
          </cac:PartyName>
          <cac:PostalAddress>
              <cbc:Postbox>54321</cbc:Postbox>
              <cbc:StreetName>Customer Street</cbc:StreetName>
              <cbc:Department>Customer Department</cbc:Department>
              <cbc:PlotIdentification>0000</cbc:PlotIdentification>
              <cbc:CitySubdivisionName>Customer City Subdivision Name</cbc:CitySubdivisionName>
              <cbc:CityName>Customer City</cbc:CityName>
              <cbc:PostalZone>00000</cbc:PostalZone>
              <cbc:CountrySubentity>Customer Province</cbc:CountrySubentity>
              <cac:Country>
                  <cbc:IdentificationCode>SE</cbc:IdentificationCode>
                  <cbc:Name>Sweden</cbc:Name>
              </cac:Country>
          </cac:PostalAddress>
          <cac:PartyTaxScheme>
              <cbc:CompanyID>SE987654321001</cbc:CompanyID>
              <cac:TaxScheme>
                  <cbc:ID>VAT</cbc:ID>
              </cac:TaxScheme>
          </cac:PartyTaxScheme>
          <cac:PartyLegalEntity>
              <cbc:RegistrationName>Customer Registration Name</cbc:RegistrationName>
              <cbc:CompanyID schemeID="0007">987654-4321</cbc:CompanyID>
          </cac:PartyLegalEntity>
          <cac:Contact>
              <cbc:Name>Customer Contact Name</cbc:Name>
              <cbc:Telephone>+465544466</cbc:Telephone>
              <cbc:ElectronicMail>customer@contact.com</cbc:ElectronicMail>
          </cac:Contact>
      </cac:Party>
      <cac:AccountingContact>
          <cbc:Telephone>Customer tel</cbc:Telephone>
          <cbc:Telefax>Customer Fax</cbc:Telefax>
          <cbc:ElectronicMail>Customer@mainContact.com</cbc:ElectronicMail>
      </cac:AccountingContact>
  </cac:AccountingCustomerParty>
  <!-- Code omitted for clarity -->
</Invoice>

cac:PayeeParty

Table 13. Additional elements added within cac:PayeeParty
Path Description

cac:PartyIdentification/cbc:ID

Payee Identifier
Identifier of the payee.

cac:PartyIdentification/cbc:ID/@schemeID

Payee scheme Identifier
Scheme identifier of payee identifier.
Value must be according to code list PUF-008-IDENTIFICATIONSCHEME

cac:PartyName/cbc:Name

Payee name
Payee name.

cac:PartyLegalEntity/cbc:CompanyID

Legal company identifier
Payee’s legal registration identifier.

cac:PartyLegalEntity/cbc:CompanyID/@schemeID

Legal company identifier scheme identifier
Payee’s legal registration identifier scheme identifier.
Value must be according to code list PUF-008-IDENTIFICATIONSCHEME

Example
cac:PayeeParty example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:PayeeParty>
    <cac:PartyIdentification>
        <cbc:ID schemeID="0088">7300000000001</cbc:ID>
    </cac:PartyIdentification>
    <cac:PartyName>
        <cbc:Name>Payee Name</cbc:Name>
    </cac:PartyName>
    <cac:PartyLegalEntity>
        <cbc:CompanyID schemeID="0007">2201611123</cbc:CompanyID>
    </cac:PartyLegalEntity>
  </cac:PayeeParty>
  <!-- Code omitted for clarity -->
</Invoice>

cac:BuyerCustomerParty

In PUF, a new party has been added called Buyer Customer Party. This party should contain information regarding the buyer of the goods or service and should only be used if the buyer party differs from accounting customer party.

If cac:BuyerCustomerParty is used, the cac:AccountingCustomerParty is to be considered the receiver of the document.

Below table show available fields in cac:BuyerCustomerParty, note that additional elements has also been added to the extension available in Party

Table 14. Elements added in cac:BuyerCustomerParty
Path Description

cbc:SupplierAssignedAccountID

Customer Account ID
Customer ID, assigned by the seller.

cac:Party/ext:UBLExtensions

Extension Content
Extension is added to provide additional information in the cac:Party element, the information available can be found here

cac:Party/cbc:EndpointID

Electronic Identifier
Buyer’s electronic address

cac:Party/cbc:EndpointID/@schemeID

Electronic Identifier scheme ID
Scheme identifier of electronic address.
Value must be according to code list PUF-007-ENDPOINTSCHEME

cac:Party/cac:PartyIdentification/cbc:ID

Buyer Identifier
Identifier of the Buyer.

cac:Party/cac:PartyIdentification/cbc:ID/@schemeID

Buyer Identifier
Scheme identifier of Buyer identifier.
Value must be according to code list PUF-008-IDENTIFICATIONSCHEME

cac:Party/cac:PartyName/cbc:Name

Buyer name
Buyer name

cac:Party/cac:PostalAddress/cbc:Postbox

Postal box
Buyer’s postal address post box

cac:Party/cac:PostalAddress/cbc:StreetName

Street name
Buyer’s postal address street name

cac:Party/cac:PostalAddress/cbc:AdditionalStreetName

Additional Street name
Buyer’s postal address additional street name

cac:Party/cac:PostalAddress/cbc:BuildingNumber

Building number
Buyer’s postal address building number

cac:Party/cac:PostalAddress/cbc:Department

Department
Buyer’s postal address department

cac:Party/cac:PostalAddress/cbc:PlotIdentification

Plot Identification
Buyer’s postal address plot identification. Additional address number. An identifier for the piece of land associated with this address.

cac:Party/cac:PostalAddress/cbc:CitySubdivisionName

City Subdvision Name
Buyer’s postal address city subdivision name. The name of the subdivision of the Buyer city, town, or village in which its address is located, such as the name of its district or borough.

cac:Party/cac:PostalAddress/cbc:CityName

City name
Buyer’s postal address city name

cac:Party/cac:PostalAddress/cbc:PostalZone

Postal zone
Buyer’s postal address post code

cac:Party/cac:PostalAddress/cbc:CountrySubentity

Country subentity
Buyer’s postal address province or state

cac:Party/cac:PostalAddress/cbc:CountrySubentityCode

Country subentity code
Buyer’s postal address province or state code

cac:Party/cac:PostalAddress/cac:AddressLine/cbc:Line

Additional address line
Note that cbc:StreetName and cbc:AdditionalStreetName should be populated prior of using this element.

cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode

Country code
Buyer’s postal address country code

cac:Party/cac:PostalAddress/cac:Country/cbc:Name

Country name
Buyer’s postal address country name

cac:Party/cac:PartyTaxScheme/cbc:CompanyID

Company identifier
Buyer’s tax registration number

cac:Party/cac:PartyTaxScheme/cac:TaxScheme/cbc:ID

Tax scheme identifier
Buyer’s tax registration number tax scheme Identifier.

cac:Party/cac:PartyLegalEntity/cbc:RegistrationName

Registration name
Buyer’s formal name or company name

cac:Party/cac:PartyLegalEntity/cbc:CompanyID

Legal company identifier
Buyer’s legal registration identifier

cac:Party/cac:PartyLegalEntity/cbc:CompanyID/@schemeID

Legal company scheme identifier
Buyer’s legal registration identifier scheme identifier.
Value must be according to code list PUF-008-IDENTIFICATIONSCHEME

cac:Party/cac:PartyLegalEntity/cbc:CompanyLegalForm

Company legal form
Relevant legal information regarding the Buyer.

cac:Party/cac:Contact/cbc:Name

Contact name
Name of contact person.

cac:Party/cac:Contact/cbc:Telephone

Contact telephone
Phone number of contact person.

cac:Party/cac:Contact/cbc:ElectronicMail

Contact E-mail
E-mail of contact person..

cac:AccountingContact/cbc:Telephone

Accounting telephone
The telephone number for the accounting contact of the organization.

cac:AccountingContact/cbc:Telefax

Accounting fax number
The telefax number for the accounting contact of the organization.

cac:AccountingContact/cbc:ElectronicMail

Accounting E-mail
The e-mail address for the accounting contact of the organization.

Example
Party structure with both invoice recipient party and buyer party

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:AccountingCustomerParty> (1)
      <cac:Party>
          <cbc:EndpointID schemeID="0088">1234567890123</cbc:EndpointID>
          <cac:PartyIdentification>
              <cbc:ID schemeID="0007">1234561234</cbc:ID>
          </cac:PartyIdentification>
          <cac:PartyName>
              <cbc:Name>Receiver Trading Name AB</cbc:Name>
          </cac:PartyName>
          <cac:PostalAddress>
              <cbc:StreetName>Street 32</cbc:StreetName>
              <cbc:AdditionalStreetName>Po box 878</cbc:AdditionalStreetName>
              <cbc:PlotIdentification>0000</cbc:PlotIdentification>
              <cbc:CitySubdivisionName>City Subdivision Name</cbc:CitySubdivisionName>
              <cbc:CityName>Stockholm</cbc:CityName>
              <cbc:PostalZone>123 12</cbc:PostalZone>
              <cac:Country>
                  <cbc:IdentificationCode>SE</cbc:IdentificationCode>
              </cac:Country>
          </cac:PostalAddress>
          <cac:PartyTaxScheme>
              <cbc:CompanyID>SE123456789001</cbc:CompanyID>
              <cac:TaxScheme>
                  <cbc:ID>VAT</cbc:ID>
              </cac:TaxScheme>
          </cac:PartyTaxScheme>
          <cac:PartyLegalEntity>
              <cbc:RegistrationName>Receiver legal Name</cbc:RegistrationName>
              <cbc:CompanyID schemeID="0007">1234561234</cbc:CompanyID>
          </cac:PartyLegalEntity>
          <cac:Contact>
              <cbc:Name>Anders Andersson</cbc:Name>
              <cbc:Telephone>555444666</cbc:Telephone>
              <cbc:ElectronicMail>contact@receiver.com</cbc:ElectronicMail>
          </cac:Contact>
      </cac:Party>
  </cac:AccountingCustomerParty>
  <cac:BuyerCustomerParty> (2)
      <cac:Party>
          <cbc:EndpointID schemeID="0088">7322010000001</cbc:EndpointID>
          <cac:PartyIdentification>
              <cbc:ID schemeID="0007">1111112222</cbc:ID>
          </cac:PartyIdentification>
          <cac:PartyName>
              <cbc:Name>Buyer Trading Name AB</cbc:Name>
          </cac:PartyName>
          <cac:PostalAddress>
              <cbc:StreetName>Street 32</cbc:StreetName>
              <cbc:AdditionalStreetName>Po box 878</cbc:AdditionalStreetName>
              <cbc:PlotIdentification>0000<cbc:PlotIdentification>
              <cbc:CitySubdivisionName>City Subdivision Name</cbc:CitySubdivisionName>
              <cbc:CityName>Stockholm</cbc:CityName>
              <cbc:PostalZone>123 12</cbc:PostalZone>
              <cac:Country>
                  <cbc:IdentificationCode>SE</cbc:IdentificationCode>
              </cac:Country>
          </cac:PostalAddress>
          <cac:PartyTaxScheme>
              <cbc:CompanyID>SE111111222201</cbc:CompanyID>
              <cac:TaxScheme>
                  <cbc:ID>VAT</cbc:ID>
              </cac:TaxScheme>
          </cac:PartyTaxScheme>
          <cac:PartyLegalEntity>
              <cbc:RegistrationName>Buyer legal Name</cbc:RegistrationName>
              <cbc:CompanyID schemeID="0007">1111112222</cbc:CompanyID>
          </cac:PartyLegalEntity>
          <cac:Contact>
              <cbc:Name>Daniel Danielsson</cbc:Name>
              <cbc:Telephone>33322221111</cbc:Telephone>
              <cbc:ElectronicMail>contact@buyer.com</cbc:ElectronicMail>
          </cac:Contact>
      </cac:Party>
  </cac:BuyerCustomerParty>
  <!-- Code omitted for clarity -->
</Invoice>
1 Information in cac:AccountingCustomerParty will be used to identify the receiver of the document.
2 Information in cac:BuyerCustomerParty will be sent to the receiver as buyer information.
Please note that NOT all e-invoice formats support both invoice recipient and buyer party information, therefore only use both structures when needed.

cac:TaxRepresentativeParty

Table 15. Additional elements added within cac:TaxRepresentativeParty
Path Description

cac:Party/cac:PartyName/cbc:Name

Seller’s tax representative name
Seller’s tax representative name

cac:Party/cac:PostalAddress/cbc:Postbox

Postal box
Seller’s tax representative’s postal address post box

cac:Party/cac:PostalAddress/cbc:StreetName

Street name
Seller’s tax representative’s postal address street name

cac:Party/cac:PostalAddress/cbc:AdditionalStreetName

Additional Street name
Seller’s tax representative’s postal address additional street name

cac:Party/cac:PostalAddress/cbc:BuildingNumber

Building number
Seller’s tax representative’s postal address building number

cac:Party/cac:PostalAddress/cbc:Department

Department
Seller’s tax representative’s postal address department

cac:Party/cac:PostalAddress/cbc:PlotIdentification

Plot Identification
Seller’s tax representative’s postal address plot identification. Additional address number. An identifier for the piece of land associated with this address.

cac:Party/cac:PostalAddress/cbc:CitySubdivisionName

City Subdvision Name
Seller’s tax representative’s postal address city subdivision name. The name of the subdivision of the seller’s tax representative’s city, town, or village in which its address is located, such as the name of its district or borough.

cac:Party/cac:PostalAddress/cbc:CityName

City name
Seller’s tax representative’s postal address city name

cac:Party/cac:PostalAddress/cbc:PostalZone

Postal zone
Seller’s tax representative’s postal address post code

cac:Party/cac:PostalAddress/cbc:CountrySubentity

Country subentity
Seller’s tax representative’s postal address province or state

cac:Party/cac:PostalAddress/cac:AddressLine/cbc:Line

Additional address line
Note that cbc:StreetName and cbc:AdditionalStreetName should be populated prior of using this element.

cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode

Country code
Seller’s tax representative’s postal address country code

cac:Party/cac:PostalAddress/cac:Country/cbc:Name

Country name
Seller’s tax representative’s postal address country name

cac:Party/cac:PartyTaxScheme/cbc:CompanyID

Company identifier
Seller’s tax representative’s tax registration number

cac:Party/cac:PartyTaxScheme/cac:TaxScheme/cbc:ID

Tax scheme identifier
Seller’s tax representative’s tax registration number tax scheme Identifier.

Example
cac:TaxRepresentativeParty example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:TaxRepresentativeParty>
      <cac:PartyName>
          <cbc:Name>Seller's Tax Representative Name</cbc:Name>
      </cac:PartyName>
      <cac:PostalAddress>
          <cbc:Postbox>54321</cbc:Postbox>
          <cbc:StreetName>Street</cbc:StreetName>
          <cbc:Department>Department</cbc:Department>
          <cbc:PlotIdentification>0000</cbc:PlotIdentification>
          <cbc:CitySubdivisionName>City Subdivision Name</cbc:CitySubdivisionName>
          <cbc:CityName>City</cbc:CityName>
          <cbc:PostalZone>00000</cbc:PostalZone>
          <cbc:CountrySubentity>Province</cbc:CountrySubentity>
          <cac:Country>
              <cbc:IdentificationCode>DE</cbc:IdentificationCode>
              <cbc:Name>Germany</cbc:Name>
          </cac:Country>
      </cac:PostalAddress>
      <cac:PartyTaxScheme>
          <cbc:CompanyID>DE221043210</cbc:CompanyID>
          <cac:TaxScheme>
              <cbc:ID>VAT</cbc:ID>
          </cac:TaxScheme>
      </cac:PartyTaxScheme>
  </cac:TaxRepresentativeParty>
  <!-- Code omitted for clarity -->
</Invoice>

cac:Delivery

Below table show available fields in cac:Delivery, note that additional elements has also been added to the extension available in cac:Delivery and cac:Delivery/cac:DeliveryParty

Table 16. Elements added in cac:Delivery
Path Description

ext:UBLExtensions

Extension Content
Extension is added to provide additional information in the cac:Delivery element, the information available can be found here

cbc:ActualDeliveryDate

Delivery date
Date when goods or service was made or completed
Format YYYY-MM-DD

cbc:LatestDeliveryDate

Latest delivery date
The latest date of delivery allowed by the buyer
Format YYYY-MM-DD

cac:DeliveryLocation/cbc:ID

Delivery location identifier
Identifier of the delivery location
E.g. GLN number

cac:DeliveryLocation/cbc:ID/@schemeID

Delivery location identifier scheme identifier
Scheme identifier of the delivery location identifier
E.g. 0088
Value must be according to code list PUF-008-IDENTIFICATIONSCHEME

cac:DeliveryLocation/cbc:Description

Delivery location description
Description of the delivery location.

cac:DeliveryLocation/cac:Address/cbc:PostBox

Postal box
Delivery location address post box

cac:DeliveryLocation/cac:Address/cbc:StreetName

Street name
Delivery location address street name

cac:DeliveryLocation/cac:Address/cbc:AdditionalStreetName

Additional Street name
Delivery location address additional street name

cac:DeliveryLocation/cac:Address/cbc:Department

Department
Delivery address department

cac:DeliveryLocation/cac:Address/cbc:PlotIdentification

Plot Identification
Delivery postal address plot identification. Additional address number. An identifier for the piece of land associated with this address.

cac:DeliveryLocation/cac:Address/cbc:CitySubdivisionName

City Subdvision Name
Delivery postal address city subdivision name. The name of the subdivision of the delivery city, town, or village in which its address is located, such as the name of its district or borough.

cac:DeliveryLocation/cac:Address/cbc:CityName

City name
Delivery location address city name

cac:DeliveryLocation/cac:Address/cbc:PostalZone

Postal zone
Delivery location address post code

cac:DeliveryLocation/cac:Address/cbc:CountrySubentity

Country subentity
Delivery location address province or state

cac:DeliveryLocation/cac:Address/cbc:CountrySubentityCode

Country subentity code
Delivery location address province or state code

cac:DeliveryLocation/cac:Address/cac:AddressLine/cbc:Line

Additional address line
Note that cbc:StreetName and cbc:AdditionalStreetName should be populated prior of using this element.

cac:DeliveryLocation/cac:Address/cac:Country/cbc:IdentificationCode

Country code
Delivery location address country code

cac:DeliveryLocation/cac:Address/cac:Country/cbc:Name

Country name
Delivery location address country name

cac:DeliveryParty/ext:UBLExtensions

Extension Content
Extension is added to provide additional information in the cac:Party element, the information available can be found here

cac:DeliveryParty/cac:PartyIdentification/cbc:ID

Seller Identifier
Identifier of the delivery party.

cac:DeliveryParty/cac:PartyIdentification/cbc:ID/@schemeID

Seller Identifier
Scheme identifier of delivery party identifier
Value must be according to code list PUF-008-IDENTIFICATIONSCHEME

cac:DeliveryParty/cac:PartyName/cbc:Name

Delivery party name
Name of the party that the goods/services is sent to.

cac:DeliveryParty/cac:Contact/cbc:Name

Delivery party contact name
Name of the contact to which the goods/services is sent to.

cac:DeliveryParty/cac:Contact/cbc:Telephone

Delivery party contact telephone
Telephone of the contact to which the goods/services is sent to.

cac:DeliveryParty/cac:Contact/cbc:ElectronicMail

Delivery party contact email
Email of the contact to which the goods/services is sent to.

cac:Despatch/cac:DespatchParty/cac:PartyName/cbc:Name

Despatch party name
Name of the party responsible for the despatch.

cac:Despatch/cac:DespatchParty/cac:PostalAddress/cbc:StreetName

Despatch party street
Street address of the despatch party.

cac:Despatch/cac:DespatchParty/cac:PostalAddress/cbc:CityName

Despatch party city
City of the despatch party.

cac:Despatch/cac:DespatchParty/cac:PostalAddress/cbc:PostalZone

Despatch party postal zone
Postal Zone of the despatch party.

cac:Despatch/cac:DespatchParty/cac:PostalAddress/cbc:CountrySubentityCode

Despatch party state/province code
State/province code of the despatch party.

cac:Despatch/cac:DespatchParty/cac:PostalAddress/cac:Country/cbc:IdentificationCode

Despatch party country code
Country code of the despatch party.

cac:Despatch/cac:DespatchParty/cac:PostalAddress/cac:Country/cbc:Name

Despatch party country name
Name of the country for the despatch party.

Example
cac:Delivery populated with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:Delivery>
      <cbc:ActualDeliveryDate>2019-01-01</cbc:ActualDeliveryDate>
      <cbc:LatestDeliveryDate>2019-01-03</cbc:LatestDeliveryDate>
      <cac:DeliveryLocation>
          <cbc:ID schemeID="0088">7300010000001</cbc:ID>
          <cbc:Description>Text describing the delivery location</cbc:Description>
          <cac:Address>
              <cbc:Postbox>121212</cbc:Postbox>
              <cbc:StreetName>Delivery Street</cbc:StreetName>
              <cbc:Department>Delivery Department</cbc:Department>
              <cbc:PlotIdentification>0000</cbc:PlotIdentification>
              <cbc:CitySubdivisionName>Delivery City Subdivision Name</cbc:CitySubdivisionName>
              <cbc:CityName>Delivery City</cbc:CityName>
              <cbc:PostalZone>55555</cbc:PostalZone>
              <cbc:CountrySubentity>Delivery Province</cbc:CountrySubentity>
              <cac:Country>
                  <cbc:IdentificationCode>SE</cbc:IdentificationCode>
                  <cbc:Name>Sweden</cbc:Name>
              </cac:Country>
          </cac:Address>
      </cac:DeliveryLocation>
      <cac:DeliveryParty>
          <cac:PartyName>
              <cbc:Name>Delivery Name</cbc:Name>
          </cac:PartyName>
          <cac:Contact>
              <cbc:Name>Anders Andersson</cbc:Name>
              <cbc:Telephone>01113354</cbc:Telephone>
              <cbc:ElectronicMail>DeliveryContact@mail.com</cbc:ElectronicMail>
          </cac:Contact>
      </cac:DeliveryParty>
      <cac:Despatch>
          <cac:DespatchParty>
              <cac:PartyName>
                  <cbc:Name>Despatch party name</cbc:Name>
              </cac:PartyName>
              <cac:PostalAddress>
                  <cbc:StreetName>Street 1</cbc:StreetName>
                  <cbc:CityName>Jammu</cbc:CityName>
                  <cbc:PostalZone>181131</cbc:PostalZone>
                  <cbc:CountrySubentityCode>01</cbc:CountrySubentityCode>
                  <cac:Country>
                      <cbc:IdentificationCode>IN</cbc:IdentificationCode>
                      <cbc:Name>India</cbc:Name>
                  </cac:Country>
              </cac:PostalAddress>
          </cac:DespatchParty>
      </cac:Despatch>
  </cac:Delivery>
  <!-- Code omitted for clarity -->
</Invoice>

cac:DeliveryTerms

Table 17. Elements added in cac:DeliveryTerms
Path Description

cbc:SpecialTerms

Delivery Terms
Description of the delivery terms.

cbc:LossRiskResponsibilityCode

Loss risk responsibility code
Code to identify the responsibility for the loss risk.

cbc:LossRisk

Loss risk description
A description of the responsibility for the loss risk.

Example
cac:DeliveryTerms example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:DeliveryTerms>
      <cbc:SpecialTerms>Description of the delivery terms</cbc:SpecialTerms>
      <cbc:LossRiskResponsibilityCode>Code to identify the responsibility for the loss risk.</cbc:LossRiskResponsibilityCode>
      <cbc:LossRisk>A description of the responsibility for the loss risk.</cbc:LossRisk>
  </cac:DeliveryTerms>
  <!-- Code omitted for clarity -->
</Invoice>

cac:PaymentMeans

Table 18. Elements available in cac:PaymentMeans
Path Description

cbc:PaymentMeansCode

Payment means code
Code for how the payment is to be settled.
E.g. 30
Value must be according to code list PUF-010-PAYMENTMEANSCODE

cbc:PaymentMeansCode/@name

Payment means name
Name describing the payment means.

cbc:PaymentID

Payment Identifier
Identifier for the payment.
E.g. OCR

cac:CardAccount/cbc:PrimaryAccountNumberID

Primary account number identifier
The Primary Account Number (PAN) of the card used for payment. In accordance with card payments security standards, an invoice should never include a full card primary account number.

cac:CardAccount/cbc:NetworkID

Card network
Name of card company.

cac:CardAccount/cbc:HolderName

Card holder name
Name of the card holder.

cac:PayeeFinancialAccount/cbc:ID

Payment account number
Account number e.g.IBAN och BBAN.

cac:PayeeFinancialAccount/cbc:Name

Payment account name
The name of the payment account, at a payment service provider, to which payment should be made.

cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:ID

Payment account identifier
Payment account identifier e.g. a BIC or Swift.

cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:Name

Payment bank name
The name of the bank branch or division of the bank organization, to which payment should be made.

cac:PaymentMandate/cbc:ID

Payment mandate reference identifier
Payment mandate identifier used for referencing direct debit payments.

cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID

Payer account identifier
Account to be debited in a direct debit payment.

Example
cbc:PaymentMeans example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:PaymentMeans>
    <cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
    <cbc:PaymentID>123456</cbc:PaymentID>
    <cac:PayeeFinancialAccount>
        <cbc:ID>12345678</cbc:ID>
        <cbc:Name>AccountName</cbc:Name>
        <cac:FinancialInstitutionBranch>
            <cbc:ID>SE:BANKGIRO</cbc:ID>
            <cbc:Name>BankName</cbc:Name>
        </cac:FinancialInstitutionBranch>
    </cac:PayeeFinancialAccount>
  </cac:PaymentMeans>
  <!-- Code omitted for clarity -->
</Invoice>

cac:PaymentTerms

Below table show available fields in cac:PaymentTerms, note that additional elements has also been added to the extension available in PaymentTerms.

Table 19. Elements added in cac:PaymentTerms
Path Description

ext:UBLExtensions

Extension Content
Extension is added to provide additional information in the cac:PaymentTerms element, the information available can be found here

cbc:Note

Payment terms description
Text describing payment terms.

cbc:PenaltySurchargePercent

Penaly interest rate
Penalty interest rate, numberic value only.

Example
cac:PaymentTerms example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:PaymentTerms>
    <cbc:Note>3</cbc:Note>
    <cbc:PenaltySurchargePercent>10</cbc:PenaltySurchargePercent>
  </cac:PaymentTerms>
  <!-- Code omitted for clarity -->
</Invoice>

cac:AllowanceCharge

Table 20. Elements added in cac:AllowanceCharge
Path Description

cbc:ChargeIndicator

Allowance or Charge indicator
Indicator to express either charge (true) or allowance (false)
Value must be either true or false

cbc:AllowanceChargeReasonCode

Allowance or charge reason code
Reason code for allowance or charge.
See code list PUF-011-ALLOWANCECHARGEREASONCODE for recommendations

cbc:AllowanceChargeReason

Allowance or charge reason
Test describing the reason for allowance or charge.

cbc:MultiplierFactorNumeric

Allowance or charge percentage
Allowance or charge expressed in percent.
E.g. 10% discount should be expressed as "10"

cbc:Amount

Allowance or charge amount
Amount of allowance or charge.

cbc:Amount/@currencyID

Allowance or charge amount currency
Allowance or charge amount currency.
For valid values see code list PUF-004-CURRENCYCODE

cbc:BaseAmount

Allowance or charge base amount
Base amount which the calculation is based on.

cbc:BaseAmount/@currencyID

Allowance or charge base amount currency
Base amount currency.
For valid values see code list PUF-004-CURRENCYCODE

cac:TaxCategory/cbc:ID

Allowance or charge tax category code
Code to indicate the tax category
E.g. "S"
For valid values see code list PUF-012-TAXCATEGORYCODE

cac:TaxCategory/cbc:Percent

Allowance or Charge tax percent
Allowance or charge tax percent.

cac:TaxCategory/cbc:TaxExemptionReasonCode

Tax exemption reason code
Reason code if the allowance or charge is exempt from tax.
See code list PUF-013-EXEMPTCODE for recommendations

cac:TaxCategory/cbc:TaxExemptionReason

Tax exemption reason
Reason if the allowance or charge is exempt from tax.

cac:TaxCategory/cac:TaxScheme/cbc:ID

Allowance or Charge tax scheme identifier
For valid values see code list PUF-009-TAXTYPESCHEME

cac:TaxTotal/cbc:TaxAmount

Allowance or Charge tax Amount
Total tax amount for the allowance or charge.

cac:TaxTotal/cbc:TaxAmount/@currencyID

Allowance or Charge tax Amount currency
Total tax amount currency for the allowance or charge.
For valid values see code list PUF-004-CURRENCYCODE

Example
cac:AllowanceCharge populated with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReason>Reason for allowance</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">5.00</cbc:Amount>
    <cbc:BaseAmount currencyID="EUR">100.00</cbc:BaseAmount>
    <cac:TaxCategory>
        <cbc:ID>Z</cbc:ID>
        <cbc:Percent>0</cbc:Percent>
        <cbc:TaxExemptionReasonCode>vatex-eu-132-1b</cbc:TaxExemptionReasonCode>
        <cbc:TaxExemptionReason>Tax exemption reason description</cbc:TaxExemptionReason>
        <cac:TaxScheme>
            <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
    </cac:TaxCategory>
    <cac:TaxTotal>
        <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
    </cac:TaxTotal>
  </cac:AllowanceCharge>
  <!-- Code omitted for clarity -->
</Invoice>

cac:TaxExchangeRate

Table 21. Elements added in cac:TaxExchangeRate
Path Description

cbc:SourceCurrencyCode

Source currency code
Source currency code (i.e. document currency).
For valid values see code list PUF-004-CURRENCYCODE

cbc:TargetCurrencyCode

Target currency code
Target currency code (i. e. tax currency).
For valid values see code list PUF-004-CURRENCYCODE

cbc:CalculationRate

Exchange calculation rate
Exchange rate used for converting source currency to target currency.

cbc:MathematicOperatorCode

Operation used to calculate the tax in target currency
Method used for calculation the convertion, value must equal "Multiply".

cbc:Date

Exchange rate date
Date when the exchange rate was fetched.
Format YYYY-MM-DD

Example
cac:TaxExchangeRate with EUR as document currency and USD as tax currency

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
  <cbc:TaxCurrencyCode>USD</cbc:TaxCurrencyCode>
  <!-- Code omitted for clarity -->
  <cac:TaxExchangeRate>
    <cbc:SourceCurrencyCode>EUR</cbc:SourceCurrencyCode>
    <cbc:TargetCurrencyCode>USD</cbc:TargetCurrencyCode>
    <cbc:CalculationRate>1.16</cbc:CalculationRate>
    <cbc:MathematicOperatorCode>Multiply</cbc:MathematicOperatorCode>
    <cbc:Date>2019-01-01</cbc:Date>
  </cac:TaxExchangeRate>
  <!-- Code omitted for clarity -->
</Invoice>

cac:TaxTotal

Below table show available fields in cac:TaxTotal/cac:TaxSubtotal, note that additional elements has also been added to the extension available in cac:TaxTotal/cac:TaxSubtotal.

Table 22. Elements added in cac:TaxTotal
Path Description

cbc:TaxAmount

Document total tax amount
Documents total tax amount in document currency.
Summary of all TaxSubTotal/TaxAmount

cbc:TaxAmount/@currencyID

Document total tax amount currency
Documents total tax amount currency, must be the same as cbc:DocumentCurrencyCode.
For valid values see code list PUF-004-CURRENCYCODE

cac:TaxSubtotal/ext:UBLExtensions

Extension Content
Extension is added to provide additional information in the cac:TaxTotal/cac:TaxSubtotal element, the information available can be found here

cac:TaxSubtotal/cbc:TaxableAmount

Total taxable amount for each tax category
Total taxable amount for each tax category or tax rate.
E.g. Summary of all taxable amounts for invoice lines with a certain tax percent.

cac:TaxSubtotal/cbc:TaxableAmount/@currencyID

Total taxable amount for each tax category currency
Total taxable amount currency, must be the same as cbc:DocumentCurrencyCode.
For valid values see code list PUF-004-CURRENCYCODE

cac:TaxSubtotal/cbc:TaxAmount

Total tax amount for each tax category
Total tax amount for a certain tax category or tax rate.

cac:TaxSubtotal/cbc:TaxAmount/@currencyID

Total tax amount currency for each tax category
Total tax amount currency, must be the same as cbc:DocumentCurrencyCode.
For valid values see code list PUF-004-CURRENCYCODE

cac:TaxSubtotal/cac:TaxCategory/cbc:ID

Tax category code
Code for identifying the tax category.
E.g. tax category "S"
For valid values see code list PUF-012-TAXCATEGORYCODE

cac:TaxSubtotal/cac:TaxCategory/cbc:Percent

Tax category percent
Percentage rate for the tax category.

cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReasonCode

Tax exemption reason code
Exemption reason code for the tax category, only applicable if the goods or service is exempt from tax.
See code list PUF-013-EXEMPTCODE for recommendations

cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReason

Tax exemption reason
Exemption reason for the tax category, only applicable if the goods or service is exempt from tax.

cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID

Tax scheme identfier
Tax scheme for the tax category.
For valid values see code list PUF-009-TAXTYPESCHEME

Example
cac:TaxTotal example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="EUR">25.00</cbc:TaxAmount>
    <cac:TaxSubtotal>
        <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
        <cbc:TaxAmount currencyID="EUR">25.00</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:TaxSubtotal>
        <cbc:TaxableAmount currencyID="EUR">-5.00</cbc:TaxableAmount>
        <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
        <cac:TaxCategory>
            <cbc:ID>Z</cbc:ID>
            <cbc:Percent>0</cbc:Percent>
            <cac:TaxScheme>
                <cbc:ID>VAT</cbc:ID>
            </cac:TaxScheme>
        </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>
  <!-- Code omitted for clarity -->
</Invoice>

cac:LegalMonetaryTotal

Below table show available fields in cac:LegalMonetaryTotal, note that additional elements has also been added to the extension available in cac:LegalMonetaryTotal.

Table 23. Elements added in cac:LegalMonetaryTotal
Element Description

ext:UBLExtensions

Extension Content
Extension is added to provide additional information in the cac:LegalMonetaryTotal element, the information available can be found here

cbc:LineExtensionAmount

Summary of all lines net amount
Summary of all lines net amount.
Summary of all TaxSubTotal/TaxAmount

cbc:LineExtensionAmount/@currencyID

Summary of all lines net amount currency
Currency applied for cbc:LineExtensionAmount, must be the same as cbc:DocumentCurrencyCode.
For valid values see code list PUF-004-CURRENCYCODE

cbc:TaxExclusiveAmount

Total invoice amount excluding tax
Documents total invoice amount, excluding taxes.

cbc:TaxExclusiveAmount/@currencyID

Total invoice amount currency excluding tax
Currency applied for cbc:TaxExclusiveAmount, must be the same as cbc:DocumentCurrencyCode.
For valid values see code list PUF-004-CURRENCYCODE

cbc:TaxInclusiveAmount

Total invoice amount including tax
Documents total invoice amount, including taxes.

cbc:TaxInclusiveAmount/@currencyID

Total invoice amount currency including tax
Currency applied for cbc:TaxInclusiveAmount, including taxes, must be the same as cbc:DocumentCurrencyCode.
For valid values see code list PUF-004-CURRENCYCODE

cbc:AllowanceTotalAmount

Summary of all allowances on document level
Total amount of all allowances on document level (Invoice/cac:AllowanceCharge/cbc:Amount where cbc:ChargeIndicator equals false).

cbc:AllowanceTotalAmount/@currencyID

Summary of all allowances on document level currency
Currency applied for cbc:AllowanceTotalAmount, must be the same as cbc:DocumentCurrencyCode.
For valid values see code list PUF-004-CURRENCYCODE

cbc:ChargeTotalAmount

Summary of all charges on document level
Total amount of all charges on document level (Invoice/cac:AllowanceCharge/cbc:Amount where cbc:ChargeIndicator equals true).

cbc:ChargeTotalAmount/@currencyID

Summary of all charges on document level currency
Currency applied for cbc:ChargeTotalAmount, must be the same as cbc:DocumentCurrencyCode.
For valid values see code list PUF-004-CURRENCYCODE

cbc:PrepaidAmount

Amount already prepaid
Amount that has already been paid and should be subtracted from the Payable amount.

cbc:PrepaidAmount/@currencyID

Prepaid amount currency
Currency applied for cbc:PrepaidAmount, must be the same as cbc:DocumentCurrencyCode.
For valid values see code list PUF-004-CURRENCYCODE

cbc:PayableRoundingAmount

Rounding amount
Rounding amount, should be applied to the calculation of payable amount.

cbc:PayableRoundingAmount/@currencyID

Rounding amount currency
Currency applied for cbc:PayableRoundingAmount, must be the same as cbc:DocumentCurrencyCode.
For valid values see code list PUF-004-CURRENCYCODE

cbc:PayableAmount

Payable amount
Document total amount that should be paid, amount equals the subtraction of prepaid amount and including any rounding amount.

cbc:PayableAmount/@currencyID

Payable amount currency
Currency applied for cbc:PayableAmount, must be the same as cbc:DocumentCurrencyCode.
For valid values see code list PUF-004-CURRENCYCODE

Example
cac:LegalMonetaryTotal example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:LegalMonetaryTotal>
        <cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
        <cbc:TaxExclusiveAmount currencyID="EUR">95.00</cbc:TaxExclusiveAmount>
        <cbc:TaxInclusiveAmount currencyID="EUR">120.00</cbc:TaxInclusiveAmount>
        <cbc:AllowanceTotalAmount currencyID="EUR">5.00</cbc:AllowanceTotalAmount>
        <cbc:ChargeTotalAmount currencyID="EUR">0.00</cbc:ChargeTotalAmount>
        <cbc:PayableAmount currencyID="EUR">110.00</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
  <!-- Code omitted for clarity -->
</Invoice>

3.2. cac:InvoiceLine

Examples shown below are based on Invoice, for the use of credit note the corresponding element replacing Invoice/cac:InvoiceLine is CreditNote/cac:CreditNoteLine.

ext:UBLExtensions

Path Description

ext:UBLExtensions

Extension Content
Extension is added to provide additional information in the cac:InvoiceLine element, added elements in regards to ext:UBLExtensions for cac:InvoiceLine can be found below:

RestrictedInformation
TaxCurrencyLineExtensionAmount
TaxInclusiveLineExtensionAmount
TaxCurrencyTaxInclusiveLineExtensionAmount
LineExclAllowanceChargeAmount
OriginatorDocumentReference
ProjectReference
ContractDocumentReference

cbc:ID

Path Description

cbc:ID

Line Identifier
Unique line identifier

Example
cac:InvoiceLine/cbc:ID with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

cbc:Note

Path Description

cbc:Note

Line note
Free text information

Example
cac:InvoiceLine/cbc:Note with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
    <!-- Code omitted for clarity -->
    <cbc:Note>This</cbc:Note>
    <cbc:Note>is an</cbc:Note>
    <cbc:Note>Example</cbc:Note>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

cbc:InvoicedQuantity

Path Description

cbc:InvoicedQuantity

Quantity invoiced
The item quantity for this invoice line.
Note that corresponding element in UBL message/document type CreditNote is named cbc:CreditedQuantity

cbc:InvoicedQuantity/@unitCode

Quantity unit of measure
Unit of measure for the quantity invoiced.
See code list PUF-014-UOMCODE for recommendations
Note that corresponding element in UBL message/document type CreditNote is named cbc:CreditedQuantity/@unitCode

Example
cac:InvoiceLine/cbc:InvoicedQuantity with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
    <!-- Code omitted for clarity -->
    <cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

cbc:LineExtensionAmount

Path Description

cbc:LineExtensionAmount

Net amount
The net amount for the invoice line.

cbc:LineExtensionAmount/@currencyID

Net amount currency
Currency applied for cbc:LineExtensionAmount, must be the same as cbc:DocumentCurrencyCode.
For valid values see code list PUF-004-CURRENCYCODE

Example
cac:InvoiceLine/cbc:LineExtensionAmount with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
    <!-- Code omitted for clarity -->
    <cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

cbc:AccountingCost

Path Description

cbc:AccountingCost

Invoice line accounting reference
Line book keeping reference for buyers financial system.

Example
cac:InvoiceLine/cbc:AccountingCost with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
    <!-- Code omitted for clarity -->
    <cbc:AccountingCost>Accounting cost reference</cbc:AccountingCost>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

cac:InvoicePeriod

Table 24. Elements available in cac:InvoicePeriod
Path Description

cbc:StartDate

Invoice line period start date
Start date of the line invoice period.
Format "YYYY-MM-DD"

cbc:EndDate

Invoice line period end date
End date of the line invoice period.
Format "YYYY-MM-DD"

Example
cac:InvoiceLine/cac:InvoicePeriod with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
    <!-- Code omitted for clarity -->
    <cac:InvoicePeriod>
      <cbc:StartDate>2021-01-01</cbc:StartDate>
      <cbc:EndDate>2021-01-31</cbc:EndDate>
    </cac:InvoicePeriod>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

cac:OrderLineReference

Below table show available fields in cac:OrderLineReference, note that additional elements has also been added to the extension available in OrderLineReference.

Table 25. Elements added to cac:OrderLineReference
Path Description

ext:UBLExtensions

Extension Content
Extension is added to provide additional information in the cac:OrderLineReference element, the information available can be found here

cbc:LineID

Order line reference
Reference to the order line.

cbc:SalesOrderLineID

Sales Order line reference
Reference to the sales order line.

cac:OrderReference/cbc:ID

Identifier of the order
Identification of the referenced order.

cac:OrderReference/cbc:SalesOrderID

Identifier of the sales order
Identification of the referenced sales order.

cac:OrderReference/cbc:IssueDate

Date of the referenced order
Date of issue of the referenced order
Format "YYYY-MM-DD"

Example
cac:InvoiceLine/cac:OrderLineReference with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
    <!-- Code omitted for clarity -->
    <cac:OrderLineReference>
      <cbc:LineID>1</cbc:LineID>
      <cbc:SalesOrderLineID>5</cbc:SalesOrderLineID>
      <cac:OrderReference>
          <cbc:ID>Purchase Order ID</cbc:ID>
          <cbc:SalesOrderID>Sales Order ID</cbc:SalesOrderID>
          <cbc:IssueDate>2019-01-01</cbc:IssueDate>
      </cac:OrderReference>
    </cac:OrderLineReference>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

cac:DespatchLineReference

Table 26. Elements added to cac:DespatchLineReference
Path Description

cbc:LineID

Despatch advice line reference
Reference to the despatch advice line.

cac:DocumentReference/cbc:ID

Identifier of the depatch advice
Identification of the referenced despatch advice.

cac:DocumentReference/cbc:IssueDate

Date of the referenced despatch advice
Date of issue of the referenced despatch advice
Format "YYYY-MM-DD"

Example
cac:InvoiceLine/cac:DespatchLineReference with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
    <!-- Code omitted for clarity -->
    <cac:DespatchLineReference>
      <cbc:LineID>1</cbc:LineID>
      <cac:DocumentReference>
        <cbc:ID>Despatch Document ID</cbc:ID>
        <cbc:IssueDate>2019-01-01</cbc:IssueDate>
      </cac:DocumentReference>
    </cac:DespatchLineReference>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

cac:DocumentReference

Table 27. Elements available in cac:DocumentReference
Path Description

cbc:ID

Line referenced object identifier
Identifier for the line referenced object.

cbc:ID/@schemeID

Scheme Identifier for line referenced object
Scheme identifier of the referenced object/document.
The schemeID must be according to list PUF-005-INVOICEDOBJECTIDENTIFIER.

cbc:DocumentTypeCode

Document type code
Document type code should be '130' if referencing an invoiced object.

Example
cac:InvoiceLine/cac:DocumentReference with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
    <!-- Code omitted for clarity -->
    <cac:DocumentReference>
      <cbc:ID schemeID="AIT">1145</cbc:ID>
      <cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>
    </cac:DocumentReference>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

cac:Delivery

Table 28. Elements added to cac:Delivery
Path Description

cbc:Quantity

Delivered quantity
Delivered quantity.

cbc:Quantity/@unitCode

Delivered quantity unit of measure
Unit of the delivered quantity.
See code list PUF-014-UOMCODE for recommendations

cbc:ActualDeliveryDate

Delivery date
Date of delivery.

cac:DeliveryLocation/cbc:ID

Delivery location idetifier
Identifier of the delivery location.
E.g. a GLN number

cac:DeliveryLocation/cbc:ID/@schemeID

Delivery location scheme identifier
Value must be according to code list PUF-008-IDENTIFICATIONSCHEME

cac:DeliveryLocation/cac:Address/cbc:StreetName

Street name
Street name of the delivery location.

cac:DeliveryLocation/cac:Address/cbc:AdditionalStreetName

Additional street name
Additional street name of the delivery location.

cac:DeliveryLocation/cac:Address/cbc:PlotIdentification

Plot Identification
Delivery postal address plot identification. Additional address number. An identifier for the piece of land associated with this address.

cac:DeliveryLocation/cac:Address/cbc:CitySubdivisionName

City Subdvision Name
Delivery postal address city subdivision name. The name of the subdivision of the delivery city, town, or village in which its address is located, such as the name of its district or borough.

cac:DeliveryLocation/cac:Address/cbc:CityName

City name
City of the delivery location.

cac:DeliveryLocation/cac:Address/cbc:PostalZone

Post code
Post code of the delivery location.

cac:DeliveryLocation/cac:Address/cbc:CountrySubentity

Country sub entity
Province or state of the delivery location.

cac:DeliveryLocation/cac:Address/cac:Country/cbc:IdentificationCode

Country code
Country code of the delivery location.

cac:DeliveryLocation/cac:Address/cac:Country/cbc:Name

Country name
The country name of the delivery location.

Example
cac:InvoiceLine/cac:Delivery example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
  <!-- Code omitted for clarity -->
    <cac:Delivery>
      <cbc:Quantity unitCode="PCE">1</cbc:Quantity>
      <cbc:ActualDeliveryDate>2019-01-25</cbc:ActualDeliveryDate>
      <cac:DeliveryLocation>
          <cbc:ID schemeID="0088">0000000000000</cbc:ID>
          <cac:Address>
              <cbc:StreetName>Delivery Street</cbc:StreetName>
              <cbc:PlotIdentification>0000</cbc:PlotIdentification>
              <cbc:CitySubdivisionName>Delivery City Subdivision Name</cbc:CitySubdivisionName>
              <cbc:CityName>Delivery City</cbc:CityName>
              <cbc:PostalZone>12345</cbc:PostalZone>
              <cbc:CountrySubentity>Delivery Province</cbc:CountrySubentity>
              <cac:Country>
                  <cbc:IdentificationCode>SE</cbc:IdentificationCode>
                  <cbc:Name>Sweden</cbc:Name>
              </cac:Country>
          </cac:Address>
      </cac:DeliveryLocation>
    </cac:Delivery>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

cac:AllowanceCharge

Table 29. Elements added in cac:AllowanceCharge
Path Description

cbc:ChargeIndicator

Line allowance or Charge indicator
Indicator to express either charge (true) or allowance (false)
Value must be either true or false

cbc:AllowanceChargeReasonCode

Line allowance or charge reason code
Reason code for allowance or charge.
See code list PUF-011-ALLOWANCECHARGEREASONCODE for recommendations

cbc:AllowanceChargeReason

Line allowance or charge reason
Test describing the reason for allowance or charge.

cbc:MultiplierFactorNumeric

Line allowance or charge percentage
Allowance or charge expressed in percent.
E.g. 10% discount should be expressed as "10"

cbc:Amount

Line allowance or charge amount
Amount of allowance or charge.

cbc:Amount/@currencyID

Line allowance or charge amount currency
Amount of allowance or charge currency.
For valid values see code list PUF-004-CURRENCYCODE

cbc:BaseAmount

Line allowance or charge base amount
Base amount which the calcuation is based on.

cbc:BaseAmount/@currencyID

Line allowance or charge base amount currency
Base amount currency.
For valid values see code list PUF-004-CURRENCYCODE

Example
cac:InvoiceLine/cac:AllowanceCharge populated with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
    <!-- Code omitted for clarity -->
    <cac:AllowanceCharge>
      <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
      <cbc:AllowanceChargeReason>Reason for allowance</cbc:AllowanceChargeReason>
      <cbc:MultiplierFactorNumeric>5</cbc:MultiplierFactorNumeric>
      <cbc:Amount currencyID="EUR">5.00</cbc:Amount>
      <cbc:BaseAmount currencyID="EUR">100.00</cbc:BaseAmount>
    </cac:AllowanceCharge>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

cac:TaxTotal

If multiple taxes is provided on one line, note that cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal must be provided for each tax.

Table 30. Elements added in cac:InvoiceLine/cac:TaxTotal
Path Description

cbc:TaxAmount

Line total tax amount
The total tax amount, the sum of the tax subtotals..
Summary of all TaxSubTotal/TaxAmount

cbc:TaxAmount/@currencyID

Line total tax amount currency
Line total tax amount currency, must be the same as cbc:DocumentCurrencyCode.
For valid values see code list PUF-004-CURRENCYCODE

cac:TaxSubtotal/cbc:TaxableAmount

Total taxable amount for each tax category
Line total taxable amount for each tax category or tax rate.
E.g. Summary of all taxable amounts for invoice lines with a certain tax percent.

cac:TaxSubtotal/cbc:TaxableAmount/@currencyID

Total taxable amount for each tax category currency*
Total taxable amount currency, must be the same as cbc:DocumentCurrencyCode.
For valid values see code list PUF-004-CURRENCYCODE

cac:TaxSubtotal/cbc:TaxAmount

Total tax amount for each tax category
Total tax amount for a certain tax category or tax rate.

cac:TaxSubtotal/cbc:TaxAmount/@currencyID

Total tax amount currency for each tax category
Total tax amount currency, must be the same as cbc:DocumentCurrencyCode.
For valid values see code list PUF-004-CURRENCYCODE

cac:TaxSubtotal/cac:TaxCategory/cbc:ID

Line tax category code
Code for identifying the tax category.
E.g. tax category "S"
For valid values see code list PUF-012-TAXCATEGORYCODE

cac:TaxSubtotal/cac:TaxCategory/cbc:Percent

Tax category percent
Percentage rate for the tax category.

cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReasonCode

Tax exemption reason code
Exemption reason code for the tax category, only applicable if the goods or service is exempt from tax.
See code list PUF-013-EXEMPTCODE for recommendations

cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReason

Tax exemption reason
Exemption reason for the tax category, only applicable if the goods or service is exempt from tax.

cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID

Tax scheme identfier
Tax scheme for the tax category.
For valid values see code list PUF-009-TAXTYPESCHEME

Example
cac:InvoiceLine/cac:TaxTotal example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
    <!-- Code omitted for clarity -->
    <cac:TaxTotal>
      <cbc:TaxAmount currencyID="EUR">25.00</cbc:TaxAmount>
      <cac:TaxSubtotal>
          <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
          <cbc:TaxAmount currencyID="EUR">25.00</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:TaxSubtotal>
          <cbc:TaxableAmount currencyID="EUR">-5.00</cbc:TaxableAmount>
          <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
          <cac:TaxCategory>
              <cbc:ID>Z</cbc:ID>
              <cbc:Percent>0</cbc:Percent>
              <cac:TaxScheme>
                  <cbc:ID>VAT</cbc:ID>
              </cac:TaxScheme>
          </cac:TaxCategory>
      </cac:TaxSubtotal>
    </cac:TaxTotal>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
Total tax currency amount

If the need to provide the total tax amount on each line, this should be sent as a separate cac:TaxTotal/cbc:TaxAmount, see example below.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
  <cbc:TaxCurrencyCode>USD</cbc:TaxCurrencyCode>
  <!-- Code omitted for clarity -->
  <cac:TaxExchangeRate>
    <cbc:SourceCurrencyCode>EUR</cbc:SourceCurrencyCode>
    <cbc:TargetCurrencyCode>USD</cbc:TargetCurrencyCode>
    <cbc:CalculationRate>1.17</cbc:CalculationRate>
    <cbc:MathematicOperatorCode>Multiply</cbc:MathematicOperatorCode>
    <cbc:Date>2019-01-01</cbc:Date>
  </cac:TaxExchangeRate>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
    <!-- Code omitted for clarity -->
    <cac:TaxTotal>
        <cbc:TaxAmount currencyID="EUR">25.00</cbc:TaxAmount> (1)
        <cac:TaxSubtotal>
            <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
            <cbc:TaxAmount currencyID="EUR">25.00</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="USD">29.25</cbc:TaxAmount> (2)
    </cac:TaxTotal>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
</Invoice>
1 Total tax amount in document currency
2 Total tax amount in tax currency

cac:Item

Table 31. Elements added in cac:Item
Path Description

ext:UBLExtensions

Extension Content
Extension is added to provide additional information in the cac:Item element, the information available can be found here

cbc:Description

Item description
Description of the item

cbc:Name

Item name
Name of the item

cac:BuyersItemIdentification/cbc:ID

Buyer’s item identifier
Identifier of the item, assigned by the buyer.

cac:SellersItemIdentification/cbc:ID

Seller’s item identifier
Identifier of the item, assigned by the seller.

cac:ManufacturersItemIdentification/cbc:ID

Manufacturer’s item identifier
Identifier of the item, assigned by the manufacturer.

cac:StandardItemIdentification/cbc:ID

Standard item identifier
Identifier of the item, based on an official register.

cac:StandardItemIdentification/cbc:ID/@schemeID

Standard item identifier scheme identifier
Identifier of the standard item register.
Value must be according to code list PUF-008-IDENTIFICATIONSCHEME

cac:OriginCountry/cbc:IdentificationCode

Item country origin
Country code from where the item origin.

cac:CommodityClassification/cbc:ItemClassificationCode

Item classification code
The items classification code.

cac:CommodityClassification/cbc:ItemClassificationCode/@listID

Item classification list identifier
Scheme identifier of the items classification code.
For valid values see code list PUF-015-ITEMTYPEIDENTIFICATIONCODE

cac:CommodityClassification/cbc:ItemClassificationCode/@listVersionID

Item classification list version identifier
Scheme version identifier of the items classification code.

cac:ClassifiedTaxCategory/cbc:ID

Tax category identifier
Code for identifying the tax category.
E.g. tax category "S".
For valid values see code list PUF-012-TAXCATEGORYCODE

cac:ClassifiedTaxCategory/cbc:Percent

Tax category percent
Percentage rate for the tax category.

cac:ClassifiedTaxCategory/cac:TaxScheme/cbc:ID

Tax scheme identfier
Tax scheme for the tax category.
For valid values see code list PUF-009-TAXTYPESCHEME

cac:AdditionalItemProperty/cbc:Name

Additional item property name
The name of the item property.
E.g. Size

cac:AdditionalItemProperty/cbc:Value

Additional item information value
The value of the item property.
E.g. XXL

cac:ItemInstance/cbc:ManufactureDate

Manufactured date
Date of when the item was manufactured.
Format "YYYY-MM-DD"

cac:ItemInstance/cbc:BestBeforeDate

Best before date
The items best before date.
Format "YYYY-MM-DD"

cac:ItemInstance/cbc:SerialID

Serial number
Serial number of the item.

cac:ItemInstance/cac:LotIdentification/cbc:LotNumberID

Lot number identifier
Lot number identifier of the item.

Example
cac:InvoiceLine/cac:Item example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
    <!-- Code omitted for clarity -->
    <cac:Item>
      <cbc:Description>Item description</cbc:Description>
      <cbc:Name>Item name</cbc:Name>
      <cac:BuyersItemIdentification>
          <cbc:ID>BuyersItemIdentification</cbc:ID>
      </cac:BuyersItemIdentification>
      <cac:SellersItemIdentification>
          <cbc:ID>SellersItemIdentification</cbc:ID>
      </cac:SellersItemIdentification>
      <cac:ManufacturersItemIdentification>
          <cbc:ID>ManufacturersItemIdentification</cbc:ID>
      </cac:ManufacturersItemIdentification>
      <cac:StandardItemIdentification>
          <cbc:ID schemeID="0088">7300010000001</cbc:ID>
      </cac:StandardItemIdentification>
      <cac:ClassifiedTaxCategory>
          <cbc:ID schemeID="UNCL5305">S</cbc:ID>
          <cbc:Percent>25</cbc:Percent>
          <cac:TaxScheme>
              <cbc:ID>VAT</cbc:ID>
          </cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
      <cac:AdditionalItemProperty>
        <cbc:Name>Size</cbc:Name>
        <cbc:Value>XXL</cbc:Value>
      </cac:AdditionalItemProperty>
      <cac:ItemInstance>
          <cbc:ManufactureDate>2018-01-01</cbc:ManufactureDate>
          <cbc:BestBeforeDate>2018-01-01</cbc:BestBeforeDate>
          <cbc:SerialID>123456789</cbc:SerialID>
          <cac:LotIdentification>
              <cbc:LotNumberID>1111111</cbc:LotNumberID>
          </cac:LotIdentification>
      </cac:ItemInstance>
    </cac:Item>
      <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

cac:Price

Below table show available fields in cac:Price, note that additional elements has also been added to the extension available in Price.

Table 32. Elements added in cac:InvoiceLine/cac:Price
Path Description

ext:UBLExtensions

Extension Content
Extension is added to provide additional information in the cac:Price element, the information available can be found here

cbc:PriceAmount

Item net price
Net price of the item, this value must not be negative.

cbc:PriceAmount/@currencyID

Item net price currency
Currency applied for cbc:PriceAmount, must be the same as cbc:DocumentCurrencyCode.
For valid values see code list PUF-004-CURRENCYCODE

cbc:BaseQuantity

Base quantity
The number of items to which the price applies.

cbc:BaseQuantity/@unitCode

Base quantity unit of measure
The unit of measure of the base quantity.
See code list PUF-014-UOMCODE for recommendations

cac:AllowanceCharge/cbc:ChargeIndicator

Charge indicator
Only allowance is allowed for cac:Price segment, this value must be "false".

cac:AllowanceCharge/cbc:Amount

Allowance Amount
The allowance applied to the price, note that this value is just informative and the allowance amount should already been subtracted in cbc:PriceAmount element.

cac:AllowanceCharge/cbc:Amount/@currencyID

Allowance Amount currency
Currency applied for cbc:Amount, must be the same as cbc:DocumentCurrencyCode.
For valid values see code list PUF-004-CURRENCYCODE

cac:AllowanceCharge/cbc:BaseAmount

Base amount
The items base price, before any allowance was applied, this value must not be negative.

cac:AllowanceCharge/cbc:BaseAmount/@currencyID

Base amount currency
Currency applied for cbc:BaseAmount, must be the same as cbc:DocumentCurrencyCode.
For valid values see code list PUF-004-CURRENCYCODE

Example
cac:InvoiceLine/cac:Price example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
    <!-- Code omitted for clarity -->
    <cac:Price>
      <cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
      <cbc:BaseQuantity unitCode="EA">1</cbc:BaseQuantity>
      <cac:AllowanceCharge>
        <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
        <cbc:Amount currencyID="EUR">10</cbc:Amount>
        <cbc:BaseAmount currencyID="EUR">110.00</cbc:BaseAmount>
      </cac:AllowanceCharge>
    </cac:Price>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

4. Extensions

4.1. Document Level

Below chapters describe the different extensions added on document level.

4.1.1. RestrictedInformation

RestrictedInformation has been added on document level in order to cater the need for unique country specific data and internal customer information that might be required for internal processing.

Note that no customer specific information can be added without prior consulting with Pagero. If country specific information is available as restricted information value, this can be found in the Country Specific section.

The UBL extension to be used for below elements can be found here.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/RestrictedInformation.

See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <ext:UBLExtensions>
      <ext:UBLExtension>
          <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:RestrictedInformation</ext:ExtensionURI> (1)
          <ext:ExtensionContent>
              <puf:PageroExtension>
                <puf:RestrictedInformation/> (2)
              </puf:PageroExtension>
          </ext:ExtensionContent>
      </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table show the definition of the new element added to the extension.

Table 33. Elements added in puf:RestrictedInformation
Element Description

puf:Key

Key defining the type of value

puf:Value

Value relevant to the assigned key

Example
RestrictedInformation example from Hungary specific section

<Invoice>
  <ext:UBLExtensions>
    <ext:UBLExtension>
        <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:RestrictedInformation</ext:ExtensionURI>
        <ext:ExtensionContent>
            <puf:PageroExtension>
              <puf:RestrictedInformation>
                  <puf:Key>modifyWithoutMaster</puf:Key>
                  <puf:Value>false</puf:Value>
              </puf:RestrictedInformation>
            </puf:PageroExtension>
        </ext:ExtensionContent>
    </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
</Invoice>

4.1.2. SupplyType

In order to specify a supply type for the invoice, following elements has been added in the below extension.

The UBL extension to be used for below elements can be found here.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/SupplyType.

See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <ext:UBLExtensions>
      <ext:UBLExtension>
          <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:SupplyType</ext:ExtensionURI> (1)
          <ext:ExtensionContent>
              <puf:PageroExtension>
                <puf:SupplyType/> (2)
              </puf:PageroExtension>
          </ext:ExtensionContent>
      </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table shows the definition of the new elements added to the extension.

Table 34. Elements added to puf:PageroExtension/puf:SupplyType
Element Description

puf:Code

Code identifying the type of supply
Code describing the type of supply.

Example
Supply Type

<Invoice>
  <ext:UBLExtensions>
      <ext:UBLExtension>
          <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:SupplyType</ext:ExtensionURI>
          <ext:ExtensionContent>
              <puf:PageroExtension>
                  <puf:SupplyType>
                      <puf:Code>B2B</puf:Code>
                  </puf:SupplyType>
              </puf:PageroExtension>
          </ext:ExtensionContent>
      </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
</Invoice>

4.1.3. DutyStamp

In order to specify a duty stamp for the invoice, following elements has been added in the below extension.

The UBL extension to be used for below elements can be found here.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/DutyStamp.

See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <ext:UBLExtensions>
      <ext:UBLExtension>
          <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:DutyStamp</ext:ExtensionURI> (1)
          <ext:ExtensionContent>
              <puf:PageroExtension>
                <puf:DutyStamp/> (2)
              </puf:PageroExtension>
          </ext:ExtensionContent>
      </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table shows the definition of the new elements added to the extension.

Table 35. Elements added to puf:PageroExtension/puf:DutyStamp
Element Description

puf:Amount

Duty stamp
Duty stamp amount.

puf:Amount/@currencyID

Duty stamp currency
Duty stamp amount currency.
For valid values see code list PUF-004-CURRENCYCODE

Example
Duty Stamp

<Invoice>
  <ext:UBLExtensions>
      <ext:UBLExtension>
          <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:DutyStamp</ext:ExtensionURI>
          <ext:ExtensionContent>
              <puf:PageroExtension>
                  <puf:DutyStamp>
                      <puf:Amount currencyID="EUR">2.00</puf:Amount>
                  </puf:DutyStamp>
              </puf:PageroExtension>
          </ext:ExtensionContent>
      </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
</Invoice>

4.1.4. IGSTOnIntra

In order to specify if IGST is applicable on intra state supplies the following elements has been added in the below extension.

The UBL extension to be used for below elements can be found here.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/IGSTOnIntra.

See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <ext:UBLExtensions>
      <ext:UBLExtension>
          <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:IGSTOnIntra</ext:ExtensionURI> (1)
          <ext:ExtensionContent>
              <puf:PageroExtension>
                <puf:IGSTOnIntra/> (2)
              </puf:PageroExtension>
          </ext:ExtensionContent>
      </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table shows the definition of the new elements added to the extension.

Table 36. Elements added to puf:PageroExtension
Element Description

puf:IGSTOnIntra

Indicator if IGST is applicable for intra state supplies
To indicate if supply is chargeable to IGST despite the fact that the Supplier and Recipient are located within same State.
Possible values is true or false

Example
IGST on intra_

<Invoice>
  <ext:UBLExtensions>
      <ext:UBLExtension>
          <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:IGSTOnIntra</ext:ExtensionURI>
          <ext:ExtensionContent>
              <puf:PageroExtension>
                  <puf:IGSTOnIntra>true</puf:IGSTOnIntra>
              </puf:PageroExtension>
          </ext:ExtensionContent>
      </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
</Invoice>

4.1.5. OrderReference

The UBL extension to be used for below elements can be found here.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/OrderReferenceExtension.

See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:OrderReference>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:OrderReferenceExtension</ext:ExtensionURI> (1)
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:OrderReferenceExtension/> (2)
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:OrderReference>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table show the definition of the new element added to the extension.

Table 37. Elements added in puf:OrderReferenceExtension
Element Description

puf:SalesOrderIssueDate

Date of the sales order, date should be formatted yyyy-mm-dd.

Example
cac:OrderReference containing all information available

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:OrderReference>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:OrderReferenceExtension</ext:ExtensionURI> (1)
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:OrderReferenceExtension>
                          <puf:SalesOrderIssueDate>2019-01-01</puf:SalesOrderIssueDate>
                      </puf:OrderReferenceExtension>
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <cbc:ID>Purchase Order ID</cbc:ID>
      <cbc:SalesOrderID>Sales Order ID</cbc:SalesOrderID>
      <cbc:IssueDate>2019-01-01</cbc:IssueDate>
  </cac:OrderReference>
  <!-- Code omitted for clarity -->
</Invoice>

4.1.6. BillingReference

The UBL extension to be used for below elements can be found here.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/BillingReferenceExtension.

Example
Example below how the URI is used for this extension.

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:BillingReference>
    <cac:InvoiceDocumentReference>
      <ext:UBLExtensions>
                    <ext:UBLExtension>
                            <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:BillingReferenceExtension</ext:ExtensionURI> (1)
                            <ext:ExtensionContent>
                                    <puf:PageroExtension>
                                            <puf:BillingReferenceExtension/> (2)
                                    </puf:PageroExtension>
                            </ext:ExtensionContent>
                    </ext:UBLExtension>
            </ext:UBLExtensions>
    </cac:InvoiceDocumentReference>
  </cac:BillingReference>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.
Table 38. Elements added in puf:BillingReferenceExtension
Element Description

cbc:Note

Textual note describing the reason for issuing a credit/debit note

Example
Contract document reference ID, date and extension

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:BillingReference>
    <cac:InvoiceDocumentReference>
      <ext:UBLExtensions>
                    <ext:UBLExtension>
                            <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:BillingReferenceExtension</ext:ExtensionURI>
                            <ext:ExtensionContent>
                                    <puf:PageroExtension>
                                            <puf:BillingReferenceExtension>
                                                    <cbc:Note>Textual note describing the reason for issuing a credit/debit note</cbc:Note>
                                            </puf:BillingReferenceExtension>
                                    </puf:PageroExtension>
                            </ext:ExtensionContent>
                    </ext:UBLExtension>
            </ext:UBLExtensions>
      <cbc:ID>Invoice reference ID</cbc:ID>
      <cbc:IssueDate>2021-01-01</cbc:IssueDate>
    </cac:InvoiceDocumentReference>
  </cac:BillingReference>
  <!-- Code omitted for clarity -->
</Invoice>

4.1.7. ContractDocumentReference

The UBL extension to be used for below elements can be found here.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/ContractDocumentReferenceExtension.

Example
Example below how the URI is used for this extension.

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:ContractDocumentReference>
      <ext:UBLExtensions>
                    <ext:UBLExtension>
                            <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:ContractDocumentReferenceExtension</ext:ExtensionURI> (1)
                            <ext:ExtensionContent>
                                    <puf:PageroExtension>
                                            <puf:ContractDocumentReferenceExtension/> (2)
                                    </puf:PageroExtension>
                            </ext:ExtensionContent>
                    </ext:UBLExtension>
            </ext:UBLExtensions>
  </cac:ContractDocumentReference>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.
Table 39. Elements added in puf:ContractDocumentReferenceExtension
Element Description

puf:BuyerContractID

ID for the buyer referenced contract document.

puf:BuyerContractIssueDate

Issue date for the buyer referenced contract document, date should be formatted yyyy-mm-dd.

Example
Contract document reference ID, date and extension

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:ContractDocumentReference>
      <ext:UBLExtensions>
                    <ext:UBLExtension>
                            <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:ContractDocumentReferenceExtension</ext:ExtensionURI>
                            <ext:ExtensionContent>
                                    <puf:PageroExtension>
                                            <puf:ContractDocumentReferenceExtension>
                                                    <puf:BuyerContractID>BuyerContractID</puf:BuyerContractID>
                                                    <puf:BuyerContractIssueDate>2019-01-01</puf:BuyerContractIssueDate>
                                            </puf:ContractDocumentReferenceExtension>
                                    </puf:PageroExtension>
                            </ext:ExtensionContent>
                    </ext:UBLExtension>
            </ext:UBLExtensions>
      <cbc:ID>Contract Document ID</cbc:ID>
      <cbc:IssueDate>2019-01-01</cbc:IssueDate>
  </cac:ContractDocumentReference>
  <!-- Code omitted for clarity -->
</Invoice>

4.1.8. Party

The UBL extension to be used for below elements can be found in the below parties:

The structure used from PUF-ExtensionComponent.xsd is PageroExtension/PartyExtension.

See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:Party>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:PartyExtension</ext:ExtensionURI> (1)
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:PartyExtension/> (2)
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:Party>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table shows the definition of the new elements added to the extension.

Table 40. Elements added in puf:PartyExtension
Path Description

puf:RegistrationData/cbc:ID

Additional registration data associated with the party.

puf:RegistrationData/puf:IDType

To identify the type of registration data. The IDType must be coded using the PUF-001-REGISTRATIONDATA code list.

puf:RegistrationData/puf:IDType/@listID

Registration data IDType must have a list identifier attribute “PUF-001-REGISTRATIONDATA”.

puf:ADAID/cbc:ID

Additional destination address identifier.

puf:ADAID/cbc:Name

Name of the additional destination unit.

puf:ADAID/puf:IDType

To identify the type of additional destination address identifier. The IDType must be coded using the PUF-002-ADAID code list.

puf:ADAID/puf:IDType/@listID

IDType must have a list identifier attribute “PUF-002-ADAID”.

Registration data

When there is a need to provide additional registration data associated with the organization this can be done using the RegistrationData element. To identify the type of registration data.

The puf:IDType must be coded using the PUF-001-REGISTRATIONDATA code list.

See code list PUF-001-REGISTRATIONDATA for all supported types of registration data.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:Party>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:PartyExtension</ext:ExtensionURI>
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:PartyExtension>
                          <puf:RegistrationData>
                              <cbc:ID>SomeRegistrationData</cbc:ID>
                              <puf:IDType listID="PUF-001-REGISTRATIONDATA">ES:Folio</puf:IDType>
                          </puf:RegistrationData>
                          <puf:RegistrationData>
                              <cbc:ID>SomeRegistrationData</cbc:ID>
                              <puf:IDType listID="PUF-001-REGISTRATIONDATA">ES:Book</puf:IDType>
                          </puf:RegistrationData>
                      </puf:PartyExtension>
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:Party>
  <!-- Code omitted for clarity -->
</Invoice>
Additional Destination Address Identifier (ADAID)

Additional Destination Address Identifier (ADAID) is used when there is a need to provide additional routing codes in order for the invoice to be sent to the correct recipient. This is mostly used to public entities (e.g. government recipients).

To identify the type of ADAID, the puf:IDType must be coded using the PUF-002-ADAID code list.

See code list PUF-002-ADAID for supported types of ADAID.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:Party>
    <ext:UBLExtensions>
        <ext:UBLExtension>
            <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:PartyExtension</ext:ExtensionURI>
            <ext:ExtensionContent>
                <puf:PageroExtension>
                    <puf:PartyExtension>
                        <puf:ADAID>
                            <cbc:ID>1234567890</cbc:ID>
                            <cbc:Name>Name of Unit</cbc:Name>
                            <puf:IDType listID="PUF-002-ADAID">FR:ServiceCode</puf:IDType>
                        </puf:ADAID>
                    </puf:PartyExtension>
                </puf:PageroExtension>
            </ext:ExtensionContent>
        </ext:UBLExtension>
    </ext:UBLExtensions>
    <!-- Code omitted for clarity -->
  </cac:Party>
  <!-- Code omitted for clarity -->
</Invoice>

4.1.9. Delivery

The UBL extension to be used for below elements can be found here.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/DeliveryExtension.

See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:Delivery>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:DeliveryExtension</ext:ExtensionURI> (1)
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:DeliveryExtension/> (2)
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:Delivery>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table show the definition of the additional elements added to the delivery extension.

Table 41. Elements added in puf:DeliveryExtension
Element Description

puf:DeliveryMethod/cbc:Note

Description of the delivery method (free text).

puf:DeliveryMethod/puf:Code

A code for the delivery method.

Example
Delivery method and code defined

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:Delivery>
      <ext:UBLExtensions>
        <ext:UBLExtension>
            <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:DeliveryExtension</ext:ExtensionURI>
            <ext:ExtensionContent>
                <puf:PageroExtension>
                    <puf:DeliveryExtension>
                        <puf:DeliveryMethod>
                            <cbc:Note>Text describing the delivery method</cbc:Note>
                            <puf:Code>Deliver Method Code</puf:Code>
                        </puf:DeliveryMethod>
                    </puf:DeliveryExtension>
                </puf:PageroExtension>
            </ext:ExtensionContent>
        </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:Delivery>
  <!-- Code omitted for clarity -->
</Invoice>

4.1.10. PaymentTerms

The UBL extension to be used for below elements can be found here.
The structure used from PUF-ExtensionComponent.xsd is puf:PageroExtension/puf:PaymentTermsExtension.

See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:PaymentTerms>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:PaymentTermsExtension</ext:ExtensionURI> (1)
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:PaymentTermsExtension/> (2)
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:PaymentTerms>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table shows the definition of the extended element.

Table 42. Elements added in puf:PaymentTermsExtension
Element Description

puf:Penalty/cbc:Note

Penalty text due to late payment, if the need of explicitly stating a penalty text separated from the regular payment terms.

Example
Penalty text provided in extension

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:PaymentTerms>
      <ext:UBLExtensions>
        <ext:UBLExtension>
            <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:PaymentTermsExtension</ext:ExtensionURI>
            <ext:ExtensionContent>
                <puf:PageroExtension>
                    <puf:PaymentTermsExtension>
                        <puf:Penalty>
                            <cbc:Note>Penalty text due to late payment</cbc:Note>
                        </puf:Penalty>
                    </puf:PaymentTermsExtension>
                </puf:PageroExtension>
            </ext:ExtensionContent>
        </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:PaymentTerms>
  <!-- Code omitted for clarity -->
</Invoice>

4.1.11. TaxTotal

The UBL extension to be used for below elements can be found here.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/TaxSubtotalExtension.

See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:TaxTotal>
      <cac:TaxSubtotal>
          <ext:UBLExtensions>
              <ext:UBLExtension>
                  <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:TaxSubtotalExtension</ext:ExtensionURI> (1)
                  <ext:ExtensionContent>
                      <puf:PageroExtension>
                          <puf:TaxSubtotalExtension/> (2)
                      </puf:PageroExtension>
                  </ext:ExtensionContent>
              </ext:UBLExtension>
          </ext:UBLExtensions>
          <!-- Code omitted for clarity -->
      </cac:TaxSubtotal>
  </cac:TaxTotal>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table lists all additional elements added to the extension.

Table 43. Elements added in puf:TaxSubtotalExtension
Element Description

puf:TaxCurrencyTaxableAmount

Tax currency taxable amount
Taxable amount in tax currency per subtotal

puf:TaxCurrencyTaxableAmount/@currencyID

Tax currency taxable amount currency
Currency of taxable amount in tax currency per subtotal

puf:TaxCurrencyTaxAmount

Tax currency tax amount
Tax amount in tax currency per subtotal

puf:TaxCurrencyTaxAmount/@currencyID

Tax currency tax amount currency
Currency of tax amount in tax currency per subtotal

puf:TaxInclusiveAmount

Total amount including tax
Total amount including tax per subtotal

puf:TaxInclusiveAmount/@currencyID

Currency of TaxInclusiveAmount
For valid values see code list PUF-004-CURRENCYCODE

puf:TaxCurrencyTaxInclusiveAmount

Total amount including tax in tax currency
Total amount including tax per subtotal in tax currency

puf:TaxCurrencyTaxInclusiveAmount/@currencyID

Currency of TaxCurrencyTaxInclusiveAmount
For valid values see code list PUF-004-CURRENCYCODE

puf:TaxChargeability/cbc:TaxTypeCode

Tax chargeability
Tax chargeability per tax (see Italy section here)

Tax currency amounts

In Peppol BIS 3.0 billing it’s only possible to provide the tax currency amount summary of all sub totals.

In order to extend the support, it’s possible to use PUF extension to provide the taxable and tax amount in tax currency per each sub total. See example below.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
  <cbc:TaxCurrencyCode>USD</cbc:TaxCurrencyCode>
  <!-- Code omitted for clarity -->
  <cac:TaxExchangeRate>
    <cbc:SourceCurrencyCode>EUR</cbc:SourceCurrencyCode>
    <cbc:TargetCurrencyCode>USD</cbc:TargetCurrencyCode>
    <cbc:CalculationRate>1.17</cbc:CalculationRate>
    <cbc:MathematicOperatorCode>Multiply</cbc:MathematicOperatorCode>
    <cbc:Date>2019-01-01</cbc:Date>
  </cac:TaxExchangeRate>
  <!-- Code omitted for clarity -->
  <cac:TaxTotal>
      <cbc:TaxAmount currencyID="EUR">37.00</cbc:TaxAmount>
      <cac:TaxSubtotal>
          <ext:UBLExtensions>
              <ext:UBLExtension>
                  <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:TaxSubtotalExtension</ext:ExtensionURI>
                  <ext:ExtensionContent>
                      <puf:PageroExtension>
                          <puf:TaxSubtotalExtension>
                              <puf:TaxCurrencyTaxableAmount currencyID="USD">117.00</puf:TaxCurrencyTaxableAmount> (1)
                              <puf:TaxCurrencyTaxAmount currencyID="USD">29.25</puf:TaxCurrencyTaxAmount> (2)
                              <puf:TaxInclusiveAmount currencyID="EUR">125.00</puf:TaxInclusiveAmount>
                              <puf:TaxCurrencyTaxInclusiveAmount currencyID="USD">146.25</puf:TaxCurrencyTaxInclusiveAmount>
                          </puf:TaxSubtotalExtension>
                      </puf:PageroExtension>
                  </ext:ExtensionContent>
              </ext:UBLExtension>
          </ext:UBLExtensions>
          <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
          <cbc:TaxAmount currencyID="EUR">25.00</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:TaxSubtotal>
          <ext:UBLExtensions>
              <ext:UBLExtension>
                  <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:TaxSubtotalExtension</ext:ExtensionURI>
                  <ext:ExtensionContent>
                      <puf:PageroExtension>
                          <puf:TaxSubtotalExtension>
                              <puf:TaxCurrencyTaxableAmount currencyID="USD">117.00</puf:TaxCurrencyTaxableAmount> (3)
                              <puf:TaxCurrencyTaxAmount currencyID="USD">14.04</puf:TaxCurrencyTaxAmount> (4)
                              <puf:TaxInclusiveAmount currencyID="EUR">112.00</puf:TaxInclusiveAmount>
                              <puf:TaxCurrencyTaxInclusiveAmount currencyID="USD">131.04</puf:TaxCurrencyTaxInclusiveAmount>
                          </puf:TaxSubtotalExtension>
                      </puf:PageroExtension>
                  </ext:ExtensionContent>
              </ext:UBLExtension>
          </ext:UBLExtensions>
          <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
          <cbc:TaxAmount currencyID="EUR">12.00</cbc:TaxAmount>
          <cac:TaxCategory>
              <cbc:ID>S</cbc:ID>
              <cbc:Percent>12</cbc:Percent>
              <cac:TaxScheme>
                  <cbc:ID>VAT</cbc:ID>
              </cac:TaxScheme>
          </cac:TaxCategory>
      </cac:TaxSubtotal>
  </cac:TaxTotal>
  <cac:TaxTotal>
      <cbc:TaxAmount currencyID="USD">43.29</cbc:TaxAmount> (5)
  </cac:TaxTotal>
  <!-- Code omitted for clarity -->
</Invoice>
1 Taxable amount in tax currency for 25 % rate
2 Tax amount in tax currency for 25 % rate
3 Taxable amount in tax currency for 12 % rate
4 Tax amount in tax currency for 12 % rate
5 Summary of all sub totals TaxCurrencyTaxAmount

4.1.12. LegalMonetaryTotal

The UBL extension to be used for below elements can be found here.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/LegalMonetaryTotalExtension.

See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:LegalMonetaryTotal>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LegalMonetaryTotalExtension</ext:ExtensionURI> (1)
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:LegalMonetaryTotalExtension/> (2)
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:LegalMonetaryTotal>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table shows the definition of the new elements added to the extension.

Table 44. Elements added in puf:LegalMonetaryTotalExtension
Element Description

puf:TaxCurrencyTaxExclusiveAmount

If the document currency and tax currency differs, Tax Exclusive Amount in Tax currency should be specified here.

puf:TaxCurrencyTaxExclusiveAmount/@currencyID

Currency of the Tax Currency Tax ExclusiveAmount.
For valid values see code list PUF-004-CURRENCYCODE

puf:TaxCurrencyTaxInclusiveAmount

If the document currency and tax currency differs, Tax Inclusive Amount in Tax currency should be specified here.

puf:TaxCurrencyTaxInclusiveAmount/@currencyID

Currency of the Tax Currency TaxInclusive Amount.
For valid values see code list PUF-004-CURRENCYCODE

puf:TaxCurrencyPayableAmount

If the document currency and tax currency differs, Payable Amount in Tax currency should be specified here.

puf:TaxCurrencyPayableAmount/@currencyID

Currency of the Tax Currency Payable Amount.
For valid values see code list PUF-004-CURRENCYCODE

puf:PaymentInKind/puf:Amount

Payment in kind amount on invoice.

puf:PaymentInKind/puf:Amount/@currencyID

Currency of the Payment in kind amount.
For valid values see code list PUF-004-CURRENCYCODE

puf:PaymentInKind/cbc:Note

Description of payment in kind.

Tax currency amounts

This section show an example of how to provide the documents total amounts in its tax currency.

Example
Example with EUR as document currency and USD as Tax currency

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
  <cbc:TaxCurrencyCode>USD</cbc:TaxCurrencyCode>
  <!-- Code omitted for clarity -->
  <cac:TaxExchangeRate>
    <cbc:SourceCurrencyCode>EUR</cbc:SourceCurrencyCode>
    <cbc:TargetCurrencyCode>USD</cbc:TargetCurrencyCode>
    <cbc:CalculationRate>1.16</cbc:CalculationRate> (1)
    <cbc:MathematicOperatorCode>Multiply</cbc:MathematicOperatorCode>
    <cbc:Date>2017-12-01</cbc:Date>
  </cac:TaxExchangeRate>
  <!-- Code omitted for clarity -->
  <cac:LegalMonetaryTotal>
    <ext:UBLExtensions>
        <ext:UBLExtension>
            <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LegalMonetaryTotalExtension</ext:ExtensionURI>
            <ext:ExtensionContent>
                <puf:PageroExtension>
                    <puf:LegalMonetaryTotalExtension>
                        <puf:TaxCurrencyTaxExclusiveAmount currencyID="USD">116.00</puf:TaxCurrencyTaxExclusiveAmount> (2)
                        <puf:TaxCurrencyTaxInclusiveAmount currencyID="USD">116.00</puf:TaxCurrencyTaxInclusiveAmount> (3)
                        <puf:TaxCurrencyPayableAmount currencyID="USD">116.00</puf:TaxCurrencyPayableAmount> (4)
                    </puf:LegalMonetaryTotalExtension>
                </puf:PageroExtension>
            </ext:ExtensionContent>
        </ext:UBLExtension>
    </ext:UBLExtensions>
    <cbc:TaxExclusiveAmount currencyID="EUR">100.00</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="EUR">100.00</cbc:TaxInclusiveAmount>
    <cbc:PayableAmount currencyID="EUR">100.00</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
  <!-- Code omitted for clarity -->
</Invoice>
1 Exchange rate which the calculation is based upon.
2 Amount in tax currency calculated upon TaxExclusiveAmount and CalculationRate.
3 Amount in tax currency calculated upon TaxInclusiveAmount and CalculationRate.
4 Amount in tax currency calculated upon PayableAmount and CalculationRate.
Please note that tax has been excluded in above example.
Payment in Kind

Payment in kind is a way to use goods or services as payment instead of cash.

The elements available in PUF allow the possibility to provide the corresponding amount of the goods and services and a description.

Example
Payment In Kind is 100 EUR

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:TaxTotal>
      <cbc:TaxAmount currencyID="EUR">250</cbc:TaxAmount>
      <cac:TaxSubtotal>
          <cbc:TaxableAmount currencyID="EUR">1000</cbc:TaxableAmount>
          <cbc:TaxAmount currencyID="EUR">250</cbc:TaxAmount>
          <cac:TaxCategory>
              <cbc:ID>S</cbc:ID>
              <cbc:Percent>25.00</cbc:Percent>
              <cac:TaxScheme>
                  <cbc:ID>VAT</cbc:ID>
              </cac:TaxScheme>
          </cac:TaxCategory>
      </cac:TaxSubtotal>
  </cac:TaxTotal>
  <cac:LegalMonetaryTotal>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LegalMonetaryTotalExtension</ext:ExtensionURI>
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:LegalMonetaryTotalExtension>
                          <puf:PaymentInKind>
                              <puf:Amount currency="EUR">100</puf:Amount> (1)
                              <cbc:Note>Text describing the payment in kind</cbc:Note>
                          </puf:PaymentInKind>
                      </puf:LegalMonetaryTotalExtension>
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <cbc:LineExtensionAmount currencyID="EUR">1000</cbc:LineExtensionAmount>
      <cbc:TaxExclusiveAmount currencyID="EUR">1000</cbc:TaxExclusiveAmount>
      <cbc:TaxInclusiveAmount currencyID="EUR">1250</cbc:TaxInclusiveAmount>
      <cbc:PayableAmount currencyID="EUR">1150</cbc:PayableAmount> (2)
  </cac:LegalMonetaryTotal>
  <!-- Code omitted for clarity -->
</Invoice>
1 The amount 100 EUR is the payment in kind.
2 100 EUR is subtracted on the TaxInclusiveAmount, calculation 1250 - 100 = 1150, resulting in new Payable amount.

4.2. Line Level

Below chapters describe the different extensions added on line level.

4.2.1. RestrictedInformation

RestrictedInformation has been added on line level in order to cater the need for unique country specific data and internal customer information that might be required for internal processing.

Note that no customer specific information can be added without prior consulting with Pagero. If country specific information is available as restricted information value, this can be found in the Country Specific section.

The UBL extension to be used for TaxCurrencyLineExtensionAmount on line level is ext:UBLExtensions.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/LineExtension.

See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
    <ext:UBLExtensions>
        <ext:UBLExtension>
            <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI> (1)
            <ext:ExtensionContent>
                <puf:PageroExtension>
                    <puf:LineExtension>
                        <puf:RestrictedInformation/> (2)
                    </puf:LineExtension>
                </puf:PageroExtension>
            </ext:ExtensionContent>
        </ext:UBLExtension>
    </ext:UBLExtensions>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table show the definition of the new element added to the extension.

Table 45. Elements added in puf:RestrictedInformation
Element Description

puf:Key

Key defining the type of value

puf:Value

Value relevant to the assigned key

Example
RestrictedInformation example from Hungary specific section

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <ext:UBLExtensions>
        <ext:UBLExtension>
            <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI>
            <ext:ExtensionContent>
                <puf:PageroExtension>
                    <puf:LineExtension>
                        <puf:RestrictedInformation>
                            <puf:Key>lineModificationReferenceLineOperation</puf:Key>
                            <puf:Value>CREATE</puf:Value>
                        </puf:RestrictedInformation>
                    </puf:LineExtension>
                </puf:PageroExtension>
            </ext:ExtensionContent>
        </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

4.2.2. TaxCurrencyLineExtensionAmount

Element TaxCurrencyLineExtensionAmount has been added in order to specify the lines net amount in tax currency.

The UBL extension to be used for TaxCurrencyLineExtensionAmount on line level is ext:UBLExtensions.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/LineExtension. See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI> (1)
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:LineExtension/> (2)
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table shows the definition of the new elements added to the extension.

Table 46. Elements added to puf:LineExtension
Element Description

puf:TaxCurrencyLineExtensionAmount

Net amount in tax currency.

puf:TaxCurrencyLineExtensionAmount/@currencyID

Currency of the TaxCurrencyLineExtensionAmount.
For valid values see code list PUF-004-CURRENCYCODE

Example
Line with both net amount in document currency and tax currency

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI>
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:LineExtension>
                          <puf:TaxCurrencyLineExtensionAmount currencyID="USD">117.00</puf:TaxCurrencyLineExtensionAmount> (1)
                      </puf:LineExtension>
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount> (2)
      <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
1 The net amount in tax currency
2 The net amount in document currency

4.2.3. TaxInclusiveLineExtensionAmount

Element TaxInclusiveLineExtensionAmount has been added in order to specify the lines total amount including taxes.

The UBL extension to be used for TaxInclusiveLineExtensionAmount on line level is ext:UBLExtensions.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/LineExtension. See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI> (1)
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:LineExtension/> (2)
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table shows the definition of the new elements added to the extension.

Table 47. Elements added to puf:LineExtension
Element Description

puf:TaxInclusiveLineExtensionAmount

Total line amount, including tax, discount and charges.

puf:TaxInclusiveLineExtensionAmount/@currencyID

Currency of the TaxInclusiveLineExtensionAmount.
For valid values see code list PUF-004-CURRENCYCODE

Example
Line with tax inclusive amount

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI>
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:LineExtension>
                          <puf:TaxInclusiveLineExtensionAmount currencyID="EUR">1100</puf:TaxInclusiveLineExtensionAmount> (1)
                      </puf:LineExtension>
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <cbc:LineExtensionAmount currencyID="EUR">1000</cbc:LineExtensionAmount> (2)
      <cac:TaxTotal>
        <cbc:TaxAmount currencyID="EUR">100</cbc:TaxAmount>
      </cac:TaxTotal>
      <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
1 The amount including tax
2 The amount excluding tax

4.2.4. TaxCurrencyTaxInclusiveLineExtensionAmount

Element TaxCurrencyTaxInclusiveLineExtensionAmount has been added in order to specify the lines total amount including taxes in tax currency.

The UBL extension to be used for TaxInclusiveLineExtensionAmount on line level is ext:UBLExtensions.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/LineExtension. See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI> (1)
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:LineExtension/> (2)
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table shows the definition of the new elements added to the extension.

Table 48. Elements added to puf:LineExtension
Element Description

puf:TaxCurrencyTaxInclusiveLineExtensionAmount

Total line amount, including tax, discount and charges in tax currency.

puf:TaxCurrencyTaxInclusiveLineExtensionAmount/@currencyID

Currency of the TaxCurrencyTaxInclusiveLineExtensionAmount.
For valid values see code list PUF-004-CURRENCYCODE

Example
Line with the total amount including tax both in document and tax currency

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI>
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:LineExtension>
                          <puf:TaxInclusiveLineExtensionAmount currencyID="EUR">100.00</puf:TaxInclusiveLineExtensionAmount> (1)
                          <puf:TaxCurrencyTaxInclusiveLineExtensionAmount currencyID="USD">120.00</puf:TaxCurrencyTaxInclusiveLineExtensionAmount> (2)
                      </puf:LineExtension>
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
1 The amount including tax in document currency
2 The amount including tax in tax currency

4.2.5. LineExclAllowanceChargeAmount

In addition to the LineExtensionAmount a new element has been added to specify the line amount excluding any allowances and charges on the line.

The UBL extension to be used for LineExclAllowanceChargeAmount on line level is ext:UBLExtensions.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/LineExtension. See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI> (1)
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:LineExtension/> (2)
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table shows the definition of the new elements added to the extension.

Table 49. Elements added to puf:LineExtension
Element Description

puf:LineExclAllowanceChargeAmount

Sum of the line amounts, the amount is excluded VAT, Tax, allowances and charges.

puf:LineExclAllowanceChargeAmount/@currencyID

Currency of the Line Excl Allowance Charge Amount.
For valid values see code list PUF-004-CURRENCYCODE

Example
Line with 100 EUR discount

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI>
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:LineExtension>
                          <puf:LineExclAllowanceChargeAmount currencyID="EUR">1000</puf:LineExclAllowanceChargeAmount> (1)
                      </puf:LineExtension>
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <cbc:LineExtensionAmount currencyID="EUR">900</cbc:LineExtensionAmount> (2)
      <cac:AllowanceCharge>
          <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
          <cbc:Amount currencyID="EUR">100</cbc:Amount>
      </cac:AllowanceCharge>
      <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
1 The amount excluded the discount
2 The amount included the discount

4.2.6. OriginatorDocumentReference

In order to specify the tender reference on line level, Originator document reference has been added to line extension.

The UBL extension to be used for OriginatorDocumentReference on line level is ext:UBLExtensions.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/LineExtension.

See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI> (1)
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:LineExtension>
                          <puf:OriginatorDocumentReference/> (2)
                      </puf:LineExtension>
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table shows the definition of the new elements added to the extension.

Table 50. Elements added to puf:LineExtension/puf:OriginatorDocumentReference
Element Description

cbc:ID

Identification of the tender reference

cbc:IssueDate

Date of issue of the referenced tender, date should be formatted yyyy-mm-dd.

Example
Originator document reference ID and date

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI>
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:LineExtension>
                          <puf:OriginatorDocumentReference>
                              <cbc:ID>123456</cbc:ID>
                              <cbc:IssueDate>2018-01-01</cbc:IssueDate>
                          </puf:OriginatorDocumentReference>
                      </puf:LineExtension>
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

4.2.7. ProjectReference

In order to specify the project reference on line level, project reference has been added to line extension.

The UBL extension to be used for ProjectReference on line level is ext:UBLExtensions.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/LineExtension.

See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI> (1)
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:LineExtension>
                          <puf:ProjectReference/> (2)
                      </puf:LineExtension>
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table shows the definition of the new elements added to the extension.

Table 51. Elements added to puf:LineExtension/puf:ProjectReference
Element Description

cbc:ID

Identification of the project reference.

Example
Project reference ID

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI>
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:LineExtension>
                          <puf:ProjectReference>
                              <cbc:ID>123456</cbc:ID>
                          </puf:ProjectReference>
                      </puf:LineExtension>
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

4.2.8. OrderLineReference

In addition, an extension has been created for providing additional information not supported in UBL 2.1.

The UBL extension to be used for below elements can be found here.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/LineExtension.

See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <!-- Code omitted for clarity -->
      <cac:OrderLineReference>
          <cac:OrderReference>
              <ext:UBLExtensions>
                  <ext:UBLExtension>
                      <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI> (1)
                      <ext:ExtensionContent>
                          <puf:PageroExtension>
                              <puf:LineExtension>
                                  <puf:OrderLineReference/> (2)
                              </puf:LineExtension>
                          </puf:PageroExtension>
                      </ext:ExtensionContent>
                  </ext:UBLExtension>
              </ext:UBLExtensions>
              <!-- Code omitted for clarity -->
          </cac:OrderReference>
      </cac:OrderLineReference>
      <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table show the definition of the new element added to the extension.

Table 52. Elements added in puf:OrderLineReference
Element Description

puf:SalesOrderIssueDate

Date of the sales order, date should be formatted yyyy-mm-dd.

Example
Order line reference containing all available elements

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <!-- Code omitted for clarity -->
      <cac:OrderLineReference>
          <cbc:LineID>1</cbc:LineID>
          <cac:OrderReference>
              <ext:UBLExtensions>
                  <ext:UBLExtension>
                      <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI>
                      <ext:ExtensionContent>
                          <puf:PageroExtension>
                              <puf:LineExtension>
                                  <puf:OrderLineReference>
                                      <puf:SalesOrderIssueDate>2019-01-01</puf:SalesOrderIssueDate>
                                  </puf:OrderLineReference>
                              </puf:LineExtension>
                          </puf:PageroExtension>
                      </ext:ExtensionContent>
                  </ext:UBLExtension>
              </ext:UBLExtensions>
              <cbc:ID>Purchase Order ID</cbc:ID>
              <cbc:SalesOrderID>Sales Order ID</cbc:SalesOrderID>
              <cbc:IssueDate>2019-01-01</cbc:IssueDate>
          </cac:OrderReference>
      </cac:OrderLineReference>
      <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

4.2.9. ContractDocumentReference

In order to specify the contract information on line level, ContractDocumentReference has been added to Line extension.

The UBL extension to be used for ContractDocumentReference on line level is ext:UBLExtensions.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/LineExtension.

See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI> (1)
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:LineExtension>
                          <puf:ContractDocumentReference/> (2)
                      </puf:LineExtension>
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table shows the definition of the new elements added to the extension.

Table 53. Elements added to puf:LineExtension/puf:ContractDocumentReference
Element Description

cbc:ID

Identification of the referenced contract.

cbc:IssueDate

Date of issue of the referenced contract, date should be formatted yyyy-mm-dd.

puf:BuyerContractID

ID for the buyer referenced contract document.

puf:BuyerContractIssueDate

Issue date for the buyer referenced contract document, date should be formatted yyyy-mm-dd.

Example
Contract document ID and date

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <ext:UBLExtensions>
          <ext:UBLExtension>
              <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI>
              <ext:ExtensionContent>
                  <puf:PageroExtension>
                      <puf:LineExtension>
                          <puf:ContractDocumentReference>
                              <cbc:ID>123456</cbc:ID>
                              <cbc:IssueDate>2018-01-01</cbc:IssueDate>
                              <puf:BuyerContractID>BuyerContractID</puf:BuyerContractID>
                                                                  <puf:BuyerContractIssueDate>2019-01-01</puf:BuyerContractIssueDate>
                          </puf:ContractDocumentReference>
                      </puf:LineExtension>
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

4.2.10. Item

The UBL extension to be used for below elements can be found here.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/ItemExtension.

See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <!-- Code omitted for clarity -->
      <cac:Price>
          <ext:UBLExtensions>
              <ext:UBLExtension>
                  <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:ItemExtension</ext:ExtensionURI> (1)
                  <ext:ExtensionContent>
                      <puf:PageroExtension>
                          <puf:ItemExtension/> (2)
                      </puf:PageroExtension>
                  </ext:ExtensionContent>
              </ext:UBLExtension>
          </ext:UBLExtensions>
          <!-- Code omitted for clarity -->
      </cac:Price>
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table show the definition of the new element added to the extension.

Table 54. Elements added to puf:ItemExtension
Element Description

puf:ItemType

Type of item, valid values are GOODS or SERVICE.

Example
Line with goods item

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <cac:Item>
        <ext:UBLExtensions>
            <ext:UBLExtension>
                <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:ItemExtension</ext:ExtensionURI>
                <ext:ExtensionContent>
                    <puf:PageroExtension>
                        <puf:ItemExtension>
                            <puf:ItemType>GOODS</puf:ItemType>
                        </puf:ItemExtension>
                    </puf:PageroExtension>
                </ext:ExtensionContent>
            </ext:UBLExtension>
        </ext:UBLExtensions>
      </cac:Item>
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

4.2.11. Price

The Price segment has been extended with new elements.

The UBL extension to be used for below elements can be found here.
The structure used from PUF-ExtensionComponent.xsd is PageroExtension/PriceExtension.

See example below as well as the URI to be used for this extension.

Example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <!-- Code omitted for clarity -->
      <cac:Price>
          <ext:UBLExtensions>
              <ext:UBLExtension>
                  <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:PriceExtension</ext:ExtensionURI> (1)
                  <ext:ExtensionContent>
                      <puf:PageroExtension>
                          <puf:PriceExtension/> (2)
                      </puf:PageroExtension>
                  </ext:ExtensionContent>
              </ext:UBLExtension>
          </ext:UBLExtensions>
          <!-- Code omitted for clarity -->
      </cac:Price>
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.

Below table show the definition of the new element added to the extension.

Table 55. Elements added to puf:PriceExtension
Element Description

puf:PriceInclAllowanceChargeAmount

Unit price including allowances or charges
Note that the value should include the cac:AllowanceCharge applied on line level (not to be confused with cac:Price/cac:AllowanceCharge), as shown in the example Line with 100 EUR discount.

puf:PriceInclAllowanceChargeAmount/@currencyID

Currency of the unit price including allowances or charges
For valid values see code list PUF-004-CURRENCYCODE

puf:TaxCurrencyPriceAmount

Unit price excluding allowances or charges in tax currency

puf:TaxCurrencyPriceAmount/@currencyID

Currency of TaxCurrencyPriceAmount
For valid values see code list PUF-004-CURRENCYCODE

Example
Line with 100 EUR discount

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
      <cbc:LineExtensionAmount currencyID="EUR">900.00</cbc:LineExtensionAmount>
      <cac:AllowanceCharge>
          <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
          <cbc:Amount currencyID="EUR">100.00</cbc:Amount>
      </cac:AllowanceCharge>
      <!-- Code omitted for clarity -->
      <cac:Price>
        <ext:UBLExtensions>
            <ext:UBLExtension>
                <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:PriceExtension</ext:ExtensionURI>
                <ext:ExtensionContent>
                    <puf:PageroExtension>
                        <puf:PriceExtension>
                            <puf:PriceInclAllowanceChargeAmount currencyID="EUR">900.00</puf:PriceInclAllowanceChargeAmount> (2)
                            <puf:TaxCurrencyPriceAmount currencyID="USD">1170.00</puf:TaxCurrencyPriceAmount> (3)
                        </puf:PriceExtension>
                    </puf:PageroExtension>
                </ext:ExtensionContent>
            </ext:UBLExtension>
        </ext:UBLExtensions>
        <cbc:PriceAmount currencyID="EUR">1000.00</cbc:PriceAmount> (1)
      </cac:Price>
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
1 The unit price excluding the discount.
2 The unit price including the discount.
3 Unit price provided in tax currency, calculated with an exchange rate of 1.17.

5. Country Specific

This section will provide information regarding on how to include common country specific data in PUF.

5.1. Spain

This section contains information about requirements and other information concerning invoicing in Spain.

5.1.1. Routing Codes (DIR3)

To send documents to the Spanish government you are required to provide DIR3 codes. These are used as routing codes, definition of the codes can be found below.

  1. Accounting Office (Oficina Contable)

  2. Management Agency (Órgano Gestor)

  3. Processing Authority Unit (Unidad Tramitadora)

  4. Proposing Agency (Órgano Proponente)

The DIR3 codes should be provided in the extension element in cac:AccountingCustomerParty/cac:Party, in the structure PageroExtension/PartyExtension/ADAID. More information how to use ADAID can be found here.

Example

<cac:AccountingCustomerParty>
  <cac:Party>
    <ext:UBLExtensions>
        <ext:UBLExtension>
            <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:PartyExtension</ext:ExtensionURI>
            <ext:ExtensionContent>
                <puf:PageroExtension>
                    <puf:PartyExtension>
                        <puf:ADAID>
                            <cbc:ID>1234567890</cbc:ID>
                            <puf:IDType listID="PUF-002-ADAID">ES:OficinaContable</puf:IDType>
                        </puf:ADAID>
                        <puf:ADAID>
                            <cbc:ID>1234567890</cbc:ID>
                            <puf:IDType listID="PUF-002-ADAID">ES:OrganoGestor</puf:IDType>
                        </puf:ADAID>
                        <puf:ADAID>
                            <cbc:ID>1234567890</cbc:ID>
                            <puf:IDType listID="PUF-002-ADAID">ES:UnidadTramitadora</puf:IDType>
                        </puf:ADAID>
                        <puf:ADAID>
                            <cbc:ID>1234567890</cbc:ID>
                            <puf:IDType listID="PUF-002-ADAID">ES:OrganoProponente</puf:IDType>
                        </puf:ADAID>
                    </puf:PartyExtension>
                </puf:PageroExtension>
            </ext:ExtensionContent>
        </ext:UBLExtension>
    </ext:UBLExtensions>
    <!-- Code omitted for clarity -->
  </cac:Party>
</cac:AccountingCustomerParty>

5.2. France

This section contains information about requirements and other information concerning invoicing in France.

5.2.1. Service Code

Service code is a routing code required by some customers to identify the correct recipient in French Government Portal. It’s used as an addition to the SIRET number, which is the main identifier for all government recipients.

The Service code should be provided in the extension block under cac:AccountingCustomerParty/cac:Party, in the structure puf:PageroExtension/puf:PartyExtension/puf:ADAID (More information how to use ADAID can be found here).

See example below, note that the Name is not mandatory to send, but opens up the possibility to provide the name of the receiving unit.

Example

<cac:AccountingCustomerParty>
  <cac:Party>
    <ext:UBLExtensions>
        <ext:UBLExtension>
            <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:PartyExtension</ext:ExtensionURI>
            <ext:ExtensionContent>
                <puf:PageroExtension>
                    <puf:PartyExtension>
                        <puf:ADAID>
                            <cbc:ID>1234567890</cbc:ID>
                            <cbc:Name>Name of receiving unit</cbc:Name>
                            <puf:IDType listID="PUF-002-ADAID">FR:ServiceCode</puf:IDType>
                        </puf:ADAID>
                    </puf:PartyExtension>
                </puf:PageroExtension>
            </ext:ExtensionContent>
        </ext:UBLExtension>
    </ext:UBLExtensions>
    <!-- Code omitted for clarity -->
  </cac:Party>
</cac:AccountingCustomerParty>

Entities behind French Government portal can set up validation of certain elements called legal commitments. Therefore it’s recommended to support the below values in order to fulfill the requirements of this validation.

Customer contract defined as “Contrat”

Example

<cac:ContractDocumentReference>
    <cbc:ID>Contract number</cbc:ID>
    <cbc:IssueDate>2019-01-01</cbc:IssueDate>
</cac:ContractDocumentReference>
Tender reference defined as “Marché Public”

Example

<cac:OriginatorDocumentReference>
    <cbc:ID>Tender number</cbc:ID>
    <cbc:IssueDate>2019-01-01</cbc:IssueDate>
</cac:OriginatorDocumentReference>
Purchase order number defined as “Engagement”

Example

<cac:OrderReference>
    <cbc:ID>Order Number</cbc:ID>
    <cbc:IssueDate>2019-01-01</cbc:IssueDate>
</cac:OrderReference>

5.3. Italy

This section contains information about requirements and other information concerning invoicing in Italy.

5.3.1. Routing code (Codice Destinatario)

In order to send invoices in Italy a destination code must be provided called "Codice Destinatario".

The destination code should be sent in cac:AccountingCustomerParty/cac:Party/cbc:EndpointID with schemeID "0201" (Indice delle Pubbliche Amministrazioni).

Example

<cac:AccountingCustomerParty>
  <cac:Party>
    <cbc:EndpointID schemeID="0201">123456</cbc:EndpointID>
    <!-- Code omitted for clarity -->
  </cac:Party>
</cac:AccountingCustomerParty>

5.3.2. Duty Stamp (Dati Bollo)

In order to provide Dati Bollo (Duty Stamp) required on some invoices in Italy the value can be provided in the following element Duty Stamp.

Example
Example for Dati Bollo in Italy

<Invoice>
  <ext:UBLExtensions>
      <ext:UBLExtension>
          <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:DutyStamp</ext:ExtensionURI>
          <ext:ExtensionContent>
              <puf:PageroExtension>
                  <puf:DutyStamp>
                      <puf:Amount currencyID="EUR">2.00</puf:Amount>
                  </puf:DutyStamp>
              </puf:PageroExtension>
          </ext:ExtensionContent>
      </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
</Invoice>

5.3.3. Tax chargeability (Esigibilita IVA)

To provide tax chargeability, the extension element (Invoice|CreditNote)/cac:TaxTotal/cac:TaxSubtotal/ext:UBLExtensions can be used. The structure used from PUF-ExtensionComponent.xsd is PageroExtension/TaxSubtotalExtension. See example below:

Possible values to provide:

  • I = VAT with immediate chargeability

  • D = VAT unrealized

  • S = Splitting of payments

Example

<cac:TaxTotal>
    <cac:TaxSubtotal>
        <ext:UBLExtensions>
            <ext:UBLExtension>
                <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:TaxSubtotalExtension</ext:ExtensionURI>
                <ext:ExtensionContent>
                    <puf:PageroExtension>
                        <puf:TaxSubtotalExtension>
                          <puf:TaxChargeability>
                            <cbc:TaxTypeCode>S</cbc:TaxTypeCode>
                          </puf:TaxChargeability>
                        </puf:TaxSubtotalExtension>
                    </puf:PageroExtension>
                </ext:ExtensionContent>
            </ext:UBLExtension>
        </ext:UBLExtensions>
        <!-- Code omitted for clarity -->
    </cac:TaxSubtotal>
</cac:TaxTotal>

5.3.4. VAT number and Fiscal Code

It is possible to send a VAT number and/or a Fiscal code (Codice Fiscale) in PUF, below is a description and example how to provide this.

VAT number in Italy
  • CompanyID - Must start with a country code (two characters) followed by 1 to 28 characters

  • TaxScheme/ID - Must be VAT

Fiscal code in Italy
  • CompanyID - Can contain 11 to 16 characters

  • TaxScheme/ID - Must be TAX

Example
AccountingCustomerParty with both VAT number and Fiscal code

<cac:AccountingCustomerParty> (1)
    <cac:Party>
        <!-- Code omitted for clarity -->
        <cac:PartyTaxScheme>
            <cbc:CompanyID>IT123456789</cbc:CompanyID>
            <cac:TaxScheme>
                <cbc:ID>VAT</cbc:ID>
            </cac:TaxScheme>
        </cac:PartyTaxScheme>
        <cac:PartyTaxScheme>
            <cbc:CompanyID>12345678901</cbc:CompanyID>
            <cac:TaxScheme>
                <cbc:ID>TAX</cbc:ID>
            </cac:TaxScheme>
        </cac:PartyTaxScheme>
        <!-- Code omitted for clarity -->
    </cac:Party>
</cac:AccountingCustomerParty>
1 Example contains AccountingCustomerParty but same handling applies for AccountingSupplierParty

5.3.5. Registration data

To provide the registration data (Ufficio, NumeroREA, Capitale Sociale, Socio Unico and Stato Liquidazione) in the XML file please check the extension for AccountingSupplierParty structure here.

5.4. Portugal

This section contains information about special requirements concerning invoicing in Portugal.

5.4.1. Billing Software Certification

Invoices in Portugal must be issued via a certified software and in the extension puf:BillingSoftware it’s possible to provide the mandatory values.

Example
Extension with the billing software details populated

<Invoice>
  <ext:UBLExtensions>
      <ext:UBLExtension>
          <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:BillingSoftware</ext:ExtensionURI>
          <ext:ExtensionContent>
              <puf:PageroExtension>
                  <puf:BillingSoftware>
                      <puf:Number>1111/AT</puf:Number> (1)
                      <puf:Hash>AAaa</puf:Hash> (2)
                      <cbc:Description>AAaa - Processado por programa certificado n. 1111/AT.</cbc:Description> (3)
                  </puf:BillingSoftware>
              </puf:PageroExtension>
          </ext:ExtensionContent>
      </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
</Invoice>
1 Software certification identification
2 Hash code
3 Description of the software certification

5.4.2. QR Code and ATCUD

In Portugal it can be required to provide a QR code and ATCUD. The portugese government has specified that this can be provided in elements that exist in Peppol BIS 3 and therefore also exist in PUF.

Below you will find a guide on how to provide it to comply with the portugese specification.

Example
QR code and ATCUD provided in cac:AdditionalDocumentReference

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:AdditionalDocumentReference>
        <cbc:ID schemeID="ANG">12345678-123456789123</cbc:ID> <!--ATCUD, use the schemeID ANG-->
        <cbc:DocumentDescription>QR_CODE</cbc:DocumentDescription><!-- DocumentDescription must be QR_CODE -->
        <cac:Attachment> <!--QR Code encoded in base64-->
            <cbc:EmbeddedDocumentBinaryObject mimeCode="text/plain" filename="the filename">QRstringInBase64</cbc:EmbeddedDocumentBinaryObject><!-- mimeCode must be text/plain -->
        </cac:Attachment>
    </cac:AdditionalDocumentReference>
    <!-- Code omitted for clarity -->
</Invoice>

5.4.3. Tax Category codes

Tax category codes for Portugal can be found here. Note that multiple tax category codes overlap due to previous portugese standards. The recommendation is to use the official UNCL5305 codes in the list if supported.

5.5. Singapore

This section contains information about requirements and other information concerning invoicing in Singapore.

5.5.1. Tax Category codes

Tax category codes for Singapore can be found here.

5.6. Saudi Arabia

This section contains information about special requirements concerning invoicing in Saudi Arabia.

5.6.1. InvoiceTypeCode and Invoice subtype

Available Invoice Type values to be used in Saudi Arabia can be found here.

In addition to provide the InvoiceType it is required to also provide the subtypes. Supported codes can be found here.

Example
Example with InvoiceTypeCode and invoice subtypes provided for Saudi Arabia

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:InvoiceTypeCode name="0100000">388</cbc:InvoiceTypeCode>(1)
  <!-- Code omitted for clarity -->
</Invoice>
1 InvoiceTypeCode 388 for "Tax Invoice" provided. Attribute name in this KSA scenario is used to provide the invoice subtypes.

5.6.2. PartyIdentification

In Saudi Arabia there is a possible requirement to providing additional party identifiers that are not available in the ISO 6523 ICD list. These additional identifiers for use in Saudi Arabia can be found here.

Example
Example with additional id provided in Saudi Arabia in Party structure

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:AccountingCustomerParty>
    <!-- Code omitted for clarity -->
    <cac:Party>
        <!-- Code omitted for clarity -->
        <cac:PartyIdentification>
            <cbc:ID schemeID="SA:NAT">0123456789</cbc:ID>(1)
        </cac:PartyIdentification>
        <!-- Code omitted for clarity -->
    </cac:Party>
</cac:AccountingCustomerParty>

</Invoice>
1 The national id provided as cac:PartyIdentification/cbc:ID

5.7. India

This section contains information about special requirements concerning invoicing in India.

5.7.1. Place of Supply

Place of supply determines the place (the State) where the GST shall be received by the government treasury.

The value should be provided in element RestrictedInformation with key POS

Example
Place of Supply example

<Invoice>
  <ext:UBLExtensions>
    <ext:UBLExtension>
        <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:RestrictedInformation</ext:ExtensionURI>
        <ext:ExtensionContent>
            <puf:PageroExtension>
              <puf:RestrictedInformation>
                  <puf:Key>POS</puf:Key>
                  <puf:Value>01</puf:Value>
              </puf:RestrictedInformation>
            </puf:PageroExtension>
        </ext:ExtensionContent>
    </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
</Invoice>

5.7.2. PartyIdentification

In India there is a possible requirement to providing additional party identifiers that are not available in the ISO 6523 ICD list. These additional identifiers for use in India can be found here.

Example
Example with additional id provided in India in Party structure

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:AccountingCustomerParty>
    <!-- Code omitted for clarity -->
    <cac:Party>
        <!-- Code omitted for clarity -->
        <cac:PartyIdentification>
            <cbc:ID schemeID="IN:GSTIN">11AAAAA3212A1AA</cbc:ID>(1)
        </cac:PartyIdentification>
        <!-- Code omitted for clarity -->
    </cac:Party>
</cac:AccountingCustomerParty>

</Invoice>
1 GSTIN number in India provided as cac:PartyIdentification/cbc:ID

5.7.3. Party address information

The mandatory clearance platform IRP validate the below address information according to code lists.

cbc:CountrySubentityCode
Each party must contain the corresponding states code, the state code should be sent in element cbc:CountrySubentityCode and must be two digits.

Valid state codes can be found on the government website https://einvoice1.gst.gov.in/Others/MasterCodes.

The parties state code must correspond with the first two digits of the parties GSTIN number.

cbc:PostalZone
The post code or PIN code as referred to in India must exist on all parties and must be sent in cbc:PostalZone.

Valid codes can be found on the government website https://einvoice1.gst.gov.in/Others/MasterCodes.

Example
Example of a correct address for cac:AccountingCustomerParty

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:AccountingCustomerParty>
    <!-- Code omitted for clarity -->
    <cac:Party>
        <!-- Code omitted for clarity -->
        <cac:PostalAddress>
            <cbc:StreetName>Street 1</cbc:StreetName>
            <cbc:CityName>Jammu</cbc:CityName>
            <cbc:PostalZone>181131</cbc:PostalZone>
            <cbc:CountrySubentityCode>01</cbc:CountrySubentityCode>
            <cac:Country>
              <cbc:IdentificationCode>IN</cbc:IdentificationCode>
              <cbc:Name>India</cbc:Name>
            </cac:Country>
        </cac:PostalAddress>
        <cac:PartyIdentification>
            <cbc:ID schemeID="IN:GSTIN">01AAAAA3212A1AA</cbc:ID>(1)
        </cac:PartyIdentification>
        <!-- Code omitted for clarity -->
    </cac:Party>
  </cac:AccountingCustomerParty>
</Invoice>

5.7.4. Tax type scheme

Tax type scheme codes for India can be found here.

5.7.5. Harmonized System of Nomenclature code (HSN Code)

Each invoice line must contain a HSN code, IRP will validate that the provided HSN code correspond with relevant taxes for that goods or service.

All HSN codes applicable can be found on the government website https://einvoice1.gst.gov.in/Others/MasterCodes.

Example
Example how to provide HSN code

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
    <!-- Code omitted for clarity -->
    <cac:Item>
      <cac:CommodityClassification>
        <cbc:ItemClassificationCode listID="HS">85176290</cbc:ItemClassificationCode>
      </cac:CommodityClassification>
    </cac:Item>
  </cac:InvoiceLine>
</Invoice>

5.7.6. Supply Type

In India it’s mandatory to define the type of supply relevant for the invoice, the available codes can be found below and must be stated in the Supply type element found here.

Value Description

B2B

Business to Business

SEZWP

SEZ with payment

SEZWOP

SEZ without payment

EXPWP

Export with Payment

EXPWOP

Export without payment

DEXP

Direct Export

5.7.7. IGST on Intra state transaction

In some cases IGST is applicable on intra state supplies, in order to indicate this a true or false flag must be set in element puf:IGSTOnIntra which can be found here.

5.8. Hungary

This section contains information about special requirements concerning invoicing in Hungary and Real-Time Invoice Reporting (RTIR)

5.8.1. Invoice Appearance

Each document must have a Invoice Apperance code, the value depends on how the documents is distributed between issuer and receiver. Note that invoices distributed via email shall be classified as ELECTRONIC.

The table below lists valid codes

Value Description

PAPER

Invoice issued on paper

ELECTRONIC

Electronic invoice (non-EDI)

EDI

EDI invoice

UNKNOWN

The software cannot identify the form of appearance of the invoice or it is unknown at the time of issue

The code should match the defined distribution method, if this is unknown at the time of issuance, UNKNOWN must be used.

The value should be provided in element RestrictedInformation with key invoiceAppearance

Example
Invoice Appearance ELECTRONIC example

<Invoice>
  <ext:UBLExtensions>
    <ext:UBLExtension>
        <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:RestrictedInformation</ext:ExtensionURI>
        <ext:ExtensionContent>
            <puf:PageroExtension>
              <puf:RestrictedInformation>
                  <puf:Key>invoiceAppearance</puf:Key>
                  <puf:Value>ELECTRONIC</puf:Value>
              </puf:RestrictedInformation>
            </puf:PageroExtension>
        </ext:ExtensionContent>
    </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
</Invoice>

5.8.2. Tax Number

The syntax of Hungarian tax ids is 11 characters The first 8 digits is the tax payer id. The 9th digit is the VAT code. The last two digits is the county code. The 9th digit means:

1 – personal tax exemption, not VAT tax payer person
2 – general rules (scope in the Hunagrian VAT law)
3 – simplified entrepreneurial tax (it cannot be chosen anymore)
4 – group member tax ID
5 – group tax ID

For the seller tax number the 9th digit should be a 2 (or 1, 3, 5). If the company have a group member tax ID the 9th digit must be a 5.

Hungarian tax id should be sent in the element cac:Party/cac:PartyLegalEntity/cbc:CompanyID.

The group member tax id should be sent in cbc:PartyIdentification with schemeID defined in the list Identification scheme Hungary.

5.8.3. Customer VAT Status

It’s mandatory to provide the customers VAT status, this determine allowed content and rules for the customer party.

Allowed values can be found in below table

Value Description

DOMESTIC

Domestic VAT taxable person

OTHER

Other (domestic non-VAT taxable person, non-natural person, foreign VAT taxable person and foreign non-VAT taxable person, non-natural person)

PRIVATE_PERSON

Non-VAT taxable natural person (domestic or foreign)

The value should be provided in element RestrictedInformation with key customerVatStatus

Example
Customer VAT Status populated in RestrictedInformation

<Invoice>
  <ext:UBLExtensions>
    <ext:UBLExtension>
        <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:RestrictedInformation</ext:ExtensionURI>
        <ext:ExtensionContent>
            <puf:PageroExtension>
              <puf:RestrictedInformation>
                  <puf:Key>customerVatStatus</puf:Key>
                  <puf:Value>PRIVATE_PERSON</puf:Value>
              </puf:RestrictedInformation>
            </puf:PageroExtension>
        </ext:ExtensionContent>
    </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
</Invoice>

5.8.4. Line Expression Indicator

lineExpressionIndicator indicates whether the unit of the item can be expressed as a natural unit of measurement. The indicator must be provided on each line.

If the value of the lineExpressionIndicator tag is true, the following values must be entered on the invoice line:

  • name of product or service

  • quantity

  • quantity unit

  • unit price

If the value of the lineExpressionIndicator tag is false, only the name of the product or service must be entered on the invoice line from above list.

The value should be provided in element RestrictedInformation with key lineExpressionIndicator

Example
lineExpressionIndicator true

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
      <ext:UBLExtensions>
        <ext:UBLExtension>
            <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI>
            <ext:ExtensionContent>
                <puf:PageroExtension>
                    <puf:LineExtension>
                        <puf:RestrictedInformation>
                            <puf:Key>lineExpressionIndicator</puf:Key>
                            <puf:Value>true</puf:Value>
                        </puf:RestrictedInformation>
                    </puf:LineExtension>
                </puf:PageroExtension>
            </ext:ExtensionContent>
        </ext:UBLExtension>
      </ext:UBLExtensions>
      <cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
      <cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
      <cac:Item>
        <cbc:Name>Article 1</cbc:Name>
      </cac:Item>
      <cac:Price>
        <cbc:PriceAmount currencyID="EUR">110.00</cbc:PriceAmount>
      </cac:Price>
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

5.8.5. Modification

Hungary RTIR flow require a special handling regarding credit and modification of documents, below section will give brief information how this must be handled.

Modify Without Master

When creating a modification document e.g. a credit note, it’s mandatory to indicate whether the original document has been reported or not.

The value should be provided in element RestrictedInformation with key modifyWithoutMaster

Example
CreditNote with modifyWithoutMaster

<CreditNote>
  <ext:UBLExtensions>
    <ext:UBLExtension>
        <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:RestrictedInformation</ext:ExtensionURI>
        <ext:ExtensionContent>
            <puf:PageroExtension>
                <puf:RestrictedInformation>
                    <puf:Key>modificationIndex</puf:Key>
                    <puf:Value>1</puf:Value>
                </puf:RestrictedInformation>
                <puf:RestrictedInformation>
                    <puf:Key>modifyWithoutMaster</puf:Key>
                    <puf:Value>false</puf:Value>
                </puf:RestrictedInformation>
            </puf:PageroExtension>
        </ext:ExtensionContent>
    </ext:UBLExtension>
  </ext:UBLExtensions>
  <cbc:ID>111234552</cbc:ID>
  <cac:BillingReference>
    <cac:InvoiceDocumentReference>
        <cbc:ID>1234567</cbc:ID>
    </cac:InvoiceDocumentReference>
  </cac:BillingReference>
  <!-- Code omitted for clarity -->
</CreditNote>
Modification Index

In Hungary it’s possible to reference the original invoice multiple times.
It’s therefore mandatory to specify on each modification/credit document the index of the document starting with value 1.
If additional documents will be sent referencing the same original invoice this index is increased by 1.

The value should be provided in element RestrictedInformation with key modificationIndex

Example
CreditNote with modificationIndex

<CreditNote>
  <ext:UBLExtensions>
    <ext:UBLExtension>
        <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:RestrictedInformation</ext:ExtensionURI>
        <ext:ExtensionContent>
            <puf:PageroExtension>
                <puf:RestrictedInformation>
                    <puf:Key>modificationIndex</puf:Key>
                    <puf:Value>1</puf:Value>
                </puf:RestrictedInformation>
                <puf:RestrictedInformation>
                    <puf:Key>modifyWithoutMaster</puf:Key>
                    <puf:Value>false</puf:Value>
                </puf:RestrictedInformation>
            </puf:PageroExtension>
        </ext:ExtensionContent>
    </ext:UBLExtension>
  </ext:UBLExtensions>
  <cbc:ID>111234552</cbc:ID>
  <cac:BillingReference>
    <cac:InvoiceDocumentReference>
        <cbc:ID>1234567</cbc:ID>
    </cac:InvoiceDocumentReference>
  </cac:BillingReference>
  <!-- Code omitted for clarity -->
</CreditNote>
lineOperation and modificationReferenceLineNumber

Each line in a modification invoice or credit note must contain a lineModificationReferenceLineOperation and lineModificationReferenceLineNumberReference, below is a short explanation how to use the two different operations available MODIFY and CREATE.

Modify: Used to modify text and data on an invoice, when using operation MODIFY it’s not possible to change amounts on an invoice. If the value of the operation is MODIFY, the lineModificationReferenceLineNumberReference element will contain the line item number of the item in the original invoice, or the line item number of the new item created in a previous modifying document, which is the subject of the modification.

Credit: In Hungary RTIR flow credit note is structured a bit different than a regular credit note. In the file to the Tax Authority the operation CREATE must be sent on each line, which indicate that you Create a new line ontop of the referenced original invoice. In order to create a credit note, the operation CREATE must be sent on each line and then the subtract the original invoice line amount using minus sign and the original invoices line data. The lineModificationReferenceLineNumberReference element will be the continuation of the original numbering created from the original invoice and all previous documents thereof.

It’s not possible to mix operation “CREATE” and “MODIFY” in the same document.

Both the lineModificationReferenceLineOperation and lineModificationReferenceLineNumberReference should be provided on each line in element RestrictedInformation.

Valid values for lineModificationReferenceLineOperation is CREATE and MODIFY with the key lineModificationReferenceLineOperation.

Example
Original Invoice

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
    <ext:UBLExtensions>
      <ext:UBLExtension>
          <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI>
          <ext:ExtensionContent>
              <puf:PageroExtension>
                  <puf:RestrictedInformation>
                      <puf:Key>lineExpressionIndicator</puf:Key>
                      <puf:Value>true</puf:Value>
                  </puf:RestrictedInformation>
              </puf:PageroExtension>
          </ext:ExtensionContent>
      </ext:UBLExtension>
    </ext:UBLExtensions>
      <cbc:ID>1</cbc:ID>
      <cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
      <cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount> (2)
      <cac:Item>
        <cbc:Name>Article 1</cbc:Name>
      </cac:Item>
      <cac:Price>
        <cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
      </cac:Price>
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

Example
Credit Note with modification of Invoice

<CreditNote>
  <!-- Code omitted for clarity -->
  <cac:CreditNoteLine>
    <ext:UBLExtensions>
      <ext:UBLExtension>
          <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:LineExtension</ext:ExtensionURI>
          <ext:ExtensionContent>
              <puf:PageroExtension>
                  <puf:RestrictedInformation>
                      <puf:Key>lineModificationReferenceLineOperation</puf:Key>
                      <puf:Value>CREATE</puf:Value>
                  </puf:RestrictedInformation>
                  <puf:RestrictedInformation>
                      <puf:Key>lineModificationReferenceLineNumberReference</puf:Key>
                      <puf:Value>2</puf:Value> (1)
                  </puf:RestrictedInformation>
                  <puf:RestrictedInformation>
                      <puf:Key>lineExpressionIndicator</puf:Key>
                      <puf:Value>true</puf:Value>
                  </puf:RestrictedInformation>
              </puf:PageroExtension>
          </ext:ExtensionContent>
      </ext:UBLExtension>
    </ext:UBLExtensions>
    <cbc:ID>1</cbc:ID>
    <cbc:CreditedQuantity unitCode="EA">-1</cbc:CreditedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">-100.00</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Name>Article 1</cbc:Name>
    </cac:Item>
    <cac:Price>
      <cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
    </cac:Price>
  </cac:CreditNoteLine>
  <!-- Code omitted for clarity -->
</CreditNote>
1 lineModificationReferenceLineNumberReference is the continuation of the original numbering created from the original invoice, in this example the original invoice line number was 1, then the lineModificationReferenceLineNumberReference will be 2.

6. Code lists

Certain elements require the use of PUF specific Code list. Below you will find the lists and where the lists are applicable.

In some of these code lists PUF only points towards an external code list to be used.

Other times the code list to be used is a mix between values defined specifically for PUF and other external list(s).

Lastly, in some cases, all the values are defined solely for PUF.

6.1. Code lists for coded elements

Table 56. Table of the code lists used
Business Term Path listID

Registration Data Id Type

puf:PartyExtension/puf:RegistrationData/puf:IDType

PUF-001-REGISTRATIONDATA

Additional Destination Address Identifier

puf:PartyExtension/puf:ADAID/puf:IDType

PUF-002-ADAID

Invoice Type Code

cbc:InvoiceTypeCode
cbc:CreditNoteType

PUF-003-INVOICETYPECODE

Currency Code

cbc:DocumentCurrencyCode
cbc:TaxCurrencyCode
/*/@currencyID

PUF-004-CURRENCYCODE

Invoiced Object Identifier

cac:AdditionalDocumentReference/cbc:ID/@schemeID

PUF-005-INVOICEDOBJECTIDENTIFIER

Mime code

cac:AdditionalDocumentReference/cac:Attachment/ cbc:EmbeddedDocumentBinaryObject/@mimeCode

PUF-006-MIMECODES

Electronic address scheme

cac:AccountingSupplierParty/cac:Party/cbc:EndpointID/@schemeID
cac:AccountingCustomerParty/cac:Party/cbc:EndpointID/@schemeID
cac:BuyerCustomerParty/cac:Party/cbc:EndpointID/@schemeID

PUF-007-ENDPOINTSCHEME

Identification scheme

cac:PartyIdentification/cbc:ID/@schemeID
cac:PartyLegalEntity/cbc:CompanyID/@schemeID
cac:Delivery/cac:DeliveryLocation/cbc:ID/@schemeID
cac:Item/cac:StandardItemIdentification/cbc:ID/@schemeID

PUF-008-IDENTIFICATIONSCHEME

Tax type scheme

cac:TaxCategory/cac:TaxScheme/cbc:ID
cac:Item/cac:ClassifiedTaxCategory/cac:TaxScheme/cbc:ID

PUF-009-TAXTYPESCHEME

Payment means code

cac:PaymentMeans/cbc:PaymentMeansCode

PUF-010-PAYMENTMEANSCODE

Allowance charge reason codes

cac:AllowanceCharge/cbc:AllowanceChargeReasonCode

PUF-011-ALLOWANCECHARGEREASONCODE

Tax category codes

cac:TaxCategory/cbc:ID

PUF-012-TAXCATEGORYCODE

Tax exemption codes

cac:TaxCategory/cbc:TaxExemptionReasonCode

PUF-013-EXEMPTCODE

Unit of measure codes

cbc:InvoicedQuantity/@unitCode
cbc:CreditedQuantity/@unitCode
cac:Price/cbc:BaseQuantity/@unitCode

PUF-014-UOMCODE

Item type identification code

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

PUF-015-ITEMTYPEIDENTIFICATIONCODE

6.1.1. PUF-001-REGISTRATIONDATA

The value consist of "country code:type of value". Country code states which country the value is applicable for.

Value Description

IT:Ufficio

Initials of the province where the Company is registered.

IT:NumeroREA

The registration number in the "companies register".

IT:CapitaleSociale

Only in the case of a company (SpA, SApA, SRL), the element must be filled in with the share capital

IT:SocioUnico

Only in the case of a joint-stock company or limited liability company, the element must be filled in to indicate if there is a single shareholder or several shareholders.

Allowed values: SU or SM

SU : Sole shareholder
SM : Several shareholders

IT:StatoLiquidazione

Indication of whether the Company is in liquidation or not.
Allowed values: LS or LN

LS : In liquidation
LN : Not in liquidation

ES:Book

Book in the register of the company.

ES:RegisterOfCompaniesLocation

In which register the company is located.

ES:Sheet

Sheet in the register of the company.

ES:Folio

Folio in the register of the company.

ES:Section

Section in the register of the company.

ES:Volume

Volume in the register of the company.

ES:AdditionalRegistrationData

Other registration data.

FR:DenomSociete

Legal name.

FR:TypeSociete

Type of company (for example SAS).

FR:CapitalSocial

Share capital, capital contributed to a company at the time of its creation.

FR:RCSNumber

Trade and Companies Register number.

FR:APE

Business activity classification code.

6.1.2. PUF-002-ADAID

The value consist of "country code:type of value". Country code states which country the value is applicable for.

Value Description

FR:ServiceCode

Code of the receiving unit behind French Government portal.

ES:OficinaContable

Code for the accounting office (Oficina Contable).

ES:OrganoGestor

Code for the management agency (Órgano Gestor).

ES:UnidadTramitadora

Code for the processing authority unit (Unidad Tramitadora).

ES:OrganoProponente

Code for the proposing agency (Órgano Proponente).

GEN:UnitCode

General code for defining the unit of a company.

6.1.3. PUF-003-INVOICETYPECODE

List of available general invoice type codes.

Value Description

380

Invoice, only applicable only with UBL message/document type Invoice.

381

Credit note, only applicable only with UBL message/document type CreditNote.

383

Debit note, only applicable only with UBL message/document type Invoice.

Invoice Type Codes Saudi Arabia

The below listed InvoiceTypeCodes are available for use in Saudi Arabia.

Value Description

388

Tax Invoice, only applicable only with UBL message/document type Invoice.

381

Credit note, only applicable only with UBL message/document type CreditNote.

383

Debit note, only applicable only with UBL message/document type Invoice.

Invoice Subtype Codes Saudi Arabia

In addition to the InvoiceTypeCode it is required to provide invoice subtypes. This should be placed in cbc:InvoiceTypeCode/@name and must follow a certain syntax.

Structure on the value must be NNPNESB (Example 0100000) where:

Value Supported values

NN (Position 1 and 2)

01 for tax invoice
02 for simplified tax invoice.

P (Position 3)

3rd Party invoice transaction, 0 for false, 1 for true

N (Position 4)

Nominal invoice transaction, 0 for false, 1 for true

E (Position 5)

Exports invoice transaction, 0 for false, 1 for true

S (Position 6)

Summary invoice transaction, 0 for false, 1 for true

B (Position 7)

Self-billed invoice transaction, 0 for false, 1 for true. Note that only 0 is currently supported

6.1.4. PUF-004-CURRENCYCODE

For available values see code list of three character currency codes see Currency Codes.

6.1.6. PUF-006-MIMECODES

List of available mime codes.

Value

text/csv

application/pdf

image/jpeg

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

application/vnd.oasis.opendocument.spreadsheet

6.1.7. PUF-007-ENDPOINTSCHEME

For available values see code list Electronic address scheme

6.1.8. PUF-008-IDENTIFICATIONSCHEME

Supported values can be found here ISO 6523 ICD list.

For cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID/@schemeID and cac:PayeeParty/cac:PartyIdentification/cbc:ID/@schemeID an additional code list is also applicable: Sepa indicator.

For additional identification scheme identifier added in PUF see below recommendations.

Identification scheme Saudi Arabia
Value Description

SA:HQ

Group VAT number

SA:NAT

National ID

SA:TIN

Tax Identification Number

SA:IQA

Iqama Number

SA:PAS

Passport ID

SA:CRN

Commercial registration number

SA:MOM

Momra license

SA:MLS

MLSD license

SA:SAG

Sagia license

SA:GCC

GCC ID

SA:OTH

Other ID

Identification scheme India
Value Description

IN:PAN

PAN is a 10-digit unique identification alpha-numeric number

IN:GSTIN

GSTIN is a 15-digit PAN-based unique identification number assigned to every registered person under GST.

IN:CIN

Corporate Identification Number (CIN) is a 21 digits alpha-numeric unique identification number that is assigned by the Registrar of Companies (ROC).

Identification scheme Hungary
Value Description

HU:TaxpayerId

Tax number

HU:GroupMemberTaxpayerId

Group member tax number

6.1.9. PUF-009-TAXTYPESCHEME

List of available tax type scheme codes.

Value Description

VAT

Value Added Tax

GST

Goods and Services Tax

LOC

Sales tax

STT

State/provincial sales tax

AAG

Harmonised sales tax, Canadian
A harmonized sales tax consisting of a goods and service tax, a Canadian provincial sales tax and, as applicable, a Quebec sales tax which is recoverable.

AAH

Quebec sales tax

AAI

Canadian provincial sales tax

IGST

Integrated Goods and Services Tax, India

CGST

Central Goods and Services Tax, India

SGST

State Goods and Services Tax, India

UTGST

Union Territory Goods and Services Tax, India

CESS

CESS, India

CESS Non advol

CESS Non Ad Valorem, India

STATECESS

State CESS, India

STATECESS Non Advol

State CESS Non Ad Valorem, India

6.1.10. PUF-010-PAYMENTMEANSCODE

Value Description

1

Instrument not defined

10

In cash

20

Cheque

30

Credit transfer

31

Debit transfer

42

Payment to bank account

48

Bank card

56

Bankgiro

58

SEPA credit transfer
Credit transfer inside the Single Euro Payment Area (SEPA) system.

59

Direct debit inside the Single Euro Payment Area (SEPA) system.

93

Reference giro
Ordering customer tells the bank to use the payment system 'Reference giro'. Used in the Finnish national banking system.

For all available codes see list Payment means code

6.1.11. PUF-011-ALLOWANCECHARGEREASONCODE

Values can differ depending on which legal domain you are in or if there are other types of business requirements.

Below you will find links to recommended lists.

Link

Allowance reason codes

Charge reason codes

6.1.12. PUF-012-TAXCATEGORYCODE

Standard european tax category codes can be found here Duty or tax or fee category code.

For additional codes added in PUF see below code recommendations.

Tax category codes Singapore
Value Description

SR

Local supply of goods and services

SRCA-S

Customer accounting supply made by the supplier

SRCA-C

Customer accounting supply made by the customer on supplier’s behalf

ZR

Supplies involving goods for export/ provision of international services

ES33

Specific categories of exempt supplies listed under regulation 33 of the GST (General) Regulations

ESN33

Exempt supplies other than those listed under regulation 33 of the GST (General) Regulations

DS

Supplies required to be reported pursuant to the GST legislation

OS

Supplies outside the scope of the GST Act

NG

Supplies from a company which is not registered for GST

SROVR

Overseas vendor registration regime for Business-to-Consumer (“B2C”) supplies of imported digital services

SRRC

Reverse charge regime for Business-to-Business (“B2B”) supplies of imported services

Tax category codes Portugal
Value Description

AA

Lower rate

S

Standard rate

E

Exempt

Z

Zero rated goods

AE

Vat Reverse Charge

G

Free export item, VAT not charged

O

Services outside scope of tax

RED

Reduced rate

INT

Intermediate rate

NOR

Normal rate

ISE

Exempt

OUT

Others, applicable to special VAT schemes

NA

In case of non-subjection to VAT or IS. On receipts issued without itemized tax must be filled with "NA"

IC

intra-Community VAT

6.1.13. PUF-013-EXEMPTCODE

Values can differ depending on which legal domain you are in or if there are other types of business requirements.

For Europe the code list Vatex code list can be recommended.

6.1.14. PUF-014-UOMCODE

Values can differ depending on which legal domain you are in or if there are other types of business requirements.

However, code list UN/ECE Recommendation 20 and UN/ECE Recommendation 21 can be recommended.

7. XML Schemas

Invoice and Credit Note XSD schemas including Pagero/PUF Extension can be downloaded here:

8. Validation

Available validation rules for PUF.

To validate PUF documents please create an account on https://pagero.validex.net.

The validations available on validex are:

  1. XML well-formedness

  2. XSD schema

  3. PUF schematron rules (see below)

The validation artefacts are also available on GitHub.

Table 57. Schematron rules in PUF
Rule name Description of rule Flag

PUF-R001

[PUF-R001]-Specification identifier MUST have the value 'urn:pagero.com:puf:billing:2.0' or 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0#conformant'
Note that the old specification identifier 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0#conformant' will also be accepted during the migration phase to ensure backwards compability

Fatal

PUF-R002

[PUF-R002]-Profile identifier MUST have the value 'urn:pagero.com:puf:billing:1.0'.

Fatal

PUF-R003

[PUF-R003]-Attribute listID MUST be 'PUF-001-REGISTRATIONDATA'

Fatal

PUF-R004

[PUF-R004]-Attribute listID MUST be 'PUF-002-ADAID'

Fatal

PUF-R005

[PUF-R005]-Source currency code SHOULD be different from target currency code when tax exchange rate calculation is provided.

Warning

PUF-R006

[PUF-R006]-If tax exchange calculation is provided the mathematic operator code MUST equal "Multiply".

Fatal

PUF-R007

[PUF-R007]-If tax exchange calculation is provided the calculation rate MUST exist

Fatal

PUF-R008

[PUF-R008]-If tax exchange calculation is provided both source and target currency MUST be provided.

Fatal

PUF-R009

[PUF-R009]-Value in tax chargeability MUST be one of the valid codes "S","D" or "I".

Fatal

PUF-R010

[PUF-R010]-Tax currency taxable amounts currency MUST not differ from documents tax currency.

Fatal

PUF-R011

[PUF-R011]-Tax currency tax amounts currency MUST not differ from documents tax currency.

Fatal

PUF-R012

[PUF-R012]-Tax currency tax exclusive amounts currency MUST not differ from documents tax currency.

Fatal

PUF-R013

[PUF-R013]-Tax currency tax inclusive amounts currency MUST not differ from documents tax currency.

Fatal

PUF-R014

[PUF-R014]-Tax currency payable amounts currency SHOULD not differ from documents tax currency.

Fatal

PUF-R015

[PUF-R015]-Payment in kind amount currency MUST not differ from document currency.

Fatal

PUF-R016

[PUF-R016]-ID type MUST be a valid type according to list PUF-001-REGISTRATIONDATA.

Fatal

PUF-R017

[PUF-R017]-ID type MUST be a valid type according to list PUF-002-ADAID.

Fatal

PUF-R101

[PUF-R101]-Line exclusive allowance and charge amount currency MUST not differ from document currency.

Fatal

PUF-R102

[PUF-R102]-Price including allowance charge amount currency MUST not differ from document currency.

Fatal

PUF-R103

[PUF-R103]-If Tax Subtotal exist on line, tax category percent MUST exist.

Fatal

PUF-R104

[PUF-R104]-If Tax Subtotal exist on line, TAX category ID MUST exist.

Fatal

PUF-R105

[PUF-R105]-If Tax Subtotal exist on line, TAX category TaxScheme ID MUST exist.

Fatal

9. Examples

Example files can be downloaded from GitHub

10. Supported Countries

The aim for Pagero Universal Format is to cover invoicing and business requirements in legal domains and countries all over the world.

The below list should be seen as an overview to visualize where PUF currently is considered applicable. If the country is marked as supported means that an analysis of country or regional requirements has been made. It does however not automatically mean that all conceivable content requirements are supported within PUF.

If a country is not in the list does not necessarily mean that Pagero Universal format cannot be used in the specific region but it means that no extensive analysis has been done of the requirements.

The list of supported countries/regions are updated continuously as Pagero Universal Format is developed to follow new identified markets/requirements.

10.1. Country list

The following list gives an overview of country support in PUF.

The "Require ext:UBLExtensions"-column indicates whether or not the use of UBL extensions is required to be able to comply with the country requirements.
Table 58. Table of supported countries
Country Supported by PUF Require ext:UBLExtensions Comment

Australia

Yes

No

Austria

Yes

No

Belgium

Yes

No

Canada

Yes

No

Denmark

Yes

No

Croatia

Yes

No

Finland

Yes

No

France

Yes

Yes

Germany

Yes

No

Hungary

Yes

Yes

India

Yes

Yes

Ireland

Yes

No

Italy

Yes

Yes

Lithuania

Yes

No

Netherlands

Yes

No

Only Invoice and Credit note support

New Zealand

Yes

No

Norway

Yes

No

Portugal

Yes

Yes

Saudi Arabia

Yes

Yes

Singapore

Yes

No

Spain

Yes

Yes

Sweden

Yes

No

United Kingdom

Yes

No

11. Support

If you have any questions related to PUF, please create a support ticket via Pagero Support.