Skip to main content
POST
/
api
/
v1
/
registrations
/
v2
/
content
/
registration-conditions
curl --request POST \
  --url 'https://transaction-tax.api.in.commenda.io/api/v1/registrations/v2/content/registration-conditions' \
  --header 'Authorization: Bearer <your_token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "registration_tax_type_id": "REG_TRADEBLOC_EU_3000_UOSS_VAT"
  }'
{
  "data": {
    "conditions": [
      {
        "type": "PREREQUISITE_REGISTRATION",
        "registration_options": [
          {
            "registration_tax_type_id": "REG_COUNTRY_DE_3001_VAT",
            "registration_name": "Germany VAT",
            "jurisdiction_id": "JUR_COUNTRY_DE",
            "jurisdiction_name": "Germany",
            "jurisdiction_type": "COUNTRY",
            "portal_ids": ["PORTAL_DE_ELSTER"]
          },
          {
            "registration_tax_type_id": "REG_COUNTRY_FR_3002_VAT",
            "registration_name": "France VAT",
            "jurisdiction_id": "JUR_COUNTRY_FR",
            "jurisdiction_name": "France",
            "jurisdiction_type": "COUNTRY",
            "portal_ids": ["PORTAL_FR_IMPOTS"]
          }
        ]
      },
      {
        "type": "MUTUALLY_EXCLUSIVE",
        "registration_options": [
          {
            "registration_tax_type_id": "REG_TRADEBLOC_EU_3000_NUOSS_VAT",
            "registration_name": "Non-Union OSS",
            "jurisdiction_id": "TRADEBLOC_EU_3000",
            "jurisdiction_name": "European Union",
            "jurisdiction_type": "TRADEBLOC",
            "portal_ids": []
          }
        ]
      }
    ]
  }
}
Retrieve the conditions that apply to a specific registration tax type. Conditions define relationships between registrations — prerequisites that must be met, conflicts that block creation, and member country choices for trade bloc schemes.
Check conditions before creating trade bloc or international registrations to understand what’s required and what conflicts exist.

Request body

registration_tax_type_id
string
required
The registration tax type ID to get conditions for. Get this from the Available Registrations endpoint.Example: "REG_TRADEBLOC_EU_3000_UOSS_VAT"

Condition types

TypeDescriptionCreate behavior
PREREQUISITE_REGISTRATIONAt least one of the listed registrations must be activeBlocked if no prerequisite is active
MUTUALLY_EXCLUSIVECannot coexist with any of the listed registrationsBlocked if any listed registration is active
MUTUALLY_EXCLUSIVE_WITH_MSICannot coexist with listed registrations in the selected member state country onlyBlocked only in the specific country
MEMBER_COUNTRY_TO_REGISTER_THROUGHYou must choose one of the listed countries to register throughPass registered_through_registration_tax_type_id when creating
curl --request POST \
  --url 'https://transaction-tax.api.in.commenda.io/api/v1/registrations/v2/content/registration-conditions' \
  --header 'Authorization: Bearer <your_token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "registration_tax_type_id": "REG_TRADEBLOC_EU_3000_UOSS_VAT"
  }'
{
  "data": {
    "conditions": [
      {
        "type": "PREREQUISITE_REGISTRATION",
        "registration_options": [
          {
            "registration_tax_type_id": "REG_COUNTRY_DE_3001_VAT",
            "registration_name": "Germany VAT",
            "jurisdiction_id": "JUR_COUNTRY_DE",
            "jurisdiction_name": "Germany",
            "jurisdiction_type": "COUNTRY",
            "portal_ids": ["PORTAL_DE_ELSTER"]
          },
          {
            "registration_tax_type_id": "REG_COUNTRY_FR_3002_VAT",
            "registration_name": "France VAT",
            "jurisdiction_id": "JUR_COUNTRY_FR",
            "jurisdiction_name": "France",
            "jurisdiction_type": "COUNTRY",
            "portal_ids": ["PORTAL_FR_IMPOTS"]
          }
        ]
      },
      {
        "type": "MUTUALLY_EXCLUSIVE",
        "registration_options": [
          {
            "registration_tax_type_id": "REG_TRADEBLOC_EU_3000_NUOSS_VAT",
            "registration_name": "Non-Union OSS",
            "jurisdiction_id": "TRADEBLOC_EU_3000",
            "jurisdiction_name": "European Union",
            "jurisdiction_type": "TRADEBLOC",
            "portal_ids": []
          }
        ]
      }
    ]
  }
}

Using conditions when creating registrations

Prerequisites

If a PREREQUISITE_REGISTRATION condition exists, at least one of the listed registrations must be active for your corporation. For Union OSS, this means you need an active domestic VAT registration in an EU member state. When creating, pass the UUID of your existing domestic registration as member_state_registration_id:
{
  "corporation_id": "your-corp-id",
  "registration_tax_type_id": "REG_TRADEBLOC_EU_3000_UOSS_VAT",
  "tax_types": ["VAT"],
  "frequencies": ["QUARTERLY"],
  "member_state_registration_id": "<uuid_of_your_german_vat_registration>"
}

Member country to register through

If a MEMBER_COUNTRY_TO_REGISTER_THROUGH condition exists (Non-Union OSS, IOSS), you must choose one of the listed countries and pass its content ID:
{
  "corporation_id": "your-corp-id",
  "registration_tax_type_id": "REG_TRADEBLOC_EU_3000_NUOSS_VAT",
  "tax_types": ["VAT"],
  "frequencies": ["QUARTERLY"],
  "registered_through_registration_tax_type_id": "REG_COUNTRY_DE_3001_VAT"
}

Mutual exclusivity

If a MUTUALLY_EXCLUSIVE condition exists, creating the registration is blocked when any of the listed registrations are active. You must archive or close the conflicting registration first.