# Go live

*Chapter 06 of 06 · UAE*

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.

> **Before you start**
>
> Finish [Check the result](https://docs.complyance.io/partner-platform/isv/first-uae-invoice/result/) with `final_valid` for every kind of UAE document you will send. Sandbox and production are separate: nothing you set up in sandbox carries over.

## Step 1: 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](https://docs.complyance.io/one-platform/developer-portal/integration-engine/test/).

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

## Step 2: 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.

## Step 3: 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](https://docs.complyance.io/partner-platform/isv/companies/prerequisites/).

## Step 4: Onboard the company in production

Send the onboarding request from [Onboard your customer](https://docs.complyance.io/partner-platform/isv/first-uae-invoice/onboard/) 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](https://docs.complyance.io/partner-platform/isv/mappings-and-payloads/), choosing the production environment. Set `COMPLYANCE_SOURCE` from this response.

## Step 5: Send the first production invoice

Build the request as in [Prepare an invoice](https://docs.complyance.io/partner-platform/isv/first-uae-invoice/prepare/), 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](https://docs.complyance.io/partner-platform/isv/first-uae-invoice/submit/) and follow it as in [Check the result](https://docs.complyance.io/partner-platform/isv/first-uae-invoice/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](https://docs.complyance.io/countries/ae/go-live/).

> **You are live**
>
> Your customer’s invoices now reach the Federal Tax Authority and their buyers. Next, [set up purchase invoice webhooks](https://docs.complyance.io/one-platform/developer-portal/webhooks/setup/) so your application hears about invoices your customers receive.

Source: https://docs.complyance.io/partner-platform/isv/first-uae-invoice/go-live/
