Facturas
Prevalidar, admitir y consultar facturas, y cómo interpretar su resultado.
Flujo
Prevalidar con POST /v1/invoice-validations. Comprueba estructura y reglas fiscales y responde valid con sus errors. No comprueba certificado, autorización ni numeración.
Guardar el cuerpo exacto, la referencia externa y la Idempotency-Key (ver idempotencia).
Admitir con POST /v1/invoices. 202 significa recibido y guardado, no aceptado por la DIAN. Guarda document_id, operation_id y status_url.
Consultar GET /v1/documents/{id} con espera acotada, o esperar el webhook y luego consultar. GET /v1/operations/{id} hoy solo resume trabajos de documentos.
Cuerpos de ejemplo: factura y factura con tratamientos de IVA. El recorrido completo está en el recorrido rápido.
Interpretar el resultado
- En simulación:
dian.status: validated, códigoSIMULATION_ONLY, ambientesimulation. No acredita validación real. - En habilitación: observa por separado
processing_status,dian.status, entrega y cobro.completedpuede acompañar un rechazo. unknownexige conciliación: no reemitas.- Los archivos (PDF, XML) pueden quedar disponibles después del resultado fiscal (ver Archivos).
GET /v1/documents lista documentos con paginación.
Reglas vigentes
- Las facturas nuevas usan las reglas
co-cop-iva-simulation-2026-09-v2: se rechazan compradores con nombre vacío, CC con letras, ceros iniciales o DV, el identificador reservado de consumidor final o direcciones incoherentes. Corrige tus datos de origen; no transformes un cuerpo ya admitido. Detalle en la política de compatibilidad. - El perfil opcional
co-sale-cop-iva-v1exigevat_treatmenten todas las líneas; su firma, habilitación y notas siguen pendientes. - Los casos fiscales soportados están en la matriz fiscal y los catálogos en
GET /v1/catalogs/{catalog}.
Cancelar
POST /v1/documents/{id}/cancellation, con If-Match e idempotencia, cancela un documento solo antes de iniciar la firma: estado DIAN not_sent y procesamiento no completado. Libera la capacidad del rango si aún no tenía número. No anula documentos emitidos ni resuelve resultados DIAN inciertos.