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

# Códigos de error SIFEN

> Códigos comunes devueltos por SIFEN, qué significan y cómo resolverlos.

Cuando SIFEN rechaza un documento, devuelve un código numérico y un mensaje. e-Miti los expone en el campo `extra.codigo_sifen` del error `SIFEN_RECHAZO` (modo sincrónico) o en `resp.codigo` del DE consultado (modo polling).

Esta página lista los códigos más frecuentes con un detalle accionable. Para el resto de códigos, e-Miti devuelve el mensaje de SIFEN tal cual — la referencia normativa completa es el **Manual Técnico SIFEN v150** publicado por DNIT.

## Códigos con detalle accionable

### `0142` — Certificado digital no corresponde al RUC

El certificado `.p12` cargado en la plataforma no pertenece al RUC del emisor configurado en el punto de expedición.

**Cómo resolverlo**: ir al panel → **Configuración → Certificados** y reemplazar por el `.p12` correcto del RUC emisor. Confirmar también que el RUC del certificado coincida con el RUC del tenant.

### `0150` — CDC duplicado

El CDC enviado ya existe en SIFEN. Generalmente ocurre cuando se envía manualmente un `numero` que ya fue usado.

**Cómo resolverlo**: emitir un DE nuevo **sin pasar `numero`** en el request — el sistema asigna el siguiente número disponible. Si necesitás controlar el número desde tu sistema, asegurate de no reutilizar ninguno previamente enviado.

### `0200` — Estructura del XML inválida

El XML generado no cumple el schema XSD de SIFEN. Este caso es responsabilidad de e-Miti, no de tu integración.

**Cómo resolverlo**: reportar el problema a soporte de e-Miti con el `request_id` de la respuesta y, si es posible, el body del request que disparó el error. Mientras tanto, ese DE específico no se puede recuperar — emitir uno nuevo cuando se libere el fix.

### `0300` — Firma digital inválida

La firma del XML no fue aceptada por SIFEN. Suele indicar:

* Certificado vencido.
* Certificado revocado.
* Reloj del servidor desincronizado (raro en AWS).

**Cómo resolverlo**: verificar la vigencia del certificado en el panel. Si está vencido, cargar uno nuevo. Si el problema persiste con un certificado vigente, reportar a soporte.

### `0400` — Timbrado vencido o no activo

El timbrado electrónico configurado en el punto de expedición no está vigente en SIFEN.

**Cómo resolverlo**: solicitar un nuevo timbrado en Marangatú (sistema de DNIT) y cargarlo en el panel → **Configuración → Sucursales → Punto de expedición → Timbrado**.

### `0500` — RUC del receptor cancelado

El RUC del cliente que enviaste está cancelado en la DNIT.

**Cómo resolverlo**: verificar el RUC con tu cliente. Si el RUC realmente está cancelado, el cliente no puede recibir facturas a su nombre — emitir como consumidor final o pedir un RUC válido.

## Otros códigos

SIFEN devuelve muchos más códigos no listados acá. Si recibís uno sin detalle accionable, el campo `mensaje_sifen` del error trae el texto que SIFEN responde — generalmente describe el problema en términos suficientes para diagnosticar.

Si querés contribuir nuevos códigos accionables a esta documentación, abrí un ticket en el portal de soporte con el código, el mensaje y el contexto en que aparece.

## Códigos que **no son** rechazos

Algunos códigos SIFEN son informativos y no implican rechazo:

* **`0`** — Aprobado. Es lo que recibís en `resp.codigo` cuando el DE pasa a estado `A`.
* **Códigos en rango `1000–1999`** — Observaciones (warnings). El DE queda aprobado pero con anotaciones — útiles para corregir en próximas emisiones.

## Cuando SIFEN no responde

Si SIFEN está caído o respondiendo errores de red, e-Miti retorna `SIFEN_NO_DISPONIBLE` (HTTP `503`) en lugar de un código SIFEN. No es un rechazo del documento — es indisponibilidad del servicio. El DE queda en estado `P` y se reintenta automáticamente.
