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

# Formatos de Tax ID por País

> Guía completa de formatos de Tax ID aceptados para cada país y tipo de entidad — en el modelo universal de entidades gu1 para KYC, KYB y análisis de riesgo.

## Descripción General

Esta guía proporciona información detallada sobre los formatos de Tax ID aceptados por la plataforma para cada país y tipo de entidad. El sistema **normaliza automáticamente** todos los Tax IDs al formato estándar de cada país.

<Note>
  **Importante**: Puedes enviar Tax IDs con o sin caracteres de formato (puntos, guiones, barras, espacios). El sistema los limpiará y normalizará automáticamente antes de la validación.
</Note>

## Fecha de nacimiento en tax IDs (reglas)

Algunos identificadores fiscales incluyen fecha de nacimiento; otros no. Esto aplica a los operadores de reglas **`tax_id_age_*`** (derivan la edad del valor del campo y la comparan con un umbral).

| País    | Formato                            | ¿Incluye fecha de nacimiento?            | Operadores de reglas                                                                                                                                               |
| ------- | ---------------------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| MX      | RFC persona física (13 caracteres) | Sí (segmento YYMMDD)                     | `tax_id_age_less_than`, `tax_id_age_greater_than_or_equal`, etc.                                                                                                   |
| MX      | CURP (18 caracteres)               | Sí (segmento YYMMDD)                     | Igual                                                                                                                                                              |
| MX      | RFC persona moral (12 caracteres)  | Fecha de constitución, no DOB de persona | No para edad de persona                                                                                                                                            |
| AR      | CUIT/CUIL/DNI                      | No (DNI secuencial)                      | `tax_id_age_*` con `taxIdCountry: AR` — **edad estimada** por cohorte DNI (promedio del rango; margen típico ±6–10 años). No usa `dateOfBirth` ni enriquecimiento. |
| BR      | CPF                                | No                                       | Usar `dateOfBirth` o `age` de enriquecimiento                                                                                                                      |
| CL      | RUT persona                        | No                                       | Usar `dateOfBirth` o `age` de enriquecimiento                                                                                                                      |
| CO / PE | Cédula / DNI                       | No                                       | Usar `dateOfBirth` o `age` de enriquecimiento                                                                                                                      |

Campos aplicables: `taxId`, `originTaxId`, `destinationTaxId`, `userEvent.taxId`, `userEvent.destinationCuit`, y paths custom como `metadata.*` cuando el valor sea RFC o CURP de México.

***

## 🇧🇷 Brasil (BR)

### Persona - CPF

**Documento**: CPF (Cadastro de Pessoas Físicas)

**Dígitos aceptados**: **9, 10 u 11 dígitos**

<CodeGroup>
  ```text Solo números theme={null}
  ✅ 12345678901    (11 dígitos)
  ✅ 1234567890     (10 dígitos)
  ✅ 123456789      (9 dígitos)
  ```

  ```text Con formato (puntos y guiones) theme={null}
  ✅ 123.456.789-01 (11 dígitos formateado)
  ✅ 12.345.678-90  (10 dígitos formateado)
  ✅ 1.234.567-89   (9 dígitos formateado)
  ```
</CodeGroup>

**Formato de normalización**:

* 11 dígitos → `XXX.XXX.XXX-XX`
* 10 dígitos → `XX.XXX.XXX-XX`
* 9 dígitos → `X.XXX.XXX-XX`

<Tip>
  **¿Puedo enviar solo números sin puntos ni guiones?**

  ✅ **SÍ** - El sistema acepta números puros y los formatea automáticamente.
</Tip>

<Warning>
  **Importante**: A partir de la última actualización (enero 2026), el sistema ahora acepta CPF con 9, 10 u 11 dígitos. Anteriormente, solo se aceptaban 10 u 11 dígitos.
</Warning>

***

### Empresa - CNPJ

**Documento**: CNPJ (Cadastro Nacional da Pessoa Jurídica)

**Dígitos aceptados**: **13 o 14 dígitos**

<CodeGroup>
  ```text Solo números theme={null}
  ✅ 12345678000190  (14 dígitos)
  ✅ 1234567000190   (13 dígitos)
  ```

  ```text Con formato (puntos, barra y guiones) theme={null}
  ✅ 12.345.678/0001-90 (14 dígitos formateado)
  ✅ 1.234.567/0001-90  (13 dígitos formateado)
  ```
</CodeGroup>

**Formato de normalización**:

* 14 dígitos → `XX.XXX.XXX/XXXX-XX`
* 13 dígitos → `X.XXX.XXX/XXXX-XX`

<Tip>
  **¿Puedo enviar solo números sin puntos, barras ni guiones?**

  ✅ **SÍ** - El sistema acepta números puros y los formatea automáticamente.
</Tip>

***

## 🇦🇷 Argentina (AR)

### Persona - DNI/CUIL

#### DNI (Documento Nacional de Identidad)

**Dígitos aceptados**: **8 dígitos**

<CodeGroup>
  ```text Solo números theme={null}
  ✅ 12345678       (8 dígitos)
  ```

  ```text Con formato (puntos) theme={null}
  ✅ 12.345.678     (8 dígitos formateado)
  ```
</CodeGroup>

**Formato de normalización**: 8 dígitos → `XX.XXX.XXX`

***

#### CUIL (Código Único de Identificación Laboral)

**Dígitos aceptados**: **11 dígitos**

<CodeGroup>
  ```text Solo números theme={null}
  ✅ 20123456789    (11 dígitos)
  ```

  ```text Con formato (guiones) theme={null}
  ✅ 20-12345678-9  (11 dígitos formateado)
  ```
</CodeGroup>

**Formato de normalización**: 11 dígitos → `XX-XXXXXXXX-X`

<Tip>
  **¿Puedo enviar solo números sin puntos ni guiones?**

  ✅ **SÍ** - El sistema acepta números puros y los formatea automáticamente.
</Tip>

***

### Empresa - CUIT

**Documento**: CUIT (Clave Única de Identificación Tributaria)

**Dígitos aceptados**: **11 dígitos**

<CodeGroup>
  ```text Solo números theme={null}
  ✅ 30123456789    (11 dígitos)
  ```

  ```text Con formato (guiones) theme={null}
  ✅ 30-12345678-9  (11 dígitos formateado)
  ```
</CodeGroup>

**Formato de normalización**: 11 dígitos → `XX-XXXXXXXX-X`

<Tip>
  **¿Puedo enviar solo números sin guiones?**

  ✅ **SÍ** - El sistema acepta números puros y los formatea automáticamente.
</Tip>

***

## 🇲🇽 México (MX)

### Persona - RFC Persona Física

**Documento**: RFC (Registro Federal de Contribuyentes)

**Caracteres aceptados**: **13 caracteres alfanuméricos**

```text Estructura del Formato theme={null}
✅ AAAA######XXX
   └─┬─┘└──┬─┘└┬┘
     │    │   └─ 3 caracteres (homoclave)
     │    └───── 6 números (fecha: AAMMDD)
     └────────── 4 letras (nombre/apellidos)

Ejemplo: GOCG850101A12
         └─┬─┘└──┬─┘└┬┘
           │    │   └─ A12 (homoclave)
           │    └───── 850101 (1 ene 1985)
           └────────── GOCG (García Ochoa Carlos Gerardo)
```

<Warning>
  **¿Puedo enviar solo números sin letras?**

  ❌ **NO** - El RFC requiere letras Y números en el formato específico. No puedes enviar solo números.
</Warning>

***

### Empresa - RFC Persona Moral

**Documento**: RFC (Registro Federal de Contribuyentes)

**Caracteres aceptados**: **12 caracteres alfanuméricos**

```text Estructura del Formato theme={null}
✅ AAA######XXX
   └┬┘└──┬─┘└┬┘
    │   │   └─ 3 caracteres (homoclave)
    │   └───── 6 números (fecha: AAMMDD)
    └─────────3 letras (razón social)

Ejemplo: GOC850101A12
         └┬┘└──┬─┘└┬┘
          │   │   └─ A12 (homoclave)
          │   └───── 850101 (1 ene 1985)
          └─────────GOC (García Ochoa Company)
```

<Warning>
  **¿Puedo enviar solo números sin letras?**

  ❌ **NO** - El RFC requiere letras Y números en el formato específico.
</Warning>

***

## 🇨🇱 Chile (CL)

### Persona - RUT

**Documento**: RUT (Rol Único Tributario)

**Dígitos aceptados**: **7-8 dígitos + 1 dígito verificador**

<CodeGroup>
  ```text Números y verificador theme={null}
  ✅ 12345678K     (8 dígitos + verificador)
  ✅ 1234567K      (7 dígitos + verificador)
  ✅ 123456789     (8 dígitos + verificador numérico)
  ```

  ```text Con formato (puntos y guión) theme={null}
  ✅ 12.345.678-K  (8 dígitos formateado)
  ✅ 1.234.567-K   (7 dígitos formateado)
  ```
</CodeGroup>

**Formato de normalización**:

* 8 dígitos → `XX.XXX.XXX-X`
* 7 dígitos → `X.XXX.XXX-X`

<Note>
  **Importante**: El dígito verificador puede ser un número (0-9) o la letra **K** (mayúscula o minúscula).
</Note>

<Tip>
  **¿Puedo enviar solo números sin puntos ni guiones?**

  ✅ **SÍ** - El sistema acepta números puros y los formatea automáticamente.
</Tip>

***

### Empresa - RUT Empresa

**Documento**: RUT (Rol Único Tributario)

**Dígitos aceptados**: **8-9 dígitos + 1 dígito verificador**

<CodeGroup>
  ```text Números y verificador theme={null}
  ✅ 123456789K    (9 dígitos + verificador)
  ✅ 12345678K     (8 dígitos + verificador)
  ```

  ```text Con formato (puntos y guión) theme={null}
  ✅ 12.345.678-9  (8 dígitos formateado)
  ✅ 1.234.567-8   (7 dígitos formateado)
  ```
</CodeGroup>

**Formato de normalización**:

* 8 dígitos → `XX.XXX.XXX-X`
* 7 dígitos → `X.XXX.XXX-X`

<Tip>
  **¿Puedo enviar solo números sin puntos ni guiones?**

  ✅ **SÍ** - El sistema acepta números puros y los formatea automáticamente.
</Tip>

***

## 🇨🇴 Colombia (CO)

### Persona - Cédula/NIT

**Documento**: Cédula de Ciudadanía o NIT

**Dígitos aceptados**: **6-10 dígitos** (longitud variable)

<CodeGroup>
  ```text Solo números (todos válidos) theme={null}
  ✅ 1234567890    (10 dígitos)
  ✅ 123456789     (9 dígitos)
  ✅ 12345678      (8 dígitos)
  ✅ 1234567       (7 dígitos)
  ✅ 123456        (6 dígitos)
  ```
</CodeGroup>

<Note>
  **Sin formato especial** - Las identificaciones personales colombianas no tienen un patrón de formato estándar.
</Note>

<Tip>
  **¿Puedo enviar solo números?**

  ✅ **SÍ** - El sistema acepta números puros sin formato especial.
</Tip>

***

### Empresa - NIT

**Documento**: NIT (Número de Identificación Tributaria)

**Dígitos aceptados**: **9 dígitos + 1 dígito verificador** (10 total)

<CodeGroup>
  ```text Solo números theme={null}
  ✅ 1234567890    (10 dígitos - 9 + verificador)
  ```

  ```text Con formato (guión) theme={null}
  ✅ 123456789-0   (9 dígitos + verificador con guión)
  ```
</CodeGroup>

**Formato de normalización**: 10 dígitos → `XXXXXXXXX-X`

<Tip>
  **¿Puedo enviar solo números sin guiones?**

  ✅ **SÍ** - El sistema acepta números puros y los formatea automáticamente.
</Tip>

***

## 🇵🇪 Perú (PE)

### Persona - DNI

**Documento**: DNI (Documento Nacional de Identidad)

**Dígitos aceptados**: **8 dígitos** (longitud fija)

<CodeGroup>
  ```text Solo números theme={null}
  ✅ 12345678      (8 dígitos)
  ```
</CodeGroup>

<Note>
  **Sin formato especial** - El DNI peruano no usa puntos, guiones u otros caracteres de formato.
</Note>

<Tip>
  **¿Puedo enviar solo números?**

  ✅ **SÍ** - Solo números, sin formato especial requerido.
</Tip>

***

### Empresa - RUC

**Documento**: RUC (Registro Único de Contribuyentes)

**Dígitos aceptados**: **11 dígitos** (longitud fija)

<CodeGroup>
  ```text Solo números theme={null}
  ✅ 20123456789   (11 dígitos)
  ```
</CodeGroup>

<Note>
  **Nota de formato**: Los primeros 2 dígitos indican el tipo de contribuyente:

  * **20** = Empresas (Personas Jurídicas)
  * **10** = Personas naturales con actividad empresarial
</Note>

<Tip>
  **¿Puedo enviar solo números?**

  ✅ **SÍ** - Solo números, sin formato especial requerido.
</Tip>

***

## 🇺🇾 Uruguay (UY)

### Persona - CI

**Documento**: CI (Cédula de Identidad)

**Dígitos aceptados**: **7-8 dígitos**

<CodeGroup>
  ```text Solo números theme={null}
  ✅ 12345678      (8 dígitos)
  ✅ 1234567       (7 dígitos)
  ```
</CodeGroup>

<Note>
  **Sin formato especial** - La CI uruguaya no usa caracteres de formato.
</Note>

<Tip>
  **¿Puedo enviar solo números?**

  ✅ **SÍ** - Solo números, sin formato especial requerido.
</Tip>

***

### Empresa - RUT

**Documento**: RUT (Registro Único Tributario)

**Dígitos aceptados**: **12 dígitos** (longitud fija)

<CodeGroup>
  ```text Solo números theme={null}
  ✅ 212345670018  (12 dígitos)
  ```
</CodeGroup>

<Note>
  **Sin formato especial** - El RUT uruguayo no usa caracteres de formato.
</Note>

<Tip>
  **¿Puedo enviar solo números?**

  ✅ **SÍ** - Solo números, sin formato especial requerido.
</Tip>

***

## 🇵🇾 Paraguay (PY)

### Persona - CI

**Documento**: CI (Cédula de Identidad)

**Dígitos aceptados**: **6-8 dígitos**

<CodeGroup>
  ```text Solo números theme={null}
  ✅ 12345678      (8 dígitos)
  ✅ 1234567       (7 dígitos)
  ✅ 123456        (6 dígitos)
  ```
</CodeGroup>

<Note>
  **Sin formato especial** - La CI paraguaya no usa caracteres de formato.
</Note>

<Tip>
  **¿Puedo enviar solo números?**

  ✅ **SÍ** - Solo números, sin formato especial requerido.
</Tip>

***

### Empresa - RUC

**Documento**: RUC (Registro Único de Contribuyentes)

**Dígitos aceptados**: **6-8 dígitos + 1 dígito verificador**

<CodeGroup>
  ```text Números y verificador theme={null}
  ✅ 123456789     (8 dígitos + verificador)
  ✅ 12345678      (7 dígitos + verificador)
  ```

  ```text Con formato (guión) theme={null}
  ✅ 12345678-9    (con guión)
  ```
</CodeGroup>

**Formato de normalización**: Con verificador → `XXXXXX-X` (mínimo 6 dígitos)

<Tip>
  **¿Puedo enviar solo números sin guiones?**

  ✅ **SÍ** - El sistema acepta números puros y los formatea automáticamente.
</Tip>

***

## 🇺🇸 Estados Unidos (US)

### Empresa - EIN

**Documento**: EIN (Employer Identification Number)

**Dígitos aceptados**: **9 dígitos** (longitud fija)

<CodeGroup>
  ```text Solo números theme={null}
  ✅ 123456789     (9 dígitos)
  ```

  ```text Con formato (guión) theme={null}
  ✅ 12-3456789    (con guión)
  ```
</CodeGroup>

**Formato de normalización**: 9 dígitos → `XX-XXXXXXX`

<Note>
  **Nota de formato**: El EIN es emitido por el IRS para entidades comerciales. Los primeros 2 dígitos indican el campus del IRS donde se emitió el EIN.
</Note>

<Tip>
  **¿Puedo enviar solo números sin guiones?**

  ✅ **SÍ** - El sistema acepta números puros y los formatea automáticamente.
</Tip>

***

## 🇻🇪 Venezuela (VE)

### Empresa - RIF

**Documento**: RIF (Registro de Información Fiscal)

**Caracteres aceptados**: **1 letra + 9 dígitos** (10 total)

<CodeGroup>
  ```text Letra + números theme={null}
  ✅ J123456789    (J/G/V/E/P + 9 dígitos)
  ```

  ```text Con formato (guiones) theme={null}
  ✅ J-12345678-9  (con guiones)
  ```
</CodeGroup>

**Formato de normalización**: Letra + 9 dígitos → `X-XXXXXXXX-X`

**Letras válidas** (primer carácter):

* **J** = Jurídico (Entidades legales/empresas)
* **G** = Gobierno (Entidades gubernamentales)
* **V** = Venezolano (Personas naturales venezolanas)
* **E** = Extranjero (Personas extranjeras)
* **P** = Pasaporte (Pasaporte)

<Tip>
  **¿Puedo enviar solo la letra y números sin guiones?**

  ✅ **SÍ** - El sistema acepta el formato sin guiones y lo formatea automáticamente.
</Tip>

<Warning>
  **Importante**: La letra es **requerida**. No puedes enviar solo números para el RIF venezolano.
</Warning>

***

## 📊 Tabla Resumen Completa

| País    | Entidad | Documento | Dígitos/Formato     | Solo números | Con formato              |
| ------- | ------- | --------- | ------------------- | ------------ | ------------------------ |
| 🇧🇷 BR | Persona | CPF       | 9-11 dígitos        | ✅            | ✅ puntos y guiones       |
| 🇧🇷 BR | Empresa | CNPJ      | 13-14 dígitos       | ✅            | ✅ puntos, barra, guiones |
| 🇦🇷 AR | Persona | DNI       | 8 dígitos           | ✅            | ✅ puntos                 |
| 🇦🇷 AR | Persona | CUIL      | 11 dígitos          | ✅            | ✅ guiones                |
| 🇦🇷 AR | Empresa | CUIT      | 11 dígitos          | ✅            | ✅ guiones                |
| 🇲🇽 MX | Persona | RFC PF    | 13 alfanuméricos    | ❌            | ❌ Alfanumérico requerido |
| 🇲🇽 MX | Empresa | RFC PM    | 12 alfanuméricos    | ❌            | ❌ Alfanumérico requerido |
| 🇨🇱 CL | Persona | RUT       | 7-8 + K             | ✅            | ✅ puntos y guión         |
| 🇨🇱 CL | Empresa | RUT       | 8-9 + K             | ✅            | ✅ puntos y guión         |
| 🇨🇴 CO | Persona | CC/NIT    | 6-10 dígitos        | ✅            | -                        |
| 🇨🇴 CO | Empresa | NIT       | 9 + 1 dígitos       | ✅            | ✅ guión                  |
| 🇵🇪 PE | Persona | DNI       | 8 dígitos           | ✅            | -                        |
| 🇵🇪 PE | Empresa | RUC       | 11 dígitos          | ✅            | -                        |
| 🇺🇾 UY | Persona | CI        | 7-8 dígitos         | ✅            | -                        |
| 🇺🇾 UY | Empresa | RUT       | 12 dígitos          | ✅            | -                        |
| 🇵🇾 PY | Persona | CI        | 6-8 dígitos         | ✅            | -                        |
| 🇵🇾 PY | Empresa | RUC       | 6-8 + 1 dígito      | ✅            | ✅ guión                  |
| 🇺🇸 US | Empresa | EIN       | 9 dígitos           | ✅            | ✅ guión                  |
| 🇻🇪 VE | Empresa | RIF       | 1 letra + 9 dígitos | ✅            | ✅ guiones                |

**Leyenda**:

* ✅ = Formato aceptado
* ❌ = Formato no aceptado
* `-` = Sin formato especial

***

## ❓ Preguntas Frecuentes

<AccordionGroup>
  <Accordion title="¿Puedo enviar el taxId con puntos, guiones y otros caracteres de formato?">
    ✅ **SÍ** - El sistema limpia automáticamente todos los caracteres de formato (puntos, guiones, barras, espacios) antes de validar.

    **Ejemplos de formatos aceptados:**

    ```
    CPF de Brasil:
    ✅ 123.456.789-01
    ✅ 123-456-789-01
    ✅ 123 456 789 01
    ✅ 12345678901
    → Todos se convierten en: 123.456.789-01
    ```
  </Accordion>

  <Accordion title="¿Puedo enviar el taxId solo con números (sin formato)?">
    ✅ **SÍ** - Para la mayoría de los países (excepto México RFC y Venezuela RIF que requieren letras), puedes enviar solo números.

    **Países de excepción (requieren letras):**

    * 🇲🇽 México: RFC requiere letras + números
    * 🇻🇪 Venezuela: RIF requiere 1 letra + números
  </Accordion>

  <Accordion title="¿El sistema normaliza automáticamente el formato?">
    ✅ **SÍ** - El sistema normaliza todos los taxIds al formato estándar del país.

    **Ejemplo para CPF de Brasil:**

    ```
    Envías:    12345678901
    Guardado:  123.456.789-01

    Envías:    123.456.789-01
    Guardado:  123.456.789-01

    Envías:    123-456-789-01
    Guardado:  123.456.789-01
    ```

    **Ejemplo para CUIT de Argentina:**

    ```
    Envías:    30123456789
    Guardado:  30-12345678-9

    Envías:    30-12345678-9
    Guardado:  30-12345678-9
    ```
  </Accordion>

  <Accordion title="¿Qué pasa si envío un formato inválido?">
    ❌ El sistema rechazará el taxId con un error de validación indicando:

    * El formato esperado
    * La cantidad de dígitos requerida
    * Ejemplos de formatos válidos
    * El nombre del documento específico del país (CPF, CNPJ, CUIT, etc.)

    **Ejemplo de respuesta de error:**

    ```json theme={null}
    {
      "success": false,
      "error": {
        "code": "VALIDATION_ERROR",
        "message": "Formato de CPF inválido. Se esperan 9-11 dígitos.",
        "details": {
          "field": "taxId",
          "taxIdName": "CPF",
          "providedValue": "12345",
          "expectedFormat": "9-11 dígitos (ej. 123.456.789-01 o 12345678901)"
        }
      }
    }
    ```
  </Accordion>

  <Accordion title="¿Puedo enviar un CPF de 9 dígitos para Brasil?">
    ✅ **SÍ** - A partir de la última actualización (enero 2026), el sistema acepta CPF con **9, 10 u 11 dígitos**.

    **Anteriormente**: Solo se aceptaban 10 u 11 dígitos.

    **Ahora se acepta:**

    ```
    ✅ 123456789      (9 dígitos)  → 1.234.567-89
    ✅ 1234567890     (10 dígitos) → 12.345.678-90
    ✅ 12345678901    (11 dígitos) → 123.456.789-01
    ```
  </Accordion>

  <Accordion title="¿Se validan los dígitos verificadores?">
    ⚠️ **Parcial** - El sistema valida:

    ✅ **Validación de formato**: Verifica que el Tax ID tenga la cantidad correcta de dígitos y estructura

    ❌ **Validación de suma de verificación**: El sistema NO valida sumas de verificación matemáticas (dígitos verificadores) para la mayoría de los países

    **¿Por qué?** La validación de suma de verificación rechazaría IDs válidos pero incorrectamente escritos. En su lugar, el sistema depende de proveedores de enriquecimiento para validar la existencia y validez real del documento.
  </Accordion>

  <Accordion title="¿Qué pasa si mi país no está listado?">
    Para países no listados arriba, el sistema aceptará Tax IDs sin validación de formato estricta. Puedes proporcionar el Tax ID en cualquier formato razonable, y se almacenará tal cual sin normalización.

    **Países soportados pero no estrictamente validados incluyen:**

    * 🇪🇸 España (NIF/CIF)
    * 🇵🇹 Portugal (NIF)
    * 🇪🇪 Estonia (Isikukood)
    * 🇧🇴 Bolivia (NIT)
    * 🇪🇨 Ecuador (RUC/Cédula)
    * Y otros...
  </Accordion>
</AccordionGroup>

***

## 💡 Ejemplos por Caso de Uso

### Crear una Persona en Brasil

<CodeGroup>
  ```json Con CPF formateado theme={null}
  {
    "type": "person",
    "name": "João Silva",
    "taxId": "123.456.789-01",
    "countryCode": "BR"
  }
  // ✅ Sistema normaliza a: 123.456.789-01
  ```

  ```json Con CPF sin formato theme={null}
  {
    "type": "person",
    "name": "João Silva",
    "taxId": "12345678901",
    "countryCode": "BR"
  }
  // ✅ Sistema normaliza a: 123.456.789-01
  ```

  ```json Con CPF de 9 dígitos theme={null}
  {
    "type": "person",
    "name": "João Silva",
    "taxId": "123456789",
    "countryCode": "BR"
  }
  // ✅ Sistema normaliza a: 1.234.567-89
  ```
</CodeGroup>

***

### Crear una Empresa en Brasil

<CodeGroup>
  ```json Con CNPJ formateado theme={null}
  {
    "type": "company",
    "name": "Exemplo Ltda",
    "taxId": "12.345.678/0001-90",
    "countryCode": "BR"
  }
  // ✅ Sistema normaliza a: 12.345.678/0001-90
  ```

  ```json Con CNPJ sin formato theme={null}
  {
    "type": "company",
    "name": "Exemplo Ltda",
    "taxId": "12345678000190",
    "countryCode": "BR"
  }
  // ✅ Sistema normaliza a: 12.345.678/0001-90
  ```
</CodeGroup>

***

### Crear una Empresa en Argentina

<CodeGroup>
  ```json Con CUIT formateado theme={null}
  {
    "type": "company",
    "name": "Ejemplo SA",
    "taxId": "30-12345678-9",
    "countryCode": "AR"
  }
  // ✅ Sistema normaliza a: 30-12345678-9
  ```

  ```json Con CUIT sin formato theme={null}
  {
    "type": "company",
    "name": "Ejemplo SA",
    "taxId": "30123456789",
    "countryCode": "AR"
  }
  // ✅ Sistema normaliza a: 30-12345678-9
  ```
</CodeGroup>

***

### Crear una Persona en México

<CodeGroup>
  ```json RFC con formato correcto theme={null}
  {
    "type": "person",
    "name": "García Ochoa Carlos Gerardo",
    "taxId": "GOCG850101A12",
    "countryCode": "MX"
  }
  // ✅ El RFC debe incluir letras
  ```

  ```json ❌ INVÁLIDO - Solo números theme={null}
  {
    "type": "person",
    "name": "García Ochoa Carlos Gerardo",
    "taxId": "850101012",
    "countryCode": "MX"
  }
  // ❌ ERROR: El RFC requiere letras Y números
  ```
</CodeGroup>

***

### Crear una Persona en Chile

<CodeGroup>
  ```json Con RUT formateado theme={null}
  {
    "type": "person",
    "name": "María González",
    "taxId": "12.345.678-K",
    "countryCode": "CL"
  }
  // ✅ Sistema normaliza a: 12.345.678-K
  ```

  ```json Con RUT sin formato theme={null}
  {
    "type": "person",
    "name": "María González",
    "taxId": "12345678K",
    "countryCode": "CL"
  }
  // ✅ Sistema normaliza a: 12.345.678-K
  ```

  ```json Con verificador numérico theme={null}
  {
    "type": "person",
    "name": "María González",
    "taxId": "123456789",
    "countryCode": "CL"
  }
  // ✅ Sistema normaliza a: 12.345.678-9
  ```
</CodeGroup>

***

## 🔍 Mejores Prácticas

<CardGroup cols={2}>
  <Card title="Siempre Proporciona el Código de País" icon="flag">
    Siempre incluye el campo `countryCode` al crear entidades. Esto permite al sistema aplicar las reglas de validación correctas para ese país.
  </Card>

  <Card title="Envía Datos Limpios" icon="broom">
    Aunque el sistema limpia los caracteres de formato, enviar datos limpios reduce el tiempo de procesamiento y posibles errores.
  </Card>

  <Card title="Maneja Errores de Validación" icon="triangle-exclamation">
    Implementa un manejo adecuado de errores para los errores de validación de Tax ID. La respuesta de error incluye detalles útiles sobre el formato esperado.
  </Card>

  <Card title="Prueba Antes de Producción" icon="vial">
    Prueba tus entradas de Tax ID en el entorno sandbox antes de ir a producción, especialmente para países con requisitos de formato estrictos.
  </Card>
</CardGroup>

***

<Note>
  **Última actualización**: 28 de enero de 2026 • **Versión**: 5.0

  **Cambios en esta versión**:

  * ✨ Añadido soporte para CPF de 9 dígitos en Brasil
  * 📋 Expandida la cobertura para incluir todos los países latinoamericanos
  * 🔍 Añadidas explicaciones detalladas de formato y ejemplos
  * ❓ Sección de FAQ mejorada con escenarios comunes
</Note>
