UAE E-Invoicing Compliance Checklist: Zero to Production-Ready with Complyance SDK
A step-by-step checklist to implement UAE e-invoicing using Complyance SDK. Covers environment setup, invoice payload creation, field mapping, testbed validation, and going live.
Download guide
Overview
Everything you need to go from zero to production-ready e-invoicing in the UAE with Complyance SDK. This guide walks you through 4 phases: environment setup, building your invoice payload, platform configuration and field mapping, and going live.
1. Environment and SDK Setup
Get your dev environment ready and connect to the Complyance platform.
Install your preferred language runtime (Java, Python, Node.js, PHP, Ruby, Go, or .NET). For Java, install OpenJDK 11, set JAVA_HOME, and verify with java -version.
Add the Complyance SDK to your project. For Maven, use io.complyance:unify-sdk:3.0.5-beta. Gradle, npm, and pip are also supported.
Configure the SDK with your API key. Set the source to "UAE", environment to SANDBOX, and call GETSUnifySDK.configure(). Always start with the sandbox environment for testing before switching to production.
2. Build and Push Invoice Payload
Create your invoice data as a JSON object or Map. Include the invoice number, date, currency code (AED), tax amounts, seller and buyer details (name, TRN, address, contact info), and line items (description, quantity, unit price, VAT rate).
Set the document type: Tax Invoice, Credit Note, or Debit Note. Specify whether it's B2B or B2G.
Push the payload using GETSUnifySDK.pushToUnify() with Purpose.Mapping for initial testing.
3. Platform Setup, Mapping, and Validation
Open the Complyance Developer Portal and create a new mapping under GETS Mapping. Select United Arab Emirates as the country to load UAE-specific e-invoicing rules and PINT extensions. Choose your transaction type and generate a Sandbox API Key.
Select the payload you pushed from the SDK. Review the mapping preview to verify all 120+ extracted fields and payload structure. Complete the GETS field mapping (mandatory fields are marked M), then complete the UAE-specific country field mapping for fields like VAT point date and authority name.
Run testbed validation. The system automatically checks all mandatory fields. Look for "Test Case Passed: SUCCESS" to confirm your invoice is validated.
4. Go Live
Change Purpose.MAPPING to Purpose.INVOICING in your SDK call to switch from test mode to live invoicing.
Complete the Invoice Portal onboarding to get your Source Number and Source ID for production. Map these credentials in Manage Source to link them to the platform.
Run the code and submit to the government. Your e-invoice is now production-ready. Monitor invoice status (Cleared, Warned, or Rejected) in the Sales Documents section.
Fill in the form to download the guide
Frequently Asked Questions
Python, Node.js, PHP, Ruby, Go, .NET, and Java.
Tax Invoices, Credit Notes, and Debit Notes, for both B2B and B2G transactions.
Always start with the sandbox environment for testing. Switch to production only after your testbed validation passes.
Run testbed validation in the Developer Portal. The system checks all mandatory fields automatically and returns a pass/fail result.
Begin Your E-Invoicing Journey Now.
See how Complyance helps you go live across multiple countries in just one week.