1. Introduction

Pagero Universal Format, hereafter referred to as "Pagero UF", is developed and maintained by Pagero Group. Pagero UF is based on Universal Business Language Version 2.1 (UBL 2.1) and the PEPPOL BIS Billing 3.0 format.

To support the growing PEPPOL Network, Pagero UF has been built "on-top" of and fully support PEPPOL BIS Billing 3.0, see section 3 for more information.

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 Pagero UF is to present the opportunity to extend the content available in the PEPPOL BIS Billing 3.0 as a means for supporting these market needs.

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

  • European standard EN 16931-1:2017

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

  • PEPPOL BIS Billing 3.0 (OpenPEPPOL´s CIUS (Core Invoice Usage Specifications) with EN16931 as the underlying specification)

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

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

  • Country specific information found in domestic formats.

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

Another intention of the Pagero UF 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.


1.1. Version and Changelog

Table 1. Version
Version Date Description

1.0

2019-05-02

First version published

2. Guidelines

Pagero UF builds on and fully support the PEPPOL BIS Billing 3.0. Reference to guidelines and specification can be found here.

In areas where support for certain information is available in the existing UBL 2.1 structure, Pagero UF implements these elements. In other areas where there are no suitable elements in the existing UBL 2.1 schema, Pagero UF implements UBLExtensions. Since UBLExtensions are only available on document level the UBL had to be altered, adding the UBLExtension in every aggregate thus replacing the UBL-CommonAggregateComponents-2.1.xsd with Pagero UF 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.

In the following chapters, you will find descriptions of each element that’s been added in Pagero UF that is not present in the PEPPOL BIS Billing 3.0.

2.1. How to get started with Pagero Universal Format

Since Pagero UF is an extension of the PEPPOL BIS Billing 3.0 the first step is to make sure you support and comply with PEPPOL BIS Billing 3.0.

It is imperative that PEPPOL BIS Billing 3.0 has been implemented before any work extending/building Pagero UF starts!

When PEPPOL BIS Billing 3.0 is implemented it is easy and quick to get started with Pagero UF and thus be able to handle information and data that is not supported in the core PEPPOL BIS.

Moving from PEPPOL BIS Billing 3.0 to Pagero UF

  1. Download Pagero UF XML Schemas

  2. Change namespaces (see chapter Namespaces)

  3. Change the Customization Id and Profile Id (see chapter Customization and Profile ID)

  4. If elements from extensions is needed see chapter Working with extensions how this is implemented.

  5. Before implementing additional fields available in Pagero UF, validate the document with the XSD schema downloaded in step 1.

In the xml schemas provided in chapter XML Schemas you will see the structure and the occurrences of every element available in Pagero UF.

2.2. Namespaces

Target name space - Invoice: urn:pagero:PageroUniversalFormat:Invoice:1:0
Target name space - Credit note: urn:pagero:PageroUniversalFormat:CreditNote:1:0
CommonAggregateComponents - Invoice/CreditNote: urn:pagero:CommonAggregateComponents:1.0

Example:
Invoice example for target namespace

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

Example:
Credit note example for targetnamespace

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

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 that Pagero Universal format is an extension of PEPPOL BIS Billing 3.0 there is an added extension id after the standard PEPPOL BIS Billing 3.0 CustomizationID.

Type Element cbc:CustomizationID Element cbc:ProfileID

Invoice and credit note

urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0#conformant#urn:pagero.com:puf:billing:1.0

urn:pagero.com:puf:billing:1.0

Example of CustomizationID and ProfileID:

<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0#conformant#urn:pagero.com:puf:billing:1.0</cbc:CustomizationID>
<cbc:ProfileID>urn:pagero.com:puf:billing:1.0</cbc:ProfileID>
Note that "conformant" must be specified before Pagero UFs extensionId.

2.4. Working with extensions

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

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

Example
Example from Invoice

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

Depending on in which context the UBLExtensions are used there are different options of what types of values you are able to provide. To identify which context the UBLExtensions is in the element ExtensionURI is used. When using these Pagero extensions, the URI has the same base: urn:pagero:ExtensionComponent:1.0:PageroExtension. After the URI, the specific resource name is added.

Example
UBLExtension used in the Party structure.

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

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

2.5. Continuous development and release management

Pagero UF will continuously be updated to meet new market demands. In order to support backward compatibility, the XSD schema is built with the use of "other" elements. The "other" elements in the XSD will prevent validation error for customers who do not frequently keep the XSD schema up-to-date.

2.5.1. Minor release

A minor release will always be backward compatible and will take place without prior notice and will be implemented whenever needed. Minor releases may include bugfixes, new elements, schematron updates and other features. These releases can be followed on GitHub.

2.5.2. Major release

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

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

3. Extended content

Pagero UF principally extends PEPPOL BIS Billing 3.0 in two ways:

  1. the use of additional segments/elements that are included in UBL 2.1, but excluded from the PEPPOL BIS Billing 3.0-subset of UBL 2.1.

  2. via the use of UBL Extensions.

This chapter defines and specifies the available options of adding information that is not available in the core PEPPOL BIS.

The chapter is divided into three parts for easier navigation:

  1. Parties (specifies information related to party structure in UBL)

  2. Document level (specifies other information on header level)

  3. Line level (specifies information on line level)

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

3.1. Parties

3.1.1. Accounting Supplier Party/Accounting Customer Party

Below table lists all additional elements added to extend the (Invoice|CreditNote)/cac:AccountingSupplierParty and (Invoice|CreditNote)/cac:AccountingCustomerParty.

Table 2. Additional elements added within cac:AccountingSupplierParty and cac:AccountingCustomerParty
Applicable XPath Description

cbc:SupplierAssignedAccountID

Customer number in the suppliers system (use only in cac:AccountingCustomerParty).

cbc:CustomerAssignedAccountID

Supplier number in the customers system (use only in cac:AccountingSupplierParty).

cac:Party/cac:PostalAddress/cbc:Postbox

The post box.

cac:Party/cac:PostalAddress/cbc:Department

The department of the addressee.

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

The country name.

cac:AccountingContact/cbc:Telephone

The telephone number for the accounting contact of the organization.

cac:AccountingContact/cbc:Telefax

The telefax number for the accounting contact of the organization.

cac:AccountingContact/cbc:ElectronicMail

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

An extension has been created for providing additional information not supported in UBL 2.1. The UBL extension to be used for below elements is cac:Party/ext:UBLExtensions and 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

<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>
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 3. Elements added in puf:PartyExtension
Applicable XPath Description

puf:RegistrationData/cbc:ID

Additional registration data associated with the party.

puf:RegistrationData/puf:IDType

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

puf:RegistrationData/puf:IDType/@listID

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

puf:ADAID/cbc:ID

Additional destination address identifier.

puf:ADAID/cbc:Name

Name of the additional destination unit.

puf:ADAID/puf:IDType

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

puf:ADAID/puf:IDType/@listID

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

Registration data

When there is a need to provide additional registration data associated with the organization this can be done using the RegistrationData element. To identify the type of registration data. The puf:IDType must be coded using the PUF-001-REGISTRATIONDATA code list. See code list PUF-001-REGISTRATIONDATA for all supported types of registration data.

Example

<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>
Additional Destination Address Identifier (ADAID)

Additional Destination Address Identifier (ADAID) is used when there is a need to provide additional routing codes in order for the invoice to be sent to the correct recipient. This is mostly used to public entities (e.g. government recipients). To identify the type of ADAID, the puf:IDType must be coded using the PUF-002-ADAID code list. See code list PUF-002-ADAID for supported types of ADAID.

Example

<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:UnitCode>
                  </puf:PartyExtension>
              </puf:PageroExtension>
          </ext:ExtensionContent>
      </ext:UBLExtension>
  </ext:UBLExtensions>
  <!-- Code omitted for clarity -->
</cac:Party>

3.1.2. Buyer Customer Party

In Pagero UF, 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 Buyer Customer Party is used, the Accounting Customer Party is to be considered the receiver of the document.

Below table lists all additional elements added within (Invoice|CreditNote)/cac:BuyerCustomerParty.

Table 4. Elements added in cac:BuyerCustomerParty
Applicable XPath Description

cbc:SupplierAssignedAccountID

Customer ID in the suppliers system.

cac:Party/cac:PartyIdentification/cbc:ID

Identifier for the buyer.

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

Party Identifier Scheme MUST be coded using one of the ISO 6523 ICD list.

cac:Party/cac:PartyName/cbc:Name

The name of the buyer party.

cac:Party/cac:PostalAddress/cbc:Postbox

The buyers post box.

cac:Party/cac:PostalAddress/cbc:StreetName

The buyers street address.

cac:Party/cac:PostalAddress/cbc:AdditionalStreetName

The buyers additional street address.

cac:Party/cac:PostalAddress/cbc:Department

The buyers department.

cac:Party/cac:PostalAddress/cbc:CityName

City of the buyer.

cac:Party/cac:PostalAddress/cbc:PostalZone

The buyers postal zone.

cac:Party/cac:PostalAddress/cbc:CountrySubentity

Province of the buyer..

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

Country code of the buyer.

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

The country name of the buyer

cac:Party/cac:PartyTaxScheme/cbc:CompanyID

Company ID of the buyer, type of ID defined by TaxScheme ID.

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

Type of ID e.g. VAT.

cac:Party/cac:PartyLegalEntity/cbc:RegistrationName

Buyers legal name.

cac:Party/cac:PartyLegalEntity/cbc:CompanyID

Buyers legal registration ID.

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

Identifier of buyer legal registration ID.

cac:Party/cac:Contact/cbc:Name

Buyer contact name.

cac:Party/cac:Contact/cbc:Telephone

Buyer contact telephone number.

cac:Party/cac:Contact/cbc:ElectronicMail

Buyer contact e-mail.

cac:AccountingContact/cbc:Telephone

The telephone number for the accounting contact of the organization.

cac:AccountingContact/cbc:Telefax

The telefax number for the accounting contact of the organization.

cac:AccountingContact/cbc:ElectronicMail

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

Example
Party structure with both invoice recipient party and buyer party

<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: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>
        <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: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>
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 all e-invoice formats do not support both invoice recipient and buyer party information, therefore only use both structures when needed.

3.2. Document level

Information in the following section (3.2.x) concerns the document in its entirety.

3.2.1. Note

Pagero UF extends the possibility to provide "free text" in the invoice by allowing multiple notes, see example below.

Example
Invoice example with multiple Note

<Invoice>
  <!-- Code omitted for clarity -->
  <cbc:Note>Header text 1</cbc:Note>
  <cbc:Note>Header text 2</cbc:Note>
  <cbc:Note>Header text 3</cbc:Note>
  <!-- Code omitted for clarity -->
</Invoice>

3.2.2. Order reference

In order to define more details regarding the order, possibility to provide date of the purchase order and sales order date has been added.

Below show how additional element from UBL 2.1 in (Invoice|CreditNote)/cac:OrderReference has been used to provide the purchase order date.

Table 5. Elements added in cac:OrderReference
Element Description

cbc:IssueDate

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

In addition, an extension has been created for providing sales order date not supported in UBL 2.1.

The UBL extension to be used for below elements is (Invoice|CreditNote)/cac:OrderReference/ext:UBLExtensions and 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

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

puf:SalesOrderIssueDate

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

Example
Order reference containing all information available

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

3.2.3. Invoice Period

To be able to specify a free text description of the invoice period, the (Invoice|CreditNote)/cac:InvoicePeriod-segment has been extended.

Below table shows the definition of the added element.

Table 7. Elements added in cac:InvoicePeriod
Element Description

cbc:Description

Description of the billing period (free text).

Example
Invoice period with added description

<cac:InvoicePeriod>
    <cbc:StartDate>2019-01-01</cbc:StartDate>
    <cbc:EndDate>2019-01-31</cbc:EndDate>
    <cbc:Description>Description of invoice period</cbc:Description>
</cac:InvoicePeriod>

3.2.4. Despatch document reference

To be able to specify the issue date of a referenced despatch document, the (Invoice|CreditNote)/cac:DespatchDocumentReference-segment has been extended.

Below table shows the definition of the added element.

Table 8. Elements added in cac:DespatchDocumentReference
Element Description

cbc:IssueDate

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

Example
Despatch document reference ID and date

<cac:DespatchDocumentReference>
    <cbc:ID>Despatch Document ID</cbc:ID>
    <cbc:IssueDate>2019-01-01</cbc:IssueDate>
</cac:DespatchDocumentReference>

3.2.5. Contract Document Reference

To be able to specify more details regarding the referenced contract document, the (Invoice|CreditNote)/cac:ContractDocumentReference-segment has been extended both with additional elements from UBL 2.1 as well as an extension component.

Below tables shows the definition of the added elements existing in UBL 2.1.

Table 9. Elements added in cac:ContractDocumentReference
Element Description

cbc:IssueDate

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

The UBL extension to be used for below elements is (Invoice|CreditNote)/cac:ContractDocumentReference/ext:UBLExtensions and the structure used from PUF-ExtensionComponent.xsd is PageroExtension/ContractDocumentReferenceExtension.

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

<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>
1 URI to be used if this extension is added.
2 Structure to be used if information from this extension will be used.
Table 10. Elements added in puf:ContractDocumentReferenceExtension
Element Description

puf:BuyerContractID

ID for the buyer referenced contract document.

puf:BuyerContractIssueDate

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

Example
Contract document reference ID, date and extension

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

3.2.6. Attachments

In Peppol BIS Billing 3.0 there is no support for providing a presentation (PDF-image) of the invoice or credit note. To support presentation in Pagero UF it’s possible to set the below text depending on credit note or invoice in order for the attachment to be intepreted as a presentation. For other kind of attachments, use Peppol BIS Billing 3.0 specification as reference.

  • Credit notes: Credit Note

  • Invoices: Commercial Invoice

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">MvYmlsbGluZy8zLjAvYmlzLw==</cbc:EmbeddedDocumentBinaryObject>
      </cac:Attachment>
  </cac:AdditionalDocumentReference>
<!-- Code omitted for clarity -->
</Invoice>
1 If "Commercial Invoice" is stated in the invoice the attachment will be intepreted as a presentation.

Example
Credit Note with (PDF-image)

<CreditNote>
<!-- Code omitted for clarity -->
  <cac:AdditionalDocumentReference>
      <cbc:ID>123456</cbc:ID>
      <cbc:DocumentDescription>Credit Note</cbc:DocumentDescription> (1)
      <cac:Attachment>
        <cbc:EmbeddedDocumentBinaryObject mimeCode="application/pdf" filename="presentation.pdf">MvYmlsbGluZy8zLjAvYmlzLw==</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 intepreted as a presentation.

3.2.7. Originator Document Reference

To be able to specify the issue date of a referenced tender document, the (Invoice|CreditNote)/cac:OriginatorDocumentReference-segment has been extended.

Below table shows the definition of the added element.

Table 11. Elements added in cac:OriginatorDocumentReference
Element Description

cbc:IssueDate

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

Example
Originator document reference ID and date

<cac:OriginatorDocumentReference>
    <cbc:ID>Tender document ID</cbc:ID>
    <cbc:IssueDate>2019-01-01</cbc:IssueDate>
</cac:OriginatorDocumentReference>

3.2.8. Delivery

In order to define the delivery in more detail, a new element to state a description of the delivery location has been added in (Invoice|CreditNote)/cac:Delivery/cac:DeliveryLocation.

Below table shows the definition of the added element.

Table 12. Elements added in cac:Delivery
Element Description

cac:DeliveryLocation/cbc:Description

Text describing the delivery location.

cac:DeliveryLocation/cac:Address/cbc:PostBox

The post box of the delivery location.

cac:DeliveryLocation/cac:Address/cbc:Department

The department of the delivery location.

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

The country name of the delivery location.

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 is (Invoice|CreditNote)/cac:Delivery/ext:UBLExtensions and 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

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

Table 13. Elements added in puf:DeliveryExtension
Element Description

puf:DeliveryMethod/cbc:Note

Description of the delivery method (free text).

puf:DeliveryMethod/puf:Code

A code for the delivery method.

Example
Delivery method and code defined

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

3.2.9. Delivery Terms

In order to define delivery terms, a new structure named (Invoice|CreditNote)/cac:DeliveryTerms has been added.

Below table shows the definition of the added elements.

Table 14. Elements added in cac:DeliveryTerms
Element Description

cbc:SpecialTerms

Description of the delivery terms.

cbc:LossRiskResponsibilityCode

Code to identify the responsibility for the loss risk.

cbc:LossRisk

A description of the responsibility for the loss risk.

Example

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

3.2.10. Payment Terms

In order to specify more details regarding payment terms, more information has been added to the structure (Invoice|CreditNote)/cac:PaymentTerms.

Below table shows the definition of the extended element.

Table 15. Elements added in cac:PaymentTerms
Element Description

cbc:PenaltySurchargePercent

Penalty interest rate, numberic value only.

Example

<cac:PaymentTerms>
    <cbc:PenaltySurchargePercent>10</cbc:PenaltySurchargePercent>
</cac:PaymentTerms>

Also, an extension has been created for providing additional information not supported in UBL 2.1 in order to provide further information regarding payment terms.

The UBL extension to be used for below elements is cac:PaymentTerms/ext:UBLExtensions and 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

<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>
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 16. Elements added in puf:PaymentTermsExtension
Element Description

puf:Penalty/cbc:Note

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

Example
Penalty text provided in extension

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

3.2.11. Allowance Charge

Below table lists the extension-element added within the (Invoice|CreditNote)/cac:AllowanceCharge-segment.

Table 17. Elements added in cac:AllowanceCharge
Element Description

cac:TaxCategory/cbc:TaxExemptionReasonCode

Tax exemption reason code.

cac:TaxCategory/cbc:TaxExemptionReason

Tax exemption reason description.

cac:TaxTotal/cbc:TaxAmount

Total tax amount associated with the allowance or charge.

3.2.12. Tax Exchange Rate

To be able to provide more in-depth information if tax currency is different from document currency, a new structure has been added (Invoice|CreditNote)/cac:TaxExchangeRate.

Table 18. Elements added in cac:TaxExchangeRate
Element Description

cbc:SourceCurrencyCode

Source currency code (i.e. document currency).

cbc:TargetCurrencyCode

Target currency code (i. e. tax currency).

cbc:CalculationRate

Exchange rate used for converting source currency to target currency.

cbc:MathematicOperatorCode

Method used for calculation the convertion, value must equal "Multiply".

cbc:Date

Exchange rate date.

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

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

3.2.13. Tax Total

An extension has been created for providing additional information not supported in UBL 2.1.

The UBL extension to be used for below elements is (Invoice|CreditNote)/cac:TaxTotal/cac:TaxSubtotal/ext:UBLExtensions and 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

<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>
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 19. Elements added in puf:TaxSubtotalExtension
Element Description

puf:TaxCurrencyTaxableAmount

Taxable amount in tax currency per subtotal

puf:TaxCurrencyTaxAmount

Tax amount in tax currency per subtotal

puf:TaxChargeability/cbc:TaxTypeCode

Chargeability per tax (see Italy section here)

Tax currency amounts

In Peppol BIS 3.0 billing it’s only possible to provide the tax currency amount summary of all sub totals. In order to extend the support, it’s possible to use Pagero UF extension to provide the taxable and tax amount in tax currency per each sub total. See example below.

Example

<cbc:DocumentCurrencyCode listID="ISO4217">EUR</cbc:DocumentCurrencyCode>
<cbc:TaxCurrencyCode listID="ISO4217">USD</cbc:TaxCurrencyCode>
<!-- Code omitted for clarity -->
<cac:TaxExchangeRate>
  <cbc:SourceCurrencyCode listID="ISO4217">EUR</cbc:SourceCurrencyCode>
  <cbc:TargetCurrencyCode listID="ISO4217">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: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: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>
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 each sub totals tax currency amount

The LegalMonetaryTotal-UBLExtension provides the means to add more information about the total amount of the invoice.

The UBL extension to be used for below elements is (Invoice|CreditNote)/cac:LegalMonetaryTotal/ext:UBLExtensions and 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

<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>
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 20. Elements added in puf:LegalMonetaryTotalExtension
Element Description

puf:TaxCurrencyTaxExclusiveAmount

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

puf:TaxCurrencyTaxExclusiveAmount/@currencyID

Currency of the Tax Currency Tax ExclusiveAmount.

puf:TaxCurrencyTaxInclusiveAmount

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

puf:TaxCurrencyTaxInclusiveAmount/@currencyID

Currency of the Tax Currency TaxInclusive Amount.

puf:TaxCurrencyPayableAmount

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

puf:TaxCurrencyPayableAmount/@currencyID

Currency of the Tax Currency Payable Amount.

puf:PaymentInKind/puf:Amount

Payment in kind amount on invoice.

puf:PaymentInKind/puf:Amount/@currencyID

Currency of the Payment in kind amount.

puf:PaymentInKind/cbc:Note

Description of payment in kind.

Tax currency amounts

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

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

<cbc:DocumentCurrencyCode listID="ISO4217">EUR</cbc:DocumentCurrencyCode>
<cbc:TaxCurrencyCode listID="ISO4217">USD</cbc:TaxCurrencyCode>
<!-- Code omitted for clarity -->
<cac:TaxExchangeRate>
  <cbc:SourceCurrencyCode listID="ISO4217">EUR</cbc:SourceCurrencyCode>
  <cbc:TargetCurrencyCode listID="ISO4217">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>
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 a cash.
The elements available in Pagero UF allow the possibility to provide the corresponding amount of the goods and services and a description.

Example
Payment In Kind is 100 EUR

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

3.3. Line level

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

3.3.1. Note

Pagero UF extends the possibility to provide "free text" for each line by allowing multiple notes, see example below.

Example
Invoice example with multiple Note on line level

<cac:InvoiceLine>
  <!-- Code omitted for clarity -->
  <cbc:Note>Line text 1</cbc:Note>
  <cbc:Note>Line text 2</cbc:Note>
  <cbc:Note>Line text 3</cbc:Note>
  <!-- Code omitted for clarity -->
</cac:InvoiceLine>

3.3.2. Line Excl. Allowance and Charge Amount

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 below elements is Invoice/cac:InvoiceLine/ext:UBLExtensions and 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

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

puf:LineExclAllowanceChargeAmount

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

puf:LineExclAllowanceChargeAmount/@currencyID

Currency of the Line Excl Allowance Charge Amount.

Example
Line with 100 EUR discount

<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>
1 The amount excluded the discount
2 The amount included the discount

3.3.3. Order Line Reference

If there are multiple orders that needs to be referenced, cac:OrderLineReference can be used. Below table shows the new elements added within the Invoice/cac:InvoiceLine/cac:OrderLineReference-segment.

Table 22. Elements added to cac:OrderLineReference
Element Description

cac:OrderReference/cbc:ID

Identification of the referenced purchase order, assigned by the buyer.

cac:OrderReference/cbc:SalesOrderID

Identification of the referenced sales order, assigned by the seller.

cac:OrderReference/cbc:IssueDate

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

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 is Invoice/cac:InvoiceLine/cac:OrderLineReference/cac:OrderReference/ext:UBLExtensions and 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

<cac:InvoiceLine>
    <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:OrderLineReference>
    </cac:OrderReference>
</cac:InvoiceLine>
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 23. Elements added in puf:OrderLineReference
Element Description

puf:SalesOrderIssueDate

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

Example
Order line reference containing all available elements

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

3.3.4. Despatch Line Reference

In order to specify the despatch advice reference on line level, the Invoice/cac:InvoiceLine/cac:DespatchLineReference-segment has been added.

Table 24. Elements added to cac:DespatchLineReference
Element Description

cbc:LineID

Identification of the line in the referenced despatch advice document.

cac:DocumentReference/cbc:ID

Identification of the despatch advice document.

cac:DocumentReference/cbc:IssueDate

Date of issue of the despatch advice document referred to, date should be formatted yyyy-mm-dd.

Example
Despatch document reference ID and date

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

3.3.5. Originator Document Reference

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 below elements is Invoice/cac:InvoiceLine/ext:UBLExtensions and 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

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

cbc:ID

Identification of the tender reference

cbc:IssueDate

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

Example
Originator document reference ID and date

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

3.3.6. Project Reference

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 below elements is Invoice/cac:InvoiceLine/ext:UBLExtensions and 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

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

cbc:ID

Identification of the project reference.

Example
Project reference ID

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

3.3.7. Contract Document Reference

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

The UBL extension to be used for below elements is Invoice/cac:InvoiceLine/ext:UBLExtensions and 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

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

cbc:ID

Identification of the referenced contract.

cbc:IssueDate

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

puf:BuyerContractID

ID for the buyer referenced contract document.

puf:BuyerContractIssueDate

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

Example
Contract document ID and date

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

3.3.8. Delivery

To be able to further define delivery information, the possibility to provide it for each line has been added in the structure Invoice/cac:InvoiceLine/cac:Delivery.

See table below for definition of the new elements.

Table 28. Elements added to cac:InvoiceLine/cac:Delivery
Element Description

cbc:Quantity

Delivered quantity.

cbc:Quantity/@unitCode

Unit of the delivered quantity.

cbc:ActualDeliveryDate

Date of delivery.

cac:DeliveryLocation/cbc:ID

ID of the delivery location.

cac:DeliveryLocation/cbc:ID/@schemeID

Party Identifier Scheme MUST be coded using one of the ISO 6523 ICD list.

cac:DeliveryLocation/cac:Address/cbc:StreetName

Street name of the delivery location.

cac:DeliveryLocation/cac:Address/cbc:AdditionalStreetName

Additional street name of the delivery location.

cac:DeliveryLocation/cac:Address/cbc:CityName

City of the delivery location.

cac:DeliveryLocation/cac:Address/cbc:PostalZone

Post code of the delivery location.

cac:DeliveryLocation/cac:Address/cbc:CountrySubentity

Province of the delivery location.

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

Country code of the delivery location.

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

The country name of the delivery location.

Example
Invoice example of delivery on line

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

3.3.9. Tax Total

To provide more detailed tax information on line level, below table list new elements added within Invoice/cac:InvoiceLine/cac:TaxTotal segment.

Table 29. Elements added in cac:InvoiceLine/cac:TaxTotal
Element Description

cac:TaxAmount

The total tax amount, the sum of the tax subtotals.

cac:TaxSubtotal/cbc:TaxableAmount

The amount that is the base for the VAT rate applied in the subcategory.

cac:TaxSubtotal/cbc:TaxAmount

Tax amount of the tax sub total.

cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReasonCode

Tax exemption reason code.

cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReason

Tax exemption reason description.

cac:TaxSubtotal/cac:TaxCategory/cbc:ID

A code that identifies each subtotal. Each tax category must be identified with a code, the same codes used for tax category on document level is applicable here.

cac:TaxSubtotal/cac:TaxCategory/cbc:Percent

The VAT rate.

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

Tax Scheme ID. Most commonly “VAT“

Example
Invoice example of Tax Total on line level

<cac:InvoiceLine>
  <!-- Code omitted for clarity -->
  <cac:TaxTotal>
      <cbc:TaxAmount currencyID="EUR">37.00</cbc:TaxAmount>
      <cac:TaxSubtotal>
          <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>
  <!-- Code omitted for clarity -->
</cac:InvoiceLine>

3.3.10. Item

Below table lists all additional elements added within Invoice/cac:InvoiceLine/cac:Item, these additional fields is used to assign more detailed information for the article.

Table 30. Elements added in cac:InvoiceLine/cac:Item
Element Description

cac:ManufacturersItemIdentification/cbc:ID

Identifier of the item, assigned by the manufacturer.

cac:ItemInstance/cbc:ManufactureDate

Date of when the item was manufactured, date should be formatted yyyy-mm-dd.

cac:ItemInstance/cbc:BestBeforeDate

The items best before date, date should be formatted yyyy-mm-dd.

cac:ItemInstance/cbc:SerialID

Serial number of the item.

cac:ItemInstance/cac:LotIdentification/cbc:LotNumberID

Lot number identifier of the item.

Example

<cac:InvoiceLine>
  <!-- Code omitted for clarity -->
  <cac:Item>
    <cac:ManufacturersItemIdentification>
        <cbc:ID>Manufacturers item ID</cbc:ID>
    </cac:ManufacturersItemIdentification>
    <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>
</cac:InvoiceLine>

3.3.11. Price

In addition to Price a new element has been added to specify the unit price including allowances and charges. Note that the new element PriceInclAllowanceChargeAmount should include the allowanceCharge applied on line level, as shown in the example Line with 100 EUR discount.

The UBL extension to be used for below elements is Invoice/cac:InvoiceLine/cac:Price/ext:UBLExtensions and 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

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

puf:PriceInclAllowanceChargeAmount

Unit price including allowances or charges.

puf:PriceInclAllowanceChargeAmount/@currencyID

Currency of the unit price including allowances or charges.

Example
Line with 100 EUR discount

<cac:InvoiceLine>
    <cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">900</cbc:LineExtensionAmount>
    <cac:AllowanceCharge>
        <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
        <cbc:Amount currencyID="EUR">100</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</puf:PriceInclAllowanceChargeAmount> (2)
                      </puf:PriceExtension>
                  </puf:PageroExtension>
              </ext:ExtensionContent>
          </ext:UBLExtension>
      </ext:UBLExtensions>
      <cbc:PriceAmount currencyID="EUR">1000</cbc:PriceAmount> (1)
    </cac:Price>
</cac:InvoiceLine>
1 The unit price excluding the discount.
2 The unit price including the discount.

4. Country Specific

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

4.1. Spain

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

4.1.1. Routing Codes (DIR3)

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

  1. Accounting Office (Oficina Contable)

  2. Management Agency (Órgano Gestor)

  3. Processing Authority Unit (Unidad Tramitadora)

  4. Proposing Agency (Órgano Proponente)

The DIR3 codes should be provided in the extension block under (Invoice|CreditNote)/cac:AccountingCustomerParty/cac:Party, in the structure PageroExtension/PartyExtension/ADAID. More information how to use ADAID can be found here.

Example

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

4.2. France

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

4.2.1. Service Code

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

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

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

Example

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

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

Customer contract defined as “Contrat”
  • Contract number - (Invoice|CreditNote)/cac:ContractDocumentReference/cbc:ID

  • Contract date - (Invoice|CreditNote)/cac:ContractDocumentReference/cbc:IssueDate

Example

<cac:ContractDocumentReference>
    <cbc:ID>Contract number</cbc:ID>
    <cbc:IssueDate>2019-01-01</cbc:IssueDate>
</cac:ContractDocumentReference>
Tender reference defined as “Marché Public”
  • Tender number - (Invoice|CreditNote)/cac:OriginatorDocumentReference/cbc:ID

  • Tender date - (Invoice|CreditNote)/cac:OriginatorDocumentReference/cbc:IssueDate

Example

<cac:OriginatorDocumentReference>
    <cbc:ID>Tender number</cbc:ID>
    <cbc:IssueDate>2019-01-01</cbc:IssueDate>
</cac:OriginatorDocumentReference>
Purchase order number defined as “Engagement”
  • Purchase order number - (Invoice|CreditNote)/cac:OrderReference/cbc:ID

  • Purchase order date - (Invoice|CreditNote)/cac:OrderReference/cbc:IssueDate

Example

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

4.3. Italy

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

4.3.1. Routing code (Codice Destinatario)

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

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

Example

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

4.3.2. Duty Stamp (Dati Bollo)

The duty stamp amount should be provided in the extension block under Invoice, in the structure (Invoice|CreditNote)/PageroExtension/DutyStamp, see example below.

Example
Example from invoice

<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>
  <cbc:UBLVersionID>2.1</cbc:UBLVersionID>
  <!-- Code omitted for clarity -->
</Invoice>

4.3.3. Tax chargeability (Esigibilita IVA)

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

Possible values to provide:

  • I = VAT with immediate chargeability

  • D = VAT unrealized

  • S = Splitting of payments

Example

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

4.3.4. VAT number and Fiscal Code

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

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

  • TaxScheme/ID - Must be VAT

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

  • TaxScheme/ID - Must be TAX

Example
AccountingCustomerParty with both VAT number and Fiscal code

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

4.3.5. Registration data

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

4.4. Portugal

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

4.4.1. Billing Software Certification

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

Example
Extension with the billing software details populated

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

5. Code lists

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

5.1. Code lists for coded elements

Table 32. Table of the code lists used
Business Term XPath listID

Registration Data Id Type

puf:RegistrationData/puf:IdType

PUF-001-REGISTRATIONDATA

Additional Destination Address Identifier

puf:ADAID/puf:IDType

PUF-002-ADAID

5.1.1. PUF-001-REGISTRATIONDATA

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

Value Description

IT:Ufficio

Initials of the province where the Company is registered.

IT:NumeroREA

The registration number in the "companies register".

IT:CapitaleSociale

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

IT:SocioUnico

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

Allowed values: SU or SM

SU : Sole shareholder
SM : Several shareholders

IT:StatoLiquidazione

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

LS : In liquidation
LN : Not in liquidation

ES:Book

Book in the register of the company.

ES:RegisterOfCompaniesLocation

In which register the company is located.

ES:Sheet

Sheet in the register of the company.

ES:Folio

Folio in the register of the company.

ES:Section

Section in the register of the company.

ES:Volume

Volume in the register of the company.

ES:AdditionalRegistrationData

Other registration data.

FR:DenomSociete

Legal name.

FR:TypeSociete

Type of company (for example SAS).

FR:CapitalSocial

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

FR:RCSNumber

Trade and Companies Register number.

FR:APE

Business activity classification code.

5.1.2. PUF-002-ADAID

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

Value Description

FR:ServiceCode

Code of the receiving unit behind French Government portal.

ES:OficinaContable

Code for the accounting office (Oficina Contable).

ES:OrganoGestor

Code for the management agency (Órgano Gestor).

ES:UnidadTramitadora

Code for the processing authority unit (Unidad Tramitadora).

ES:OrganoProponente

Code for the proposing agency (Órgano Proponente).

6. XML Schemas

7. Validation rules

New validation rules has been created for Pagero UF, some EN16931 rules are in conflict with elements added in Pagero UF and has therefore been re-written to be compatible. This is indicated in the rule name, where the original name of the rule is stated followed by the Pagero UF rule name.

To validate the files please create an account on https://pagero.validex.net, the validation will take into into consideration both EN16931 rules, Peppol rules as well as added Pagero UF rules.

Table 33. Schematron rules added in Pagero UF
Rule name Description of rule Flag

PUF-R001

[PUF-R001]-Specification identifier MUST have the value 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0#conformant#urn:pagero.com:puf:billing:1.0'.

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 MUST be different from target currency code when tax exchange rate calculation is provided.

Fatal

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

BR-CO-16-PUF-OR001

[BR-CO-16-PUF-OR001]-Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) - Paid amount (BT-113) - Payment in kind amount + Rounding amount (BT-114).

Fatal

BR-S-08-PUF-OR002

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

Fatal

BR-Z-08-PUF-OR003

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

Fatal

BR-Z-10-PUF-OR004

[BR-Z-10-PUF-OR004]-A VAT breakdown (BG-23) with VAT Category code (BT-118) "Zero rated" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).

Fatal

BR-E-08-PUF-OR005

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

Fatal

BR-E-10-PUF-OR006

[BR-E-10-PUF-OR006]-A VAT breakdown (BG-23) with VAT Category code (BT-118) "Exempt from VAT" shall have a VAT exemption reason code (BT-121) or a VAT exemption reason text (BT-120).

Fatal

BR-G-08-PUF-OR007

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

Fatal

BR-G-10-PUF-OR008

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

Fatal

BR-IC-08-PUF-OR009

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

Fatal

BR-IC-10-PUF-OR010

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

Fatal

BR-O-08-PUF-OR011

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

Fatal

BR-O-10-PUF-OR012

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

Fatal

BR-IG-08-PUF-OR013

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

Fatal

BR-IG-10-PUF-OR014

[BR-IG-10-PUF-OR014]-A VAT breakdown (BG-23) with VAT Category code (BT-118) "IGIC" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).

Fatal

BR-IP-08-PUF-OR015

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

Fatal

BR-IP-10-PUF-OR016

[BR-IP-10-PUF-OR016]-A VAT breakdown (BG-23) with VAT Category code (BT-118) "IPSI" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).

Fatal

BR-AE-08-PUF-OR017

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

Fatal

BR-AE-10-PUF-OR018

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

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, VAT category ID MUST exist.

Fatal

8. Examples

Invoice example can be downloaded here.
Credit note example can be downloaded here.

9. Support

Any questions related to Pagero UF can be directed to puf@pagero.com.