A specification based on Universal Business Language (UBL) that enables the exchange of compliant business documents worldwide via our e-business platform Pagero Online.

1. Introduction

Pagero Universal Format, hereafter referred to as "PUF", is developed and maintained by Pagero Group.

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:

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

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:

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

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.

<Invoice>
  <!-- Code omitted for clarity -->
  <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>
  <!-- Code omitted for clarity -->
<Invoice>

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. Pagero Online

This section outlines various scenarios and instances that illustrate how the logic used in Pagero Online is determined by the Pagero Universal Format.

2.5.1. Recipient matching

Pagero Online will route the documents using the recipients party identifiers in the following order, provided that there is a matching identifier in the Pagero Network.

  1. cac:AccountingCustomerParty/cbc:SupplierAssignedAccountID

  2. cac:AccountingCustomerParty/cac:Party/cbc:EndpointID

  3. cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification/cbc:ID

  4. cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID

  5. cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID

  6. cac:AccountingCustomerParty/cac:AccountingContact/cbc:ElectronicMail (requires e-mail distribution service)

If no recipient is found the document will either be distributed on paper via mail (requires print distribution service) or stopped with an error message in Pagero Online.

2.5.2. Language and appearance

It’s possible to specify language code for the system generated PDF presentation in Pagero Online, a segment for this is added as an Extension. Please see this section for more information.

2.6. 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.6.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 https://github.com/pagero/puf-billing.

2.6.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 https://pagero.validex.net or on https://github.com/pagero/puf-billing.

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 https://github.com/pagero/puf-billing where all releases will be notified.

3. Syntax

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 in chapter 4: Extensions.

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:UUID

Path Description

cbc:UUID

UUID
A universally unique identifier for an instance of this document.

Example
cbc:UUID with example value

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:UUID>eed38811-d0ea-42f4-8a98-12a7503d00d3</cbc:UUID>
  <!-- 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".
Note that corresponding element in UBL message/document type CreditNote is CreditNote/cac:PaymentMeans/cbc:PaymentDueDate.

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

Invoicing period 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

Referenced document identifier
Identifier for the referenced object/document.

cbc:ID/@schemeID

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

cbc:IssueDate

Referenced document issue date
Issue Date for the referenced object/document.

cbc:DocumentTypeCode

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

cbc:DocumentDescription

Referenced document description
A description of the referenced or attached document.

cac:Attachment/cbc:EmbeddedDocumentBinaryObject

Referenced document binary object
The attached document base64 encoded.

cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@mimeCode

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

cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@filename

Referenced document filename
Filename of the attached document.

cac:Attachment/cac:ExternalReference/cbc:URI

Referenced document URL
A URL to where the referenced document can be found.

Invoice 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 the value in 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 presentation (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

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

Table 10. Elements added in cac:ProjectReference
Path Description

cbc:ID

Project reference
An identifier of the project.

Example
Project Reference for invoice example

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

Example
Project Reference for credit note example

<CreditNote>
  <!-- Code omitted for clarity -->
  <cac:AdditionalDocumentReference>
    <cbc:ID>557884</cbc:ID>
    <cbc:DocumentTypeCode>50</cbc:DocumentTypeCode> (1)
  </cac:AdditionalDocumentReference>
  <!-- Code omitted for clarity -->
</CreditNote>
1 Code 50 indicating this is a project reference

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/cbc:IndustryClassificationCode

Industry Classification Code
Seller Industry classification code.

cac:Party/cbc:IndustryClassificationCode/@name

Industry Classification Name
Corresponding name of the classification code.

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:ID

Address ID
Seller’s postal address id.
Address identifier. Might be given by the authorities as standard numerical equivalent corresponding to neighborhood, plaza, streets etc.

cac:Party/cac:PostalAddress/cbc:Postbox

Postal box
Seller’s postal address post box.

cac:Party/cac:PostalAddress/cbc:Floor

Floor
Seller’s postal address floor.
An addressable floor of a building.

cac:Party/cac:PostalAddress/cbc:Room

Room
Seller’s postal address room.
A room, suite, or apartment of a building.

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:BuildingName

Building name
Seller’s postal address building 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/cbc:Region

Region
Seller’s postal address region.
Seller’s addressable region or group of countries.

cac:Party/cac:PostalAddress/cbc:District

District
Seller’s postal address district.
A district or borough, may be a subdivision of a city for this address.

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 for Sweden and Norway 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:PartyLegalEntity/cac:RegistrationAddress/cbc:CityName

Registered tax office
Seller’s registered tax office.

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:Party/cac:Person/cbc:FirstName

Person first name
First name of person. Should only be used if seller is a private individual.

cac:Party/cac:Person/cbc:FamilyName

Person surname
Surname of person. Should only be used if seller is a private individual.

cac:AccountingContact/cbc:Name

Accounting name
The name of the individual who serves as the accounting contact for the organization.

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:Name>Supplier Accounting Name</cbc:Name>
          <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:ID

Address ID
Buyer’s postal address id.
Address identifier. Might be given by the authorities as standard numerical equivalent corresponding to neighborhood, plaza, streets etc.

cac:Party/cac:PostalAddress/cbc:Postbox

Postal box
Buyer’s postal address post box.

cac:Party/cac:PostalAddress/cbc:Floor

Floor
Buyer’s postal address floor.
An addressable floor of a building.

cac:Party/cac:PostalAddress/cbc:Room

Room
Buyer’s postal address room.
A room, suite, or apartment of a building.

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:BuildingName

Building name
Buyer’s postal address building 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/cbc:Region

Region
Buyer’s postal address region.
Buyer’s addressable region or group of countries.

cac:Party/cac:PostalAddress/cbc:District

District
Buyer’s postal address district.
A district or borough, may be a subdivision of a city for this address.

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:PartyLegalEntity/cac:RegistrationAddress/cbc:CityName

Registered tax office
Buyer’s registered tax office.

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:Party/cac:Person/cbc:FirstName

Person first name
First name of person. Should only be used if buyer is a private individual.

cac:Party/cac:Person/cbc:FamilyName

Person surname
Surname of person. Should only be used if buyer is a private individual.

cac:AccountingContact/cbc:Name

Accounting name
The name of the individual who serves as the accounting contact for the organization.

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:Name>Customer Accounting Name</cbc:Name>
          <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:ID

Address ID
Buyer’s postal address id.
Address identifier. Might be given by the authorities as standard numerical equivalent corresponding to neighborhood, plaza, streets etc.

cac:Party/cac:PostalAddress/cbc:Postbox

Postal box
Buyer’s postal address post box.

cac:Party/cac:PostalAddress/cbc:Floor

Floor
Buyer’s postal address floor.
An addressable floor of a building.

cac:Party/cac:PostalAddress/cbc:Room

Room
Buyer’s postal address room.
A room, suite, or apartment of a building.

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:BuildingName

Building name
Buyer’s postal address building 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/cbc:Region

Region
Buyer’s postal address region.
Buyer’s addressable region or group of countries.

cac:Party/cac:PostalAddress/cbc:District

District
Buyer’s postal address district.
A district or borough, may be a subdivision of a city for this address.

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:PartyLegalEntity/cac:RegistrationAddress/cbc:CityName

Registered tax office
Buyer’s registered tax office.

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:Party/cac:Person/cbc:FirstName

Person first name
First name of person. Should only be used if buyer is a private individual.

cac:Party/cac:Person/cbc:FamilyName

Person surname
Surname of person. Should only be used if buyer is a private individual.

cac:AccountingContact/cbc:Name

Accounting name
The name of the individual who serves as the accounting contact for the organization.

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:ID

Address ID
Seller’s tax representative’s postal address id.
Address identifier. Might be given by the authorities as standard numerical equivalent corresponding to neighborhood, plaza, streets etc.

cac:Party/cac:PostalAddress/cbc:Postbox

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

cac:Party/cac:PostalAddress/cbc:Floor

Floor
Seller’s tax representative’s postal address floor.
An addressable floor of a building.

cac:Party/cac:PostalAddress/cbc:Room

Room
Seller’s tax representative’s postal address room.
A room, suite, or apartment of a building.

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:BuildingName

Building name
Seller’s tax representative’s postal address building 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/cbc:CountrySubentityCode

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

cac:Party/cac:PostalAddress/cbc:Region

Region
Seller’s tax representative’s postal address region.
Seller’s tax representative’s addressable region or group of countries.

cac:Party/cac:PostalAddress/cbc:District

District
Seller’s tax representative’s postal address district.
A district or borough, may be a subdivision of a city for this address.

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:ID

Address ID
Delivery location address id.
Address identifier. Might be given by the authorities as standard numerical equivalent corresponding to neighborhood, plaza, streets etc.

cac:DeliveryLocation/cac:Address/cbc:Postbox

Postal box
Delivery location address post box.

cac:DeliveryLocation/cac:Address/cbc:Floor

Floor
Delivery location address floor.
An addressable floor of a building.

cac:DeliveryLocation/cac:Address/cbc:Room

Room
Delivery location address room.
A room, suite, or apartment of a building.

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:BuildingName

Building name
Delivery location address building name.

cac:DeliveryLocation/cac:Address/cbc:BuildingNumber

Building number
Delivery location address building number.

cac:DeliveryLocation/cac:Address/cbc:Department

Department
Delivery location address department.

cac:DeliveryLocation/cac:Address/cbc:PlotIdentification

Plot Identification
Delivery location 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 location 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/cbc:Region

Region
Delivery location address region.
Delivery location addressable region or group of countries.

cac:DeliveryLocation/cac:Address/cbc:District

District
Delivery location address district.
A district or borough, may be a subdivision of a city for this address.

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:CarrierParty/cac:PartyName/cbc:Name

Carrier party name
Name of the party that transport the goods/services.

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

Party Identifier
Identifier of the delivery party.

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

Party 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/cbc:ActualDespatchDate

Despatch date
The actual or expected date when the shipment was dispatched from the dispatching party.

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:ID

Address ID
Despatch party postal address id.
Address identifier. Might be given by the authorities as standard numerical equivalent corresponding to neighborhood, plaza, streets etc.

cac:Despatch/cac:DespatchParty/cac:PostalAddress/cbc:Postbox

Postal box
Despatch party postal address post box.

cac:Despatch/cac:DespatchParty/cac:PostalAddress/cbc:Floor

Floor
Despatch party postal address floor.
An addressable floor of a building.

cac:Despatch/cac:DespatchParty/cac:PostalAddress/cbc:Room

Room
Despatch party postal address room.
A room, suite, or apartment of a building.

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

Street name
Despatch party postal address street name.

cac:Despatch/cac:DespatchParty/cac:PostalAddress/cbc:AdditionalStreetName

Additional Street name
Despatch party postal address additional street name.

cac:Despatch/cac:DespatchParty/cac:PostalAddress/cbc:BuildingName

Building name
Despatch party postal address building name.

cac:Despatch/cac:DespatchParty/cac:PostalAddress/cbc:BuildingNumber

Building number
Despatch party postal address building number.

cac:Despatch/cac:DespatchParty/cac:PostalAddress/cbc:Department

Department
Despatch party postal address department.

cac:Despatch/cac:DespatchParty/cac:PostalAddress/cbc:PlotIdentification

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

cac:Despatch/cac:DespatchParty/cac:PostalAddress/cbc:CitySubdivisionName

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

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

City name
Despatch party postal address city name.

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

Postal zone
Despatch party postal address post code.

cac:Despatch/cac:DespatchParty/cac:PostalAddress/cbc:CountrySubentity

Country subentity
Despatch party postal address province or state.

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

Country subentity code
Despatch party postal address province or state code.

cac:Despatch/cac:DespatchParty/cac:PostalAddress/cbc:Region

Region
Despatch party postal address region.
Despatch party addressable region or group of countries.

cac:Despatch/cac:DespatchParty/cac:PostalAddress/cbc:District

District
Despatch party postal address district.
A district or borough, may be a subdivision of a city for this address.

cac:Despatch/cac:DespatchParty/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:Despatch/cac:DespatchParty/cac:PostalAddress/cac:Country/cbc:IdentificationCode

Country code
Despatch party postal address country code.

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

Country name
Despatch party postal address country name.

cac:Despatch/cac:DespatchParty/cac:Contact/cbc:Name

Contact name
Name of contact person.

cac:Despatch/cac:DespatchParty/cac:Contact/cbc:Telephone

Contact telephone
Phone number of contact person.

cac:Despatch/cac:DespatchParty/cac:Contact/cbc:ElectronicMail

Contact E-mail
E-mail of contact person.

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:ID

Delivery Terms Code
Delivery terms coded.

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:ID>DAP</cbc:ID>
      <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, KID etc.

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/cbc:CurrencyCode

Payment account currency code
The currency in which the Financial Account is held expressed as a code.
Value must be according to ISO 4217 Currency codes.
For valid values see code list PUF-004-CURRENCYCODE.

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:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:Address/cbc:Postbox

Postal box
Bank address post box.

cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:Address/cbc:Floor

Floor
Bank address floor.
An addressable floor of a building.

cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:Address/cbc:Room

Room
Bank address room.
A room, suite, or apartment of a building.

cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:Address/cbc:StreetName

Street name
Bank address street name.

cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:Address/cbc:AdditionalStreetName

Additional Street name
Bank address additional street name.

cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:Address/cbc:BuildingName

Building name
Bank address building name.

cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:Address/cbc:BuildingNumber

Building number
Bank address building number.

cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:Address/cbc:Department

Department
Bank address department.

cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:Address/cbc:PlotIdentification

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

cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:Address/cbc:CitySubdivisionName

City Subdvision Name
Bank 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:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:Address/cbc:CityName

City name
Bank address city name.

cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:Address/cbc:PostalZone

Postal zone
Bank address post code.

cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:Address/cbc:CountrySubentity

Country subentity
Bank address province or state.

cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:Address/cbc:CountrySubentityCode

Country subentity code
Bank address province or state code.

cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:Address/cbc:Region

Region
Bank address region.
Bank addressable region or group of countries.

cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:Address/cbc:District

District
Bank address district.
A district or borough, may be a subdivision of a city for this address.

cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/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:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:Address/cac:Country/cbc:IdentificationCode

Country code
Bank address country code.

cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cac:Address/cac:Country/cbc:Name

Country name
Bank address country name.

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:Address>
                    <cbc:Postbox>111</cbc:Postbox>
                    <cbc:StreetName>Bank Street</cbc:StreetName>
                    <cbc:BuildingNumber>11</cbc:BuildingNumber>
                    <cbc:Department>Bank Department</cbc:Department>
                    <cbc:PlotIdentification>0000</cbc:PlotIdentification>
                    <cbc:CitySubdivisionName>Bank City Subdivision Name</cbc:CitySubdivisionName>
                    <cbc:CityName>Bank City</cbc:CityName>
                    <cbc:PostalZone>22233</cbc:PostalZone>
                    <cbc:CountrySubentity>Bank Province</cbc:CountrySubentity>
                    <cac:Country>
                        <cbc:IdentificationCode>SE</cbc:IdentificationCode>
                        <cbc:Name>Sweden</cbc:Name>
                    </cac:Country>
                </cac:Address>
        </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:PrepaidPayment

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

Table 20. Elements added in cac:PrepaidPayment
Path Description

ext:UBLExtensions

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

cbc:PaidAmount

Paid amount
The amount of the payment in the invoice currency.

cbc:PaidAmount/@currencyID

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

cbc:ReceivedDate

Received date
The date when the prepaid amount was received.

cbc:PaidDate

Paid date
The date on which this payment was made.

Example
cac:PrepaidPayment example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:PrepaidPayment>
    <cbc:PaidAmount currencyID="EUR">10.00</cbc:PaidAmount>
    <cbc:ReceivedDate>2024-01-14</cbc:ReceivedDate>
    <cbc:PaidDate>2024-01-10</cbc:PaidDate>
  </cac:PrepaidPayment>
  <!-- Code omitted for clarity -->
</Invoice>

cac:AllowanceCharge

Table 21. 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-TAXEXEMPTIONCODE 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 22. 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 23. Elements added in cac:TaxTotal
Path Description

cbc:TaxAmount

Document total tax amount
Documents total tax amount in document currency.
Summary of all cac:TaxSubTotal/cbc: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-TAXEXEMPTIONCODE 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.

cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:Name

Tax category name
The name of this taxation scheme.
Can be used to specify type of local tax.

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:WithholdingTaxTotal

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

Table 24. Elements added in cac:WithholdingTaxTotal
Path Description

cbc:TaxAmount

Document total tax amount
Documents total tax amount in document currency.
Summary of all cac:TaxSubTotal/cbc: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:WithholdingTaxTotal/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-TAXEXEMPTIONCODE 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.

cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:Name

Tax category name
The name of this taxation scheme.
Can be used to specify type of local tax.

Example
cac:WithholdingTaxTotal example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:WithholdingTaxTotal>
    <cbc:TaxAmount currencyID="EUR">6.00</cbc:TaxAmount>
    <cac:TaxSubtotal>
        <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
        <cbc:TaxAmount currencyID="EUR">6.00</cbc:TaxAmount>
        <cac:TaxCategory>
            <cbc:ID>S</cbc:ID>
            <cbc:Percent>6</cbc:Percent>
            <cac:TaxScheme>
                <cbc:ID>INC</cbc:ID>
            </cac:TaxScheme>
        </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:WithholdingTaxTotal>
  <!-- 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 25. 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.

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.
Note that corresponding element in UBL message/document type CreditNote is named cbc:CreditedQuantity/@unitCode.
See code list PUF-014-UOMCODE for recommendations.

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 26. 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 27. 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 28. 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 29. 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:IssueDate

Issue date of the referenced document
Format "YYYY-MM-DD".

cbc:IssueTime

Issue time of the referenced document
Format "HH:mm:ss", "HH:mm:ssZZZZ", "HH:mm:ss.SSS’Z'", or "HH:mm:ss.SSS".

cbc:DocumentTypeCode

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

Example
cac:InvoiceLine/cac:DocumentReference for referencing an invoiced object

<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 30. 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.

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:Delivery>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
cac:Shipment
Table 31. Elements added to cac:Shipment
Path Description

cbc:GrossWeightMeasure

Weight
The gross weight of the despatch as a whole.

cbc:GrossWeightMeasure/@unitCode

Weight unit of measure
The unit of measure that applies to the shipment weight.
See code list PUF-014-UOMCODE for recommendations.

cbc:GrossVolumeMeasure

Volume
The gross volume of the despatch as a whole.

cbc:GrossVolumeMeasure/@unitCode

Volume unit of measure
The unit of measure that applies to the shipment volume.
See code list PUF-014-UOMCODE for recommendations.

cac:GoodsItem/cbc:ChargeableWeightMeasure

Chargeable weight
Chargeable weight of the shipment.

cac:GoodsItem/cbc:ChargeableWeightMeasure/@unitCode

Chargeable weight unit of measure
The unit of measure that applies to the shipment chargeable weight.
See code list PUF-014-UOMCODE for recommendations.

cac:Consignment/cac:OriginalDespatchTransportationService/cac:TransportEquipment/cac:MeasurementDimension[cbc:AttributeID = 'DRIVINGDISTANCE']/cbc:Measure

Distance
Driving distance of the shipment.

cac:Consignment/cac:OriginalDespatchTransportationService/cac:TransportEquipment/cac:MeasurementDimension[cbc:AttributeID = 'DRIVINGDISTANCE']/cbc:Measure/@unitCode

Distance unit of measure
The unit of measure that applies to the shipment driving distance.
See code list PUF-014-UOMCODE for recommendations.

cac:Consignment/cac:OriginalDespatchTransportationService/cac:TransportEquipment/cac:MeasurementDimension/cbc:AttributeID

Type of measurement
Specifies the type being measured. Currently 'DRIVINGDISTANCE' is the only value used by Pagero.

cac:Consignment/cbc:LoadingLengthMeasure

Loading length
The total length in a means of transport or a piece of transport equipment which, given the width and height of the transport means, will accommodate all of the consignments in a single consolidation.

cac:Consignment/cbc:LoadingLengthMeasure/@unitCode

Loading length unit of measure
The unit of measure that applies to the Loading length.
See code list PUF-014-UOMCODE for recommendations.

cac:Consignment/cbc:TotalPackagesQuantity

Quantity
The total number of packages associated with a Consignment.

cac:Consignment/cbc:TotalPackagesQuantity/@unitCode

Quantity unit of measure
The unit of measure that applies to the consignment total packages.
See code list PUF-014-UOMCODE for recommendations.

Example
cac:InvoiceLine/cac:Delivery/cac:Shipment example

<Invoice>
<!-- Code omitted for clarity -->
  <cac:InvoiceLine>
  <!-- Code omitted for clarity -->
    <cac:Delivery>
    <!-- Code omitted for clarity -->
      <cac:Shipment>
          <cbc:GrossWeightMeasure unitCode="KGM">100</cbc:GrossWeightMeasure>
          <cbc:GrossVolumeMeasure unitCode="CMQ">100</cbc:GrossVolumeMeasure>
          <cac:GoodsItem>
              <cbc:ChargeableWeightMeasure unitCode="KGM">100</cbc:ChargeableWeightMeasure>
          </cac:GoodsItem>
          <cac:Consignment>
              <cac:OriginalDespatchTransportationService>
                <cac:TransportEquipment>
                  <cac:MeasurementDimension>
                    <cbc:AttributeID>DRIVINGDISTANCE</cbc:AttributeID> (1)
                    <cbc:Measure unitCode="KMT">100</cbc:Measure>
                  </cac:MeasurementDimension>
                </cac:TransportEquipment>
              </cac:OriginalDespatchTransportationService>
              <cbc:LoadingLengthMeasure unitCode="LMT">100</cbc:LoadingLengthMeasure>
              <cbc:TotalPackagesQuantity unitCode="EA">100</cbc:TotalPackagesQuantity>
          </cac:Consignment>
      </cac:Shipment>
      <!-- Code omitted for clarity -->
    </cac:Delivery>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
1 'DRIVINGDISTANCE' indicates that distance is being measured. Currently 'DRIVINGDISTANCE' is the only value used by Pagero.
cac:DeliveryLocation
Table 32. Elements added to cac:DeliveryLocation
Path Description

cbc:ID

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

cbc:ID/@schemeID

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

cbc:Name

Delivery location name
Delivery location name.

cac:Address/cbc:ID

Address ID
Delivery location address id.
Address identifier. Might be given by the authorities as standard numerical equivalent corresponding to neighborhood, plaza, streets etc.

cac:Address/cbc:Postbox

Postal box
Delivery location address post box.

cac:Address/cbc:Floor

Floor
Delivery location address floor.
An addressable floor of a building.

cac:Address/cbc:Room

Room
Delivery location address room.
A room, suite, or apartment of a building.

cac:Address/cbc:StreetName

Street name
Delivery location address street name.

cac:Address/cbc:AdditionalStreetName

Additional Street name
Delivery location address additional street name.

cac:Address/cbc:BuildingName

Building name
Delivery location address building name.

cac:Address/cbc:BuildingNumber

Building number
Delivery location address building number.

cac:Address/cbc:Department

Department
Delivery location address department.

cac:Address/cbc:PlotIdentification

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

cac:Address/cbc:CitySubdivisionName

City Subdvision Name
Delivery location 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:Address/cbc:CityName

City name
Delivery location address city name.

cac:Address/cbc:PostalZone

Postal zone
Delivery location address post code.

cac:Address/cbc:CountrySubentity

Country subentity
Delivery location address province or state.

cac:Address/cbc:CountrySubentityCode

Country subentity code
Delivery location address province or state code.

cac:Address/cbc:Region

Region
Delivery location address region.
Delivery location addressable region or group of countries.

cac:Address/cbc:District

District
Delivery location address district.
A district or borough, may be a subdivision of a city for this address.

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:Address/cac:Country/cbc:IdentificationCode

Country code
Delivery location address country code.

cac:Address/cac:Country/cbc:Name

Country name
Delivery location address country name.

Example
cac:InvoiceLine/cac:Delivery/cac:DeliveryLocation example

<Invoice>
<!-- Code omitted for clarity -->
  <cac:InvoiceLine>
  <!-- Code omitted for clarity -->
    <cac:Delivery>
    <!-- Code omitted for clarity -->
      <cac:DeliveryLocation>
          <cbc:ID schemeID="0088">0000000000000</cbc:ID>
          <cbc:Name>Name of the delivery location</cbc:Name>
          <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>
      <!-- Code omitted for clarity -->
    </cac:Delivery>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>
cac:DespatchLocation
Table 33. Elements added to cac:Despatch/cac:DespatchLocation
Path Description

cbc:ID

Despatch location identifier
Identifier of the Despatch location.
E.g. a GLN number.

cbc:ID/@schemeID

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

cbc:Name

Despatch location name
Despatch location name.

cac:Address/cbc:ID

Address ID
Despatch location address id.
Address identifier. Might be given by the authorities as standard numerical equivalent corresponding to neighborhood, plaza, streets etc.

cac:Address/cbc:Postbox

Postal box
Despatch location address post box.

cac:Address/cbc:Floor

Floor
Despatch location address floor.
An addressable floor of a building.

cac:Address/cbc:Room

Room
Despatch location address room.
A room, suite, or apartment of a building.

cac:Address/cbc:StreetName

Street name
Despatch location address street name.

cac:Address/cbc:AdditionalStreetName

Additional Street name
Despatch location address additional street name.

cac:Address/cbc:BuildingName

Building name
Despatch location address building name.

cac:Address/cbc:BuildingNumber

Building number
Despatch location address building number.

cac:Address/cbc:Department

Department
Despatch location address department.

cac:Address/cbc:PlotIdentification

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

cac:Address/cbc:CitySubdivisionName

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

cac:Address/cbc:CityName

City name
Despatch location address city name.

cac:Address/cbc:PostalZone

Postal zone
Despatch location address post code.

cac:Address/cbc:CountrySubentity

Country subentity
Despatch location address province or state.

cac:Address/cbc:CountrySubentityCode

Country subentity code
Despatch location address province or state code.

cac:Address/cbc:Region

Region
Despatch location address region.
Despatch location addressable region or group of countries.

cac:Address/cbc:District

District
Despatch location address district.
A district or borough, may be a subdivision of a city for this address.

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:Address/cac:Country/cbc:IdentificationCode

Country code
Despatch location address country code.

cac:Address/cac:Country/cbc:Name

Country name
Despatch location address country name.

Example
cac:InvoiceLine/cac:Delivery/cac:Despatch/cac:DespatchLocation example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
  <!-- Code omitted for clarity -->
    <cac:Delivery>
      <cac:Despatch>
        <cac:DespatchLocation>
            <cbc:ID schemeID="0088">0000000000000</cbc:ID>
            <cbc:Name>Name of the despatch location</cbc:Name>
            <cac:Address>
                <cbc:StreetName>Despatch Street</cbc:StreetName>
                <cbc:PlotIdentification>0000</cbc:PlotIdentification>
                <cbc:CitySubdivisionName>Despatch City Subdivision Name</cbc:CitySubdivisionName>
                <cbc:CityName>Despatch City</cbc:CityName>
                <cbc:PostalZone>12345</cbc:PostalZone>
                <cbc:CountrySubentity>Despatch Province</cbc:CountrySubentity>
                <cac:Country>
                    <cbc:IdentificationCode>SE</cbc:IdentificationCode>
                    <cbc:Name>Sweden</cbc:Name>
                </cac:Country>
            </cac:Address>
        </cac:DespatchLocation>
      </cac:Despatch>
    </cac:Delivery>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

cac:AllowanceCharge

Table 34. 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 35. 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-TAXEXEMPTIONCODE 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:WithholdingTaxTotal

Table 36. Elements added in cac:InvoiceLine/cac:WithholdingTaxTotal
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-TAXEXEMPTIONCODE 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:WithholdingTaxTotal example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:InvoiceLine>
    <!-- Code omitted for clarity -->
    <cac:WithholdingTaxTotal>
      <cbc:TaxAmount currencyID="EUR">6.00</cbc:TaxAmount>
      <cac:TaxSubtotal>
          <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
          <cbc:TaxAmount currencyID="EUR">6.00</cbc:TaxAmount>
          <cac:TaxCategory>
              <cbc:ID>S</cbc:ID>
              <cbc:Percent>6</cbc:Percent>
              <cac:TaxScheme>
                  <cbc:ID>INC</cbc:ID>
              </cac:TaxScheme>
          </cac:TaxCategory>
      </cac:TaxSubtotal>
    </cac:cac:WithholdingTaxTotal>
    <!-- Code omitted for clarity -->
  </cac:InvoiceLine>
  <!-- Code omitted for clarity -->
</Invoice>

cac:Item

Table 37. 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.

cac:ItemInstance/cac:LotIdentification/cbc:ExpiryDate

Lot expiry date
Lot expiry date.
Format "YYYY-MM-DD".

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 38. 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 specifics 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 39. Elements added in puf:RestrictedInformation
Element Description

puf:Key

Key
Key defining the type of value.

puf:Value

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. RestrictedInformationLine

RestrictedInformationLine has been added on document level in order to cater the need for additional country specific invoice lines

Note that no Restricted Information Lines can be added without prior consulting with Pagero.
If country specific invoice lines is available as Restricted Information Line, this can be found in the Country specifics section.

The UBL extension to be used for below elements can be found here.

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

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:RestrictedInformationLine</ext:ExtensionURI> (1)
            <ext:ExtensionContent>
                <puf:PageroExtension>
                    <puf:RestrictedInformationLine/> (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 40. Elements added in puf:RestrictedInformationLine
Element Description

puf:Key

Key
Key for identifying the line type.

cbc:ID

Line Identifier
Definition of this element can be found here.

cbc:LineExtensionAmount

Line Net amount
Definition of this element can be found here.

cac:TaxTotal

Line Tax Total
Definition of this element can be found here.

puf:Classification

Line Classification
Definition of this element can be found here.

Example
RestrictedInformationLine example

<Invoice>
    <ext:UBLExtensions>
        <ext:UBLExtension>
            <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:RestrictedInformationLine</ext:ExtensionURI>
            <ext:ExtensionContent>
                <puf:PageroExtension>
                    <puf:RestrictedInformationLine>
                        <puf:Key>KEY_VALUE</puf:Key>
                        <cbc:ID>1</cbc:ID>
                        <cbc:LineExtensionAmount currencyID="EUR">100</cbc:LineExtensionAmount>
                        <cac:TaxTotal>
                            <cbc:TaxAmount currencyID="EUR">25</cbc:TaxAmount>
                            <cac:TaxSubtotal>
                                <cbc:TaxAmount currencyID="EUR">25</cbc:TaxAmount>
                                <cac:TaxCategory>
                                <cbc:ID>S</cbc:ID>
                                <cbc:TaxExemptionReasonCode/>
                                <cac:TaxScheme>
                                    <cbc:ID>VAT</cbc:ID>
                                </cac:TaxScheme>
                                </cac:TaxCategory>
                            </cac:TaxSubtotal>
                        </cac:TaxTotal>
                        <puf:Classification>
                            <puf:Type>INCOME</puf:Type>
                            <puf:ClassificationType>Type value</puf:ClassificationType>
                            <puf:ClassificationCategory>Category value</puf:ClassificationCategory>
                            <puf:Amount currencyID="EUR">100</puf:Amount>
                        </puf:Classification>
                    </puf:RestrictedInformationLine>
            </ext:ExtensionContent>
        </ext:UBLExtension>
    </ext:UBLExtensions>
    <!-- Code omitted for clarity -->
</Invoice>

4.1.3. Classification

Classification can be used on document level to set different kind of classifications e.g. Income or Expense classification

The UBL extension to be used for below elements can be found here.

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

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:Classification</ext:ExtensionURI> (1)
            <ext:ExtensionContent>
                <puf:PageroExtension>
                    <puf:Classification/> (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 41. Elements added in puf:Classification
Element Description

puf:Type

Type
Key defining the type of value possible values INCOME or EXPENSE.

puf:ClassificationType

Classification Type
Type of classification.

puf:ClassificationCategory

Classification Category
Category of the classification.

puf:Amount

Amount
Net amount related to the classification.

puf:Amount/@currencyID

Amount currency
Currency of the net amount related to the classification.

Example
Classification example

<Invoice>
    <ext:UBLExtensions>
        <ext:UBLExtension>
            <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:Classification</ext:ExtensionURI>
            <ext:ExtensionContent>
                <puf:PageroExtension>
                    <puf:Classification>
                        <puf:Type>INCOME</puf:Type>
                        <puf:ClassificationType>Type value</puf:ClassificationType>
                        <puf:ClassificationCategory>Category value</puf:ClassificationCategory>
                        <puf:Amount currencyID="EUR">100</puf:Amount>
                    </puf:Classification>
                </puf:PageroExtension>
            </ext:ExtensionContent>
        </ext:UBLExtension>
    </ext:UBLExtensions>
    <!-- Code omitted for clarity -->
</Invoice>

4.1.4. InvoiceSeries

The UBL extension to be used for below elements can be found here.

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

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:InvoiceSeries</ext:ExtensionURI> (1)
                    <ext:ExtensionContent>
                        <puf:PageroExtension>
                            <puf:InvoiceSeries/> (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 42. Elements added in puf:BillingReferenceExtension
Element Description

cbc:ID

Invoice series identifier
Identifier used for the series the document is part of.

Example
Invoice Series example

<Invoice>
    <!-- Code omitted for clarity -->
    <ext:UBLExtensions>
        <ext:UBLExtension>
            <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:InvoiceSeries</ext:ExtensionURI>
            <ext:ExtensionContent>
                <puf:PageroExtension>
                    <puf:InvoiceSeries>
                        <cbc:ID>InvSeries</cbc:ID>
                    </puf:InvoiceSeries>
                </puf:PageroExtension>
            </ext:ExtensionContent>
        </ext:UBLExtension>
    </ext:UBLExtensions>
    <!-- Code omitted for clarity -->
</Invoice>

4.1.5. LanguageCode

In order to specify language code for the system generated PDF presentation in Pagero Online, a segment for this is added as Extension.

Note that not all languages are supported in Pagero Online.
Please contact us to learn which languages are available.

The UBL extension to be used for below elements can be found here.

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

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:LanguageCode</ext:ExtensionURI> (1)
          <ext:ExtensionContent>
              <puf:PageroExtension>
                <puf:LanguageCode/> (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 43. Elements added to puf:PageroExtension/puf:LanguageCode
Element Description

puf:LanguageCode

Language Code
Must be in lower case alpha, ISO 639-1, format.

Example
Language Code

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

4.1.6. 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 44. 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.7. 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 45. 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.8. IGSTOnIntra

In order to specify if IGST (Integrated Goods and Services Tax) 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 46. 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 value is true or false.

Example
IGST on intra state supplies

<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.9. Billing Software

In order to specify information about a billing software, 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/BillingSoftware.

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:BillingSoftware</ext:ExtensionURI> (1)
          <ext:ExtensionContent>
              <puf:PageroExtension>
                <puf:BillingSoftware/> (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 47. Elements added to puf:PageroExtension/puf:BillingSoftware
Element Description

puf:Number

Software number
Software certification identification or Software number.

puf:Hash

Hash code
Hash code.

cbc:Description

Billing software description
Description of the software identification (free text).

Example
Billing Software

<Invoice>
  <ext:UBLExtensions>
      <ext:UBLExtension>
          <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:BillingSoftware</ext:ExtensionURI>
          <ext:ExtensionContent>
              <puf:PageroExtension>
                  <puf:BillingSoftware>
                        <puf:Number>123456</puf:Number>
                        <puf:Hash>AAaa</puf:Hash>
                        <cbc:Description>Software description</cbc:Description>
                    </puf:BillingSoftware>
              </puf:PageroExtension>
          </ext:ExtensionContent>
      </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
</Invoice>

4.1.10. SupplierGeneratedQRString

In order to provide a supplier generated QR string 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/QRExtension.

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:QRExtension</ext:ExtensionURI> (1)
          <ext:ExtensionContent>
              <puf:PageroExtension>
                <puf:SupplierGeneratedQRString> (2)
                    <puf:QRString>TheQRCode</puf:QRString>
                    <puf:QREncodingType>TEXT</puf:QREncodingType>
                </puf:SupplierGeneratedQRString>
              </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 48. Elements added to puf:PageroExtension
Element Description

puf:SupplierGeneratedQRString/puf:QRString

Supplier generated QR string

puf:SupplierGeneratedQRString/puf:QREncodingType

Value must be TEXT or BASE64 depending on if the QR string is expressed as a text string or base 64 encoded

Example
QR string provided as plain text

<Invoice>
  <ext:UBLExtensions>
      <ext:UBLExtension>
          <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:IGSTOnIntra</ext:ExtensionURI>
          <ext:ExtensionContent>
              <puf:PageroExtension>
                    <puf:SupplierGeneratedQRString>
                        <puf:QRString>TheQRCode</puf:QRString>
                        <puf:QREncodingType>TEXT</puf:QREncodingType>
                    </puf:SupplierGeneratedQRString>
                </puf:PageroExtension>
          </ext:ExtensionContent>
      </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
</Invoice>

4.1.11. Self Billing Indicator

In order to indicate that the document is self-billed, a segment for this is added as Extension.

Note that not all markets are supported in Pagero Online.
Please contact Pagero to learn in which markets we support self-billing.

The UBL extension to be used for below elements can be found here.

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

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:SelfBilled</ext:ExtensionURI> (1)
          <ext:ExtensionContent>
              <puf:PageroExtension>
                <puf:SelfBilled/> (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 49. Elements added to puf:PageroExtension/puf:SelfBilled
Element Description

puf:SelfBilled

Self-Billing Indicator
Can either be true or false.
Note that if the element is missing Pagero Online treat it as false

Example
Self Billed

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

4.1.12. 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 50. Elements added in puf:OrderReferenceExtension
Element Description

puf:SalesOrderIssueDate

Sales order issue date
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.13. 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 51. Elements added in puf:BillingReferenceExtension
Element Description

puf:InvoiceSeries/cbc:ID

Billing reference document series identifier
Identifier used for the series the referenced document is part of.

cbc:Note

Billing reference note
Textual note describing the reason for issuing a credit/debit note.

puf:Code

Billing reference code
Code signifying the reason for credit.

puf:ClearanceID

Clearance ID of the referenced document
ID, usually assigned by the Tax Authority, of the referenced document e.g. UUID in Malaysia.

Example
Invoice 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>
                                <!-- Referenced invoice's serie, if applicable -->
                                <puf:InvoiceSeries>
                                    <cbc:ID>InvSeries1</cbc:ID>
                                </puf:InvoiceSeries>
                                <cbc:Note>Textual note describing the reason for issuing a credit/debit note</cbc:Note>
                                <!-- Reason for credit in code form, if applicable -->
                                <puf:Code>codeValue</puf:Code>
                                <puf:ClearanceID>Clearance ID</puf:ClearanceID>
                            </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.14. 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 52. Elements added in puf:ContractDocumentReferenceExtension
Element Description

puf:BuyerContractID

Buyer contract identifier
ID for the buyer referenced contract document.

puf:BuyerContractIssueDate

Buyer contract issue date
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.15. 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 53. Elements added in puf:PartyExtension
Path Description

puf:RegistrationData/cbc:ID

Additional registration data identifier
Additional registration data identifier associated with the party.

puf:RegistrationData/puf:IDType

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

puf:RegistrationData/puf:IDType/@listID

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

puf:ADAID/cbc:ID

Additional destination address identifier
Additional destination address identifier.

puf:ADAID/cbc:Name

Additional destination address name
Name of the additional destination unit.

puf:ADAID/puf:IDType

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

puf:ADAID/puf:IDType/@listID

Additional destination address list identifier
puf: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 all 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.16. 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 54. Elements added in puf:DeliveryExtension
Element Description

puf:DeliveryMethod/cbc:Note

Delivery method note
Description of the delivery method (free text).

puf:DeliveryMethod/puf:Code

Delivery method 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.17. 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 55. Elements added in puf:PaymentTermsExtension
Element Description

puf:Penalty/cbc:Note

Late payment penalty 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.18. PrepaidPayment

The UBL extension to be used for below elements can be found here.

The structure used from PUF-ExtensionComponent.xsd is puf:PageroExtension/puf:PrepaidPaymentExtension.

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

Example

<Invoice>
<!-- Code omitted for clarity -->
    <cac:PrepaidPayment>
            <ext:UBLExtensions>
                <ext:UBLExtension>
                    <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:PrepaidPaymentExtension</ext:ExtensionURI> (1)
                        <ext:ExtensionContent>
                            <puf:PageroExtension>
                                <puf:PrepaidPaymentExtension/> (2)
                        </ext:ExtensionContent>
                </ext:UBLExtension>
            </ext:UBLExtensions>
    </cac:PrepaidPayment>
</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 56. Elements added in puf:PrepaidPaymentExtension
Element Description

cac:DocumentReference/cbc:ID

Prepayment invoice number ID
The invoice number of the associated prepayment invoice.

cac:DocumentReference/cbc:IssueDate

Prepayment invoice issue date
Issue date of associated prepayment invoice.
Format "YYYY-MM-DD". of the associated prepayment invoice.

cac:DocumentReference/cbc:IssueTime

Prepayment invoice issue time
Issue time of associated prepayment invoice.
Format "HH:mm:ss", "HH:mm:ssZZZZ", "HH:mm:ss.SSS’Z'", or "HH:mm:ss.SSS".

cac:DocumentReference/cbc:DocumentTypeCode

Document type code
Document type code should be '386' when referencing a prepayment invoice.

cbc:Description

Name/Description of the prepayment
Description of the prepayment (free text).

cac:TaxTotal/cbc:TaxAmount

Total tax amount
Prepayment invoice total tax amount in document currency.
Summary of all cac:TaxSubTotal/cbc:TaxAmount of the prepayment.

cac:TaxTotal/cbc:TaxAmount/@currencyID

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

cac:TaxTotal/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-TAXEXEMPTIONCODE 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:PrepaidPayment example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:PrepaidPayment>
        <ext:UBLExtensions>
            <ext:UBLExtension>
                <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:PrepaidPaymentExtension</ext:ExtensionURI>
                    <ext:ExtensionContent>
                        <puf:PageroExtension>
                            <puf:PrepaidPaymentExtension>
                                <cac:DocumentReference>
                                    <cbc:ID>46531</cbc:ID>
                                    <cbc:IssueDate>2021-07-31</cbc:IssueDate>
                                    <cbc:IssueTime>12:28:17</cbc:IssueTime>
                                    <cbc:DocumentTypeCode>386</cbc:DocumentTypeCode>
                                </cac:DocumentReference>
                                <cbc:Description>Prepayment adjustment</cbc:Description>
                                <cac:TaxTotal>
                                    <cbc:TaxAmount currencyID="SAR">1.50</cbc:TaxAmount>
                                    <cac:TaxSubtotal>
                                        <cbc:TaxableAmount currencyID="SAR">10.00</cbc:TaxableAmount>
                                        <cbc:TaxAmount currencyID="SAR">1.50</cbc:TaxAmount>
                                        <cac:TaxCategory>
                                            <cbc:ID>S</cbc:ID>
                                            <cbc:Percent>15.00</cbc:Percent>
                                            <cac:TaxScheme>
                                                <cbc:ID>VAT</cbc:ID>
                                            </cac:TaxScheme>
                                        </cac:TaxCategory>
                                    </cac:TaxSubtotal>
                                </cac:TaxTotal>
                            </puf:PrepaidPaymentExtension>
                        </puf:PageroExtension>
                    </ext:ExtensionContent>
            </ext:UBLExtension>
        </ext:UBLExtensions>
        <cbc:PaidAmount currencyID="SAR">11.50</cbc:PaidAmount>
    </cac:PrepaidPayment>
  <!-- Code omitted for clarity -->
</Invoice>

4.1.19. TaxSubTotal

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 57. 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 summary amount of all tax sub totals.

In order to extend the support, it’s possible to use the PUF TaxSubtotalExtension 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.20. 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 58. Elements added in puf:LegalMonetaryTotalExtension
Element Description

puf:TaxCurrencyTaxExclusiveAmount

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

puf:TaxCurrencyTaxExclusiveAmount/@currencyID

Tax currency tax exclusive amount currency code
Currency of the tax currency tax exclusive amount.
For valid values see code list PUF-004-CURRENCYCODE.

puf:TaxCurrencyTaxInclusiveAmount

Tax currency tax inclusive amount
If the document currency and tax currency differs, tax inclusive amount in tax currency should be specified here.

puf:TaxCurrencyTaxInclusiveAmount/@currencyID

Tax currency tax inclusive amount currency code
Currency of the tax currency tax inclusive Amount.
For valid values see code list PUF-004-CURRENCYCODE.

puf:TaxCurrencyPayableAmount

Tax currency payable amount
If the document currency and tax currency differs, payable amount in tax currency should be specified here.

puf:TaxCurrencyPayableAmount/@currencyID

Tax currency payable amount currency code
Currency of the tax currency payable amount.
For valid values see code list PUF-004-CURRENCYCODE.

puf:PaymentInKind/puf:Amount

Payment in kind amount
Payment in kind amount on invoice.

puf:PaymentInKind/puf:Amount/@currencyID

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

puf:PaymentInKind/cbc:Note

Payment in kind 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 specifics 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 59. Elements added in puf:RestrictedInformation
Element Description

puf:Key

Key
Key defining the type of value.

puf:Value

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 60. Elements added to puf:LineExtension
Element Description

puf:TaxCurrencyLineExtensionAmount

Tax currency line net amount
Net amount in tax currency.

puf:TaxCurrencyLineExtensionAmount/@currencyID

Tax currency line net amount currency code
Currency of the puf: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 61. Elements added to puf:LineExtension
Element Description

puf:TaxInclusiveLineExtensionAmount

Tax inclusive line total amount
Total line amount, including tax, discount and charges.

puf:TaxInclusiveLineExtensionAmount/@currencyID

Tax inclusive line total amount currency code
Currency of the puf: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 62. Elements added to puf:LineExtension
Element Description

puf:TaxCurrencyTaxInclusiveLineExtensionAmount

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

puf:TaxCurrencyTaxInclusiveLineExtensionAmount/@currencyID

Tax currency line total amount currency code
Currency of the puf: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 63. Elements added to puf:LineExtension
Element Description

puf:LineExclAllowanceChargeAmount

Line total amount excluding tax, allowance and charges
Sum of the line amounts, the amount is excluded VAT, Tax, allowances and charges.

puf:LineExclAllowanceChargeAmount/@currencyID

Line total amount excluding tax, allowance and charges currency code
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 64. Elements added to puf:LineExtension/puf:OriginatorDocumentReference
Element Description

cbc:ID

Tender reference identifer
Identification of the tender reference.

cbc:IssueDate

Referenced tender issue date
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 65. Elements added to puf:LineExtension/puf:ProjectReference
Element Description

cbc:ID

Project reference identifier
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 66. Elements added in puf:OrderLineReference
Element Description

puf:SalesOrderIssueDate

Sales order issue date
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 67. Elements added to puf:LineExtension/puf:ContractDocumentReference
Element Description

cbc:ID

Referenced contract identifier
Identification of the referenced contract.

cbc:IssueDate

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

puf:BuyerContractID

Referenced buyer contract identifier
ID for the buyer referenced contract document.

puf:BuyerContractIssueDate

Referenced buyer contract issue date
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 68. Elements added to puf:ItemExtension
Element Description

puf:ItemType

Item type
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 69. Elements added to puf:PriceExtension
Element Description

puf:PriceInclAllowanceChargeAmount

Price including allowances and charges
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" below.

puf:PriceInclAllowanceChargeAmount/@currencyID

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

puf:TaxCurrencyPriceAmount

Price in tax currency
Unit price excluding allowances or charges in tax currency.

puf:TaxCurrencyPriceAmount/@currencyID

Currency code for price in tax currency
Currency of puf: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 specifics

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

5.1. Basque Country

This section contains information about special requirements concerning invoicing in the Basque Country.

5.1.1. Invoice description

When reporting an invoice to the Basque tax authorities, it is a requirement to provide an invoice description. This is a description of why the invoice exists and what its purpose is.

This description is mandatory, and can be sent in the regular Note field.

This information is also shown to any recipients of the invoice.

Example
Invoice Description example

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:Note>Reason for document.</cbc:Note>
  <!-- Code omitted for clarity -->
</Invoice>

5.1.2. Invoice series

If the invoice follows an invoice series, this should be reported to the Basque tax authorities.

Do note that when issuing a credit note it is mandatory to have a series. Furthermore, when issuing a credit note and referencing an earlier invoice’s series the structure shown in here should be used.

Example
Invoice Series example

<Invoice>
  <ext:UBLExtensions>
    <!-- Invoice Series if applicable -->
    <ext:UBLExtension>
      <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:InvoiceSeries</ext:ExtensionURI>
      <ext:ExtensionContent>
          <puf:PageroExtension>
              <puf:InvoiceSeries>
                  <cbc:ID>InvSeries1</cbc:ID>
              </puf:InvoiceSeries>
          </puf:PageroExtension>
      </ext:ExtensionContent>
    </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
</Invoice>

5.1.3. PartyIdentification

In the Basque Country there is a potential need to provide additional party identifiers that are not available in the ISO 6523 ICD list.

These additional identifiers for use in the Basque Country can be found here: Identification scheme Basque Country.

Example
Example with additional id provided in Basque Country in Party structure

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:AccountingCustomerParty>
      <cac:Party>
          <!-- Code omitted for clarity -->
          <cac:PartyIdentification>
              <cbc:ID schemeID="TB:PASSPORT">0123456789</cbc:ID>(1)
          </cac:PartyIdentification>
          <!-- Code omitted for clarity -->
      </cac:Party>
    </cac:AccountingCustomerParty>
    <!-- Code omitted for clarity -->
</Invoice>
1 The passport id provided as cac:PartyIdentification/cbc:ID.

5.1.4. Tax category codes

Tax category codes for the Basque Country can be found here: Tax category codes Basque Country.

5.1.5. Tax regime

When reporting an invoice to the Basque tax authorities, it is required to specify the tax regime codes the invoice falls under.

Up to three of these codes can be used in the same invoice.

Value Description

01

Transaction in general regime.

02

Exports.

03

Transactions covered by the special tax regime for used goods, art objects, antiques and collectors' items.

04

Special tax regime for investment gold.

05

Special regime for travel agencies.

06

Special regime for consolidated groups in VAT (Advanced Level).

07

Special cash-basis regime.

08

Transactions subject to IPSI / IGIC (Tax on Production, Services and Imports / General Indirect Tax of the Canary Islands).

09

Sales from provision of services by travel agencies acting as mediators on behalf of third parties. (Additional Provision 3 of the Invoicing Regulations)

10

Amounts collected on behalf of third parties of professional fees or rights derived from industrial property, copyright or others on behalf of members or associates made by societies, associations, professional institutes or other entities performing these payment collection functions.

11

Transactions involving rental of business premises subject to withholding.

12

Transactions involving rental of business premises not subject to withholding.

13

Transactions involving rental of business premises subject or not to withholding.

14

Invoice with VAT pending accrual in site certifications whose recipient is a public administration (government authority).

15

Invoice with VAT pending accrual in chain of title transactions.

51

Transactions in special additional VAT regime.

52

Transactions in simplified regime.

53

Transactions carried out by persons or entities that are not considered businessmen, businesswomen or professionals to VAT effects.

The value should be provided in element RestrictedInformation with key SignificantTaxRegime.

Example
Tax Regime example

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

5.1.6. Transaction type

When reporting a cross-border invoice (i.e. not within Spain) to the Basque tax authorities, it is required to specify the transaction type the invoice falls under.

This will be either Goods or Service.

It is currently only supported to send one type per invoice.

If you invoice for both goods and services, it is necessary to split these into two or more invoices.

Value Description

GOODS

The invoice is for the sale of goods.

SERVICE

The invoice is for the sale of services.

The value should be provided in element RestrictedInformation with key TransactionType.

Example
Transaction Type example

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

5.1.7. Correction reason code

When reporting a correction (Credit Note) to the Basque tax authorities, it is required to specify why the correction is being made.

Below is a list of allowed values.

Value Description

R1

Error based on law and Art. 80 One, Two and Six of the VAT Regulation.

R2

Article 80 Three of the VAT Regulation.

R3

Article 80 Four of the VAT Regulation.

R4

Others.

R5

Corrective invoice for simplified invoice.

The value should be provided in the element puf:Code within the BillingReference structure.

Example
Credit reason code example

<CreditNote>
  <ext:UBLExtensions>
    <ext:UBLExtension>
        <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:BillingReferenceExtension</ext:ExtensionURI>
          <ext:ExtensionContent>
            <puf:PageroExtension>
              <puf:BillingReferenceExtension>
                <!-- Referenced invoice's serie, if applicable -->
                <puf:InvoiceSeries>
                  <cbc:ID>InvSeries1</cbc:ID>
                </puf:InvoiceSeries>
                <cbc:Note>Textual note describing the reason for issuing a credit/debit note</cbc:Note>
                <!-- Reason for credit in code form, if applicable -->
                <puf:Code>R1</puf:Code>(1)
              </puf:BillingReferenceExtension>
            </puf:PageroExtension>
          </ext:ExtensionContent>
        </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
</CreditNote>
1 The reason code provided.

5.2. Canada

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

5.2.1. Tax type scheme

Tax type scheme codes for Canada can be found in PUF-009-TAXTYPESCHEME.

5.2.2. Party identification

There is a possible requirement to provide additional party identifiers that are not available in the ISO 6523 ICD list.

These additional identifiers for use in Canada can be found here Identification scheme Canada.

Example
Example with additional id’s provided in Canada in Party structure

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:AccountingSupplierParty>
    <!-- Code omitted for clarity -->
    <cac:Party>
        <!-- Code omitted for clarity -->
        <cac:PartyIdentification>
            <cbc:ID schemeID="CA:GST">123456789RT0002</cbc:ID>(1)
        </cac:PartyIdentification>
        <cac:PartyIdentification>
            <cbc:ID schemeID="CA:QST">123456789TQ0002</cbc:ID>(2)
        </cac:PartyIdentification>
        <!-- Code omitted for clarity -->
    </cac:Party>
  </cac:AccountingSupplierParty>

</Invoice>
1 GST number provided as cac:PartyIdentification/cbc:ID.
2 QST number provided as cac:PartyIdentification/cbc:ID.

5.3. France

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

5.3.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 cbc:Name is not mandatory to send, but opens up the possibility to provide the name of the receiving unit.

Example

<Invoice>
    <!-- Code omitted for clarity -->
    <cac:AccountingCustomerParty>
        <!-- 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 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>
    <!-- Code omitted for clarity -->
</Invoice>

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

<Invoice>
    <!-- Code omitted for clarity -->
    <cac:ContractDocumentReference>
        <cbc:ID>Contract number</cbc:ID>
        <cbc:IssueDate>2019-01-01</cbc:IssueDate>
    </cac:ContractDocumentReference>
    <!-- Code omitted for clarity -->
</Invoice>
Tender reference defined as "Marché Public"

Example

<Invoice>
    <!-- Code omitted for clarity -->
    <cac:OriginatorDocumentReference>
        <cbc:ID>Tender number</cbc:ID>
        <cbc:IssueDate>2019-01-01</cbc:IssueDate>
    </cac:OriginatorDocumentReference>
</Invoice>
    <!-- Code omitted for clarity -->
Purchase order number defined as "Engagement"

Example

<Invoice>
    <!-- Code omitted for clarity -->
    <cac:OrderReference>
        <cbc:ID>Order Number</cbc:ID>
        <cbc:IssueDate>2019-01-01</cbc:IssueDate>
    </cac:OrderReference>
    <!-- Code omitted for clarity -->
</Invoice>

5.4. Hungary

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

5.4.1. Invoice appearance

Each document must have a Invoice Apperance code, the value depends on how the documents is distributed between the 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.4.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 a @schemeID attribute value defined in the list Identification scheme Hungary.

5.4.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.4.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.4.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 available operation CREATE.

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.

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

Valid values for lineModificationReferenceLineOperation is CREATE 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.

5.5. India

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

5.5.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.5.2. Party identification

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: Identification scheme India.

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.5.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>
  <!-- Code omitted for clarity -->
</Invoice>

5.5.4. Tax type scheme

Tax type scheme codes for India can be found in PUF-009-TAXTYPESCHEME.

5.5.5. 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.5.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.5.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.6. Italy

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

5.6.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 the @schemeID attribute value "0201" (Indice delle Pubbliche Amministrazioni).

Example

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

5.6.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.6.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

<Invoice>
    <!-- Code omitted for clarity -->
    <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>
    <!-- Code omitted for clarity -->
</Invoice>

5.6.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

<Invoice>
    <!-- Code omitted for clarity -->
    <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>
    <!-- Code omitted for clarity -->
</Invoice>
1 Example contains cac:AccountingCustomerParty but same handling applies for cac:AccountingSupplierParty.

5.6.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 cac:AccountingSupplierParty structure here.

5.7. Malaysia

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

5.7.1. Party identification

In Malayia there is a requirement to providing additional party identifiers that are not available in the ISO 6523 ICD list.

These additional identifiers for use in Malaysia can be found here: Identification scheme malaysia.

Example
Example with additional id provided in Malaysia 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="MY:BRN">201901234000</cbc:ID>(1)
        </cac:PartyIdentification>
        <!-- Code omitted for clarity -->
    </cac:Party>
</cac:AccountingCustomerParty>

</Invoice>
1 Business registration number in Malaysia provided as cac:PartyIdentification/cbc:ID.

5.7.2. Tax Details

In order to provide the correct tax details in Malaysia the LHDN valid values must be provided in cac:TaxScheme/cbc:Name element.

Valid values for cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:Name are listed in the table below:

Value Description

01

Sales Tax.

02

Service Tax.

03

Tourism Tax.

04

High-Value Goods Tax.

05

Sales Tax on Low Value Goods.

06

Not Applicable.

E

Tax exemption (where applicable).

Example
Tax example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="MYR">6.00</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="MYR">100.00</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="MYR">6.00</cbc:TaxAmount>
      <cac:TaxCategory>
          <cbc:ID>S</cbc:ID>
          <cbc:Percent>45.00</cbc:Percent>
          <cac:TaxScheme>
              <cbc:ID>SST</cbc:ID>
              <cbc:Name>01</cbc:Name>
          </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  <cac:TaxTotal>
  <!-- Code omitted for clarity -->
</Invoice>

5.7.3. Unit of Measure

LHDN is following the UN/ECE Recommendation 20, Revision 17 (2021). The Unit of Measure code sent in the invoice must be one of the accepted codes listed on the LHDN’s official webpage here.

5.8. Philippines

This section contains information about special requirements concerning invoicing in Philippines. For more information on how to send compliant invoices in Philippines see example files.

5.8.1. Corrective Invoice

When sending a corrective invoice it is required to specify the unique id of the invoice being corrected as well as the reason code.

The unique id is returned in the PUF Clearance Notification as puf:ClearanceReferenceID/cbc:ID.

Below is a list of reason codes.

Code Description

01

Error - In any mandatory field.

02

Duplication - Sales data transmitted more than once regardless of transaction period.

03

Addition/reduction - Addition/reduction of contracted volume or amount.

04

Cancellation - For sales data previously transmitted but transaction was subsequently cancelled or rescinded by buyer/seller for failure to consumate. Full return of goods without replacement is considered cancellation.

05

Return - For original goods supplied and returned for replacement. Ex: Damaged, defective, wrong specifications, change item, or for any other reason.

09

Others - In one of the following cases:

- If not covered by the aforementioned errors.
- If multiple documents are issued a single adjustment document and correction code cannot be specified.
- If the code of the adjustment document is not distinguished in the CAS.

The clearance id and the reason code should be provided within the BillingReference structure.

Example
Correction example.
Sales Invoice being corrected for 'other' reason

<Invoice>
    <!-- Code omitted for clarity -->
    <!-- Invoice Type Code 384 and Sales Invoice (SI) code in attribute @name -->
    <cbc:InvoiceTypeCode name="01">384</cbc:InvoiceTypeCode>(1)
    <!-- 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 corrective invoice</cbc:Note>
                                <!-- Reason for correction in code form -->
                                <puf:Code>09</puf:Code>(2)
                                <!-- The unique id of the invoice being corrected -->
                                <puf:ClearanceID>2024062178083614FMWDD2O0</puf:ClearanceID>(3)
                            </puf:BillingReferenceExtension>
                        </puf:PageroExtension>
                    </ext:ExtensionContent>
                </ext:UBLExtension>
            </ext:UBLExtensions>
            <cbc:ID>Invoice reference ID</cbc:ID>
            <cbc:IssueDate>2024-05-01</cbc:IssueDate>
        </cac:InvoiceDocumentReference>
    </cac:BillingReference>
    <!-- Code omitted for clarity -->
</Invoice>
1 Invoice type code (384, Corrective) and type code attribute (01, Sales Invoice)
2 The reason code provided.
3 Previous Unique ID (Clearance ID)

5.8.2. Withholding VAT

Witholding Tax amount can be provided on header level if one of the following cac:TaxScheme/cbc:ID is used.

  • VAT (Withholding Tax-Business VAT)

  • INC (Withholding Tax-Income Tax)

  • PER (Withholding Tax-Business Percentage)

5.8.3. Permit To Use (PTU)

The PTU is the number issued by the Bureau of Internal Revenue allowing taxpayer’s use of Computerized Accounting System (CAS) and must be provided in the RestrictedInformation with key Ph_PTU.

Example
PTU example

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

5.8.4. Seller Tax Status

Seller Tax Status or Seller Type can be either VAT registered or Non-VAT registered.
Allowed values: 0 or 1.

0 = VAT Registered.
1 = Non VAT registered.

Use the Registration data extension to provide this information. Example is provided in Party Branch Code

5.8.5. Party Branch Code

The Party extension should be used to provide the code that identifies a headquarters or branch office.

Example Party Extension

<Invoice>
    <!-- Code omitted for clarity -->
    <cac:AccountingSupplierParty>
        <!-- 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>0</cbc:ID>(1)
                                    <puf:IDType listID="PUF-001-REGISTRATIONDATA">PH:SellerType</puf:IDType>
                                </puf:RegistrationData>
                                <puf:ADAID>
                                    <cbc:ID>00123</cbc:ID>(2)
                                    <puf:IDType listID="PUF-002-ADAID">GEN:UnitCode</puf:IDType>
                                </puf:ADAID>
                            </puf:PartyExtension>
                        </puf:PageroExtension>
                    </ext:ExtensionContent>
                </ext:UBLExtension>
            </ext:UBLExtensions>
            <!-- Code omitted for clarity -->
        </cac:Party>
    </cac:AccountingSupplierParty>
    <!-- Code omitted for clarity -->
</Invoice>
1 Seller Tax Status is specified in puf:RegistrationData.
2 Party Branch Code is specified in puf:ADAID

5.8.6. Invoice Type

Available invoice type code values to be used in Philippines can be found here: Invoice type codes Philippines.

In addition to providing the invoice type, it is also required to provide an additional code in the name attribute. The main reason for this is to enable Corrective Invoice for mulitple invoice types.

Example
Sales Invoice

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:InvoiceTypeCode name="01">380</cbc:InvoiceTypeCode>(1)
  <!-- Code omitted for clarity -->
</Invoice>
1 InvoiceTypeCode 380 for "Invoice" provided. Additional type code 01 for "Sales Invoice" in attribute name.

Example
Credit Note

<CreditNote>
  <!-- Code omitted for clarity -->
  <cbc:InvoiceTypeCode name="03">381</cbc:InvoiceTypeCode>(1)
  <!-- Code omitted for clarity -->
</CreditNote>
1 InvoiceTypeCode 381 for "Credit Note" provided. Additional type code 03 for "Credit Note" in attribute name.

Example
Correction of Sales Invoice

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:InvoiceTypeCode name="01">384</cbc:InvoiceTypeCode>(1)
  <!-- Code omitted for clarity -->
</Invoice>
1 InvoiceTypeCode 384 for "Corrective Invoice" provided. Additional type code 01 for "Sales Invoice" in attribute name.

5.8.7. Allowance reason codes

The following codes are supported for discounts in Philippines.

Value Description

104

Standard/Regular Discount.

100

Special Discount.

SC

Senior Citizen Discount.

PWD

Person With Disability Discount

5.9. Portugal

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

5.9.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.9.2. QR code and ATCUD

In Portugal it can be required to provide a QR code and ATCUD.

There are two ways of providing a QR string in PUF. Note that you should only use one of the alternatives.

Example 1. As mentioned in the national CIUS-PT.
In this example the QR code and ATCUD is provided in cac:AdditionalDocumentReference provided as recommended in the portuguese national cius (CIUS-PT). This way of sending the QR can be used if the issuer is sending an Invoice Image that contains a qr image that corresponds to the the embedded qr string in below example.

<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>

Example 2. Alternate way of sending QR string and ATCUD
If there is a need for providing a QR code that is to be used by Pagero in order to display it on an invoice presentation/image. If this is the case the below example is to visualize how QR and ATCUD can be provided. Note that in this scenario the QR string must be sent as plain TEXT and not as base64._

<Invoice>
  <!-- Code omitted for clarity -->
  <ext:UBLExtensions>
    <ext:UBLExtension>
      <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:QRExtension</ext:ExtensionURI>
      <ext:ExtensionContent>
        <puf:PageroExtension>
          <puf:SupplierGeneratedQRString>
            <puf:QRString>TheQRCode</puf:QRString>
            <puf:QREncodingType>TEXT</puf:QREncodingType>
          </puf:SupplierGeneratedQRString>
        </puf:PageroExtension>
      </ext:ExtensionContent>
    </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
  <cac:AdditionalDocumentReference>
        <cbc:ID schemeID="ANG">12345678-123456789123</cbc:ID> <!--ATCUD, use the schemeID ANG-->
    </cac:AdditionalDocumentReference>
    <!-- Code omitted for clarity -->
</Invoice>

5.9.3. Tax category codes

Tax category codes for Portugal can be found here: Tax category codes Portugal.

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 possible.

5.10. Saudi Arabia

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

5.10.1. Invoice type code and invoice subtype

Available invoice type code values to be used in Saudi Arabia can be found here: Invoice type codes Saudi Arabia.

In addition to providing the invoice type it is also required to provide the subtype/s.

Supported subtype codes can be found here: Invoice subtype codes Saudi Arabia.

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.10.2. Party identification

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: Identification scheme Saudi Arabia.

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.11. Serbia

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

5.11.1. Tax category codes

Tax category codes for Serbia can be found here: Tax category codes Serbia.

5.11.2. Party identification

There is a possible requirement to provide additional party identifiers that are not available in the ISO 6523 ICD list.

These additional identifiers for use in Serbia can be found here Identification scheme Serbia.

Example
Example with additional id provided in Serbia 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="RS:JBKJS">JBKJS:12345</cbc:ID>(1)
        </cac:PartyIdentification>
        <!-- Code omitted for clarity -->
    </cac:Party>
</cac:AccountingCustomerParty>

</Invoice>
1 The JBKJS id provided as cac:PartyIdentification/cbc:ID, note that the "JBKJS" prefix must be appended before the ID.

5.12. Singapore

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

5.12.1. Tax category codes

Tax category codes for Singapore can be found here: Tax category codes Singapore.

5.13. Spain

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

5.13.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.

If cac:BuyerCustomerParty/cac:Party is used, then the DIR3 codes should be sent in this party with the same structure as in cac:AccountingCustomerParty/cac:Party.

cac:BuyerCustomerParty/cac: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.

More information how to use ADAID can be found here.

Example

<Invoice>
    <!-- Code omitted for clarity -->
    <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>
    <!-- Code omitted for clarity -->
</Invoice>

5.14. Türkiye

This section contains information about special requirements concerning invoicing in Türkiye.

5.14.1. Invoice profile id

For the UBL-TR format in Türkiye, it is mandatory to specify the invoice profile that’s used.

Valid values are listed in the table below:

Value Description

TICARIFATURA

Commercial invoice.

TEMELFATURA

Basic invoice.

EARSIVFATURA

e-Archive invoice.

IHRACAT

Goods export invoice.

Example
Invoice profile example

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

5.14.2. Invoice type code

In addition to the invoice profile, it is also required to indicate the invoice type. This should be indicated in the attribute name` belonging to the element cbc:InvoiceTypeCode.

Valid values are listed in the table below:

Value Description

SATIS

Sales invoice (seller-buyer).

IADE

Return invoice (buyer-seller).

TEVKIFAT

Invoice with withholding tax.

ISTISNA

Invoice with VAT Exemption.

OZELMATRAH

Private bills.

IHRACKAYITLI

Export sales.

Example
Invoice type code example

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:InvoiceTypeCode name="SATIS">380</cbc:InvoiceTypeCode> (1)
  <!-- Code omitted for clarity -->
</Invoice>
1 Note that in Türkiye, credit notes do not exist and instead a return invoice (IADE), from buyer to seller, should be used. This means that the actual value of cbc:InvoiceTypeCode should be 380, even for IADE invoices.

5.14.3. Invoice delivery method

If the invoice profile id is set as "EARSIVFATURA" it is mandatory to include how the invoice is being distributed. There are only two allowed values. If Pagero is to do the invoice distribution, you should always enter "ELEKTRONIK". If an e-mail address for the buyer exists (see cac:AccountingContact/cbc:ElectronicMail in cac:AccountingCustomerParty) in the invoice and no delivery method value is sent, Pagero will default to "ELEKTRONIK".

Value Description

KAGIT

Paper.

ELEKTRONIK

Electronically.

Example
Invoice Delivery Method example

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

5.14.4. First name and surname

If the buyer is a private person (uses TCKN), the first name and surname of the buyer should be included in specific elements.

Example
First name and surname example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:AccountingCustomerParty>
        <cac:Party>
            <cac:PostalAddress>
                <!-- BT-50 Buyer address street-->
                <cbc:StreetName>Street Name</cbc:StreetName>
                <!-- BT-52 Buyer address City -->
                <cbc:CityName>City</cbc:CityName>
                <!-- BT-53 Buyer address postal code -->
                <cbc:PostalZone>00000</cbc:PostalZone>
                <cac:Country>
                    <!-- BT-55 Buyer address country code -->
                    <cbc:IdentificationCode>RS</cbc:IdentificationCode>
                </cac:Country>
            </cac:PostalAddress>
            <cac:PartyTaxScheme>
                <!-- BT-48 Buyer Vat Number if applicable -->
                    <cbc:CompanyID>98765432101</cbc:CompanyID>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:PartyTaxScheme>
            <cac:Person> (1)
                <cbc:FirstName>Buyer First Name</cbc:FirstName>
                <cbc:FamilyName>Buyer Surname</cbc:FamilyName>
            </cac:Person>
        </cac:Party>
    </cac:AccountingCustomerParty>
  <!-- Code omitted for clarity -->
</Invoice>
1 Note that the buyer’s name is split into first name and surname separately.

5.14.5. Registered tax office

The specific tax office where the buyer or seller is registered for tax purposes.

Example
Registered tax office example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:AccountingCustomerParty>
        <cac:Party>
            <cac:PostalAddress>
                <cbc:StreetName>Street Name</cbc:StreetName>
                <cbc:CityName>City</cbc:CityName>
                <cbc:PostalZone>00000</cbc:PostalZone>
                <cac:Country>
                    <cbc:IdentificationCode>TR</cbc:IdentificationCode>
                    <cbc:Name>Türkiye</cbc:Name>
                </cac:Country>
            </cac:PostalAddress>
            <cac:PartyTaxScheme>
                    <cbc:CompanyID>98765432101</cbc:CompanyID>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:PartyTaxScheme>
            <cac:PartyLegalEntity>
                <cac:RegistrationAddress>
                    <cbc:CityName>Registered tax office</cbc:CityName>
                </cac:RegistrationAddress>
            </cac:PartyLegalEntity>
        </cac:Party>
    </cac:AccountingCustomerParty>
  <!-- Code omitted for clarity -->
</Invoice>

5.14.6. Tax category codes

Tax category codes for Türkiye are numerous and can be found here: Tax category codes Türkiye.

5.14.7. Tax scheme

In Türkiye there are various types of taxes in addition to the regular VAT (known as "KDV" in Türkiye). Another relatively common tax is what’s known as "ÖTV", or Special Consumption Tax. This applies to sales of products such as alcohol, mobile phones, cars, and tobacco. In the event an invoice is applicable for this Special Consumption Tax, it needs to be indicated in the cac:TaxScheme/cbc:ID element on both line and header level.

Tax types other than VAT and SCT can also be supported in the Pagero Universal Format, but it is recommended you contact Pagero for further details.

Note that the cac:TaxScheme/cbc:ID value should only be changed from 'VAT' if the tax being applied is not 'VAT'.

Example
Special Consumption Tax example

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="TRY">45.00</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <!-- BT-116 Sum of all taxable amounts subject to a specific tax category code and tax category rate. Currency in attribute currencyID (BT-5) -->
      <cbc:TaxableAmount currencyID="TRY">100.00</cbc:TaxableAmount>
      <!--  BT-117. The total VAT amount for a given tax category. Currency in attribute currencyID (BT-5) -->
      <cbc:TaxAmount currencyID="TRY">45.00</cbc:TaxAmount>
      <cac:TaxCategory>
          <!-- BT-118 Tax category code. -->
          <cbc:ID>9077</cbc:ID>
          <!-- BT-119 Tax category rate-->
          <cbc:Percent>45.00</cbc:Percent>
          <cac:TaxScheme>
              <cbc:ID>SCT</cbc:ID>
          </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  <cac:TaxTotal>
  <!-- Code omitted for clarity -->
</Invoice>

5.14.8. Internet Sales

If the invoice is the result of an online sale, extra information needs to be included in the invoice, if applicable.

Value Description

Website URL

Website URL that online sale is processed from.

Payment date

The date the payment was or will be made.

Payment means

Supported codes are:
48 (Credit/debit card)
30, 31, 42, 58, 59 ("EFT/HAVALE", meaning money transfers)
10 ("KAPIDAODEME", meaning payment at the door)
68 ("ODEMEARACISI", meaning payment platform/forwarder like PayPal)
ZZZ ("DIGER", meaning other type of payment. If other, it must be accompanied by explanation in name attribute.)

Payment platform

This is payment platform/forwarder name, used if payment is processed through a payment platform or forwarder like paypal. Mandatory if payment means code is 68 ("ODEMEARACISI").

Shipment carrier tax id

Tax id (vkn) if shipment handled by company, individual id (tckn) if shipment handled by individual.

Shipment carrier name

Company name if shipment handled by company, first name and family name if shipment handled by individual.

Shipment date

The date of the shipment.

Internet Sales example
Internet Sales example

<Invoice>
  <!-- Code omitted for clarity -->
  <ext:UBLExtensions>
    <ext:UBLExtension>
        <ext:ExtensionURI>urn:pagero:ExtensionComponent:1.0:PageroExtension:RestrictedInformation</ext:ExtensionURI>
        <ext:ExtensionContent>
            <puf:PageroExtension>
                <!--If the invoice is the result of an online sale, the website URL is mandatory.-->
                <puf:RestrictedInformation>
                    <puf:Key>UBLTRWebsiteURL</puf:Key>
                    <puf:Value>www.exampleurl.com</puf:Value> (1)
                </puf:RestrictedInformation>
            </puf:PageroExtension>
        </ext:ExtensionContent>
    </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
  <cbc:DueDate>2023-07-03</cbc:DueDate> (2)
  <!-- Code omitted for clarity -->
  <cac:PaymentMeans>
    <!-- BT-81 Payment means code. -->
    <cbc:PaymentMeansCode name="Payment platform name">68</cbc:PaymentMeansCode> (3)
  </cac:PaymentMeans>
  <!-- Code omitted for clarity -->
  <cac:Delivery>
    <cac:CarrierParty>
        <cac:PartyIdentification>
            <cbc:ID>1234543210</cbc:ID>  (4)
        </cac:PartyIdentification>
        <cac:PartyName>
            <cbc:Name>Carrier Party Name</cbc:Name>  (5)
        </cac:PartyName>
    </cac:CarrierParty>
    <cac:Despatch>
        <cbc:ActualDespatchDate>2023-07-03</cbc:ActualDespatchDate>  (6)
    </cac:Despatch>
  </cac:Delivery>
  <!-- Code omitted for clarity -->
</Invoice>
1 Website URL that online sale is processed from.
2 Payment date.
3 Note the use of the attribute name to specify the payment platform. This is mandatory if the payment goes through a payment platform such as PayPal and others (code 68). Otherwise it is OK to omit the attribute.
4 This is the tax id of the shipment carrier.
5 This is the name of the shipment carrier.
6 This is the shipment date.

5.15. United States

This section contains information about requirements and other information concerning invoicing in United States of America.

5.15.1. Tax scheme

Since taxes vary in different states and there are a number of local taxes as well, Pagero recommends to specify State and Local Tax in the following way:
- For State Tax use cac:TaxScheme/cbc:ID with value STT.
- For Local Tax use cac:TaxScheme/cbc:ID with value LOC and use cac:TaxScheme/cbc:Name to specify the type of local tax, ie. 'City', 'District', 'County'.

Please see code list for all available tax type scheme codes.

Example State and Local Tax

<cac:TaxTotal>
    <cbc:TaxAmount currencyID="USD">16.40</cbc:TaxAmount>
    <cac:TaxSubtotal>
        <cbc:TaxableAmount currencyID="USD">200.00</cbc:TaxableAmount>
        <cbc:TaxAmount currencyID="USD">12.50</cbc:TaxAmount>
        <cac:TaxCategory>
            <cbc:ID schemeID="UNCL5305">S</cbc:ID>
            <cbc:Percent>6.25</cbc:Percent>
            <cac:TaxScheme>
                <cbc:ID>STT</cbc:ID>(1)
            </cac:TaxScheme>
        </cac:TaxCategory>
    </cac:TaxSubtotal>
    <cac:TaxSubtotal>
        <cbc:TaxableAmount currencyID="USD">200.00</cbc:TaxableAmount>
        <cbc:TaxAmount currencyID="USD">3.90</cbc:TaxAmount>
        <cac:TaxCategory>
            <cbc:ID schemeID="UNCL5305">S</cbc:ID>
            <cbc:Percent>1.95</cbc:Percent>
            <cac:TaxScheme>
                <cbc:ID>LOC</cbc:ID>(2)
                <cbc:Name>City Sales Tax</cbc:Name>(3)
            </cac:TaxScheme>
        </cac:TaxCategory>
    </cac:TaxSubtotal>
</cac:TaxTotal>
1 STT use for State Tax of 6.25%
2 LOC use for Local Tax of 1.95%
3 Local Tax specified as City Sales Tax

5.15.2. Party identification

There is no party identifiers available in the ISO 6523 ICD list for USA at the moment. To specify Tax Identification Number please use 'cac:PartyTaxScheme/cbc:CompanyID'

Example
Example with Tax ID

<Invoice>
  <!-- Code omitted for clarity -->
  <cac:AccountingCustomerParty>
    <!-- Code omitted for clarity -->
    <cac:Party>
        <!-- Code omitted for clarity -->
        <cac:PartyTaxScheme>
                <cbc:CompanyID>xx-xxxxxxx</cbc:CompanyID>
                <cac:TaxScheme>
                    <cbc:ID>TAX</cbc:ID>
                </cac:TaxScheme>
            </cac:PartyTaxScheme>
        <!-- Code omitted for clarity -->
    </cac:Party>
</cac:AccountingCustomerParty>

</Invoice>

6. Code lists

Certain elements require the use of PUF specific code lists.

Below you will find links to 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 70. Table of the code lists used
Business Term Path listID & URL to list

Registration data identifier 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-TAXEXEMPTIONCODE

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

7. XML schemas

Invoice and CreditNote XML schemas including Pagero/PUF Extension can be found here:

8. Excel specification

This document refers to an Excel file that serves as an additional mapping guide for the Pagero Universal Format (PUF) in complement to the online documentation. This file details only the base mapping without any extensions. It’s designed to provide an essential understanding of the structure and core components of the PUF.

The Excel file can be accessed through the following link:

If you are looking for information related to UBL extensions, those are not included in the Excel file. The extensions to the standard mapping are detailed separately in the Extensions segment of the PUF documentation.

You can find the complete explanation and specifications of the UBL extensions at the following link: Extensions

Please consult this section for a comprehensive understanding of how the extensions work in conjunction with the Pagero Universal Format.

9. Validation

Available validation rules for PUF.

To validate PUF documents please create an account on Pagero Validex.

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 71. 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

10. Examples

Example files can be found here:

11. Supported countries

The aim for PUF 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 PUF 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 PUF is developed to follow new identified markets/requirements.

11.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 72. Table of supported countries
Country Supported by PUF Require ext:UBLExtensions? Comment

Andorra

Yes

No

Australia

Yes

No

Austria

Yes

No

Belgium

Yes

No

Bulgaria

Yes

No

Canada

Yes

No

Croatia

Yes

No

Cyprus

Yes

No

Denmark

Yes

No

Estonia

Yes

No

Finland

Yes

No

France

Yes

Yes

Germany

Yes

No

Hungary

Yes

Yes

Iceland

Yes

No

India

Yes

Yes

Ireland

Yes

No

Israel

Yes

Yes

Extension needed if BillingSoftware is to be provided (optional)

Italy

Yes

Yes

Japan

Yes

No

Latvia

Yes

No

Liechtenstein

Yes

No

Lithuania

Yes

No

Luxembourg

Yes

No

Malaysia

Yes

Yes

Malta

Yes

No

Monaco

Yes

No

Netherlands

Yes

No

Only invoice and credit note support.

New Zealand

Yes

No

Norway

Yes

No

Portugal

Yes

Yes

Romania

Yes

No

Saudi Arabia

Yes

Yes

Serbia

Yes

No

Only standard invoice, credit note and debit note support.

Singapore

Yes

No

Slovakia

Yes

No

South Africa

Yes

No

Spain

Yes

Yes

Spain (Basque Country)

Yes

Yes

Support for TicketBAI system in the Basque region.
Only support for invoice and credit.

Sweden

Yes

No

Switzerland

Yes

No

Türkiye

Yes

Yes

United Kingdom

Yes

No

United States

Yes

No

12. Support

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