---
title: "Endpoint para emitir una nota débito electrónica a la DIAN"
method: POST
path: "/debit-notes"
tags: ["Notas Débito electrónicas"]
---

# Endpoint para emitir una nota débito electrónica a la DIAN

`POST /debit-notes`

Este endpoint permite emitir una nota débito electrónica a la DIAN.

 Recuerda visitar previamente las guías de [Inicio](https://e-provider-docs.alegra.com/docs/gu%C3%ADa-creaci%C3%B3n-de-una-compa%C3%B1%C3%ADa-asociada) y la guía de [Habilitación en la DIAN - Factura Electronica](https://e-provider-docs.alegra.com/docs/proceso-de-habilitaci%C3%B3n-en-la-dian)

## Request body

- object
  - `foreignCurrency` ForeignCurrency — unresolved $ref
  - `prefix` string — Prefijo de la nota débito electrónica
  - `number` number, double, required — Número de la nota débito electrónica
  - `conceptCode` string, required — Concepto por el cual se genera la nota débito. Se debe colocar el Código que corresponda de la tabla de tipos de concepto de corrección para Notas débito disponibles de la DIAN
  - `note` string[] — Notas o información adicional: Texto libre, relativo al documento. <br><i>Campo oficial DIAN &lt;Note&gt;</i>
  - `associatedDocuments` object[], required — Array que contiene la información de las facturas electrónicas afectadas por la Nota. Todas las facturas afectadas deben ser de un mismo adquiriente
    - `date` string, date, required — Fecha de emisión del documento referencia
    - `documentType` string, required — Tipo de documento
    - `number` number, double, required — Número del documento referencia
    - `prefix` string — Prefijo del documento referencia
    - `uuid` string, required — CUFE del documento referencia
  - `company` Company, required — unresolved $ref
  - `customer` Customer, required — unresolved $ref
  - `items` Items[], required — Array que contiene el listado de artículos y/o servicios — unresolved $ref
  - `discountsAndCharges` DiscountsAndCharges — unresolved $ref
  - `totalAmounts` TotalAmounts, required — Objeto que contiene la información de totales relacionados con el documento
    - `grossTotal` number, float, required — Total valor bruto antes de tributos. Suma de todos los subtotales correspondientes a los árticulos y/o servicios. <br><i>Campo oficial DIAN &lt;LegalMonetaryTotal&gt;</i>
    - `taxableTotal` number, float, required — Total valor base imponible. Base imponible para el cálculo de los tributos. <br><i>Campo oficial DIAN &lt;TaxExclusiveAmount&gt;</i>
    - `taxTotal` number, float, required — Total valor tributos/impuestos. <br><i>Valor asociado en el calculo del campo oficial DIAN &lt;TaxInclusiveAmount&gt;</i>
    - `discountTotal` number, float, required — Total valor descuentos. Suma de todos los descuentos aplicados al total de la factura. <br><i>Campo oficial DIAN &lt;AllowanceTotalAmount&gt;</i>
    - `chargeTotal` number, float, required — Total valor cargos. Suma de todos los cargos aplicados al total de la factura. <br><i>Campo oficial DIAN &lt;ChargeTotalAmount&gt;</i>
    - `advanceTotal` number, float, required — Total valor anticipos. Suma de todos los pagos anticipados. <br><i>Campo oficial DIAN &lt;PrePaidAmount&gt;</i>
    - `payableTotal` number, float, required — Total valor factura. Valor total de ítems (incluyendo cargos y descuentos a nivel de ítems) + valor tributos + valor cargos – valor descuentos. <br><i>Campo oficial DIAN &lt;PayableAmount&gt;</i>
  - `payments` Payments, required — unresolved $ref
  - `advancePayments` Items[] — Array con el listado de anticipos. Grupo de campos para información relacionadas con un anticipo. <br><i>Grupo de información oficial DIAN &lt;PrePaidPayment&gt;</i> — unresolved $ref
  - `healthSectorGeneral` object — Objeto que contiene los campos de datos adicionales correspondientes al Sector Salud (Resolución 000948 de 2026, Min. Salud)
    - `serviceProviderCode` string, required — Código del prestador asignado en el Sistema General de Seguridad Social en Salud (SGSSS). Para prestadores de servicios de salud (PSS) registrados en el REPS, usar el código de la tabla "IPSCodHabilitación" de SISPRO. Para Proveedores de Tecnologías en Salud (PTS) y casos de excepción, usar el código de la tabla "IPSnoREPS" de SISPRO. Obligatorio para todos los modos excepto SS-Recaudo.
    - `paymentMethod` '01' | '02' | '03' | '04', required — Modalidad de pago pactada en el contrato con la entidad responsable de pago. Obligatorio. Mutuamente excluyente con las demás opciones. Los valores válidos se publican en la tabla "modalidadPago" de SISPRO (web.sispro.gov.co).
    - `benefitsPlanType` string, required — Cobertura o plan de beneficios que financia la atención. Obligatorio. Un único valor por factura; todos los usuarios de una factura multiusuario deben pertenecer a la misma cobertura. El código "01" está deprecado desde la Res. 000948/2026: usar "16" para UPC Contributivo o "17" para UPC Subsidiado. Para otros códigos se deberá enviar uno que corresponda de la tabla de los tipos de cobertura o plan de beneficios
    - `contractNumber` string — Número del contrato objeto de facturación. Cuando el contrato esté registrado en el SIIFA, el valor debe ser el CUCON (cadena de 64 caracteres generada por esa plataforma). Opcional: MinSalud publicó en su Micrositio que, por ahora, el CUCON no es obligatorio; puede quedar vacío tanto para contratos con aseguradoras como para particulares hasta que se comunique la fecha oficial de exigibilidad. Mutuamente excluyente con policyNumber y factorWithoutContract.
    - `policyNumber` string — Número de póliza SOAT o de planes voluntarios de salud. Mutuamente excluyente con contractNumber y factorWithoutContract.
    - `factorWithoutContract` '1' | '2' | '3' | '4' | '5' | '6' | '7' — Justificación cuando se factura sin contrato con la entidad responsable de pago. Opcional: mientras el CUCON no sea exigible, no se requiere informar este motivo aunque contractNumber y policyNumber vengan vacíos. Mutuamente excluyente con contractNumber y policyNumber. Valores que acepta este elemento: "1"=Urgencia "2"=ADRES/SOAT/Planes voluntarios "3"=Tutela u orden judicial "4"=Portabilidad o asignación masiva "5"=Cotizaciones excepcionales sin contrato "6"=Recuperación de órganos "7"=Profesionales independientes en atención a paciente particular
    - `prepaidPayments` object[] — Conceptos de recaudo acreditados o reportados en la factura. Obligatorio para SS-CUFE, SS-CUDE, SS-POS, SS-SNum y SS-Reporte. No aplica para SS-SinAporte ni SS-Recaudo. En modos de acreditación (SS-CUFE/CUDE/POS/SNum) el valor total resta del payable de la factura; en SS-Reporte es informativo. Debe haber un único grupo por concepto de recaudo.
      - `code` '01' | '02' | '03' | '04' | '05', required — Código del concepto de recaudo según la tabla "conceptoRecaudo" de SISPRO. 01=Copago (solo régimen contributivo), 02=Cuota moderadora (solo régimen contributivo), 03=Pagos compartidos en planes voluntarios de salud, 04=Anticipo (solo FEV, no se reporta en RIPS), 05=No aplica. Un único código por concepto en el array.
      - `amount` number, float, required — Valor total recaudado para este concepto de pago moderador. La sumatoria de todos los amounts del array no puede superar el total bruto de la factura. No admite valores negativos.
      - `receivedDate` string, date, required — Fecha en la cual el pago fue recibido. Formato AAAA-MM-DD
    - `serviceStartDate` string, date — Fecha de inicio de la prestación del servicio (factura monousuario) o del periodo de facturación (factura multiusuario). Formato AAAA-MM-DD. No admite hora ni timestamp. No puede ser anterior a 2023-01-01. Obligatorio para todos los modos excepto SS-Recaudo.
    - `serviceStartTime` string — Hora de inicio del periodo de facturación. Opcional. Formato HH:MM:SS. Útil para hospitalización facturada por horas. La API agrega automáticamente -05:00 al construir el XML. Si no se informa, no se incluye en el XML.
    - `serviceEndDate` string, date — Fecha final de la prestación del servicio o del periodo de facturación. Formato AAAA-MM-DD. No admite hora ni timestamp. No puede ser anterior a serviceStartDate. Obligatorio para todos los modos excepto SS-Recaudo.
    - `serviceEndTime` string — Hora de fin del periodo de facturación. Opcional. Formato HH:MM:SS. La API agrega automáticamente -05:00 al construir el XML. Si no se informa, no se incluye en el XML.
    - `operationType` 'SS-CUFE' | 'SS-CUDE' | 'SS-POS' | 'SS-SNum' | 'SS-Recaudo' | 'SS-Reporte' | 'SS-SinAporte', required — Código del tipo de operación salud
  - `invoicePeriod` InvoicePeriod — unresolved $ref
  - `despatchDocumentReferences` DespatchDocumentReferences — unresolved $ref
  - `receiptDocumentReferences` ReceiptDocumentReferences — unresolved $ref
  - `dueDiligenceCode` DueDiligenceCode — unresolved $ref

## Response `200`

Objeto que representa la respuesta cuando se envía una nota débito electrónica a la DIAN

- object
  - `debitNote` object
    - `id` string — Id de nota débito electrónica
    - `date` string, date-time — Fecha de emisión de nota débito electrónica
    - `status` 'REGISTERED' | 'WAITING_RESPONSE' | 'FAILED' | 'SENT' — Estado de la nota débito electrónica
    - `legalStatus` 'ACCEPTED' | 'ACCEPTED_WITH_OBSERVATIONS' | 'REJECTED' — Estado legal de la nota débito electrónica ante la DIAN
    - `companyIdentification` string — Identificación de la empresa empleadora
    - `customerIdentification` string — Identificación del empleado
    - `cude` string — Código único de nota débito electrónica asignado para el documento
    - `prefix` string — Prefijo de nota débito electrónica
    - `number` number, double — Número de nota débito electrónica
    - `fullNumber` string — Número de nota débito electrónica (Incluye prefijo y número)
    - `governmentResponse` object — Objeto con información de la respuesta de la DIAN
      - `code` string — Código de respuesta de la DIAN
      - `message` string — Mensaje de respuesta de la DIAN
      - `errorMessages` string[] — Array con mensajes de error devueltos por la DIAN
    - `xmlFileName` string — Nombre del archivo XML que se envió a la DIAN
    - `zipFileName` string — Nombre del archivo Zip que se envió a la DIAN
    - `qrCodeContent` string — Contenido para la construcción del Código QR
    - `errors` object[] — Array con mensajes de error generados en el sistema
      - `code` string — Código de error
      - `message` string — Mensaje de error
  - `files` object
    - `xml` string — Link de descarga a el XML que se envia a la DIAN. Este enlace solo dura por 60 minutos, para renovar el link solicite nuevamente el documento.
    - `attachedDocument` string — Link de descarga a el AttachedDocument obetenido como respuesta de al DIAN al enviar el archivo XML. Este campo solo se añade al tener una respuesta de la DIAN. Este enlace solo dura por 60 minutos, para renovar el link solicite nuevamente el documento.
    - `zip` string — Link de descarga a el Zip obetenido como respuesta de al DIAN al enviar el archivo XML. Este campo solo se añade al tener una respuesta de la DIAN, es generado de forma asincrona, puede tardar hasta 1 minuto en estar disponible. Este enlace solo dura por 60 minutos, para renovar el link solicite nuevamente el documento.

## Other responses

- `400` — Objeto que representa una respuesta de error por validaciones
- `404` — Objeto que representa una respuesta de error por qué no se ha encontrado el recurso al que se intenta acceder
- `500` — Objeto que representa una respuesta de error por qué ha ocurrido un error interno en el sistema

---

[API](https://skmtc.net/alegra/apis/api-alegra-proveedor-electr-nico-colombia.md) · [All operations](https://skmtc.net/alegra/apis/api-alegra-proveedor-electr-nico-colombia/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/alegra/api-alegra-proveedor-electr-nico-colombia/revisions/5fcb0d90e251/schema)
