# Run a testbed check

Run an integration's mapping against the country's required test cases and read each result. You need a mapping and sample payloads for the documents you will send.

**Testbeds** checks a saved mapping against the test cases a country requires, without sending a real invoice. It runs the same test cases as the **Testbed** step when you [create an integration](https://docs.complyance.io/one-platform/developer-portal/integration-engine/test/); use this page to come back to them later.

> **Before you start**
>
> Have a saved integration for the country, and a sample payload for each kind of document you will send, such as a tax invoice and a credit note. Use test data, not real customer details.

## Step 1: Choose what to test

1. Open **Developer portal → Testbeds**. The page is headed **Testbed**.
2. Choose the **Country**.
3. Choose the **Environment**: **Sandbox**, or for Saudi Arabia also **Simulation**. Test cases never run in Production.
4. Under **Select format**, choose **JSON**, **XML** or **Excel**, the format your system sends.
5. Under **Select mapping**, choose your integration.

The page lists the required test cases, with a count such as `Required test cases · JSON` and `3/14 passed`. Only test cases for the document types your integration covers are shown.

## Step 2: Run each test case

Each test case is a card with its name, a description of the document it expects and a status: **Not Started**, **In Progress**, **Passed** or **Failed**.

1. Choose a payload in the card’s selector, or choose **Upload** to add one.
2. Choose **Run**.
3. Wait for the status to change to **Passed** or **Failed**.

## Step 3: Read a failed result

A failed card shows how many errors were found, such as `2 Error(s)`. Each error has a code, the field it concerns and a message:

```
Credit Note                                   Failed
2 Error(s)
  IBR-055-AE     Field: header.referenceId
                 A credit note must refer to the invoice it corrects.
  ERROR          Field: totals.taxAmount
                 Tax total does not match the sum of the line taxes.
```

Fix the source data or the mapping, then choose **Retry**. For a mapping problem, see [Manage integrations](https://docs.complyance.io/one-platform/developer-portal/integration-engine/manage/).

When every required case passes, you see `Congratulations! All 14 required test cases passed.`, with your own count.

## Test cases by country

The test cases follow the country’s document types:

- **United Arab Emirates**: Standard Tax Invoice, Credit Note, Self-Billed Tax Invoice, Self-Billed Credit Note, Export, Out-of-Scope, Free Trade Zone, Deemed Supply, Continuous Supply, Disclosed Agent, E-Commerce, Margin Scheme, Summary and Reverse Charge Tax Invoice.
- **Malaysia**: Standard Tax Invoice; Credit, Debit, or Refund Note; Export Tax Invoice; Consolidated Tax Invoice; Tax Invoice Receipt; and Self-Billed Tax Invoice.

## What a pass means

A pass shows your mapping produces a valid document for that test case. If your workspace uses the **Default GETS Mapping**, production documents are refused with `412` until every required case passes. A pass does not prove that every invoice your source sends will be valid, so check your first documents in production too.

## If something goes wrong

**No mapping is offered:** check the country and the format. The list shows mappings for that selection only.

**No test cases appear:** check the integration’s document types in **Configuration**. Test cases appear only for the types it covers.

**A case stays In Progress:** wait, then refresh the page. If it does not change, run it again.

Source: https://docs.complyance.io/one-platform/developer-portal/testbeds/
