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.