---
title: "Endpoint para emitir una nota crédito electrónica a la DIAN"
method: POST
path: "/credit-notes"
tags: ["Notas Crédito electrónicas"]
---

# Endpoint para emitir una nota crédito electrónica a la DIAN

`POST /credit-notes`

Este endpoint permite emitir una nota crédito 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
  - `documentType` '91' | '91-22' | '02' — Tipo de Nota de Crédito. 91: Estándar, 91-22: Estándar sin referencia a Factura, 02: Exportación. Este atributo es opcional, sino se envia este valor, Alegra asociará esta Nota Crédito como una Nota Crédito de Venta Estándar
  - `foreignCurrency` ForeignCurrency — unresolved $ref
  - `prefix` string — Prefijo de la nota crédito electrónica
  - `number` number, double, required — Número de la nota crédito electrónica
  - `conceptCode` string, required — Concepto por el cual se genera la nota crédito. Este elemento acepta una de las siguientes opciones: 1 Devolución parcial de los bienes y/o no aceptación parcial del servicio; 2 Anulación de factura electrónica; 3 Rebaja o descuento parcial o total; 4 Ajuste de precio; 5 Descuento comercial por pronto pago; 6 Descuento comercial por volumen de ventas.<br><i>Campo oficial DIAN &lt;ResponseCode&gt;</i>
  - `note` string[] — Notas o información adicional: Texto libre, relativo al documento. <br><i>Campo oficial DIAN &lt;Note&gt;</i>
  - `associatedDocuments` Items[] — Array que contiene la información de la factura electrónica afectada por la Nota. Solamente puede reportar 1 factura electrónica y debe ser de un mismo adquiriente. Obligatorio si el tipo de documento es Estandar o Exportación. — unresolved $ref
  - `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
  - `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
  - `discountsAndCharges` DiscountsAndCharges — 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

## Other responses

- `200` — unresolved $ref
- `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)
