Map your fields to GETS
Match the fields in your sample invoice to GETS so your source data can be read as an invoice. You need an integration with a country, document type and representative sample payload.
How the mapping screen works
Field Mapping has four tabs:
| Tab | What it holds |
|---|---|
| Core Mapping | The GETS fields every invoice uses: header, seller, buyer, lines, payment, totals |
| Regional Mapping | Fields for the network or region the country belongs to, such as Peppol IDs |
| Country Mapping | Fields only the selected country asks for. See Map country fields. |
| Custom Fields | Fields you add with Add Custom Field |
Each tab is a table with one row per GETS field:
| Column | What it shows |
|---|---|
| The GETS field | Its name, with M for mandatory, CM for conditionally mandatory, or CF for a custom field |
| Source Header | The field from your payload that fills it. Choose it from Select header. |
| Reference Value | The value of that field in your sample, so you can check the match |
| Format Alignment | How to read the value, for dates, times and amounts. See Choose a format. |
Your payload’s fields appear in Select header as paths: invoice.no for a field inside an object, lines[].qty for a field in each item of a list. Type in the search box to find one. Choose None (Unmap field) to clear a row.
When the payload is loaded, the Integration engine suggests matches for many fields automatically. Check each suggestion against Reference Value before you continue. Re-run AI Mapping suggests them again.
A worked example
Your billing system sends this invoice:
{
"invoice": {
"no": "INV-2026-0142",
"date": "09/10/2026",
"currency": "AED"
},
"customer": {
"name": "Gulf Retail LLC"
},
"lines": [
{
"desc": "Office chair",
"qty": 4,
"price": "1,250.00"
}
]
}In Core Mapping, you match the rows like this:
| GETS field | Source Header | Reference Value | Format Alignment |
|---|---|---|---|
header.documentNumber | invoice.no | INV-2026-0142 | |
header.issueDate | invoice.date | 09/10/2026 | DD/MM/YYYY |
header.currency | invoice.currency | AED | |
parties.buyer.name | customer.name | Gulf Retail LLC | |
lineItems[].description | lines[].desc | Office chair | |
lineItems[].quantity | lines[].qty | 4 | |
lineItems[].price.amount | lines[].price | 1,250.00 | #,##0.00 |
Because lines is a list, each of its items becomes one invoice line. 09/10/2026 could be 9 October or 10 September, so the format tells GETS which: here, day first.
A real invoice needs more fields than this, such as the seller, tax details and totals. Work through every row marked M, then the CM rows that apply to your invoices.
Match the fields
- Open Field Mapping on the Core Mapping tab.
- For each GETS field, choose the matching field from Select header. Map the field that carries the value, such as
invoice.no, not a value typed in. - Choose a format for date, time and amount fields if the suggested one does not match your data.
- Filter to Unmapped only to find what is left. The bar above the table shows Pending Mandatory: the mandatory fields that still have no source.
- Repeat on Regional Mapping and Country Mapping, then choose Next. Next stays unavailable until every mandatory field is mapped.
Mapped means a field has a source. It does not prove your sample’s value passes every country rule. Run the test before using the integration.
For field definitions and requirements, use the GETS field reference. Select your country and document type there; do not copy a field list from another country or document type into this mapping.
Choose a format
A format tells GETS how to read a value that can be written in more than one way. Format Alignment offers one for date, time and amount fields, once the field is mapped. If you do not choose, the format is worked out from the sample value; check it.
| Kind of value | Examples of the formats offered |
|---|---|
| Date | YYYY-MM-DD, DD/MM/YYYY, MM/DD/YYYY, DD.MM.YYYY, YYYYMMDD, DD MMM YYYY |
| Time | HH:mm, HH:mm:ss, hh:mm A, HH:mm:ss[Z] |
| Amount | 0.00, #,##0.00, #.##0,00 (comma as the decimal mark), round-half-up:2, truncate:2 |
Type in Type to search formats… to find one. Choose the format your system actually writes, not the one the country uses: GETS converts it.
If something goes wrong
A required field has no matching source: add it to the invoice data your system supplies, then use a sample that contains it. Selecting an unrelated field only hides the gap.
Please map this field first to select a format: choose the Source Header before the format.
The mapping looks right but validation fails: compare the reported field and message with the sample value in Test your mapping. A wrong format is a common cause for dates and amounts.
Next, map country fields for this invoice.