PINT Mapping
A UAE e-invoice has to be written in a set format, PINT-AE, with every piece of information in its proper place. Your accounting system keeps the same information under its own names. PINT Mapping connects the two: for each field the e-invoice needs, it says where in your ERP to read it. You set it once per entity, and one click does most of it.
At a glance
- What it is
- A list that tells the platform where, in your accounting system's invoice, to find each piece of information a UAE e-invoice needs.
- When
- Once per entity, right after you connect your ERP. Again if you switch ERP, connect another system under the same TRN, or change how you keep your data.
- How long
- A few minutes. One click fills in almost everything; you check it and save.
- Who
- An Admin or Editor on the entity. Approvers and Viewers can open the screen but cannot save.
What a mapping looks like
Each row is one field of the e-invoice. On the left, what the field is; on the right, where to read it from in your ERP's invoice. Three rows of a standard Xero mapping:
| The e-invoice needs | Read it from (Xero) | |
|---|---|---|
Invoice number IBT-001 | InvoiceNumber | |
Buyer tax identifier IBT-048 | Contact.TaxNumber | |
Invoice line net amount IBT-131 | LineItems[].LineAmount |
The code next to each name — IBT-001, IBT-048 — is the field's PINT id, its official name in the UAE standard. Error messages often quote it, which is how you find the row responsible for a rejection.
Before you start
- Your ERP is connected to the entity — see Connect your system.
- The entity's own details are complete: company name, TRN, area, city and emirate. The platform puts these on every invoice as the seller.
- Your ERP is set up the way the defaults expect, for example the customer TRN kept where your system keeps it — see ERP prerequisites.
- You are an Admin or Editor on the entity.
Set it up, step by step
- 1Open PINT Mapping. With the entity selected, click PINT Mapping in the sidebar. While the mapping has never been saved, the entity's page also shows a prompt that takes you there.
- 2Click Pre-fill defaults. It is at the top, in the Mapping progress box. Every mandatory row is filled in with the place your ERP normally keeps that value, and the usual answers are set for the rest.
- 3Glance at System-managed Fields. Open the section and check that no row says Not set. These rows come from your entity, so if one is empty, complete the entity's details and come back. There is nothing else to do here.
- 4Check Mandatory Fields. Read down the list and correct any row that points at the wrong place — only needed if your business keeps something in an unusual field. If your ERP does not hold a value at all, choose Will be provided at invoice level.
- 5Set up the Conditional Fields you need. Only the groups that match invoices you issue: Exports if you sell abroad, Credit Note if you issue credit notes, Credit Transfer Payment if you want your bank details on the invoice. Skip the rest.
- 6Add any Optional Fields you want printed. For example payment terms, a contract reference or a VAT point date if your ERP stores one. Leave the date unmapped for Xero. You can skip this section entirely.
- 7Click Save mappings. At the bottom of the screen, then confirm. The progress box stops saying Not saved yet, and the prompt on the entity page goes away.
Do this before your first invoice. When you connect an ERP, the entity is given that system's standard mapping straight away, and invoices are read with it whether or not you have reviewed it. Reviewing and saving is how you make sure it matches the way your business actually keeps its data.
What is on the screen
Five sections, top to bottom. Each one is explained field by field on the field reference.
- System-managed FieldsFilled in by the platform: fixed codes, your entity's details and calculated amounts. Read-only.Nothing →
- Mandatory FieldsNeeded on every invoice: number, dates, currency, customer, totals, lines. Each points at a field in your ERP.Pre-fill, then check →
- Conditional FieldsNeeded by some invoices only: exports, credit notes, bank transfer, free zone and so on. Arranged in groups.Only the groups you use →
- Optional FieldsExtra details you may want printed. None are added until you add them.Optional →
- Tax Category MappingWhich of your ERP's tax codes mean exempt or out-of-scope supplies.Optional →
The Mapping progress box at the top counts what is done, for example 23/23 mandatory, and tells you whether the mapping has been saved yet.
“Will be provided at invoice level”
The first choice in every list. Use it when your ERP does not hold a value at all — rather than inventing a place for it in your ERP, you tell the platform to ask you instead.
The invoice is then read in and held on Staged Invoices. You type the missing value there and submit, and the invoice carries on to validation and the Peppol network.
How often that happens depends on the row. On a mandatory row, every invoice waits for you. On a conditional or optional row, only the invoices that need the field wait — a plain domestic invoice is never held for an export detail. More on Sending invoices.
Changing it later
- A change applies from the moment you save. Invoices already sent are not re-sent. If one went out wrong, correct the mapping and issue a credit note for it.
- Switching ERP replaces the mapping with the new system's defaults, because each system names its fields differently. Review it and save again. If the entity has other connections under the same TRN, each keeps the mapping it was using.
- Reset all clears every mapped row on the screen. Use Pre-fill defaults afterwards to start again from the standard mapping.
If something is not right
| You see | What to do |
|---|---|
| A system-managed row says “Not set” | That detail is missing from your entity. Edit the entity, fill in the name, area, city or emirate, and the row updates on its own. |
| Every invoice waits on Staged Invoices | A mandatory row is set to “Will be provided at invoice level”. Point it at the ERP field that holds the value, if you have one, and save. |
| Invoices fail because the customer TRN is missing | The Buyer tax identifier row reads from a field your customers don't have filled in. Check where your ERP keeps the TRN — on QuickBooks it must be the first custom field — and repoint the row if needed. |
| The exchange rate row is locked | The entity uses the UAE Central Bank rate, so there is nothing to map. To use your own rate, see Exchange rate. |
| The screen says you switched ERP | Connecting a different ERP replaces the mapping with the new system's defaults, because field names differ between systems. Review it as if for the first time and save. |
| There is a Connection to map choice at the top | The entity sends from more than one connection under the same TRN, which can be two organisations in the same system. Each connection has its own mapping: choose one, review it and save, then do the same for the next. If you switch with unsaved changes, you are asked whether to discard them. |
| Save mappings is greyed out | Your role on the entity is Approver or Viewer. Ask an Admin on the entity to make the change, or to give you the Editor role. |
For a rejected invoice, start from the error message — see When an invoice fails.
Related
- PINT Mapping: field reference — every field on the screen, by section, with what Pre-fill chooses for your ERP.
- ERP prerequisites — the setup each ERP needs for the defaults to work.
- Exchange rate and Tax Codes — the two settings that change what some rows do.