UAE PINT AE data dictionary: the 51 mandatory e-invoice fields mapped to SAP Business One
By Zain Abbas, Kodenova · Updated
Most SAP Business One teams in the UAE ask the same question first: which fields does the e-invoice need, and where do they come from in SAP? The Ministry of Finance answered the first half in February 2026 with a list of mandatory fields. This guide adds the second half: the PINT AE XML path and the usual SAP Business One source for every field.
Two documents matter. The Ministry’s “UAE Electronic Invoice Mandatory Fields” (V1.0, 23 February 2026) lists what must be on every electronic tax invoice. The OpenPeppol PINT AE specification (Billing v1.0.4) says where each field goes in the UBL XML. Your Accredited Service Provider (ASP) validates against both.
The short answer
- An electronic tax invoice has 51 mandatory fields; a commercial invoice has 49.
- Around 40 of them already exist in a standard SAP Business One A/R invoice.
- The rest need user-defined fields (UDFs) and a mapping: transaction type flags, TIN, legal registration type, PINT AE tax category and the line amounts in AED.
- The file is UBL 2.1 with
CustomizationIDurn:peppol:pint:billing-1@ae-1 andProfileIDurn:peppol:bis:billing.
Invoice header fields
The SAP column shows the typical source in an A/R invoice (object 13). Field names are standard SAP Business One columns; your localization may store some values in UDFs instead.
| # | Field | PINT AE | UBL path | SAP Business One source |
|---|---|---|---|---|
| 1 | Invoice number | IBT-001 | cbc:ID | OINV.DocNum (with series prefix if you print one) |
| 2 | Invoice date | IBT-002 | cbc:IssueDate | OINV.DocDate |
| 3 | Invoice type code | IBT-003 | cbc:InvoiceTypeCode | 380, or 480 for out-of-scope |
| 4 | Invoice currency | IBT-005 | cbc:DocumentCurrencyCode | OINV.DocCur |
| 5 | Transaction type flags | BTAE-02 | cbc:ProfileExecutionID | UDF on OINV (8 digits, see below) |
| 6 | Payment due date | IBT-009 | cbc:DueDate | OINV.DocDueDate |
| 7 | Business process type | IBT-023 | cbc:ProfileID | fixed: urn:peppol:bis:billing |
| 8 | Specification identifier | IBT-024 | cbc:CustomizationID | fixed: urn:peppol:pint:billing-1@ae-1 |
| 9 | Payment means type code | IBT-081 | cac:PaymentMeans/cbc:PaymentMeansCode | OINV.PeyMethod mapped to UNTDID 4461 |
PINT AE also requires a unique identifier (BTAE-07, cbc:UUID) in the XML. SAP does not store one per invoice, so generate it in the integration and save it back in a UDF for audit.
Seller and buyer fields
| # | Field | PINT AE | UBL path (under cac:Party) | SAP Business One source |
|---|---|---|---|---|
| 10 | Seller name | IBT-027 | cac:PartyLegalEntity/cbc:RegistrationName | OADM.CompnyName |
| 11 | Seller electronic address | IBT-034 | cbc:EndpointID | UDF: seller TIN (10 digits) |
| 12 | Seller electronic identifier | IBT-034-1 | cbc:EndpointID/@schemeID | fixed: 0235 |
| 13 | Seller legal registration ID | IBT-030 | cac:PartyLegalEntity/cbc:CompanyID | UDF or OADM: trade licence number |
| 14 | Seller registration ID type | BTAE-15 | cbc:CompanyID/@schemeAgencyID | UDF: TL, EID, PAS or CD |
| 15 | Seller tax identifier | IBT-031 | cac:PartyTaxScheme/cbc:CompanyID | OADM.TaxIdNum (VAT TRN) |
| 16 | Seller tax scheme code | IBT-031-1 | cac:PartyTaxScheme/cac:TaxScheme/cbc:ID | fixed: VAT |
| 17 | Seller address line 1 | IBT-035 | cac:PostalAddress/cbc:StreetName | ADM1.Street |
| 18 | Seller city | IBT-037 | cac:PostalAddress/cbc:CityName | ADM1.City |
| 19 | Seller country subdivision | IBT-039 | cac:PostalAddress/cbc:CountrySubentity | ADM1.State (the emirate) |
| 20 | Seller country code | IBT-040 | cac:Country/cbc:IdentificationCode | AE |
| 21 | Buyer name | IBT-044 | cac:PartyLegalEntity/cbc:RegistrationName | OINV.CardName / OCRD.CardName |
| 22 | Buyer electronic address | IBT-049 | cbc:EndpointID | UDF on OCRD: buyer TIN |
| 23 | Buyer electronic identifier | IBT-049-1 | cbc:EndpointID/@schemeID | 0235 for UAE buyers |
| 24 | Buyer tax identifier | IBT-048 | cac:PartyTaxScheme/cbc:CompanyID | OCRD.LicTradNum (VAT TRN) |
| 25 | Buyer tax scheme code | IBT-048-1 | cac:PartyTaxScheme/cac:TaxScheme/cbc:ID | fixed: VAT |
| 26 | Buyer address line 1 | IBT-050 | cac:PostalAddress/cbc:StreetName | INV12.StreetB (bill-to on the invoice) |
| 27 | Buyer city | IBT-052 | cac:PostalAddress/cbc:CityName | INV12.CityB |
| 28 | Buyer country subdivision | IBT-054 | cac:PostalAddress/cbc:CountrySubentity | INV12.StateB |
| 29 | Buyer country code | IBT-055 | cac:Country/cbc:IdentificationCode | INV12.CountryB |
Take the buyer address from the invoice (INV12), not from the business partner master. The invoice keeps the address that was valid on the day, even if the master changes later.
Totals and VAT breakdown
| # | Field | PINT AE | UBL path | SAP Business One source |
|---|---|---|---|---|
| 30 | Sum of line net amounts | IBT-106 | cac:LegalMonetaryTotal/cbc:LineExtensionAmount | sum of INV1.LineTotal (or TotalFrgn) |
| 31 | Total without tax | IBT-109 | cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount | OINV.DocTotal − OINV.VatSum |
| 32 | Total tax amount | IBT-110 | cac:TaxTotal/cbc:TaxAmount | OINV.VatSum |
| 33 | Total with tax | IBT-112 | cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount | OINV.DocTotal |
| 34 | Amount due | IBT-115 | cac:LegalMonetaryTotal/cbc:PayableAmount | OINV.DocTotal minus applied down payments |
| 35 | Category taxable amount | IBT-116 | cac:TaxSubtotal/cbc:TaxableAmount | INV1.LineTotal grouped by VAT group |
| 36 | Category tax amount | IBT-117 | cac:TaxSubtotal/cbc:TaxAmount | INV1.VatSum grouped by VAT group |
| 37 | Tax category code | IBT-118 | cac:TaxCategory/cbc:ID | UDF on the VAT group (OVTG): S, Z, E, O or AE |
| 38 | Tax category rate | IBT-119 | cac:TaxCategory/cbc:Percent | OVTG.Rate |
The usual rejection here is a header that does not add up: the sum of lines must equal IBT-106, IBT-109 + IBT-110 must equal IBT-112, and each breakdown must be the sum of its own lines. Rounding per line in SAP and per category in the XML can differ by a fil, so compute the XML totals from the same rounded line values.
For a foreign-currency invoice, PINT AE also expects the total VAT in the tax accounting currency (IBT-111) in a second cac:TaxTotal, and the line amounts in AED (fields 48 and 49 below).
Invoice line fields
| # | Field | PINT AE | UBL path (under cac:InvoiceLine) | SAP Business One source |
|---|---|---|---|---|
| 39 | Line identifier | IBT-126 | cbc:ID | INV1.LineNum + 1 |
| 40 | Invoiced quantity | IBT-129 | cbc:InvoicedQuantity | INV1.Quantity |
| 41 | Unit of measure code | IBT-130 | cbc:InvoicedQuantity/@unitCode | INV1.UomCode mapped to UN/ECE Rec 20 (e.g. KGM, H87) |
| 42 | Line net amount | IBT-131 | cbc:LineExtensionAmount | INV1.LineTotal (or TotalFrgn) |
| 43 | Item net price | IBT-146 | cac:Price/cbc:PriceAmount | INV1.Price |
| 44 | Item gross price | IBT-148 | cac:Price/cac:AllowanceCharge/cbc:BaseAmount | INV1.PriceBefDi |
| 45 | Price base quantity | IBT-149 | cac:Price/cbc:BaseQuantity | 1 (or your price unit) |
| 46 | Item tax category | IBT-151 | cac:Item/cac:ClassifiedTaxCategory/cbc:ID | INV1.VatGroup → UDF tax category |
| 47 | Item tax rate | IBT-152 | cac:Item/cac:ClassifiedTaxCategory/cbc:Percent | INV1.VatPrcnt |
| 48 | VAT line amount in AED | BTAE-08 | cac:ItemPriceExtension/cac:TaxTotal/cbc:TaxAmount | INV1.VatSum (local currency AED) |
| 49 | Line amount in AED | BTAE-10 | cac:ItemPriceExtension/cbc:Amount | INV1.LineTotal + INV1.VatSum (local currency) |
| 50 | Item name | IBT-153 | cac:Item/cbc:Name | INV1.Dscription |
| 51 | Item description | IBT-154 | cac:Item/cbc:Description | OITM.UserText or INV1.FreeTxt |
Fields 48 and 49 are UAE additions. When the company’s local currency in SAP Business One is AED, the local-currency columns on INV1 already hold these values.
The transaction type flags (BTAE-02)
cbc:ProfileExecutionID is an 8-character string of 1s and 0s. Each position switches one special case on:
| Position | Meaning | Example value |
|---|---|---|
| 1 | Free trade zone supply | 10000000 |
| 2 | Deemed supply (no consideration) | 01000000 |
| 3 | Profit margin scheme | 00100000 |
| 4 | Summary invoice | 00010000 |
| 5 | Continuous supply | 00001000 |
| 6 | Disclosed agent billing | 00000100 |
| 7 | Supply through e-commerce | 00000010 |
| 8 | Exports | 00000001 |
A standard domestic invoice is 00000000. Some flags pull in more fields: free trade zone supplies need the beneficiary ID (BTAE-01), and disclosed agent billing needs the principal’s TRN (BTAE-14).
In SAP Business One the practical design is eight yes/no UDFs on the marketing document (or one 8-character field with a formatted search), with defaults per customer group so users rarely touch them.
TIN, TRN and the Peppol ID
The Ministry of Finance is precise here, and it trips up many mappings:
- The TIN is a 10-digit number. The Ministry’s list says it is the first 10 digits of the Corporate Tax TRN, and for members of a tax group it is the member’s own Corporate Tax TRN, not the representative’s.
- The Peppol ID (electronic address) is scheme 0235 plus the TIN, for example
0235:1001234567. - The VAT TRN (15 digits) still goes in the tax identifier fields (IBT-031 and IBT-048).
So store the TIN in its own field. Do not derive it from the VAT registration number in LicTradNum without checking.
Credit notes
Credit notes use the CreditNote document with type code 381 (tax credit note) or 81 (credit note related to goods or services), and need a credit reason code (BTAE-03):
| Code | Reason |
|---|---|
| DL8.61.1.A | The supply was cancelled |
| DL8.61.1.B | The tax treatment changed because the nature of the supply changed |
| DL8.61.1.C | The agreed consideration was altered (for example bad debt relief) |
| DL8.61.1.D | Goods or services returned and consideration refunded |
| DL8.61.1.E | Tax charged or tax treatment applied in error |
| VD | Volume discount |
In SAP Business One the A/R credit memo (ORIN, object 14) maps the same way as the invoice, plus a UDF for the reason code and the reference to the original invoice from the base document.
The UDFs to add in SAP Business One
| Table | UDF | Holds |
|---|---|---|
| OADM (company) | Seller TIN, legal registration type | 10-digit TIN; TL, EID, PAS or CD |
| OCRD (business partner) | Buyer TIN, legal registration ID and type | Peppol ID and registration details |
| OVTG (VAT groups) | PINT AE tax category | S, Z, E, O or AE |
| OINV and ORIN | Transaction type flags, credit reason, UUID, ASP status | Per-document values and the ASP response |
With these in place the XML can be generated without asking users for anything at posting time.
A practical order of work
- Add the UDFs above and fill the TIN for your company and your UAE customers.
- Map every VAT group to a PINT AE tax category.
- Build the XML for one invoice and one credit note and check them with a free PINT AE validator.
- Connect SAP Business One to your ASP: send each document, store the response and show the status on the invoice.
- Test the special cases you really use: exports, free zone, foreign currency, credit notes.
For deadlines, penalties and choosing an ASP, see UAE e-invoicing for SAP Business One. The readiness checker turns your Corporate Tax TRN into your Peppol ID and shows your deadline.
Sources
- UAE Ministry of Finance: UAE Electronic Invoice Mandatory Fields V1.0 (23 Feb 2026, PDF)
- UAE Ministry of Finance: eInvoicing initiative page
- OpenPeppol: PINT AE Billing (BIS, semantic model, syntax binding)
- OpenPeppol: PINT AE invoice transaction type code list
- OpenPeppol: PINT AE invoice syntax binding
- OpenPeppol: PINT AE credit note reason codes
Related services
Frequently asked questions
How many fields are mandatory on a UAE electronic tax invoice?
51. The Ministry of Finance document 'UAE Electronic Invoice Mandatory Fields' (V1.0, 23 February 2026) lists 51 mandatory fields for an electronic tax invoice and 49 for a commercial invoice. The full PINT AE data model has many more optional fields.
What is the Peppol ID of a UAE business?
The scheme 0235 plus the Tax Identification Number (TIN), for example 0235:1001234567. The Ministry of Finance says the TIN is the first 10 digits of the Corporate Tax TRN, also for members of a tax group, and that businesses without a Corporate Tax registration must register with the FTA to get a TIN.
What is the CustomizationID of PINT AE?
urn:peppol:pint:billing-1@ae-1 for both invoices and credit notes, with ProfileID urn:peppol:bis:billing.
Which invoice type codes does PINT AE use?
380 for a commercial or tax invoice and 480 for an invoice out of scope of tax. Credit notes use 381 (tax credit note) or 81 (credit note related to goods or services), and need a credit reason code such as DL8.61.1.A (supply cancelled) or VD (volume discount).
Can SAP Business One produce PINT AE XML out of the box?
Not as a finished PINT AE file sent to an ASP. The data is mostly in SAP Business One, but you need the extra fields described here, an XML mapping and a connection to your Accredited Service Provider that sends each document and stores the response.
Ready to get started?
Tell us what you need. You get a clear technical answer, a fixed scope and a price, usually within 24 hours.
