Ir directamente al contenido
Español
  • No hay sugerencias porque el campo de búsqueda está vacío.

Cambios Obligatorios por Resolución 1962 de 2025 - Facturación Electrónica Sector Salud

A partir del 1.° de julio de 2026, la DIAN exige cinco ajustes en la estructura de las facturas electrónicas del sector salud bajo el Anexo 1.9 (V2). Los envíos que no cumplan estas reglas serán rechazados por el validador MUV con los códigos FED127–FED134.

Este artículo explica qué cambió, qué campos enviar y qué errores esperar si la petición no cumple las nuevas reglas.

Los cambios aplican únicamente a la operación SS-CUFE V2 y a facturas comerciales sin extensión de salud. No afectan el Anexo 1.8 (V1), SS-SinAporte ni SS-Recaudo.

1. contract_number — Formato CUCON Obligatorio

El campo contract_number identifica el contrato SIIFA bajo el cual se prestó el servicio. Desde la Resolución 1962, el MUV valida este valor como un hash SHA-256: exactamente 64 caracteres hexadecimales.

Reglas:

  • Cuando se envía, debe tener exactamente 64 caracteres [a-fA-F0-9].
  • Cuando está vacío o ausente, la API omite el nodo NUMERO_CONTRATO del XML. No se emite la etiqueta vacía.

Error si no cumple: contract_number: value must be a 64-character hexadecimal string (MUV: FED130)

2. Nuevo Campo invoice_without_contract — Factura sin Contrato

Cuando la atención se prestó sin contrato (urgencia, tutela, plan voluntario u otras excepciones legales), el MUV exige un código de justificación en lugar de la referencia de contrato.

Campo: invoice_without_contract — entero, valores del 1 al 6.

  • Código 1: Atención de urgencias sin contrato previo
  • Código 2: Cobertura ADRES, SOAT o planes voluntarios de salud (prepago)
  • Código 3: Atención ordenada por tutela o mandato judicial
  • Código 4: Portabilidad o asignación masiva de afiliados (Art. 2.5.3.4.7.9 Decreto 780/2016)
  • Código 5: Excepciones por cotizaciones o autorizaciones sin contrato
  • Código 6: Obtención de órganos para trasplante

Regla XOR con contract_number:

  • contract_number presente + invoice_without_contract presente → error de validación.
  • contract_number ausente + invoice_without_contract ausente → error de validación.
  • Solo uno de los dos puede estar presente.

3. Exclusión Mutua: contract_number y policy_number

El número de contrato y el número de póliza son instrumentos de financiación distintos que no pueden coexistir en la misma factura ni en el mismo usuario asociado.

Regla: enviar los dos campos con valor en la misma factura o en el mismo usuario genera un error antes de construir el XML.

  • Solo contract_number: Se emite NUMERO_CONTRATO, se omite NUMERO_POLIZA
  • Solo policy_number: Se emite NUMERO_POLIZA, se omite NUMERO_CONTRATO
  • Ambos con valor: Error (MUV: FED129/FED130 y FED131/FED132)
  • Ninguno: invoice_without_contract es obligatorio (ver sección 2)

Esta regla aplica tanto a los campos del encabezado de la factura como a cada entrada en associated_users.

4. Catálogo de Cobertura — Código 01 Deprecado

El campo coverage (COBERTURA_PLAN_BENEFICIOS) identifica el régimen que financia el plan de salud del paciente. El código 01 fue reemplazado por dos códigos más precisos.

  • Código 01: No válido desde julio 2026 (Plan de beneficios en salud financiado con UPC)
  • Código 16: Activo (Plan de beneficios en salud — UPC Régimen Contributivo)
  • Código 17: Activo (Plan de beneficios en salud — UPC Régimen Subsidiado)

Enviar el código 01 genera un error de validación (MUV: FED127/FED128). La API no hace mapeo automático: el integrador debe enviar 16 o 17 según el régimen de afiliación del paciente.

Un campo coverage ausente o vacío genera el error FED134.

5. Campo cucon en Líneas de Factura Comercial

Aplica a laboratorios, fabricantes o importadores que facturan medicamentos o dispositivos médicos directamente a EPS sin extensión UBL de salud (facturas comerciales bajo Resolución 1962).

Campo: cucon en cada ítem de línea — string, opcional, debe ser un hash de 64 caracteres hexadecimales cuando se envía.

Cuando está presente, la API emite en cbc:Note de esa línea: CUCON:[64-char hex hash]

Reglas:

  • El prefijo CUCON: es obligatorio (mayúsculas, sin espacio antes del hash).
  • El campo es por línea, no por encabezado de factura.
  • Su ausencia no genera error; se omite la nota.

Acciones Recomendadas Antes del 1.° de Julio de 2026

  • Verificar que contract_number, cuando se envía, sea un hash SHA-256 de 64 caracteres hexadecimales.
  • Revisar las facturas que hoy no envían contract_number: agregar invoice_without_contract con el código que corresponda a la causal legal.
  • Confirmar que ninguna factura ni usuario asociado envíe contract_number y policy_number simultáneamente.
  • Reemplazar el código de cobertura 01 por 16 (Contributivo) o 17 (Subsidiado) según el régimen del afiliado.
  • En facturas comerciales de medicamentos o dispositivos, agregar el campo cucon por línea donde aplique.