Complyance Logo

GETS Field Mapping

Complete field mapping guide based on GETS Schema-mapping for KSA

Field Mapping Overview

Understanding how GETS transforms data between different invoice formats.

Core Concepts

Source-to-GETS Mapping

Transform your native invoice format to GETS standardized fields.

GETS-to-Destination Mapping

Convert GETS format to country-specific requirements (UBL, ZATCA, etc.).

Mapping Benefits

  • Single integration for multiple countries
  • Automatic compliance validation
  • Consistent data transformation

Smart Mapping

GETS uses intelligent field mapping that automatically handles data type conversion, currency formatting, date standardization, and country-specific validation rules.

Field Mapping Reference

Complete field mapping based on MappingConstants and GETS schema registry.

Core Fields

Document Header Fields

Field NameGETS PathData TypeRequired
Document Typeheader.documentTypeenumRequired
Document IDheader.documentNumberstringRequired
Document Currencyheader.currencystringRequired
Exchange Rateheader.exchangeRate.ratenumberConditional
VAT Currencyheader.taxCurrencystringRequired
Issue Dateheader.issueDatedateRequired
Issue Timeheader.issueTimetimeRequired
Supply Start Dateheader.invoicePeriod.startDatedateConditional
Supply End Dateheader.invoicePeriod.endDatedateOptional
Due Dateheader.dueDatedateOptional
Reference Invoice Numberheader.referenceIdstringConditional
Note Issuance Reasonheader.noteIssuanceReasonstringConditional

Party Fields

Seller (Supplier) Details

Field NameGETS PathData TypeRequired
Seller IDparties.seller.partyIdstringOptional
Seller Nameparties.seller.namestringRequired
VAT Number - Typeparties.seller.taxIds[].typestringRequired
VAT Number - Valueparties.seller.taxIds[].valuestringRequired
Group VAT Number - Typeparties.seller.taxIds[].typestringConditional
Group VAT Number - Valueparties.seller.taxIds[].valuestringConditional
Additional Seller ID Numberparties.seller.registrationNumbers[].valuestringConditional
Additional Seller ID Typeparties.seller.registrationNumbers[].typestringOptional

Seller Address

Field NameGETS PathData TypeRequired
Address Line 1parties.seller.address.addressLine1stringRequired
Address Line 2parties.seller.address.addressLine2stringRequired
Building Numberparties.seller.address.additionalAddressData.buildingNumberstringRequired
Additional Numberparties.seller.address.additionalAddressData.additionalBuildingNumberstringOptional
District/Neighbourhoodparties.seller.address.additionalAddressData.districtstringRequired
Cityparties.seller.address.citystringRequired
Stateparties.seller.address.stateOrProvincestringRequired
Zip Codeparties.seller.address.postalCodestringRequired
Countryparties.seller.address.countrystringRequired

Buyer (Customer) Details

Field NameGETS PathData TypeRequired
Buyer IDparties.buyer.partyIdstringOptional
Buyer Nameparties.buyer.namestringConditional
VAT Number - Typeparties.buyer.taxIds[].typestringConditional
VAT Number - Valueparties.buyer.taxIds[].valuestringConditional
Group VAT Number - Typeparties.buyer.taxIds[].typestringConditional
Group VAT Number - Valueparties.buyer.taxIds[].valuestringConditional
Additional Buyer ID Numberparties.buyer.registrationNumbers[].valuestringConditional
Additional Buyer ID Typeparties.buyer.registrationNumbers[].typestringConditional

Buyer Address

Field NameGETS PathData TypeRequired
Address Line 1parties.buyer.address.addressLine1stringConditional
Address Line 2parties.buyer.address.addressLine2stringConditional
Building Numberparties.buyer.address.additionalAddressData.buildingNumberstringOptional
Additional Numberparties.buyer.address.additionalAddressData.additionalBuildingNumberstringOptional
District/Neighbourhoodparties.buyer.address.additionalAddressData.districtstringOptional
Cityparties.buyer.address.citystringConditional
Stateparties.buyer.address.stateOrProvincestringOptional
Zip Codeparties.buyer.address.postalCodestringConditional
Countryparties.buyer.address.countrystringConditional

Line Item Fields

Line Item Details

Field NameGETS PathData TypeRequired
Line Item IDlineItems[].idstringRequired
Line Item TypelineItems[].lineTypestringOptional
Item DescriptionlineItems[].descriptionstringRequired
Unit PricelineItems[].price.amountnumberRequired
Discount per UnitlineItems[].discountsOrCharges[].amountnumberRequired
Net Unit PricelineItems[].netPricenumberRequired
Line Item QtylineItems[].quantitynumberRequired
Units of MeasurementlineItems[].unitCodestringOptional
ChargeslineItems[].discountsOrChargesnumberRequired
Line Item DiscountlineItems[].lineLevelDiscountnumberRequired
Line Item Taxable AmountlineItems[].lineTaxableValuenumberRequired
VAT Category CodelineItems[].taxCategorystringRequired
VAT Exemption Reason CodelineItems[].taxExemptionReasonCodestringRequired
VAT Exemption Reason TextlineItems[].taxExemptionReasonstringRequired
VAT Rate On Line ItemlineItems[].taxRatenumberRequired
Line Item VAT AmountlineItems[].taxAmountnumberRequired
Line Item Sub TotallineItems[].lineTotalnumberRequired

Tax & Totals

Summary Totals

Field NameGETS PathData TypeRequired
Summation of Line Taxable Valuestotals.totalLineTaxableAmountnumberRequired
Discount at document leveltotals.totalAllowancesnumberRequired
Total Taxable Amount Excluding VATtotals.totalAmountExcludingTaxnumberRequired
VAT Totaltotals.totalTaxAmountnumberRequired
Invoice Total Amounttotals.totalAmountIncludingTaxnumberRequired
Pre-Paid Amounttotals.prepaidAmountnumberRequired
Amount Due for Paymenttotals.amountDuenumberRequired
Rounding Amounttotals.roundingAmountnumberOptional

Payment Information

Field NameGETS PathData TypeRequired
Payment Meanspayment.paymentMeans[].paymentMeansCodestringOptional
Payment Termspayment.paymentTerms[].notestringConditional
Payee Account Numberpayment.paymentMeans[].creditTransferInfo.payeeFinancialAccountIdstringConditional

Business Configuration

Field NameGETS PathData TypeRequired
Self Billedmeta.config.isSelfBilledbooleanRequired
Third Partymeta.config.isThirdPartybooleanRequired
Exportmeta.config.isExportbooleanRequired
Summarymeta.config.isSummarybooleanRequired
Nominal Supplymeta.config.isNominalbooleanRequired
Prepaymentmeta.config.isPrepaymentbooleanRequired
Adjustedmeta.config.isAdjustedbooleanRequired

KSA Extensions

Prepayment Details Extensions

Field NameGETS PathData TypeRequired
Prepayment IDextensions.sa_prepayment[].paymentIdstringConditional
Prepayment Issue Date & Timeextensions.sa_prepayment[].issueDatedatetimeConditional
Prepayment Document Type Codeextensions.sa_prepayment[].documentTypestringConditional
Prepayment VAT Category Codeextensions.sa_prepayment[].vatCategorystringConditional
Prepayment VAT Rateextensions.sa_prepayment[].vatRatenumberConditional
Prepayment Taxable Amountextensions.sa_prepayment[].taxableAmountnumberConditional
Prepayment Tax Amountextensions.sa_prepayment[].taxAmountnumberConditional
Prepayment Adjustment Amountextensions.sa_prepayment[].adjustmentAmountnumberConditional

KSA Digital Signature Extensions

Field NameGETS PathData TypeRequired
Invoice Counter Valueextensions.sa_digital.icvstringRequired
Previous Invoice Hashextensions.sa_digital.pihstringRequired
QR Codeextensions.sa_digital.qrCodestringRequired
Digital Signatureextensions.sa_digital.digitalSignaturestringRequired

Billing Frequency

Field NameGETS PathData TypeRequired
Billing Frequencyheader.invoicePeriod.frequencystringOptional