> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usecroma.com/llms.txt
> Use this file to discover all available pages before exploring further.

# DIAN Tariff

> What importing goods into Colombia costs, by subpartida arancelaria: the official text, the physical unit, the import duty, VAT, the preferential duty under every trade agreement and country of origin, and the trade regime, each with its validity.

Colombia's tax and customs authority (DIAN) publishes the national tariff (arancel). For every subpartida arancelaria it lists the official text, the physical unit quantities are declared in, the general import duty (gravamen arancelario), the VAT on imports, the preferential duty under each trade agreement for each country of origin (Comunidad Andina, Mercosur, the FTAs with the United States, the European Union, Canada and others), and the trade regime for imports. Each one comes with its validity (from and to) and the norm behind it.

Ask with the full 10-digit subpartida, and optionally a `date` to get the rates in force on that day, back to 2007. The first ask of a subpartida reads DIAN; later asks within 7 days answer from Croma's stored answer, which is re-read regularly so it follows each new decree. For what an import needs beyond the rates (vistos buenos, licenses, minimum descriptions), see [VUCE](https://docs.usecroma.com/guides/colombia/vuce.md).

`POST /co/dian-arancel/tariff/v1` [Lookup](https://docs.usecroma.com/datasets.md#lookups)

What DIAN's tariff lists today for one subpartida. The example is men's knitted coats of other textiles: a 40 % general duty, 19 % VAT, and 0 % from most trade partners.

> [!NOTE]
>
> Answers from Croma's copy when it holds a recent answer for the key, otherwise reads the source and keeps the answer. Every response says when the source was last asked (`checked_at`) and where the answer came from (`served_from`).

| Field | Type | Notes |
| - | - | - |
| `tariff_code` | string | **Required.** The full 10-digit subpartida, e.g. `6101909000`. Dots between the groups (`6101.90.90.00`) are accepted; a 4- or 6-digit heading is not. |
| `date` | string | Optional, `yyyy-mm-dd`. The rates in force on that day instead of today's, e.g. `2020-01-01`. History starts on 2007-01-01; a later date returns what is already decreed for it. Each date is kept as its own answer. |

```bash theme={"dark"}
curl https://api.croma.run/co/dian-arancel/tariff/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "tariff_code": "6101909000" }'
```

Returns `found`, `tariff_code`, `date` (the date asked, null for today), `checked_at` (when DIAN was last asked), `served_from` (`copy`, `upstream` or `stale`) and `tariff`. `tariff` carries `tariff_code`, `chapter`, `heading` and `hs_code` (its first two, four and six digits; `hs_code` is the Harmonized System subheading, the same worldwide), `as_of` (the day the rates are those in force on), `nomenclature` (e.g. `ARIAN`), `valid_from`, `valid_to` and `legal_basis` of the subpartida itself, `official_text` (the texto oficial, one level per line) with `official_text_levels`, `official_text_valid_from`, `official_text_valid_to` and `official_text_legal_basis`, `physical_unit`, `import_duties`, `import_duty_percent`, `vat_rates`, `agreement_duties`, `trade_regimes` and `checked_at`.

Every rate and regime carries `valid_from` and `valid_to` (`YYYY-MM-DD`; `valid_to` is null while it has no end date) and `legal_basis`, the norm DIAN cites for it.

`physical_unit` is the unit quantities are declared in: `code` (e.g. `u`, `kg`) and `name`. Each entry of `import_duties` is a general duty: `concept` (e.g. `GRAVAMEN ARANCELARIO`), `rate` verbatim and `rate_percent`; `import_duty_percent` is the general duty in force as a number. Each entry of `vat_rates` is a VAT rate on imports: `rate`, `rate_percent`, `treatment` (`EXENTO`, `EXCLUIDO` or null) and `applies_to`, set when DIAN splits the subpartida by product.

Each entry of `agreement_duties` is the preferential duty under one trade agreement for one country of origin: `agreement_code` (e.g. `096`), `agreement`, `country`, `concept`, `rate`, `rate_percent`, `preference_index` and `preference_index_percent` (the índice), and `pid_rate`. Each entry of `trade_regimes` is the trade regime for imports, `regime` (e.g. `LIBRE IMPORTACIÓN`).

> [!NOTE]
>
> A subpartida DIAN does not list, or one not yet in force on the date asked, returns `found: false` with HTTP 200, not an error. A date reads the rates of a subpartida that exists today; the official text and the physical unit are today's.

> [card] [Full reference](https://docs.usecroma.com/api-reference/overview.md)
>
> Schemas, all response fields, and an interactive playground.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.