Chapter 06 of 06 · UAE

Go live

Move your customer from sandbox to production and send their first live UAE invoice. You need a sandbox invoice that reached final_valid and your customer's ASP authorization for production.

Pass the required test cases

In the Developer portal, open Integration engine, open Default GETS Mapping and run its Testbed test cases until every required one shows Passed. See Test your mapping.

Until they pass, every production invoice is refused with HTTP 412 and failed_precondition.

Create a production API key

In the Developer portal, open API Keys and create a key under Production API keys, with read and write access. Copy the secret when it appears. Load it in place of the sandbox key, from your server-side secret manager.

Ask your customer to authorize Complyance for production

An ASP linkage made for sandbox does not cover production. Your customer completes the linkage with the Federal Tax Authority for production, using the same TIN and administrator email. See Prepare a UAE company for onboarding.

Onboard the company in production

Send the onboarding request from Onboard your customer again with the production key and "platformEnvironment": "production". Use a source name and version that the company will send production invoices with.

You should see HTTP 201 with "platformEnvironment": "production". Check readyForInvoicing as in that chapter. If it is false, the production source has no mapping yet: assign one as described in Use the default UAE mapping, choosing the production environment. Set COMPLYANCE_SOURCE from this response.

Send the first production invoice

Build the request as in Prepare an invoice, with three changes:

  • "environment": "production" in place of "sandbox"
  • source set to the production source
  • real seller, buyer and Peppol identities in place of every sample value, and a document number you have not used

Submit it as in Submit the invoice and follow it as in Check the result until isTerminal is true. final_valid means the invoice was accepted.

If something goes wrong

412 with failed_precondition: the default mapping’s required test cases have not all passed. Run them, then send the invoice again.

403 with permission_denied: the key is a sandbox key. Use a production key with "environment": "production".

ASP_LINKAGE_NOT_FOUND during onboarding: your customer’s production linkage is missing, or the TIN or email differs from the one they used. Check both with them.

404: the source does not exist in production. Use the source name and version from the production onboarding response.

The full checklist for UAE production, including the country’s own checks, is in Go live in the United Arab Emirates.