Peppol International (PINT) model for Billing

OpenPEPPOL AISBL, Post-Award Coordinating Community v0.1.2

Link to main site of documentation

Introduction

This specification implements the Peppol BIS Self Billing for use in Malaysia. It is based on the Peppol International Invoice (PINT) framework, and includes localisations to support Malaysia business and tax requirements. The main requirement for specification comes from the fact that Malaysia uses Sales and Service Tax (SST) instead of Value Added Tax (VAT). Any instances of Value Added Tax (VAT) should be read to mean Sales and Service Tax (SST) in the Malaysia context. On a syntactical level, this specification uses the OASIS UBL 2.1 XML format.

The purpose of this document is to describe the use of the invoice and credit note messages in Peppol, and to facilitate an efficient implementation and increased use of electronic collaboration regarding the billing process based on these formats.

Statement of copyright

This Peppol Business Interoperability Specification (Peppol BIS) document is a Country Specification based on the PINT. The restrictions on PINT implemented in this Peppol BIS are identified in the conformance statement provided in appendix A.

The copyright of PINT is owned by OpenPEPPOL and its members. OpenPEPPOL AISBL holds the copyright of this Peppol BIS.

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

Document Structure

This document is structured as follows:

  • Chapter 1 gives general information on the business processes, requirements and functionalities.

  • Chapter 2 provides information on business related requirements supported by the invoice.

  • Chapter 3 provides information on legal and tax related requirements supported by the invoice.

  • Chapter 4 provides information about rules and calculations that applies to the invoice content.

  • Chapter 5.1 describes the BIS identifiers.

  • Chapter 5.2 describes the semantical data types.

  • Chapter 5.3 gives external links to the relevant UBL schemas.

Scope

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

Audience

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

  • Service providers

  • Contracting Authorities (CA)

  • Economic Operators (EO)

  • Software Developers

More specifically, roles addressed are the following:

  • ICT Architects

  • ICT Developers

  • Business Experts

For further information on Peppol/OpenPEPPOL see http://peppol.org

Benefits

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

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

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

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

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

  • Supports customers with need for more complex interactions.

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

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

1. Business processes

1.1. Parties and roles

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

Functionality and roles

1.1.1. Parties

Customer

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

Supplier

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

1.1.2. Roles

Creditor

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

Debtor

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

1.2. PINT Billing process

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

The invoicing process is shown in this workflow:

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

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

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

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

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

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

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

The invoicing process

This profile covers the following invoice processes:

P1

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

P2

Invoicing deliveries of goods and services based on a contract

P3

Invoicing the delivery of an incidental purchase order

P4

Pre-payment

P5

Spot payment

P6

Payment in advance of delivery

P7

Invoices with references to a despatch advice

P8

Invoices with references to a despatch advice and a receiving advice

P9

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

1.3. Invoice functionality

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

  • Accounting

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

  • Tax reporting

  • Auditing

  • Payment

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

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

  • Inventory management

  • Delivery processes

  • Customs clearance

  • Marketing

  • Reporting

1.3.1. Accounting

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

1.3.2. Invoice verification

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

  • the relevant purchase order

  • the contract

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

  • the Buyer’s reference

  • the confirmed receipt of the goods or services

  • delivery information

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

1.3.3. Auditing

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

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

  • identification of the relevant Buyer and Seller

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

  • information for connecting the invoice to its payment

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

1.3.4. Tax Reporting

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

The invoice shall allow the determination of the Tax regime, the calculation and description of the tax, in accordance with the relevant legislation.

1.3.5. Payment

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

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

Invoices, conformant with this specification should identify the means of payment for settlement of the invoice and clearly state what payment amount is requested. They should provide necessary details to support bank transfers. Payments by means of Credit Transfer, Direct debit, and Payment Card are in scope.

1.4. Credit notes and negative invoices

Reverting an invoice that has been issued and received can be done in two basic ways. Either by issuing a credit note or a negative invoice.

  • When crediting by means of a credit note, the document type code is '381' (or its synonym), and the credit note quantities and extension/total amounts have the same sign (plus or minus) as the invoice that is being cancelled/credited. The document type code acts as an indicator that the given amounts are booked in reverse and cancel out the invoice amounts.

  • When crediting by means of a negative invoice, the document type code is '380' (or its synonym), and the negative invoice quantities and extension/total amounts have the opposite sign (minus vs plus) as the invoice being cancelled/credited. It is the mathematical sign that indicates that when the amounts are booked they cancel out the original amounts. The Price Amount must always be positive.

A credit note may include negative amounts when cancelling an invoice that may have negative line items/amounts.

1.5. Malaysian business process

The following sections describe how the PINT MY Self Billing specification is applied to support local business processes.

1.5.1. Introduction to e-Invoicing in Malaysia

The Malaysian government, through its national digitalisation agenda outlined in the 12th Malaysia Plan (RMK-12) and the National e-Commerce Strategic Roadmap (NESR 2.0), aims to expand the digital economy through enhanced B2B trading. The Government has identified e-Invoicing as the catalyst to encourage businesses to go through digitalisation transformation.

In Malaysia, e-Invoicing is being implemented with two distinct yet complementing components; One is for business digitalisation and the other is for tax compliance. To encourage business adoption of e-Invoicing, MDEC has been mandated to play the role as Malaysia’s Peppol Authority, where MDEC will be accrediting Peppol service providers and Peppol-ready solution providers, specifying local requirements and technical standards, governing the overall Malaysian Peppol framework compliance, and promoting business adoption of e-Invoicing in Malaysia.

The Malaysian Government has announced during the retabled Budget 2023 that the Inland Revenue Board of Malaysia (IRBM) will implement e-Invoicing for tax reporting purposes in phases, starting from 1 June 2024 to 1 January 2027 for targeted taxpayers. Note that the timeline has been revised to 1 August 2024 (implementation target date for taxpayers with an annual turnover or revenue of more than RM100 million) to 1 July 2025 (implementation target date for all other taxpayers) pursuant to the recent Budget 2024 announcement. The IRBM plays a crucial role in the country’s fiscal policies, revenue collection, and the enforcement of tax laws.

1.5.2. E-Invoicing for Tax Reporting to IRBM

To improve tax compliance of individuals and businesses, taxpayers are required to submit their invoices for tax reporting purposes to IRBM’s MyInvois System. The transmission can be done through two (2) channels, namely the IRBM’s MyInvois Portal or through the published Application Programming Interface (API). Individual taxpayers and businesses that are not using an accounting software or Enterprise Resource Planning (ERP) software can submit their invoices through the IRBM’s MyInvois Portal, while businesses with ERP and/or accounting software may opt to submit their e-invoice through the IRBM’s MyInvois Portal or API.

Figure showing MDEC and IRBM combinded transactions.
Figure 1. MDEC and IRBM can work synergistically to combine B2B transactions and improved tax reporting through e-Invoicing.

1.5.3. Peppol as the Framework of choice for B2B Commercial e-Invoice Transactions

The government has mandated MDEC to implement e-Invoicing for business digitalisation (B2B), using the Peppol framework. The Peppol framework, being the most widely implemented e-invoicing framework globally, consists of technical specifications applicable to existing eProcurement solutions or ERP systems, enabling systematic interoperability between disparate systems across businesses and facilitating seamless e-invoice exchange.

To abide by the IRBM’s tax reporting requirements, Corner 2 SPs in the Peppol Network will submit only the required IRBM fields (e-Invoice for tax reporting purposes) contained in the commercial e-invoice sent by suppliers through the IRBM MyInvois Portal or APIs. Once the e-Invoice for tax reporting purposes have been returned validated by the IRBM, Corner 2 SPs will combine the original commercial e-invoice together with the IRBM’s validated e-Invoice (for tax reporting purposes) for transmission to Corner 3 SPs. Corner 3 SPs will then transmit the full e-Invoice to the customer to complete the transaction. The process can be seen in Figure 1.5.2.

IRBM has published a list of required fields for every taxpayer to submit to IRBM for tax reporting purposes. The fields can be found in Chapter 3: Tax Information.

1.5.4. Self-Billing in Malaysia.

Under a self-billing arrangement, the Buyer assumes the role of the Supplier to issue and submit a self-billed e-Invoice to IRBM for validation, where the validated self-billed e-Invoice would serve as a proof of expense for tax purposes. As the Peppol e-Invoicing framework is B2B-focused, the self-billing e-Invoicing process may occur in the following scenario: • Transactions which involve Foreign Suppliers who do not use Malaysia’s MyInvois System; and • Other circumstances where another party (other than the Supplier) will be allowed to issue self-billed e-Invoice on behalf of the Supplier, subject to the conditions as may be determined by the Director General of IRBM.

2. Business information

In the subchapters below you find description of selected parts of the transaction.

2.1. Parties

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

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

2.1.1. Seller (AccountingSupplierParty)

Seller is mandatory information and provided in element cac:AccountingSupplierParty

UBL example of seller information
<cac:AccountingSupplierParty>
    <cac:Party>
        <cbc:EndpointID schemeID="0230">2023010000001</cbc:EndpointID>
        (1)
        <cac:PartyIdentification>
            <cbc:ID schemeID="0230">2023010000001</cbc:ID>
            (2)
        </cac:PartyIdentification>
        <cac:PartyName>
            <cbc:Name>ABC Trading Sdn Bhd</cbc:Name>  (3)
        </cac:PartyName>
        <cac:PostalAddress>
            <cbc:StreetName>Jalan Raja Chulan</cbc:StreetName>
            <cbc:AdditionalStreetName>Postbox 123</cbc:AdditionalStreetName>
            <cbc:CityName>Kuala Lumpur</cbc:CityName>
            <cbc:PostalZone>52000</cbc:PostalZone>
            <cbc:CountrySubentity>Wilayah Persekutuan Kuala Lumpur</cbc:CountrySubentity>
            <cac:AddressLine>
                <cbc:Line>Third address line</cbc:Line>
            </cac:AddressLine>
            <cac:Country>
                <cbc:IdentificationCode>MY</cbc:IdentificationCode>  (4)
            </cac:Country>
        </cac:PostalAddress>
        <cac:PartyTaxScheme>
            <cbc:CompanyID>SSTRegistrationID</cbc:CompanyID>
            (5)
            <cac:TaxScheme>
                <cbc:ID>VAT</cbc:ID>  (6)
            </cac:TaxScheme>
        </cac:PartyTaxScheme>
        <cac:PartyTaxScheme>
            <cbc:CompanyID>TINID</cbc:CompanyID>
            <cac:TaxScheme>
                <cbc:ID>GST</cbc:ID>
            </cac:TaxScheme>
        </cac:PartyTaxScheme>
        <cac:PartyLegalEntity>
            <cbc:RegistrationName>ABC Trading Sdn Bhd</cbc:RegistrationName>  (7)
            <cbc:CompanyID>2023010000001</cbc:CompanyID>  (8)
            <cbc:CompanyLegalForm>Private Limited Company</cbc:CompanyLegalForm>
        </cac:PartyLegalEntity>
        <cac:Contact>  (9)
            <cbc:Name>Ahmad, Danial</cbc:Name>
            <cbc:Telephone>0320334568</cbc:Telephone>
            <cbc:ElectronicMail>ahmad.danial@abc.my</cbc:ElectronicMail>
        </cac:Contact>
    </cac:Party>
</cac:AccountingSupplierParty>
1 Seller electronic address (ibt-034), mandatory, the identification scheme identifier shall be chosen from the Electronic Address Scheme (EAS) list.
2 Seller identifier (ibt-029), if used, the identification scheme identifier shall be chosen from the entries of the list published by the ISO/IEC 6523 maintenance agency.
3 Sellers trading name (ibt-028).
4 Sellers country code (ibt-040).
5 Seller tax registration ID (ibt-031).
6 Tax scheme for the sellers tax registration. Use the appropriate code for the sellers jurisdiction, such as VAT or GST.
7 Seller legal registrated name (ibt-027).
8 Seller legal registration identifier (ibt-030), if used, the identification scheme identifier shall be chosen from the entries of the list published by the ISO/IEC 6523 maintenance agency.
9 Seller contact (ibg-06).

2.1.2. Buyer (AccountingCustomerParty)

Buyer is mandatory information and provided in element cac:AccountingCustomerParty

UBL example ofbuyer information
<cac:AccountingCustomerParty>
    <cac:Party>
        <cbc:EndpointID schemeID="0230">202181572952</cbc:EndpointID>
        (1)
        <cac:PartyIdentification>
            <cbc:ID schemeID="0230">202181572952</cbc:ID>
            (2)
        </cac:PartyIdentification>
        <cac:PartyName>
            <cbc:Name>Fruit King Enterprise Sdn Bhd</cbc:Name> (3)
        </cac:PartyName>
        <cac:PostalAddress>
            <cbc:StreetName>Jalan Kristal</cbc:StreetName>
            <cbc:AdditionalStreetName>7/72</cbc:AdditionalStreetName>
            <cbc:CityName>Shah Alam</cbc:CityName>
            <cbc:PostalZone>40000</cbc:PostalZone>
            <cac:AddressLine>
                <cbc:Line>Third line</cbc:Line>
            </cac:AddressLine>
            <cac:Country>
                <cbc:IdentificationCode>MY</cbc:IdentificationCode> (4)
            </cac:Country>
        </cac:PostalAddress>
        <cac:PartyTaxScheme>
            <cbc:CompanyID>SSTRegistrationID</cbc:CompanyID>
            (5)
            <cac:TaxScheme>
                <cbc:ID>VAT</cbc:ID> (6)
            </cac:TaxScheme>
        </cac:PartyTaxScheme>
        <cac:PartyLegalEntity>
            <cbc:RegistrationName>Fruit King Enterprise Sdn Bhd</cbc:RegistrationName> (7)
            <cbc:CompanyID>202181572952</cbc:CompanyID> (8)
        </cac:PartyLegalEntity>
        <cac:Contact> (9)
            <cbc:Name>Danny Khoo</cbc:Name>
            <cbc:Telephone>0175622845</cbc:Telephone>
            <cbc:ElectronicMail>Danny.khoo@buyer.my</cbc:ElectronicMail>
        </cac:Contact>
    </cac:Party>
</cac:AccountingCustomerParty>
1 Buyer electronic address (ibt-049), mandatory, the identification scheme identifier shall be chosen from the Electronic Address Scheme (EAS) list.
2 Buyer identifier (ibt-046), if used, the identification scheme identifier shall be chosen from the entries of the list published by the ISO/IEC 6523 maintenance agency.
3 Buyer trading name (ibt-045).
4 Buyer country code (ibt-055), mandatory.
5 Buyer tax registration ID (ibt-048).
6 Tax scheme for the buyer tax registration. Use the appropriate code for the buyers jurisdiction, such as VAT or GST.
7 Buyer legal registered name (ibt-044).
8 Buyer legal registration identifier (ibt-047), if used, the identification scheme identifier shall be chosen from the entries of the list published by the ISO/IEC 6523 maintenance agency.
9 Buyer contact (ibg-09).

2.1.3. Payment receiver (PayeeParty)

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

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

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

  2. identify the Factor as the Payee

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

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

2.1.4. Sellers Tax Representative (TaxRepresentativeParty)

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

UBL example of tax representative information
<cac:TaxRepresentativeParty>
    <cac:PartyName>
        <cbc:Name>TaxRepresentative Name</cbc:Name>
    </cac:PartyName>
    <cac:PostalAddress>
        <cbc:StreetName>Jalan PJU 8/8A2</cbc:StreetName>
        <cbc:AdditionalStreetName>Soho 1 23</cbc:AdditionalStreetName>
        <cbc:CityName>Petaling Jaya</cbc:CityName>
        <cbc:PostalZone>47820</cbc:PostalZone>
        <cbc:CountrySubentity>Petaling Jaya</cbc:CountrySubentity>
        <cac:AddressLine>
            <cbc:Line>Back door</cbc:Line>
        </cac:AddressLine>
        <cac:Country>
            <cbc:IdentificationCode>MY</cbc:IdentificationCode>
        </cac:Country>
    </cac:PostalAddress>
    <cac:PartyTaxScheme>
        <cbc:CompanyID>MY122324324535</cbc:CompanyID>
        (1)
        <cac:TaxScheme>
            <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
    </cac:PartyTaxScheme>
</cac:TaxRepresentativeParty>
1 Tax identifier of seller tax representative (ibt-063)

2.2. Delivery Details (Date and Location)

Delivery details may be given at document level.

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

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

UBL example of delivery information
<cac:Delivery>
    <cbc:ActualDeliveryDate>2023-11-15</cbc:ActualDeliveryDate>
    <cac:DeliveryLocation>
        <cbc:ID schemeID="0230">7300010000001</cbc:ID>
        <cac:Address> (1)
            <cbc:StreetName>Persiaran TRX</cbc:StreetName>
            <cbc:AdditionalStreetName>Menara The Exchange 106</cbc:AdditionalStreetName>
            <cbc:CityName>Kuala Lumpur</cbc:CityName>
            <cbc:PostalZone>55188</cbc:PostalZone>
            <cac:AddressLine>
                <cbc:Line>Lot 81-03A</cbc:Line>
            </cac:AddressLine>
            <cac:Country>
                <cbc:IdentificationCode>MY</cbc:IdentificationCode> (2)
            </cac:Country>
        </cac:Address>
    </cac:DeliveryLocation>
    <cac:DeliveryParty> (3)
        <cac:PartyName>
            <cbc:Name>Fruit King Enterprise Sdn Bhd</cbc:Name>
        </cac:PartyName>
    </cac:DeliveryParty>
</cac:Delivery>
1 Deliver to address (ibg-15), the address to which goods and services invoiced were or are delivered.
2 Deliver to country code (ibt-080), mandatory
3 Deliver to party name (ibt-070), the name of the party to which the goods and services are delivered.

2.3. References and attachments

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

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

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

2.3.1. Purchase order and sales order reference

The purchase order reference is a conditional business term. If the customer has issued a purchase order should be referenced by providing its identifier in the resulting invoice, otherwise the Buyer reference should be used (see Buyer reference).

If the purchase order is referenced at the invoice header level, the order reference element on line level can be used to state the relevant line numbers in the order .

A sales order is issued by the seller, confirming the sale of specified products and may be provided in the invoice.

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

2.3.2. Buyer reference

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

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

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

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

2.3.3. Invoiced object identifier

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

If it is not clear to the receiver what scheme is used for the identifier, an optional scheme identifier attribute should be used, that shall be chosen from the Invoiced object identifier scheme code list.

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

UBL example of invoiced object identifier
<cac:AdditionalDocumentReference>
    <cbc:ID schemeID="ABT">DR35141</cbc:ID>  (1) (2)
    <cbc:DocumentTypeCode>130</cbc:DocumentTypeCode> (3)
</cac:AdditionalDocumentReference>
1 Invoice object identifier scheme is given as an attribute on the identifier. It states the type of the identifier according to code list UN/CEFACT 1153
2 An identifier of an object that the invoice relates to.
3 A code that qualifies the identifier as an invoiced object identifiers. Document type code "130" qualifies that.

2.3.4. Contract reference

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

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

2.3.5. Despatch and receipt advice references

Document level

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

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

When an invoice is charging items that have been delivered with separate despatches the references should be provided on the line level as follows. When the invoiced quantity of an item has been delivered by more than one despatch the invoice shall have separate lines for each despatch. When despatches are referenced on line level there shall not be a reference on document level.

UBL example of despatch and receipt advice
 <cac:InvoiceLine>
    <cac:DespatchLineReference>
        <cac:DocumentReference>
            <cbc:ID>despadv-3</cbc:ID> (1)
        </cac:DocumentReference>
    <cac:DespatchLineReference>
</cac:InvoiceLine>
1 Despatch advice

2.3.6. Tender reference

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

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

2.3.7. Project reference

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

NOTE

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

UBL example of project reference in an invoice
<cac:ProjectReference>
    <cbc:ID>project333</cbc:ID>
</cac:ProjectReference>

2.3.8. Preceding invoice references

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

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

2.3.9. Attachments

An invoice may contain a supportive document as informative. Examples of such documents may be work reports, certificates or other documents that relate to the purchase or the invoiced items. A supportive document can be attached to the invoice in two ways: by providing a direct hyperlink through which the document can be downloaded or by embedding the document into the invoice. A compliant receiver is required to be able to receive an attached supportive document and, in case of embedded files, to convert it into a file but he is not required to handle the content of that file since it is only provided as informative.

When attaching a document using an uri the hyperlink shall point directly to the file that is to be downloaded.

An embedded document is contained in the invoice as binary object using base64 encoding and shall be supplemented with information about the name of the document file and a mime code indicating the type of the file. This allows the receiver to convert the binary code into a file that has the same name as the original file and allows him to associate the received file to a suitable application for viewing its content. The set of allowed codes for the file type (mime code) is limited to types that can be opened with applications that are commonly used and available.

As is with other file types, when an attached file is an XML file the receiver is expected to be able to receive and convert the binary object into an XML file but the sender can not expect the receiver to view or process the content of that XML file. Any further handling of an embedded XML file attachment is optional for the receiver.

UBL example of a document attachment using URI
 <cac:AdditionalDocumentReference>
    <cbc:ID>ts12345</cbc:ID> (1)
    <cbc:DocumentDescription>Technical specification</cbc:DocumentDescription> (2)
    <cac:Attachment>
        <cac:ExternalReference>
            <cbc:URI>www.ABC-engineering.my</cbc:URI> (3)
        </cac:ExternalReference>
    </cac:Attachment>
</cac:AdditionalDocumentReference>
UBL example of an embedded document attachment
<cac:AdditionalDocumentReference>
    <cbc:ID>mr4343</cbc:ID> (1)
    <cbc:DocumentDescription>milage report</cbc:DocumentDescription> (2)
    <cac:Attachment>
        <cbc:EmbeddedDocumentBinaryObject mimeCode="text/csv" filename="milage.csv"
            >bWlsYWdlIHJlcG9ydA==</cbc:EmbeddedDocumentBinaryObject> (4)
    </cac:Attachment>
</cac:AdditionalDocumentReference>
  1. An identifier of the supporting document (ibt-122)

  2. A description of the supporting document (ibt-123)

  3. The URL (Uniform Resource Locator) that identifies where the external document is located (ibt-124)

  4. An attached document embedded as binary object or sent together with the invoice. (ibt-125). The file type is given with the attribute "mimeCode" (ibt-125-1) and the name of the original file is given in the attribute "filename" (ibt-125-2).

2.4. Embedded document attachment

The use of embedded attachments in MY PINT does not require advance agreement between a sender and receiver and is embedded either as a binary object or sent together with the invoice using cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject (ibt-125). Attachments have the following requirements to be considered valid:

  • The attachment is a binary object embedded with BASE64 encoding

  • The attachment has two attributes: @mimeCode and @filename

  • Attribute @mimeCode is used to show the mediatype of the attachment.

The following values are allowed for @mimeCode:

  • Document: application/pdf

  • Image: image/png, image/jpeg

  • Cell structured: text/csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.oasis.opendocument.spreadsheet

Attribute @filename is provided by, or on behalf of, the sender of the invoice. The receive should not assume that the name in @filename will be unique in the receiver’s system. There is no limit to the number of embedded attachments, nor to the size of an individual attachment - however Peppol SLAs may govern the size of the entire message.

2.5. Document attachment using URI

In some cases an attachment may be provided as a URI linking to an externally hosted file. Two situations where the use of external document could be the better option are:

  • To separate sensitive information from the invoice itself

  • To accommodate for large attachments.

2.6. Allowances and Charges

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

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

The header level

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

  • Several allowances and charges may be supplied

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

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

The line level

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

  • Several allowances and charges may be supplied

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

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

The line level Price element

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

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

  • Specification of TAX for allowance shall not be specified

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

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

UBL example of Allowances and Charges on the document level
<cac:AllowanceCharge>
    <cbc:ChargeIndicator>true</cbc:ChargeIndicator> (1)
    <cbc:AllowanceChargeReasonCode>FC</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Freight service</cbc:AllowanceChargeReason>
    <cbc:MultiplierFactorNumeric>20</cbc:MultiplierFactorNumeric> (4)
    <cbc:Amount currencyID="MYR">200</cbc:Amount> (5)
    <cbc:BaseAmount currencyID="MYR">1000</cbc:BaseAmount> (3)
    <cac:TaxCategory>
        <cbc:ID>T</cbc:ID>
        <cbc:Percent>6</cbc:Percent>
        <cac:TaxScheme>
            <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
    </cac:TaxCategory>
</cac:AllowanceCharge>
<cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator> (2)
    <cbc:AllowanceChargeReasonCode>65</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Production error discount</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="MYR">300</cbc:Amount>
    <cac:TaxCategory>
        <cbc:ID>T</cbc:ID>
        <cbc:Percent>6</cbc:Percent>
        <cac:TaxScheme>
            <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
    </cac:TaxCategory>
</cac:AllowanceCharge>
1 ChargeIndicator = true to indicate a charge
2 ChargeIndicator = false to indicate an allowance
3 Base amount, to be used with the percentage to calculate the amount
4 Charge percentage
5 \$"Amount" = "Base amount" times ("Percentage" div 100)\$
UBL example of Allowances and Charges on invoice line
<cac:InvoiceLine>
    <!-- Code omitted for clarity -->
    <cac:AllowanceCharge>
        <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
        <cbc:AllowanceChargeReasonCode>CG</cbc:AllowanceChargeReasonCode>
        <cbc:AllowanceChargeReason>Cleaning</cbc:AllowanceChargeReason>
        <cbc:MultiplierFactorNumeric>10</cbc:MultiplierFactorNumeric>
        <cbc:Amount currencyID="MYR">1</cbc:Amount>
        <cbc:BaseAmount currencyID="MYR">10</cbc:BaseAmount>
    </cac:AllowanceCharge>
    <cac:AllowanceCharge>
        <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
        <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
        <cbc:AllowanceChargeReason>Discount</cbc:AllowanceChargeReason>
        <cbc:Amount currencyID="MYR">101</cbc:Amount>
    </cac:AllowanceCharge>

2.7. Payment means information

2.7.1. Credit transfer

Payment means code 30 as defined below shall be supported by all receivers of a PINT compliant invoice. This payment method acts as the common denominator for global trade.

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

Examples of codes for payment by credit transfer are:

  • 30 - Credit transfer

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

2.7.2. Card Payment

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

Examples of codes for payment by card are:

  • 48 - Bank card

  • 54 - Credit card

  • 55 - Debit card

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

2.7.3. GIRO

If payment is made by the GIRO-system (direct debit)

  • Z01 - GIRO

PaymentTerms/Note can be used to indicated additional information about payment date.

UBL example of payment means info when payment is done by GIRO
<cac:PaymentMeans>
  <cbc:PaymentMeansCode name="GIRO">Z01</cbc:PaymentMeansCode> (1)
  <cbc:PaymentID>93274234</cbc:PaymentID> (2)
</cac:PaymentMeans>
  1. Mandatory, payment means code

  2. Remittance information

2.7.4. DuitNow

If payment is made by DuitNow

  • Z03

PaymentTerms/Note can be used to indicated additional information about payment date.

UBL example of payment means info when payment is done by DuitNow
<cac:PaymentMeans>
    <cbc:PaymentMeansCode name="DuitNow">Z03</cbc:PaymentMeansCode>(1)
    <cac:PayeeFinancialAccount>
        <cbc:ID>018-2341643</cbc:ID>(2)
    </cac:PayeeFinancialAccount>
</cac:PaymentMeans>
  1. Mandatory, payment means code

  2. Recipient’s Phone Number

2.7.5. FPX

If payment is made by FPX

  • Z04

PaymentTerms/Note can be used to indicated additional information about payment date.

UBL example of payment means info when payment is done by FPX
<cac:PaymentMeans>
    <cbc:PaymentMeansCode name="FPX">Z04</cbc:PaymentMeansCode>(1)
    <cac:PayeeFinancialAccount>
        <cbc:ID>Maybank Berhad#12341145167875</cbc:ID>(2)
         <cbc:Name>ABC Trading SDN BHD<cbc:Name>(3)
    </cac:PayeeFinancialAccount>
</cac:PaymentMeans>
  1. Mandatory, payment means code

  2. Supplier’s Bank Name#Supplier’s Bank Account Number

  3. Supplier’s Name

2.7.6. JomPay

If payment is made by JomPay

  • Z05

PaymentTerms/Note can be used to indicated additional information about payment date.

UBL example of payment means info when payment is done by JomPay
<cac:PaymentMeans>
    <cbc:PaymentMeansCode name="JomPay">Z05</cbc:PaymentMeansCode>(1)
    <cac:PayeeFinancialAccount>
        <cbc:ID>4567/82464/935162</cbc:ID>(3)
         <cbc:Name>ABC Trading SDN BHD<cbc:Name>(3)
    </cac:PayeeFinancialAccount>
</cac:PaymentMeans>
  1. Mandatory, payment means code

  2. Supplier’s JomPay Biller’s Code

  3. Supplier’s JomPay Biller’s Name

2.7.7. MyDebit

If payment is made by MyDebit

  • Z06

PaymentTerms/Note can be used to indicated additional information about payment date.

UBL example of payment means info when payment is done by MyDebit
<cac:PaymentMeans>
    <cbc:PaymentMeansCode name="MyDebit">Z06</cbc:PaymentMeansCode>(1)
</cac:PaymentMeans>
  1. Mandatory, payment means code

2.7.8. RENTAS

RENTAS stands for Real Time Electronic Transfer of Funds and Securities.

If payment is made by MyDebit

  • Z07

PaymentTerms/Note can be used to indicated additional information about payment date.

UBL example of payment means info when payment is done by Rentas
<cac:PaymentMeans>
    <cbc:PaymentMeansCode name="MyDebit">Z07</cbc:PaymentMeansCode>(1)
    <cac:PayeeFinancialAccount>
        <cbc:ID>Maybank Berhad#12341145167875</cbc:ID>(2)
    </cac:PayeeFinancialAccount>
</cac:PaymentMeans>
  1. Mandatory, payment means code

  2. Supplier’s Bank Name#Supplier’s Bank Account Number

2.7.9. Telegraphic Transfer (TT)

TT is an electronic method of transferring funds used primarily for overseas wire transactions.

If payment is made by TT

  • Z08

PaymentTerms/Note can be used to indicated additional information about payment date.

UBL example of payment means info when payment is done by Telegraphic Transfer
<cac:PaymentMeans>
    <cbc:PaymentMeansCode name="MyDebit">Z08</cbc:PaymentMeansCode>(1)
    <cac:PayeeFinancialAccount>
        <cbc:ID>Maybank Berhad#12341145167875</cbc:ID>(2)
    </cac:PayeeFinancialAccount>
</cac:PaymentMeans>
  1. Mandatory, payment means code

  2. Supplier’s Bank Name#Supplier’s Bank Account Number

2.8. Item information

2.8.1. Item identifiers

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

UBL example of item identifiers
<cac:BuyersItemIdentification>
    <cbc:ID>b-13214</cbc:ID>
</cac:BuyersItemIdentification>
<cac:SellersItemIdentification>
    <cbc:ID>97iugug876</cbc:ID>
</cac:SellersItemIdentification>
<cac:StandardItemIdentification>
    <cbc:ID schemeID="0160">97iugug876</cbc:ID> (1)
</cac:StandardItemIdentification>
1 0160 is the ICD value for a GTIN identifier

2.8.2. Item classification

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

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

2.9. Price information

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

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

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

2.10. Unit of measure

Unit of measure in an invoice allows the use of codes from UNECE Recommendation No. 20 (version 11e), as well as codes from UNECE Recommendation No. 21 prefixed with an X.

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

H87

Piece

KGM

Kilogram

MTR

Meter

LTR

Litre

MTK

Square metre

MTQ

Cubic metre

KTM

Kilometre

TNE

Tonne (metric ton)

KWH

Kilowatt hour

DAY

Day

HUR

Hour

MIN

Minute

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

XBG

Bag

XBX

Box

XCT

Carton

XCY

Cylinder

XBA

Barrel

XPK

Package

XPX

Pallet

XRL

Reel

XSA

Sack

XST

Sheet

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

3. Tax information

In a PINT compliant invoice most tax related information is aligned to national legislation and only the following is shared in an identical way globally.

Invoice total tax amount is calculated as the sum of tax category amounts and is defined as being a consumption tax that is applied at the time of sale. Most common of these are Value added tax, Consumption Tax, Goods and Service tax or Sales tax. The name of the tax and exact rule on how it is applied and the information that is required depends on national legislation.

3.1. Tax in accounting currency

If the invoice currency is different from the accounting currency, this is expressed in the invoice by stating the accounting currency in the element Tax accounting currency (IBT-6), and the amount of TAX payable in accounting currency is stated in the element Invoice total TAX amount in accounting currency (IBT-111).

UBL example of TAX currency
Known issue: The tax amount in national currency is not used in the Malaysian eInvoice but full removal of this section is pending update to the general PINT specification.
1 Invoice currency
2 Accounting currency
3 TAX amount in invoice currency
4 TAX amount in accounting currency

Following sections given information on how the tax is applied in the relevant jurisdiction.

4. Local Tax Information

This section contains information about Malaysian Sales and Service Tax (SST) and Tourism Tax (TTx). In the event of any conflict or ambiguity, latest tax legislation and guidance from the relevant tax authorities should take precedence.

4.1. Overview of SST in Malaysia

SST is a single-stage tax which is levied on all locally manufactured / imported taxable goods and certain prescribed taxable services (acquired locally or imported), respectively. Generally, sales tax would be chargeable at the rate of 5%, 10%, or at a specific rate for prescribed products, unless otherwise exempted. Meanwhile, service tax would be chargeable at the rate of 6% or 8%, except for credit card services which would be subject to service tax of RM25 per card annually.

With effect from 1 January 2019, the scope of service tax was expanded to include any imported taxable services. “Imported taxable service” means any taxable service acquired by any person in Malaysia from any person who is outside of Malaysia. Information relating to issuing sales tax and service tax invoices can be found at https://mysst.customs.gov.my/GeneralGuide.

4.2. Overview of TTx in Malaysia

TTx is a tax charged and levied on a tourist staying at any accommodation premises made available by an operator at the fixed rate of RM 10.00 per room per night. Note that Malaysian nationals and permanent residents of Malaysia are exempted from paying TTx.

More information relating to TTx is available at https://www.myttx.customs.gov.my/legislation-guides-forms/.

4.3. Overview of Sales Tax on Low Value Goods (LVG) in Malaysia

Sales tax on low value goods (LVG) is a tax charged and levied at a rate of 10% on LVG effective from 1 January 2024. LVG are goods or class of goods from outside Malaysia that are sold in the online marketplace at a price of not exceeding MYR500 and brought into Malaysia via road, sea or air modes. More information related to sales tax on LVG and invoicing requirements is available on the RMCD’s website.

4.4. Overview of High Value Goods Tax (HVGT) in Malaysia

The Malaysian government has proposed to implement a tax on high value goods, termed 'High Value Goods Tax' (HVGT), expected to be effective from 1 May 2024. Further information on this will be released by the relevant Malaysian tax authorities in due course.

4.5. SST Registration and Rates

Any person manufacturing taxable goods with annual taxable sales value exceeding RM500,000 must be registered for sales tax. Currently, goods are generally subject to sales tax rate of 10%. However, some goods are taxed at a reduced rate of 5%, some at specific rates and some specifically exempt. Any person providing taxable services with total value exceeding the prescribed threshold must register for service tax. The threshold is generally RM500,000 but varies depending on the service provided. Currently, service tax is charged at a fixed rate of 8%. Note that tax rates and exemptions above are subject to change. In the event of any conflict or ambiguity, latest tax legislation and guidance from the relevant tax authorities should take precedence.

4.6. Tax Scheme

For businesses that are registered for SST and / or TTx, the default value for TaxScheme ID should be “VAT” respectively in the following elements:

Supplier: Invoice/AccountingSupplierParty/Party/PartyTaxScheme/TaxScheme/ID
Buyer: Invoice/AccountingCustomerParty/Party/PartyTaxScheme/TaxScheme/ID
Tax Representative: Invoice/Tax Representative/PartyTaxScheme/TaxScheme/ID
Document level allowances and charges: Invoice/AllowanceCharge/TaxCategory/TaxScheme/ID
Tax subtotal: Invoice/TaxTotal/TaxSubtotal/TaxCategory/TaxScheme/ID
Invoice line item: Invoice/InvoiceLine/Item/ClassifiedTaxCategory/TaxScheme/ID

4.7. Tax Category Code

Peppol supports Tax category codes which are detailed in the tax category codes (subset of UNCL5305):

In the context of MY specification, the following codes can be used: Categories:

  • T – Applicable tax rate

  • E – Exempt from tax

  • O – Outside scope of tax

If a business is not registered for SST and/or TTx, the business is not allowed to charge sales tax, service tax or tourism tax in the e-Invoice. In this case, the tax category code should be ‘O’ (Outside scope of tax).

4.8. Implementation of "VAT" as Tax Scheme ID as equivalent to Malaysia "SST and TTx" in e-Invoice Specification.

Line item tax information

Each invoice line item shall have a tax scheme cac:TaxScheme (ibt-167), tax category code cac:ClassifiedTaxCategory/cbc:ID (ibt-151), and for all tax categories the relevant tax rate cbc:Percent (ibt-152).

Document level tax total

Tax Subtotals:

One tax subtotal (ibg-23) shall be provided for each distinct combination of tax scheme cac:TaxScheme (ibt-167)/(ibt-102-1)/(ibt-095-1), tax category code cac:ClassifiedTaxCategory/cbc:ID (ibt-151)/(ibt-102)/(ibt-095), and tax rate cbc:Percent (ibt-152)/(ibt-103)/(ibt-096) found in either the line tax information or the document level allowance or charges.

Document level total tax amount:

The invoice total tax amount (ibt-110) is the sum of all tax category tax amounts (ibt-117). The invoice total tax amount is calculated by summing up where tax scheme is either SST or TTx.

4.8.1. Seller tax identifier

The Seller TAX identifier (ibt-031) / (ibt-032) should be used for these purposes:

  • The Seller’s tax identification number (TIN) (e.g. EI00000000030).

  • The Seller’s SST registration number (e.g. A-01-2345-67891012).

Where the business is not registered for SST, input NA.

4.8.2. Buyer tax identifier

The Buyer tax identifier (ibt-048) should be used for the Buyer’s SST registration number (e.g., B01-2345-67891012). Where the Buyer is not registered for SST, Seller to input NA.

4.8.3. Variations and Exemptions

A MY e-Invoice can have variations (e.g. some items subject to varying SST rates while others exempt from SST, some items subject to a percentage tax rate while others subject to a fixed tax amount). This can be handled at line item level cbc:Description (ibt-154) / tax scheme cac:TaxScheme (ibt-167) / cbc:TaxCategory (ibt-118) / tax rate cbc:Percent (ibt-119) / cbc:TaxAmount (ibt-117) / tax exemption reason text cac:TaxExemptionReason (ibt-185).

4.8.4. Document level allowance or charge

Each document level charge or allowance must have a document level allowance tax category code (ibt-095) or a document level charge tax category code (ibt-102), and for all tax categories other than 'O' (outside the scope of tax) the tax rate shall be provided.

4.8.5. SST Invoice Requirements

Note that sales tax and service tax invoice requirements listed below are non-exhaustive and may be subject to change. In the event of any conflict or ambiguity, latest tax legislation and guidance from the Royal Malaysian Customs Department (RMCD) should take precedence. For more information on SST invoice requirements, please refer to RMCD guidance at https://mysst.customs.gov.my/GeneralGuide.

Sales Tax Invoice Requirements

All manufacturers registered for sales tax have a statutory obligation to issue an invoice for any transaction relating to the sale of taxable goods. The invoice issued must comply with the following requirements:

  1. Invoice serial number;

  2. Date of the invoice;

  3. Name, address and identification number of the registered manufacturer;

  4. Name and address of the person to whom the taxable goods is sold;

  5. A sufficient description of the taxable goods sold;

  6. Any discount offered;

  7. For each description, distinguish the type of taxable goods, quantity of the taxable goods and the amount payable excluding sales tax;

  8. Total amount payable excluding sales tax, the rate of sales tax and the total sales tax chargeable shown as a separate amount:

    • the total amount payable inclusive of the total of sales tax chargeable;

  9. Any amount expressed in a currency other than Ringgit shall also be expressed in Ringgit at the selling rate of exchange prevailing in Malaysia at the time of sale of the taxable goods; and

  10. It must be in the national language or English language;

4.8.6. Service Tax Invoice Requirements (non-exhaustive – refer to RMCD guideline)

Every person registered for service tax has a statutory obligation to issue an invoice for any provision of taxable services, unless approval by the Director General to not issue an invoice is obtained. The invoice issued must comply with the following requirements:

  1. Invoice serial number;

  2. Date of the invoice;

  3. Name, address and identification number of the registered manufacturer;

  4. Name and address of the person to whom the taxable goods is sold;

  5. A sufficient description of the taxable goods sold;

  6. Any discount offered;

  7. For each description, distinguish the type of taxable goods, quantity of the taxable goods and the amount payable excluding sales tax;

  8. Total amount payable excluding sales tax, the rate of sales tax and the total sales tax chargeable shown as a separate amount:

    • the total amount payable inclusive of the total of sales tax chargeable;

  9. Any amount expressed in a currency other than Ringgit shall also be expressed in Ringgit at the selling rate of exchange prevailing in Malaysia at the time of sale of the taxable goods; and

  10. It must be in the national language or English language;

4.8.7. TTx Invoice Requirements

Note that TTx invoice requirements listed below are non-exhaustive and may be subject to change. In the event of any conflict or ambiguity, latest tax legislation and guidance from the Royal Malaysian Customs Department (RMCD) should take precedence. For more information on TTx invoice requirements, please refer to RMCD guidance at https://www.myttx.customs.gov.my/legislation-guides-forms/.

Every operator registered for TTx is statutorily obligated to issue an invoice, receipt or other document (other document includes local order and statement of account) to the tourist in respect of the accommodation provided. The invoice issued must comply with the following requirements:

  1. Invoice serial number;

  2. Date of the invoice;

  3. Name, address and TTx registration number of the operator;

  4. Name and address of the person to whom the accommodation premises are provided;

  5. Rate and amount of TTx payable, separately from the charges for the accommodation provided by the provider; and

  6. It must be in the national language or English language. If TTx is not charged in the invoice, it is not mandatory to state the reason for exemption. However, the RMCD still encourages operators to do so for audit purposes.

5. Rules

The information given in a PINT invoice must comply to a set of rules on the content of the business terms as well as the relationship between them.

5.1. Calculations

5.1.1. Calculation of totals

Formulas for the calculations of totals are as follows:

Business term id Term name Calculation

IBT-106

Sum of invoice line net amounts

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

IBT-107

Sum of allowances on document level

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

IBT-108

Sum of charges on document level

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

IBT-109

Invoice total amount without TAX

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

IBT-110

Invoice total TAX amount

\$sum("IBT-117: TAX category tax amount")\$

IBT-112

Invoice total amount with TAX

\$\ \ \ \ "IBT-109: Invoice total amount without TAX"\$
\$+ \ "IBT-110: Invoice total TAX amount"\$

IBT-115

Amount due for payment

\$\ \ \ \ "IBT-112: Invoice total amount with TAX"\$
\$- \ "IBT-113: Paid amount"\$
\$+ \ "IBT-114: Rounding amount"\$

5.1.2. UBL syntax calculation formulas

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

Element Formula

<cbc:LineExtensionAmount>

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

<cbc:AllowanceTotalAmount>

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

<cbc:ChargeTotalAmount>

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

<cbc:TaxExclusiveAmount>

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

<cbc:TaxInclusiveAmount>

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

<cbc:PrepaidAmount>

Not applicable

<cbc:PayableRoundingAmount>

Not applicable

<cbc:PayableAmount>

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

Element for rounding amount, the PayableRoundingAmount

It is possible to round the expected payable amount.

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

5.1.3. Calculation on line level

Item net price (IBT-146)

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

Calculation formula:

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

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

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

The formula for calculating the invoice line net amount is:

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

If the line net amount must be rounded to maximum decimals, please note that the different parts of the calculation must be rounded separately.
I.e the result of: \$"Item line net amount" = (("Item net price (IBT-146)" div "Item price base quantity (IBT-149)") times ("Invoiced Quantity (IBT-129)")\$ must be rounded to maximum decimals, and the allowance/charge amounts are also rounded separately.
UBL example of invoice line net amount where no line allowance/charge exist
<cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>(3)
<cbc:LineExtensionAmount currencyID="MYR">1000.00</cbc:LineExtensionAmount>(4)
<!-- Code omitted for clarity-->
<cac:Price>
    <cbc:PriceAmount currencyID="MYR">200</cbc:PriceAmount>(1)
    <cbc:BaseQuantity unitCode="C62">2</cbc:BaseQuantity>(2)
</cac:Price>
1 Item net price
2 Item price base quantity
3 Invoiced quantity
4 \$"Invoice line net amount" = (("Item net price" div "Item price base quantity") times ("Invoiced Quantity")\$
UBL example of invoice line net amount where line allowance and charge exist
<cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>(4)
<cbc:LineExtensionAmount currencyID="MYR">900.00</cbc:LineExtensionAmount>(5)
<!-- Code omitted for clarity-->
 <cac:AllowanceCharge>
    <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>CG</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Charge</cbc:AllowanceChargeReason>
    <cbc:MultiplierFactorNumeric>1</cbc:MultiplierFactorNumeric>
    <cbc:Amount currencyID="MYR">1</cbc:Amount>(2)
    <cbc:BaseAmount currencyID="MYR">100</cbc:BaseAmount>
</cac:AllowanceCharge>
<cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Discount</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="MYR">101</cbc:Amount>(3)
</cac:AllowanceCharge>
<!-- Code omitted for clarity-->
<cac:Price>
    <cbc:PriceAmount currencyID="MYR">100</cbc:PriceAmount>(1)
</cac:Price>
1 Item net price
2 Line charge amounts
3 Line allowance amount
4 Invoiced quantity
5 \$"Invoice line net amount" = ("Item net price" times "Invoiced Quantity") + "line charge amount" - "line allowance amount"\$

5.1.4. Calculation of allowance/charge amount

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

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

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

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

5.2. Rounding

5.2.1. Shared rounding rules

A maximum of two digits are allowed for the following amounts in an invoice.

  • Document level allowance amount (ibt-092)

  • Document level charge amount (ibt-099)

  • Sum of allowances on document level (ibt-107)

  • Sum of charges on document level (ibt-108)

  • Invoice total amount without TAX (ibt-109)

  • Invoice total TAX amount (ibt-110)

  • Invoice total amount with TAX (ibt-112)

  • Amount due for payment (ibt-115)

5.3. Malaysia Rounding Alignment

The MY PINT Specification has taken into account of Bank Negara Malaysia’s directive that all transactions made over the counter to be rounded (up or down) to the nearest 5 cent (RM0.05) for the final total of the transaction. However, the rounding up and down to the nearest 5 cent shall be handled by Supplier’s system and Peppol will have validation rules for the amount to be at 2 decimal points.

5.4. Aligned calculations

This section explains how tax is calculated in the jurisdiction as well as other rules thar are specific to the jurisdiction.

5.5. Tax Calculation in MY

5.5.1. Values dependent on tax category

The tax rate and tax category tax amount shall be zero for tax categories that are not subject to tax (i.e. O - ‘Outside scope of tax’ or E - ‘Exempt from tax’). A MY invoice may include a mixture of different tax categories, e.g. some invoice items are subject to general rate (i.e. tax category code is "T" with applicable tax rate or tax amount), while other items may be tax exempt (i.e. tax category code is "E", tax rate is 0%).

In Malaysia, if a business is not registered for SST or TTx, the business is not allowed to issue invoices which contain service tax, sales tax or TTx. In this case, the tax category code should be 'O' (Outside scope of tax).

MY e-Invoices that contain amounts with a tax category of 'O' (Outside the scope of tax):

  • must have only one tax breakdown, where the tax category tax amount shall be zero

  • cannot contain amounts with any other tax category

  • cannot contain Tax category rate (ibt-119)

5.5.2. Calculation

One Tax breakdown (ibg-23) shall be provided for each distinct combination of Tax category code and Tax rate found in either the line tax information or the Document level allowance or charge. For each distinct combination of tax category code and tax rate the calculations are:

\$TaxCategoryTaxableAmount (ibt-116) = ∑(InvoiceLineNetAmounts (ibt-131)) + InvoiceLineChargeAmount (ibt-141) – InvoiceLineAllowanceAmount (ibt-136)\$

\$TaxCategoryTaxAmount (ibt-117) = TaxCategoryTaxableAmount (ibt-116) x (SSTrate (ibt-119) ÷100)\$

Tax category tax amount (ibt-117) shall be zero if Tax category code (ibt-118) equals to “E” (Exempt from tax) or “O” (Outside scope of tax).

UBL example of calculations of Tax Breakdown

5.5.3. Amending tax amounts:

Incorrect tax amounts can be amended by cancelling the invoice (through a Credit Note or negative invoice) and issuing a new invoice with the correct tax, or issuing a new invoice that effectively cancels the prior and charges the correct tax amount. See example below of an invoice which has previously been issued with an incorrect tax category (e.g. ‘E’ Exempt from tax when it should have been ‘T’ Teneral rate) – a subsequent invoice could be issued with a line reversing the incorrect charge and tax and adding a line with the correct values:

Invoice line

Sum of invoice line net amount (ibt-106)

Tax category code (ibt-118)

Tax rate (ibt-119)

Invoice total amount without TAX (ibt-109)

Invoice total TAX amount (ibt-110)

Prior invoice

1

300.20

E

0%

Total

300.20

0.00

New invoice

1

-300.20

E

0%

2

300.20

T

10%

Total

0.00

30.20

Balance of buyer’s accounts payable

300.20

30.20

UBL example of calculations for amending tax amounts:

5.5.4. IRBM Calculation Validation Criteria

Arithmetic calculation forms part of IRBM’s e-Invoice validation criteria. IRBM will check and verify that the numerical values within the invoice (e.g. totals, subtotals and taxes are mathematically accurate). For more information on IRBM’s calculation validation criteria, please refer to the latest IRBM e-Invoice Guideline and Specific Guideline: https://www.hasil.gov.my/en/e-invoice/e-invoice-guideline-and-catalogue/.

6. Technical details

Following section provide technical details.

6.1. BIS Identifiers

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

6.1.1. Profiles and messages

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

Profiles are connected to one business process, and may contain multiple document types. Valid document instances shall contain corresponding Business process type (IBT-23) and Specification identifier (IBT-24).

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

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

Type Element cbc:CustomizationID Element cbc:ProfileID

Invoice and credit note

urn:peppol:pint:selfbilling-1@my-1

urn:peppol:bis:selfbilling

In the customization element the specialization is a short id that indentifies the specialization. As example my-1 is for the Malaysian self billing invoice, where -1 is a versioning number for the specialization.

UBL example of profile identifier
<cbc:CustomizationID>urn:peppol:pint:selfbilling-1@my-1</cbc:CustomizationID>
<cbc:ProfileID>urn:peppol:bis:selfbilling</cbc:ProfileID>

6.2. Datatypes

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

6.2.1. Primitive types

Semantic data type content may be of the following primitive types. These primitive types were taken from ISO15000, Annex A.

Primitive type Definition

Binary

A set of finite-length sequences of binary digits.

Date

Time point representing a calendar day on a time scale consisting of an origin and a succession of calendar ISO8601.

Decimal

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

String

A finite sequence of characters.

6.2.2. Semantic data types

The different semantic data types are described in the tables below, where various features such as attributes, format, and decimals as well as the basic type are defined for each semantic data type. They are based on {ISO15000}.

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

Amount

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

Component Use Primitive Type Example

Content

Mandatory

Decimal

10000

Unit Price Amount

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

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

Content

Mandatory

Decimal

10000.1234

Percentage

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

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

Content

Mandatory

Decimal

34.7812

Quantity

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

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

Content

Mandatory

Decimal

10000.1234

Code

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

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

Content

Mandatory

String

Abc123

Indicator

Indicators are used to give bolean values to state whether something is (true) or is not (false).

Indicators shall be used in lower case.
Default value is "false" and applies if the relevant business term is not used.
Component Use Primitive Type Allowed values

Content

Mandatory

String

false

true

Identifier

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

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

Content

Mandatory

String

abc:123-DEF

Scheme identifier

Optional

String

GLN

Scheme version identifier

Optional

String

1.0

Date

Dates shall be in accordance to the “Calendar date complete representation” as specified by {ISO8601}, format YYYY-MM-DD.

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

Content

Mandatory

Date

2017-12-01

Time

Time shall be according to UBL allowed format.

Time may include timezone information.
Table 4. EN 16931_ Date. Type
Component Use Primitive Type Allowed forms

Content

Mandatory

Date

13:20:00 (1:30 PM)

13:20:30.55 (30.55 sec)

13:20:00Z (UTC)

13:20:00-05:00 (UTC-5)

00:00:00 (midnight)

24:00:00 (midnight)

Time formats without time zone information (i.e. other than hh:mm:ssz and hh:mm:ss-h) shall be interpreted as being in the time zone of the sellers address and according to daylight saving status on the issue date of the invoice.

Document Reference

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

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

Content

Mandatory

String

abc:123-DEF

Text

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

Component Use Primitive Type Example

Content

Mandatory

String

5% allowance when paid within 30 days

Binary object

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

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

Component Use Primitive Type Example

Content

Mandatory

Binary

QmFzZTY0IGNvbnRlbnQgZXhhbXBsZQ==

Mime Code

Mandatory

String

image/jpeg

Filename

Mandatory

String

drawing5.jpg

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

6.3. UBL schemas and namespaces

The XML schemas used are

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

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

6.4. Glossary

electronic invoice - invoice that has been issued, transmitted and received in a structured electronic format which allows for its automatic and electronic processing

semantic data model - structured set of logically interrelated information elements

information element - semantic concept that can be defined independent of any particular representation in a syntax

structured information element - information element that can be processed automatically

syntax - machine-readable language or dialect used to represent the information elements contained in an electronic document (e.g. an electronic invoice)

business term - label assigned to a given information element which is used as a primary reference

core invoice model - semantic data model of the core elements of an electronic invoice

core elements of an electronic invoice - set of essential information elements that an electronic invoice may contain in order to enable cross-border interoperability, including the necessary information to ensure legal compliance

identifier - character string used to establish the identity of, and distinguish uniquely, one instance of an object within an identification scheme from all other objects within the same scheme Note 1 to entry: An identifier may be a word, number, letter, symbol, or any combination of those, depending on the identification scheme used.

identification scheme - collection of identifiers applicable for a given type of object governed under a common set of rules

compliant - some or all features of the core invoice model are used and all rules of the core invoice model are respected Note 1 to entry: Based on TOGAF definition of a compliant specification

conformant - all rules of the core invoice model are respected and some additional features not defined in the core invoice model are also used

Optional Whether the option is used or not is the choice of the users independently from other data in the message.

Conditional Whether the option is used or not and in what way is dependent on other data in the message.

Mandatory The option must be used in all messages.

shall - the definition is an absolute requirement of the specification.

shall not - the definition is an absolute prohibition of the specification.

should - there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course.

should not - there may exist valid reasons in particular circumstances when the particular behavior is acceptable or even useful, but the full implications should be understood and the case carefully weighed before implementing any behavior described with this label.

may - is truly optional.