GETS Field Mapping
Comprehensive field mapping reference for transforming source invoice payloads into GETS and country-compliant destination schemas.
Field Mapping Overview
GETS Field Mapping defines how invoice data moves across three layers:
- Source Schema (your ERP/POS/accounting payload)
- GETS Canonical Model (standardized intermediary format)
- Destination Schema (country- and regulator-specific output)
This model helps teams implement once and scale across jurisdictions with minimal rework.
Core Concepts
Source-to-GETS Mapping
Normalize source fields into GETS canonical paths with consistent typing, naming, and structure.
GETS-to-Destination Mapping
Apply jurisdiction-specific rules and output contracts (for example UBL, ZATCA, Peppol, MyInvois, or XRechnung).
Mapping Benefits
- Single integration path for multiple countries and formats
- Reusable canonical mapping across products and teams
- Automatic compliance checks aligned with destination requirements
- Consistent transformation behavior for data quality and auditability
Smart Mapping
GETS mapping includes rule-driven normalization for:
- data type conversion and null handling
- currency and monetary precision
- date/time normalization and formatting
- conditional field enforcement by country and document type
- defaulting and fallback behavior for optional fields
Field Mapping Reference
The sections below provide the operational mapping reference based on MappingConstants and the GETS schema registry, including core fields, party data, line items, totals, and country-specific extensions.
Core Fields
| Field Name | GETS Path | Data Type | Required |
|---|
| Document Type | header.documentType | enum | Required |
| Document ID | header.documentNumber | string | Required |
| Document Currency | header.currency | string | Required |
| Exchange Rate | header.exchangeRate.rate | number | Conditional |
| VAT Currency | header.taxCurrency | string | Required |
| Issue Date | header.issueDate | date | Required |
| Issue Time | header.issueTime | time | Required |
| Supply Start Date | header.invoicePeriod.startDate | date | Conditional |
| Supply End Date | header.invoicePeriod.endDate | date | Optional |
| Due Date | header.dueDate | date | Optional |
| Reference Invoice Number | header.referenceId | string | Conditional |
| Note Issuance Reason | header.noteIssuanceReason | string | Conditional |
Party Fields
Seller (Supplier) Details
| Field Name | GETS Path | Data Type | Required |
|---|
| Seller ID | parties.seller.partyId | string | Optional |
| Seller Name | parties.seller.name | string | Required |
| VAT Number - Type | parties.seller.taxIds[].type | string | Required |
| VAT Number - Value | parties.seller.taxIds[].value | string | Required |
| Group VAT Number - Type | parties.seller.taxIds[].type | string | Conditional |
| Group VAT Number - Value | parties.seller.taxIds[].value | string | Conditional |
| Additional Seller ID Number | parties.seller.registrationNumbers[].value | string | Conditional |
| Additional Seller ID Type | parties.seller.registrationNumbers[].type | string | Optional |
Seller Address
| Field Name | GETS Path | Data Type | Required |
|---|
| Address Line 1 | parties.seller.address.addressLine1 | string | Required |
| Address Line 2 | parties.seller.address.addressLine2 | string | Required |
| Building Number | parties.seller.address.additionalAddressData.buildingNumber | string | Required |
| Additional Number | parties.seller.address.additionalAddressData.additionalBuildingNumber | string | Optional |
| District/Neighbourhood | parties.seller.address.additionalAddressData.district | string | Required |
| City | parties.seller.address.city | string | Required |
| State | parties.seller.address.stateOrProvince | string | Required |
| Zip Code | parties.seller.address.postalCode | string | Required |
| Country | parties.seller.address.country | string | Required |
Buyer (Customer) Details
| Field Name | GETS Path | Data Type | Required |
|---|
| Buyer ID | parties.buyer.partyId | string | Optional |
| Buyer Name | parties.buyer.name | string | Conditional |
| VAT Number - Type | parties.buyer.taxIds[].type | string | Conditional |
| VAT Number - Value | parties.buyer.taxIds[].value | string | Conditional |
| Group VAT Number - Type | parties.buyer.taxIds[].type | string | Conditional |
| Group VAT Number - Value | parties.buyer.taxIds[].value | string | Conditional |
| Additional Buyer ID Number | parties.buyer.registrationNumbers[].value | string | Conditional |
| Additional Buyer ID Type | parties.buyer.registrationNumbers[].type | string | Conditional |
Buyer Address
| Field Name | GETS Path | Data Type | Required |
|---|
| Address Line 1 | parties.buyer.address.addressLine1 | string | Conditional |
| Address Line 2 | parties.buyer.address.addressLine2 | string | Conditional |
| Building Number | parties.buyer.address.additionalAddressData.buildingNumber | string | Optional |
| Additional Number | parties.buyer.address.additionalAddressData.additionalBuildingNumber | string | Optional |
| District/Neighbourhood | parties.buyer.address.additionalAddressData.district | string | Optional |
| City | parties.buyer.address.city | string | Conditional |
| State | parties.buyer.address.stateOrProvince | string | Optional |
| Zip Code | parties.buyer.address.postalCode | string | Conditional |
| Country | parties.buyer.address.country | string | Conditional |
Line Item Fields
Line Item Details
| Field Name | GETS Path | Data Type | Required |
|---|
| Line Item ID | lineItems[].id | string | Required |
| Line Item Type | lineItems[].lineType | string | Optional |
| Item Description | lineItems[].description | string | Required |
| Unit Price | lineItems[].price.amount | number | Required |
| Discount per Unit | lineItems[].discountsOrCharges[].amount | number | Required |
| Net Unit Price | lineItems[].netPrice | number | Required |
| Line Item Qty | lineItems[].quantity | number | Required |
| Units of Measurement | lineItems[].unitCode | string | Optional |
| Charges | lineItems[].discountsOrCharges | number | Required |
| Line Item Discount | lineItems[].lineLevelDiscount | number | Required |
| Line Item Taxable Amount | lineItems[].lineTaxableValue | number | Required |
| VAT Category Code | lineItems[].taxCategory | string | Required |
| VAT Exemption Reason Code | lineItems[].taxExemptionReasonCode | string | Required |
| VAT Exemption Reason Text | lineItems[].taxExemptionReason | string | Required |
| VAT Rate On Line Item | lineItems[].taxRate | number | Required |
| Line Item VAT Amount | lineItems[].taxAmount | number | Required |
| Line Item Sub Total | lineItems[].lineTotal | number | Required |
Tax & Totals
Summary Totals
| Field Name | GETS Path | Data Type | Required |
|---|
| Summation of Line Taxable Values | totals.totalLineTaxableAmount | number | Required |
| Discount at document level | totals.totalAllowances | number | Required |
| Total Taxable Amount Excluding VAT | totals.totalAmountExcludingTax | number | Required |
| VAT Total | totals.totalTaxAmount | number | Required |
| Invoice Total Amount | totals.totalAmountIncludingTax | number | Required |
| Pre-Paid Amount | totals.prepaidAmount | number | Required |
| Amount Due for Payment | totals.amountDue | number | Required |
| Rounding Amount | totals.roundingAmount | number | Optional |
| Field Name | GETS Path | Data Type | Required |
|---|
| Payment Means | payment.paymentMeans[].paymentMeansCode | string | Optional |
| Payment Terms | payment.paymentTerms[].note | string | Conditional |
| Payee Account Number | payment.paymentMeans[].creditTransferInfo.payeeFinancialAccountId | string | Conditional |
Business Configuration
| Field Name | GETS Path | Data Type | Required |
|---|
| Self Billed | meta.config.isSelfBilled | boolean | Required |
| Third Party | meta.config.isThirdParty | boolean | Required |
| Export | meta.config.isExport | boolean | Required |
| Summary | meta.config.isSummary | boolean | Required |
| Nominal Supply | meta.config.isNominal | boolean | Required |
| Prepayment | meta.config.isPrepayment | boolean | Required |
| Adjusted | meta.config.isAdjusted | boolean | Required |
Saudi Arabia (KSA) Extensions
Prepayment Details Extensions
| Field Name | GETS Path | Data Type | Required |
|---|
| Prepayment ID | extensions.sa_prepayment[].paymentId | string | Conditional |
| Prepayment Issue Date & Time | extensions.sa_prepayment[].issueDate | datetime | Conditional |
| Prepayment Document Type Code | extensions.sa_prepayment[].documentType | string | Conditional |
| Prepayment VAT Category Code | extensions.sa_prepayment[].vatCategory | string | Conditional |
| Prepayment VAT Rate | extensions.sa_prepayment[].vatRate | number | Conditional |
| Prepayment Taxable Amount | extensions.sa_prepayment[].taxableAmount | number | Conditional |
| Prepayment Tax Amount | extensions.sa_prepayment[].taxAmount | number | Conditional |
| Prepayment Adjustment Amount | extensions.sa_prepayment[].adjustmentAmount | number | Conditional |
KSA Digital Signature Extensions
| Field Name | GETS Path | Data Type | Required |
|---|
| Invoice Counter Value | extensions.sa_digital.icv | string | Required |
| Previous Invoice Hash | extensions.sa_digital.pih | string | Required |
| QR Code | extensions.sa_digital.qrCode | string | Required |
| Digital Signature | extensions.sa_digital.digitalSignature | string | Required |
Billing Frequency
| Field Name | GETS Path | Data Type | Required |
|---|
| Billing Frequency | header.invoicePeriod.frequency | string | Optional |
Malaysia (MY) Extensions
Malaysia's e-invoicing system through MyInvois requires specific field extensions for LHDN compliance.
MyInvois Identification Fields
| Field Name | GETS Path | Data Type | Required |
|---|
| MyInvois Document ID | extensions.my_identification.documentId | string | Required |
| MyInvois Submission UID | extensions.my_identification.submissionUid | string | Required |
| Validation DateTime | extensions.my_identification.validationDateTime | datetime | Required |
| Software Provider ID | extensions.my_identification.softwareProviderId | string | Required |
| Digital Certificate Serial Number | extensions.my_identification.certificateSerial | string | Required |
Malaysia Tax Classification Codes
| Field Name | GETS Path | Data Type | Required |
|---|
| Classification Category | extensions.my_classification.category | string | Required |
| Product Service Code | extensions.my_classification.productServiceCode | string | Conditional |
| MSIC Code | extensions.my_classification.msicCode | string | Optional |
| Tax Type | extensions.my_classification.taxType | string | Required |
| Tax Exemption Details | extensions.my_classification.exemptionDetails | string | Conditional |
Malaysia Payment Information
| Field Name | GETS Path | Data Type | Required |
|---|
| Payment Mode | extensions.my_payment.mode | string | Required |
| Payment Terms | extensions.my_payment.terms | string | Optional |
| Bank Account Number | extensions.my_payment.bankAccount | string | Conditional |
| Payment Reference Number | extensions.my_payment.referenceNumber | string | Optional |
United Arab Emirates (UAE) Extensions
UAE's Federal Tax Authority (FTA) requires specific extensions for e-invoicing compliance.
FTA PINT Identification
| Field Name | GETS Path | Data Type | Required |
|---|
| FTA Invoice Reference | extensions.ae_identification.ftaInvoiceRef | string | Required |
| Tax Registration Number (TRN) | extensions.ae_identification.trn | string | Required |
| UUID | extensions.ae_identification.uuid | string | Required |
| Submission Date & Time | extensions.ae_identification.submissionDateTime | datetime | Required |
| Clearance Status | extensions.ae_identification.clearanceStatus | string | Required |
UAE Tax Details
| Field Name | GETS Path | Data Type | Required |
|---|
| VAT Category Code | extensions.ae_tax.vatCategoryCode | string | Required |
| VAT Exemption Reason Code | extensions.ae_tax.exemptionReasonCode | string | Conditional |
| VAT Exemption Reason Text | extensions.ae_tax.exemptionReasonText | string | Conditional |
| Tax Scheme ID | extensions.ae_tax.taxSchemeId | string | Required |
UAE Multi-Language Support
| Field Name | GETS Path | Data Type | Required |
|---|
| Arabic Invoice Description | extensions.ae_multilang.descriptionAr | string | Optional |
| Arabic Line Item Name | extensions.ae_multilang.lineItemNameAr | string | Optional |
| Document Language Code | extensions.ae_multilang.languageCode | string | Required |
Belgium (BE) Extensions
Belgium's e-invoicing system follows EU standards with Peppol network integration.
Peppol Identification
| Field Name | GETS Path | Data Type | Required |
|---|
| Peppol BIS Version | extensions.be_identification.peppolBisVersion | string | Required |
| Endpoint ID | extensions.be_identification.endpointId | string | Required |
| Participant ID Scheme | extensions.be_identification.participantScheme | string | Required |
| Supplier Endpoint ID | extensions.be_identification.supplierEndpointId | string | Required |
| Customer Endpoint ID | extensions.be_identification.customerEndpointId | string | Required |
Belgium VAT Registration
| Field Name | GETS Path | Data Type | Required |
|---|
| Company VAT Number | extensions.be_vat.companyVatNumber | string | Required |
| VAT Identification Scheme | extensions.be_vat.identificationScheme | string | Required |
| Reverse Charge Indicator | extensions.be_vat.reverseChargeIndicator | boolean | Optional |
| Intra-community Supply | extensions.be_vat.intracommunitySupply | boolean | Optional |
Belgium EN 16931 Compliance
| Field Name | GETS Path | Data Type | Required |
|---|
| EN Specification Identifier | extensions.be_compliance.enSpecificationId | string | Required |
| Process Control Reference | extensions.be_compliance.processControlRef | string | Required |
| Business Process Type | extensions.be_compliance.businessProcessType | string | Required |
| Contracting Authority | extensions.be_compliance.contractingAuthority | string | Conditional |
Germany (DE) Extensions
Germany's e-invoicing system follows EU directives with XRechnung format requirements.
XRechnung Identification
| Field Name | GETS Path | Data Type | Required |
|---|
| XRechnung Version | extensions.de_identification.xrechnungVersion | string | Required |
| Leitweg ID | extensions.de_identification.leitwegId | string | Required |
| Buyer Reference | extensions.de_identification.buyerReference | string | Required |
| Electronic Address Scheme | extensions.de_identification.electronicAddressScheme | string | Required |
Germany Tax Registration
| Field Name | GETS Path | Data Type | Required |
|---|
| Tax Number (Steuernummer) | extensions.de_tax.taxNumber | string | Required |
| VAT Identification Number | extensions.de_tax.vatIdentificationNumber | string | Required |
| Tax Office | extensions.de_tax.taxOffice | string | Optional |
| Reverse Charge VAT | extensions.de_tax.reverseChargeVat | boolean | Optional |
Germany Payment Terms
| Field Name | GETS Path | Data Type | Required |
|---|
| Payment Reference | extensions.de_payment.paymentReference | string | Optional |
| SEPA Credit Transfer | extensions.de_payment.sepaCreditTransfer | boolean | Optional |
| IBAN | extensions.de_payment.iban | string | Conditional |
| BIC | extensions.de_payment.bic | string | Conditional |
| Payment Discount Terms | extensions.de_payment.discountTerms | string | Optional |
Germany GoBD Archiving
| Field Name | GETS Path | Data Type | Required |
|---|
| Archiving Timestamp | extensions.de_archiving.timestamp | datetime | Required |
| Document Hash | extensions.de_archiving.documentHash | string | Required |
| Archive System ID | extensions.de_archiving.archiveSystemId | string | Required |
| Retention Period | extensions.de_archiving.retentionPeriod | string | Required |
| GoBD Certificate Number | extensions.de_archiving.gobdCertificateNumber | string | Optional |