Documentación Técnica de la API de Dataico - Factura Electrónica Sector Salud
Referencia completa: API DOCS Documentación Técnica FE
Autenticación
La API utiliza los parámetros Dataico_account_id y Auth-token como método de autenticación para la transmisión de facturas electrónicas del sector salud.
Para obtener estas credenciales: en Dataico, ve a Opciones (parte superior) > Configuración.
Numeración
Para obtener los datos de autorización de tu numeración o consecutivo de facturación electrónica:
Ventas > Facturas > Numeraciones > [Editar]
En la pantalla de edición encontrarás el prefijo, número de resolución y el consecutivo actual.
Crear Factura Electrónica para el Sector Salud
Método: POST
Endpoint: https://api.dataico.com/direct/dataico_api/v2/invoices
Headers:
Content-Type: application/jsonAuth-token: <token de la cuenta DATAICO>
Tipos de operación aceptados
El campo operation de la factura acepta los siete tipos de operación del sector salud:
SS_RECAUDO · SS_POS · SS_CUFE · SS_CUDE · SS_SNUM · SS_REPORTE · SS_SIN_APORTE
Los ejemplos JSON de abajo cubren cuatro de ellos; SS_POS, SS_CUDE y SS_SNUM usan la misma estructura de campos de salud que SS_CUFE.
Versión de las reglas de salud (version)
El objeto health acepta el campo version, con dos valores: API_SALUD_V1 y API_SALUD_V2. Envía "version": "API_SALUD_V2": es la versión que aplica las validaciones de contrato, póliza y cobertura que se describen abajo, y la que documenta el Swagger.
Si la petición no envía version, la API usa API_SALUD_V1, que no aplica esas reglas: Dataico no revisa que la factura lleve contrato o justificación, que contrato y póliza no vayan juntos ni que la cobertura sea distinta de PLAN_DE_BENEFICIOS.
"health": {
"version": "API_SALUD_V2",
"period_start_date": "01/09/2026",
"period_end_date": "30/09/2026",
"provider_code": "1234567890",
"payment_modality": "PAGO_POR_EVENTO",
"coverage": "PLAN_DE_BENEFICIOS_CONTRIBUTIVO",
"contract_number": "<número del contrato>"
}
Contrato, póliza y factura sin contrato
Con API_SALUD_V2, en SS_CUFE, SS_CUDE, SS_POS, SS_SNUM y SS_REPORTE:
- El objeto
healthlleva exactamente uno de estos dos campos, nunca ambos ni ninguno:contract_numberoinvoice_without_contract. contract_numberypolicy_numberno pueden ir juntos, ni en la factura ni en cada elemento deassociated_users.policy_numberse usa solo en atenciones SOAT o de planes voluntarios de salud. Como no va concontract_number, una factura con póliza llevainvoice_without_contractcon la justificación que corresponda.contract_numberes el número del contrato objeto de facturación. Deberá ser el CUCON (Código Único de Contrato) que asigna el SIIFA del Ministerio de Salud, según el cronograma de implementación del SIIFA.
En SS_SIN_APORTE el número de contrato es opcional y esta regla no aplica. SS_RECAUDO no exige número de contrato ni justificación.
Factura sin contrato. invoice_without_contract es un entero entre 1 y 6 con el código de justificación del catálogo SISPRO facturaSinContrato. Los seis códigos y su significado están descritos en el campo dentro del Swagger. Un valor fuera de ese rango se rechaza con el error invoice_without_contract must be a justification code between 1 and 6.
En el XML emitido, la justificación viaja en el bloque FACTURA_SIN_CONTRATO:
schemeName:salud_facturaSinContrato.gcschemeID: el código en dos dígitos (01a06)- Texto del valor: la descripción literal del catálogo SISPRO, no el código, tal como la compara la validación oficial
La interfaz de Dataico no tiene campo para invoice_without_contract ni para policy_number en estas operaciones, así que una atención sin contrato o con póliza se factura por esta API.
Cobertura y modalidad de pago
- Con
API_SALUD_V2, en las mismas cinco operaciones, la coberturaPLAN_DE_BENEFICIOSse rechaza, también dentro deassociated_users. UsaPLAN_DE_BENEFICIOS_CONTRIBUTIVOpara el régimen contributivo oPLAN_DE_BENEFICIOS_SUBSIDIADOpara el subsidiado. - En
payment_modalityno usesOTRA_MODALIDAD: la Resolución 948 de 2026 ya no contempla esa modalidad. Ver Modalidad de Pago en facturas Sector Salud.
Recibos Referencia (receipt_documents)
Si tu cliente lleva su propio control de recepción de mercancía (un albarán, un DAFI, una guía de remisión), puedes enviar esos identificadores en la solicitud de creación con el campo opcional receipt_documents, un arreglo de textos:
"receipt_documents": ["ALB-4471", "DAFI-9930"]
- Puedes enviar tantos como necesites, y repetir el mismo identificador.
- Si no envías el campo, el documento se crea sin referencias.
- Cada entrada viaja al XML de la DIAN y aparece en el PDF, en el bloque de datos junto a la Orden de Compra.
Es el mismo campo Recibos Referencia que se llena desde la interfaz de Dataico. Ver ¿Cómo agregar Recibos Referencia a una factura o nota?.
Códigos CUPS en los ítems
La API no tiene un campo exclusivo para el código CUPS (Clasificación Única de Procedimientos en Salud), ni en items, ni en health, ni en associated_users. Cada procedimiento se envía como un ítem:
sku: el código CUPS del procedimiento.description: el nombre del procedimiento.
"items": [
{
"sku": "890201",
"description": "Consulta de primera vez por medicina general",
"quantity": 1,
"price": 45000
}
]
- Dataico no valida el código contra el catálogo CUPS:
skuacepta cualquier texto no vacío, así que revisa el código antes de enviarlo. - En el XML de la DIAN,
skuviaja como identificación estándar del ítem (StandardItemIdentification, conschemeID="999") ydescriptioncomo descripción del ítem. - Si en tu catálogo de productos no existe un producto con ese
sku, la API lo crea con el código como Referencia. Las facturas siguientes con el mismo código se asocian a ese producto, y la descripción de cada línea es la que envías en cada solicitud. - Dataico no genera los RIPS. Los códigos CUPS que exigen los RIPS se reportan allí, por fuera de Dataico.
Desde la interfaz, el equivalente es crear un producto por procedimiento, con el código CUPS en Referencia y el nombre del procedimiento en Descripción.
Estructuras JSON por Tipo de Operación
Los ejemplos de abajo no incluyen version: agrégale "version": "API_SALUD_V2" al objeto health y usa la cobertura del régimen que corresponda.
Tipo de operación SS Recaudo:
Tipo de operación SS CUFE:
- JSON: Factura SS-CUFE solo con campos mandatorios
- JSON: Factura SS-CUFE con campos mandatorios y opcionales
Tipo de operación SS Reporte:
- JSON: Factura SS-REPORTE solo con campos mandatorios
- JSON: Factura SS-REPORTE con campos mandatorios y opcionales
Tipo de operación SS Sin Aporte:
Tipos de Operación Salud
Para más detalles sobre los tipos de operación, su aplicación y los campos requeridos, consulta Tipos de operación del sector salud en Dataico.
Recursos Adicionales
¿Este artículo te fue útil?