Add branches to a UAE company

Add a source for another branch of an onboarded UAE company. You need the companyId from its onboarding response and an unused source name/version.

Add the branch

Set COMPANY_ID to the returned company identifier. Keep the existing company; do not onboard the same TIN again for another branch.

Create an Abu Dhabi branchbash
curl --request POST \
  "https://prod.gets.complyance.io/v3/connect/companies/${COMPANY_ID}/branches" \
  --header "X-API-Key: ${COMPLYANCE_API_KEY}" \
  --header 'Content-Type: application/json' \
  --data '{
    "branchName": "Abu Dhabi",
    "sourceName": "acme-abu-dhabi",
    "sourceVersion": "v1"
  }'

The branch inherits the company’s country identity and environment. Each branch has its own source.

Save its routing details

Store the returned branchId, sourceId, sourceName, sourceVersion and userGivenBranchId with the branch in your application.

For incoming purchase invoices, share the exact userGivenBranchId with suppliers for cbc:BuyerReference. For outgoing invoice submission, use the branch’s sourceName:sourceVersion.

Check readiness

Require readyForInvoicing: true before submitting invoices for this source. Resolve any returned mapping-readiness problem through mappings and payloads.

Add several branches

Use POST /v3/connect/companies/{companyId}/branches/bulk with a branches array containing 1–100 branch objects. The branch reference gives the fields.

Add two branchesbash
curl --request POST \
  "https://prod.gets.complyance.io/v3/connect/companies/${COMPANY_ID}/branches/bulk" \
  --header "X-API-Key: ${COMPLYANCE_API_KEY}" \
  --header 'Content-Type: application/json' \
  --data '{
    "branches": [
      {"branchName": "Dubai", "sourceName": "acme-dubai-2", "sourceVersion": "v1"},
      {"branchName": "Abu Dhabi", "sourceName": "acme-abu-dhabi-2", "sourceVersion": "v1"}
    ]
  }'

Use source names and versions that do not already exist in your workspace.

Two branches created — HTTP 200json
{
  "success": true,
  "data": {
    "companyId": "66b9f0a1c2d3e4f567890123",
    "processed": 2,
    "succeeded": 2,
    "failed": 0,
    "results": [
      {
        "branchName": "Dubai",
        "sourceName": "acme-dubai-2",
        "sourceVersion": "v1",
        "success": true,
        "data": {
          "companyId": "66b9f0a1c2d3e4f567890123",
          "branchId": "66b9f0b2c2d3e4f567890456",
          "branchName": "Dubai",
          "sourceId": "01JABCDEF1234567890SOURCE",
          "sourceName": "acme-dubai-2",
          "sourceVersion": "v1",
          "platformEnvironment": "sandbox",
          "readyForInvoicing": true
        }
      },
      {
        "branchName": "Abu Dhabi",
        "sourceName": "acme-abu-dhabi-2",
        "sourceVersion": "v1",
        "success": true,
        "data": {
          "companyId": "66b9f0a1c2d3e4f567890123",
          "branchId": "66b9f0b2c2d3e4f567890789",
          "branchName": "Abu Dhabi",
          "sourceId": "01JABCDEF1234567890SECOND",
          "sourceName": "acme-abu-dhabi-2",
          "sourceVersion": "v1",
          "platformEnvironment": "sandbox",
          "readyForInvoicing": true
        }
      }
    ]
  },
  "meta": {
    "requestId": "01JABCDEF1234567890REQUEST",
    "timestamp": "2026-08-17T12:00:00.000Z",
    "workspaceId": "66b9e000c2d3e4f567890000"
  }
}

Check each result independently. Retain successful branch identifiers and correct only failed items; a partial failure does not undo the successful branches.

If something goes wrong

CONNECT_SOURCE_ALREADY_EXISTS: use an unused source name/version for the new branch, or recover the branch already created with that pair.

Company not found: check that COMPANY_ID belongs to this workspace and identifies the onboarded UAE company.

Next, check document counts for the company.

Last updated