Complyance Logo

Schema Overview

The Global E-Invoice Transformation Standard (GETS) provides a unified schema for e-invoicing compliance across multiple countries. This comprehensive guide covers the core components, data structures, and field definitions.

Schema Architecture

The GETS schema is built on a modular architecture with three core components:

Unified API

Single integration point for all e-invoicing operations

Sources

Identifies the origin system of your invoices

Destinations

Specifies where processed invoices should be delivered


Source Configuration

The source object identifies where invoices originate from your systems or integrations.

{
  "source": {
    "name": "SAP ERP",          // Human-readable name
    "version": "S/4HANA 2022"   // System version
  }
}

Key Points:

  • name: Descriptive identifier for your source system
  • version: Version information for tracking and compatibility

Destination Configuration

The destinations array specifies where processed invoices should be delivered after transformation.

{
  "destinations": [
    {
      "type": "tax_authority",
      "details": {
        "country": "SA",
        "authority": "ZATCA",
        "documentType": "tax_invoice"
      }
    }
  ]
}

Supported Destination Types

TypeDescriptionUse Case
tax_authorityGovernment tax authoritiesZATCA, LHDNM, IRAS compliance
peppolPEPPOL network deliveryCross-border e-invoicing

Field Definitions Reference

Complete field definitions based on the GETS schema registry with data types, requirements, and descriptions.

Seller (Supplier) Information

Field PathNameTypeRequiredDescription
parties.seller.nameSeller NamestringRequiredLegal name of the selling entity
parties.seller.address.countrySeller CountrystringRequiredISO country code (e.g., "SA", "MY")
parties.seller.address.citySeller CitystringRequiredCity where seller is located
parties.seller.taxIds[0].typeSeller Tax ID TypestringRequiredTax identifier type (VAT, TIN, GST)
parties.seller.taxIds[0].valueSeller Tax ID ValuestringRequiredActual tax identification number
parties.seller.address.addressLine1Seller Address Line 1string⚪ OptionalStreet address details
parties.seller.address.postalCodeSeller Postal Codestring⚪ OptionalPostal/ZIP code

Buyer (Customer) Information

Field PathNameTypeRequiredDescription
parties.buyer.nameBuyer NamestringRequiredLegal name of the buying entity
parties.buyer.address.countryBuyer Countrystring⚪ OptionalISO country code
parties.buyer.taxIds[0].typeBuyer Tax ID Typestring⚪ OptionalTax identifier type
parties.buyer.taxIds[0].valueBuyer Tax ID Valuestring⚪ OptionalTax identification number

Line Items

Field PathNameTypeRequiredDescription
lineItems[0].idLine Item IDstringRequiredUnique identifier for the line item
lineItems[0].nameLine Item NamestringRequiredProduct/service description
lineItems[0].quantityLine Item QuantitynumberRequiredQuantity of items
lineItems[0].unitCodeLine Item Unit CodestringRequiredUnit of measure (PCE, KGM, etc.)
lineItems[0].netPriceLine Item Net PricenumberRequiredPrice per unit (excluding tax)
lineItems[0].lineTotalLine Item TotalnumberRequiredTotal amount for this line
lineItems[0].taxAmountLine Item Tax Amountnumber⚪ OptionalTax amount for this line item
lineItems[0].taxCategoryTax Categorystring⚪ OptionalTax category classification
lineItems[0].taxRateTax Ratenumber⚪ OptionalTax rate percentage

Tax and Totals

Field PathNameTypeRequiredDescription
totals.totalAmountExcludingTaxTotal Amount Excluding TaxnumberRequiredSum of all line items before tax
totals.totalAmountIncludingTaxTotal Amount Including TaxnumberRequiredFinal total including all taxes
totals.amountDueAmount DuenumberRequiredAmount owed by buyer
totals.totalTaxAmountTotal Tax AmountnumberRequiredSum of all tax amounts
totals.totalAllowancesTotal Allowancesnumber⚪ OptionalTotal discounts/allowances
totals.totalChargesTotal Chargesnumber⚪ OptionalAdditional charges
totals.prepaidAmountPrepaid Amountnumber⚪ OptionalAmount already paid

Payment Information

Field PathNameTypeRequiredDescription
payment.paymentMeans[0].paymentMeansCodePayment Means Codestring⚪ OptionalPayment method identifier
payment.paymentMeans[0].paymentIdPayment IDstring⚪ OptionalPayment reference number

Destination Configuration

Field PathNameTypeRequiredDescription
destinations[0].typeDestination Typestring⚪ OptionalType of destination for submission
destinations[0].endpointDestination Endpointstring⚪ OptionalAPI endpoint URL for delivery
destinations[0].details.countryDestination Countrystring⚪ OptionalTarget country for compliance

Implementation Notes

Field Requirements

  • Required: Must be present for valid invoice processing
  • ⚪ Optional: Can be omitted but recommended for complete data

Data Types

  • string: Text values, identifiers, codes
  • number: Numeric values, amounts, quantities
  • array: Collections of related items
  • object: Complex nested structures

Best Practices

  1. Always include required fields for successful processing
  2. Use consistent naming across your integration
  3. Validate data types before submission
  4. Include optional fields when available for better compliance

For country-specific requirements and extensions, see Country Extensions.