Country Extensions

GETS Country Extensions

Country-specific extensions and customizations in the Global E-Invoice Transformation Standard (GETS) to meet local compliance requirements and regulatory standards.

Saudi Arabia (KSA)
ZATCA
Phase 2
ZATCA (Zakat, Tax and Customs Authority) e-invoicing compliance
Key Extensions
QR Code generation for all invoices
Digital signature requirements
PIH (Previous Invoice Hash) calculation
Simplified invoice thresholds (1,000 SAR)
Document Types
Standard
Simplified
Credit Note
Debit Note
Implementation Status
Live
Extension Specifications
Detailed specifications for major country extensions

ZATCA-Specific Fields

FieldDescriptionRequired
zatca.qr_codeBase64 encoded QR code
Required
zatca.invoice_hashSHA256 hash of invoice
Required
zatca.previous_invoice_hashPIH for invoice sequencing
Required
zatca.digital_signatureXML digital signature
Required

B2C QR Code Structure

ZATCA QR Code TLV Structure:
Tag 1: Seller Name (UTF-8)
Tag 2: VAT Registration Number
Tag 3: Invoice Date and Time (ISO 8601)
Tag 4: Invoice Total (with VAT)
Tag 5: VAT Amount

Example:
01|ACME Corporation|02|123456789012345|03|2024-01-15T10:30:00Z|04|2300.00|05|300.00
Implementation Guide
How to configure country extensions in your GETS integration

Destination Configuration

{
  "destinations": [
    {
      "type": "tax_authority",
      "details": {
        "country": "SA",
        "authority": "ZATCA",
        "environment": "production",
        "extensions": {
          "zatca": {
            "certificate_path": "/path/to/cert.pem",
            "private_key_path": "/path/to/key.pem",
            "integration_type": "api",
            "solution_name": "MyERP v1.0"
          }
        }
      }
    }
  ]
}

Automatic Extension Loading

Based on Country

Extensions automatically loaded based on destination country code

"country": "SA" → ZATCA extensions
Based on Authority

Specific tax authority extensions can be explicitly specified

"authority": "ZATCA" → Saudi extensions