---
title: "Endpoint para emitir una factura electrónica a la DIAN"
method: POST
path: "/invoices"
tags: ["Facturas de Venta electrónicas"]
---

# Endpoint para emitir una factura electrónica a la DIAN

`POST /invoices`

Este endpoint permite emitir una factura 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` '01' | '02' | '03' | '04' | '05' | '06' | '07' | '08', required — Tipo de Documento / Factura. 01: Estándar, 02: Exportación, 03: Mandato, 04: Contingencia Facturador Electrónico, 05: Transporte, 06: AIU, 07: Factura electrónica de Compra de divisa, 08: Factura electrónica de Venta de divisa
  - `foreignCurrency` object — Este objeto permite informar la tasa de cambio del peso colombiano (**COP**) frente a una moneda extranjera. Es importante tener en cuenta que todos los valores en la factura deben enviarse en COP. Dentro de este elemento, se incluirá exclusivamente: La moneda extranjera utilizada. La tasa de cambio aplicada. Las valores convertidos correspondientes. Este elemento cumple con las especificaciones del **UBLextension de Interoperabilidad**, permitiendo el soporte para operaciones de exportación. <br><i>Grupo de información oficial DIAN &lt;PaymentExchangeRate&gt;</i>
    - `currencyCode` string, required — Código de la moneda a la cual se hace la conversión. Ver el listado disponible en la tabla DIAN. <br><i>Campo oficial DIAN &lt;TargetCurrencyCode&gt;</i>
    - `rateValue` number, float, required — Valor de la tasa de cambio de la moneda utilizada para la conversión en el campo **currencyCode** a Pesos Colombianos. <br><i>Campo oficial DIAN &lt;CalculationRate&gt;</i>
    - `rateDate` string, date, required — Fecha en la que se fijó o acordó la tasa de cambio. <br><i>Campo oficial DIAN &lt;Date&gt;</i>
  - `number` number, double, required — Número de la factura electrónica. <br><i>Campo oficial DIAN &lt;ID&gt;</i>
  - `note` string[] — Notas o información adicional: Texto libre, relativo al documento. <br><i>Campo oficial DIAN &lt;Note&gt;</i>
  - `resolution` object, required — Objeto que contiene la información de la Resolución de Numeración de Facturas asociada al emisor de la factura electrónica en formato JSON según el estándar de la DIAN. <br><i>Grupo de información oficial DIAN &lt;InvoiceControl&gt;</i>
    - `resolutionNumber` string, required — Número de Resolución o de Autorización: Número del código de la resolución otorgada para la numeración. <br><i>Campo oficial DIAN &lt;InvoiceAuthorization&gt;</i>
    - `prefix` string — Prefijo de la Resolución o Autorización. <br><i>Campo oficial DIAN &lt;Prefix&gt;</i>
    - `minNumber` number, required — Valor inicial del rango de numeración. <br><i>Campo oficial DIAN &lt;From&gt;</i>
    - `maxNumber` number, required — Valor final del rango de numeración. <br><i>Campo oficial DIAN &lt;To&gt;</i>
    - `startDate` string, date, required — Fecha de inicio de la autorización de la numeración. <br><i>Campo oficial DIAN &lt;StartDate&gt;</i>
    - `endDate` string, date, required — Fecha final de la autorización de la numeración. <br><i>Campo oficial DIAN &lt;EndDate&gt;</i>
    - `technicalKey` string, required — Clave técnica del rango de facturación. Es un campo opcional para Factura electrónica de Contingencia. <br><i>ClTec: Obligatorio para la generación del CUFE (Código Único de Factura Electrónica)</i>
  - `company` object, required — Objeto que contiene la información del obligado a facturar o emisor del documento electrónico. <br><i>Grupo de información oficial DIAN &lt;AccountingSupplierParty&gt;</i>
    - `id` string, required — Id de la empresa. Id único generado por la API
    - `organizationType` 1 | 2 — Identificador de tipo de organización jurídica de la de persona, puede ser una de las siguientes opciones: `1` Persona Jurídica y asimiladas; `2` Persona Natural y asimiladas. <br><i>Campo oficial DIAN &lt;AdditionalAccountID&gt;</i>
    - `identificationNumber` string — Número de identificación o NIT del emisor, sin guiones ni DV. <br><i>Campo oficial DIAN &lt;CompanyID&gt;</i>
    - `dv` string — DV del NIT del emisor. Es obligatorio si identificationType = 31. <br><i>Campo oficial DIAN &lt;@schemeID&gt;</i>
    - `name` string — Nombre (Razón Social) del Emisor. Si no se envía, se tomará el Nombre/Razón Social de la compañía. <br><i>Campo oficial DIAN &lt;RegistrationName&gt;</i>
    - `tradeName` string — Nombre Comercial del Emisor. <br><i>Campo oficial DIAN &lt;Name&gt;</i>
    - `regimeCode` string — Obligaciones o responsabilidades tributarias del emisor. El elemento acepta las siguientes opciones: `O-13` Gran contribuyente; `O-15` Autorretenedor; `O-23` Agente de retención IVA; `O-47` Régimen simple de tributación; `R-99-PN` No aplica – Otros. Para reportar varias obligaciones / responsabilidades se deben separar los valores con ';'. Ejemplo O‐13;O‐15; <br><i>Campo oficial DIAN &lt;TaxLevelCode&gt;</i>
    - `taxCode` object — Objeto que contiene el grupo de detalles tributarios del Emisor. <br><i>Campo oficial DIAN &lt;TaxScheme&gt;</i>
      - `id` '01' | '04' | 'ZA' | 'ZZ', required — Identificador del tributo. Este elemento acepta una de las siguientes opciones: `01` IVA; `04` INC; `ZA` IVA e INC; `ZZ` No aplica. <br><i>Campo oficial DIAN &lt;ID&gt;</i>
    - `economicActivities` string[] — Lista de actividades económicas de la empresa. Debe informar el código según lista CIIU
    - `email` string — Correo electrónico. Se debe colocar el correo de recepción para documentos e instrumentos electrónicos. <br><i>Campo oficial DIAN &lt;ElectronicMail&gt;</i>
    - `phone` string — Número de teléfono, celular u otro. <br><i>Campo oficial DIAN &lt;Telephone&gt;</i>
    - `address` object — Objeto que contiene la información con respeto a la dirección del lugar físico donde se expidió el documento. Si no se envía el objeto 'taxAddress', la información de este objeto se usará también para 'taxAddress' por defecto. <br><i>Grupo de información oficial DIAN &lt;PhysicalLocation&gt;</i>
      - `address` string, required — Dirección del lugar fisico. <br><i>Campo oficial DIAN &lt;Line&gt;</i>
      - `city` string, required — Código de la Ciudad. Se debe colocar el Código que corresponda de la tabla de municipios disponibles de la DIAN. Se debe informar cuando el código del País es 'CO'. <br><i>Campo oficial DIAN &lt;ID&gt;</i>
      - `department` string, required — Código del Departamento. Se debe colocar el Código que corresponda de la tabla de departamentos disponibles de la DIAN. Se debe informar cuando el código del País es 'CO'. <br><i>Campo oficial DIAN &lt;CountrySubentityCode&gt;</i>
      - `postalCode` string — Código Postal del lugar físico del proveedor. <br><i>Campo oficial DIAN &lt;PostalZone&gt;</i>
    - `taxAddress` 0 — unresolved $ref
    - `shareholders` object[] — Grupo de elementos que permiten registrar la información de los participantes de un **Consorcio o Unión temporal**. Se debe completar un grupo de elementos por cada participante del consorcio. <br><i>Grupo de información oficial DIAN &lt;ShareholderParty&gt;</i>
      - `identificationNumber` string, required — Identificación del Participante del consorcio, solo se aceptan NIT de Colombia. <br><i>Campo oficial DIAN &lt;CompanyID-ShareholderParty&gt;</i>
      - `dv` string, required — DV del NIT del consorciado. <br><i>Campo oficial DIAN &lt;@schemeID-ShareholderParty&gt;</i>
      - `name` string, required — Nombre o Razón Social de participante de consorcio. <br><i>Campo oficial DIAN &lt;RegistrationName-ShareholderParty&gt;</i>
      - `regimeCode` string, required — Obligaciones del Participante del Consorcio. El elemento acepta las siguientes opciones: `O-13` Gran contribuyente; `O-15` Autorretenedor; `O-23` Agente de retención IVA; `O-47` Régimen simple de tributación; `R-99-PN` No aplica – Otros. Para reportar varias obligaciones / responsabilidades se deben separar los valores con ';'. Ejemplo O‐13;O‐15; . <br><i>Campo oficial DIAN &lt;TaxLevelCode-ShareholderParty&gt;</i>
      - `percent` number, required — Porcentaje del participante en el consorcio. <br><i>Campo oficial DIAN &lt;PartecipationPercent-ShareholderParty&gt;</i>
      - `taxCode` '01' | '04' | 'ZA' | 'ZZ', required — Identificador del tributo. Este elemento acepta una de las siguientes opciones: `01` IVA; `04` INC; `ZA` IVA e INC; `ZZ` No aplica. <br><i>Campo oficial DIAN &lt;TaxScheme-ShareholderParty&gt;</i>
    - `contact` object — Objeto que contiene la información de contacto del emisor del documento electrónico. <br><i>Campo oficial DIAN &lt;Contact&gt;</i>
      - `name` string — Nombre del contacto del emisor. <br><i>Campo oficial DIAN &lt;Name&gt;</i>
      - `telefax` string — Número de teléfono, celular u otro del contacto. <br><i>Campo oficial DIAN &lt;Telefax&gt;</i>
      - `note` string — Nota adicional del contacto. <br><i>Campo oficial DIAN &lt;Note&gt;</i>
      - `commercialRegistrationNumber` string — Número de matrícula mercantil. <br><i>Campo oficial DIAN &lt;CorporateRegistrationScheme/Name&gt;</i>
  - `customer` object, required — Objeto que contiene la información del adquiriente del documento electrónico. <br><i>Grupo de información oficial DIAN &lt;AccountingCustomerParty&gt;</i>
    - `name` string, required — Nombre del adquiriente. <br><i>Campo oficial DIAN &lt;Name&gt;</i>
    - `tradeName` string — Opcional si desea agregar el nombre comercial del cliente en la representación gráfica del documento. El nombre del adquiriente persona física y la razón social del adquiriente persona jurídica deben ser informados en el elemento **name**. <br><i>Campo oficial DIAN &lt;Name del grupo PartyName&gt;</i>
    - `organizationType` 1 | 2 — Identificador de tipo de organización jurídica del adquiriente, puede ser una de las siguientes opciones: `1` Persona Jurídica y asimiladas; `2` Persona Natural y asimiladas. Default: `2`. <br><i>Campo oficial DIAN &lt;AdditionalAccountID&gt;</i>
    - `identificationType` string, required — Tipo de documento de identificación del adquiriente. Se debe colocar el Código que corresponda de la tabla de tipos de identificación de la DIAN. <br><i>Campo oficial DIAN &lt;@schemeName&gt;</i>
    - `identificationNumber` string, required — Número de identificación del adquiriente. <br><i>Campo oficial DIAN &lt;ID&gt;</i>
    - `dv` string — DV del NIT del adquiriente. Es obligatorio si identificationType = 31. <br><i>Campo oficial DIAN &lt;@schemeID&gt;</i>
    - `regimeCode` string — Obligaciones o responsabilidades tributarias del adquiriente. El elemento acepta las siguientes opciones: `O-13` Gran contribuyente; `O-15` Autorretenedor; `O-23` Agente de retención IVA; `O-47` Régimen simple de tributación; `R-99-PN` No aplica – Otros. Para reportar varias obligaciones / responsabilidades se deben separar los valores con ';'. Ejemplo O‐13;O‐15; <br><i>Campo oficial DIAN &lt;TaxLevelCode&gt;</i>
    - `taxCode` object — Objeto que contiene el grupo de detalles tributarios del adquiriente. <br><i>Campo oficial DIAN &lt;TaxScheme&gt;</i>
      - `id` '01' | '04' | 'ZA' | 'ZZ', required — Identificador del tributo. Este elemento acepta una de las siguientes opciones: "01" IVA; "04" INC; "ZA" IVA e INC; "ZZ" No aplica. Valor por default: `ZZ`. <br><i>Campo oficial DIAN &lt;ID&gt;</i>
    - `commercialRegistrationNumber` string — Número de matrícula mercantil del adquiriente. <br><i>Campo oficial DIAN &lt;CorporateRegistrationScheme/Name&gt;</i>
    - `email` string — Correo electrónico. El correo de notificación será enviado a esta dirección en caso de tener habilitado notificationByEmail en Compañía. <br><i>Campo oficial DIAN &lt;ElectronicMail&gt;</i>
    - `phone` string — Número de teléfono, celular u otro. <br><i>Campo oficial DIAN &lt;Telephone&gt;</i>
    - `address` object — Objeto que contiene la información relacionada a la dirección. <br><i>Grupo de información oficial DIAN &lt;PhysicalLocation&gt;</i>
      - `address` string — Dirección del lugar fisico. <br><i>Campo oficial DIAN &lt;Line&gt;</i>
      - `city` string — Código de la Ciudad. Se debe colocar el Código que corresponda de la tabla de municipios disponibles de la DIAN. Se debe informar cuando el código del País es 'CO'. En caso de que sea un país diferente a Colombia se puede enviar el nombre de la ciudad. <br><i>Campo oficial DIAN &lt;ID&gt;</i>
      - `postalCode` string — Código postal del cliente. <br><i>Campo oficial DIAN &lt;PostalZone&gt;</i>
      - `country` string — Código identificador del País. Se debe colocar el código que corresponda de la tabla de países disponibles de la DIAN. Por defecto 'CO'. <br><i>Campo oficial DIAN &lt;IdentificationCode&gt;</i>
    - `taxAddress` 0 — unresolved $ref
    - `contact` object — Objeto que contiene la información de contacto del adquiriente del documento electrónico. <br><i>Campo oficial DIAN &lt;Contact&gt;</i>
      - `name` string — Nombre del contacto del adquiriente. <br><i>Campo oficial DIAN &lt;Name&gt;</i>
      - `telefax` string — Número de teléfono, celular u otro del contacto. <br><i>Campo oficial DIAN &lt;Telefax&gt;</i>
      - `note` string — Nota adicional del contacto. <br><i>Campo oficial DIAN &lt;Note&gt;</i>
  - `items` object[], required — Array que contiene el listado de artículos y/o servicios
    - `code` string — Código del articulo y/o servicio adoptado por el emisor. <br><i>Campo oficial DIAN &lt;StandardItemIdentification&gt;</i>
    - `standardCode` object — Objeto que contiene el grupo de datos de identificación del artículo y/o servicio de acuerdo con un estándar. <br><i>Grupo de información oficial DIAN &lt;StandardItemIdentification&gt;</i>
      - `identificationId` string, required — Código de artículo de acuerdo con el estándar descrito en el atributo. <br><i>Campo oficial DIAN &lt;ID&gt;</i>
      - `id` '001' | '010' | '020' | '999', required — Código del estándar. Se debe colocar el Código que corresponda de la tabla de Códigos de Productos disponibles de la DIAN<br><i>Campo oficial DIAN &lt;schemeID&gt;</i>
    - `sellersItemIdentification` object — Grupo de datos de identificación del artículo o servicio de acuerdo con el vendedor. <br><i>Grupo de información oficial DIAN &lt;SellersItemIdentification&gt;</i>
      - `id` string, required — Código del artículo o servicio de acuerdo con el vendedor. <br><i>Campo oficial DIAN &lt;ID&gt;</i>
      - `extendedId` string — Código del artículo o servicio de acuerdo con el vendedor. <br><i>Campo oficial DIAN &lt;ExtendedID&gt;</i>
    - `description` string, required — Nombre y descripción del articulo y/o servicio que se está vendiendo en esta linea del documento. <br><i>Campo oficial DIAN &lt;Description&gt;</i>
    - `price` number, float, required — Precio del articulo y/o servicio. <br><i>Campo oficial DIAN &lt;PriceAmount&gt;</i>
    - `priceReference` object — Si se proporciona un precio de referencia, el atributo "price" debe ser cero (0.00), ya que se considera una muestra o regalo comercial. <br><i>Campo oficial DIAN &lt;AlternativeConditionPrice&gt;</i>
      - `priceAmount` number, float, required — Valor del artículo o servicio. Este precio se deberá utilizar para calcular el impuesto correspondiente. <br><i>Campo oficial DIAN &lt;PriceAmount&gt;</i>
      - `priceTypeCode` '1' | '2' | '3', required — Deberá contener uno de los siguientes valores posibles de acuerdo al precio informado en el elemento "priceAmount":<br>"1": Valor comercial; "2": Valor en Inventarios; "3": Otro valor<br><i>Campo oficial DIAN &lt;PriceTypeCode&gt;</i>
    - `discount` number, float — Porcentaje de descuento del articulo y/o servicio. Se debe informar a nivel de ítem, si y solamente si el descuento afecta la base gravable del ítem. <br><i>Campo oficial DIAN &lt;/cac:AllowanceCharge/cbc:MultiplierFactorNumeric&gt;</i>
    - `discountAmount` number, float — Valor de descuento del articulo y/o servicio. Se debe informar a nivel de ítem, si y solamente si el descuento afecta la base gravable del ítem. <br><i>Campo oficial DIAN &lt;/cac:AllowanceCharge/cbc:Amount&gt;</i>
    - `charge` number, float — Porcentaje de cargo aplicado articulo y/o servicio
    - `chargeAmount` number, float — Valor del descuento del articulo y/o servicio
    - `quantity` number, float, required — Cantidad del articulo y/o servicio. <br><i>Campo oficial DIAN &lt;InvoicedQuantity&gt;</i>
    - `unitCode` string, required — Código de Unidad de medida del articulo y/o servicio. Se debe colocar el Código que corresponda de la tabla de unidades de la DIAN. <br><i>Campo oficial DIAN &lt;@unitCode&gt;</i>
    - `note` string — Información Adicional o texto libre para añadir información del articulo y/o servicio. Obligatorio de informarse para el caso de ítems de contratos de servicio tipo AIU para el item Administración. Aquí, se debe empezar por el texto: 'Contrato de servicios AIU por concepto de:'. Y el contribuyente debe incluir el objeto del contrato facturado. <br><i>Campo oficial DIAN &lt;Note&gt;</i>
    - `subtotal` number, float, required — Subtotal del articulo y/o servicio. El subtotal de la línea es igual a la Cantidad x Precio Unidad menos Descuentos más Recargos que apliquen al articulo y/o servicio. <br><i>Campo oficial DIAN &lt;LineExtensionAmount&gt;</i>
    - `taxAmount` number, float, required — Valor total de los impuestos aplicados al articulo y/o servicio.
    - `total` number, float — Valor total del articulo y/o servicio.
    - `taxes` object[] — Array que contiene el listado de tributos/impuestos que aplican al articulo y/o servicio
      - `taxCode` string, required — Código o identificador del impuesto. Se debe colocar el Código que corresponda de la tabla de tipos de tributos/impuestos disponibles de la DIAN. <br><i>Campo oficial DIAN &lt;ID&gt;</i>
      - `taxAmount` number, float, required — Valor y/o importe del impuesto. <br><i>Campo oficial DIAN &lt;TaxAmount&gt;</i>
      - `taxPercentage` string, required — Porcentaje o tarifa de impuesto. Ejemplo: Para indicar la tarifa general asociada al impuesto de IVA, se debe enviar un porcentaje de 19. <br><i>Campo oficial DIAN &lt;Percent&gt;</i>
      - `taxableAmount` number, float, required — Base Imponible sobre la que se calcula el valor del impuesto. <br><i>Campo oficial DIAN &lt;TaxableAmount&gt;</i>
      - `taxBaseUnitMeasure` number, float — Unidad de medida base para el tributo. Usado en el caso de que el tributo es un valor fijo por unidad tributada: informar el valor del tributo por unidadtributada.
      - `taxPerUnitAmount` number, float — Valor del tributo por unidad. Correspode al valor nominal del tributo por unidad
    - `thirdPartyInformation` object — Objeto que contiene la información que describen el mandante/tercero de la operación de venta. Aplica solo para mandatos, y se debe informar a nivel de ítem. Tipo de documento de identificación del mandante/tercero. Se debe colocar el Código que corresponda de la tabla de tipos de identificación de la DIAN. <br><i>Grupo de información oficial DIAN &lt;InformationContentProviderParty&gt;</i>
      - `identificationType` '11' | '12' | '13' | '21' | '22' | '31' | '41' | '42' | '47' | '48' | '50' | '91', required — Tipo de documento de identificación del mandante/tercero. Se debe colocar el Código que corresponda de la tabla de tipos de identificación de la DIAN. <br><i>Campo oficial DIAN &lt;PartyIdentification&gt;</i>
      - `identificationNumber` string, required — Número de identificación del mandante/tercero. Tipo de documento de identificación del mandante/tercero. Se debe colocar el Código que corresponda de la tabla de tipos de identificación de la DIAN. <br><i>Campo oficial DIAN &lt;PartyIdentification&gt;</i>
      - `dv` string — DV del NIT del mandante/tercero. Tipo de documento de identificación del mandante/tercero. Se debe colocar el Código que corresponda de la tabla de tipos de identificación de la DIAN. Este campo es opcional pero se vuelve obligatorio cuando el campo `identificationType` es `31`. <br><i>Campo oficial DIAN &lt;PartyIdentification&gt;</i>
    - `withholdings` Items[] — Array con el listado de Retenciones. Grupo de campos que contiene la información de los tributos retenidos. <br><i>Grupo de información oficial DIAN &lt;WithholdingTaxTotal&gt;</i> — unresolved $ref
    - `packSize` number — Número de productos por empaque. <br><i>Campo oficial DIAN &lt;PackSizeNumeric&gt;</i>
    - `brandName` string — Marca del artículo. <br><i>Campo oficial DIAN &lt;BrandName&gt;</i>
    - `modelName` string — Modelo del artículo. <br><i>Campo oficial DIAN &lt;ModelName&gt;</i>
    - `transportSector` object — Objeto que contiene los campos adicionales que hacen referencia al sector transporte de carga. Aplica solo para facturas de transporte, y se debe informar a nivel de ítem.
      - `isRegisteredInRNDC` boolean, required — True si el Bien o Servicio “B/S” reportado corresponde o no a una línea registrada en el RNDC.<br><i>Campo oficial DIAN &lt;@schemeID&gt;</i>
      - `numberRNDC` number, float, required — Número Radicado de Aceptación de la Remesa. Hace referencia al consecutivo único nacional que controla y entrega el RNDC.
      - `numberRemesa` string, required — Número de Remesa. Hace referencia al número del consecutivo de la Remesa según codificación interna de cada empresa de transporte.
      - `freightAmount` number, float, required — Valor del flete a cobrar por el servicio de transporte de la remesa.
      - `quantityTransported` number, float, required — Cantidad transportada.
      - `unitCode` string, required — Unidad de medida. Se utilizará alguna de las dos codificaciones permitidas por el estándar. KGM: Kilogramos y GLL: Galones.
      - `invoiceReference` string — Referencia a la factura de venta original. Las empresas de transporte pueden generar facturas electrónicas de venta en caso de presentarse un escenario donde se deba aplicar una Nota de Débito. El escenario ocurre cuando necesitan adicionar un valor al flete de una remesa reportada previamente en una factura anterior. El campo `freightAmount` se sumará al valor del flete reportado en la factura original
  - `payments` object[], required — Array con el listado de pagos. Grupo de campos para información relacionadas con el pago de la factura. <br><i>Grupo de información oficial DIAN &lt;PaymentMeans&gt;</i>
    - `paymentForm` '1' | '2', required — Forma de pago del documento, este elemento acepta una de las siguientes opciones: `1` Contado; `2` Crédito. <br><i>Campo oficial DIAN &lt;ID&gt;</i>
    - `paymentMethod` string, required — Medio de pago. Se debe colocar el Código que corresponda de la tabla de métodos de pago disponibles de la DIAN. <br><i>Campo oficial DIAN &lt;PaymentMeansCode&gt;</i>
    - `paymentDueDate` string, date — Fecha de vencimiento de la factura. Si Forma de Pago es igual a 2, este valor debe ser enviado. <br><i>Campo oficial DIAN &lt;PaymentDueDate&gt;</i>
    - `paymentID` string — Texto libre para informar datos adicionales sobre el medio de pago. <br><i>Campo oficial DIAN &lt;PaymentID&gt;</i>
  - `advancePayments` object[] — 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>
    - `advanceId` string, required — Identificación o código del pago. <br><i>Campo oficial DIAN &lt;ID&gt;</i>
    - `advanceAmount` number, float, required — Valor del pago/anticipo. <br><i>Campo oficial DIAN &lt;PaidAmount&gt;</i>
    - `advanceReceivedDate` string, date, required — Fecha en la cual el pago/anticipo fue recibido. <br><i>Campo oficial DIAN &lt;ReceivedDate&gt;</i>
    - `instructionId` string — Instrucciones relativas al pago. <br><i>Campo oficial DIAN &lt;InstructionID&gt;</i>
  - `discountsAndCharges` object[] — Array con el listado de Descuentos o Cargos a nivel de factura. Grupo de campos para información relacionada con los descuentos o cargos que no afectan las bases gravables. Los descuentos o cargos que afectan bases gravables se deben informar a nivel de ítem. <br><i>Grupo de información oficial DIAN &lt;AllowanceCharge&gt;</i>
    - `isCharge` boolean, required — True si se desea informar un cargo o false si se desea informar un descuento. <br><i>Campo oficial DIAN &lt;ChargeIndicator&gt;</i>
    - `reason` string, required — Razón (texto): Texto libre para informar la razón del cargo o descuento. <br><i>Campo oficial DIAN &lt;AllowanceChargeReason&gt;</i>
    - `reasonCode` '00' | '01' | '02' | '03' — Código para categorizar el descuento o el recargo a nivel de documento, este elemento acepta una de las siguientes opciones: `00` Descuento no condicionado; `01` Descuento condicionado; `02` Recargo no condicionado; `03` Recargo condicionado. Es obligatorio enviar el código cuando se desee aplicar un descuento. Para descuentos solo se pueden enviar `00` y `01` por default es `01`, para recargos solo se puede enviar `02` y `03`.<br><i>Campo oficial DIAN &lt;AllowanceChargeReasonCode&gt;</i>
    - `percentageAmount` number, float, required — Porcentaje a aplicar. <br><i>Campo oficial DIAN &lt;MultiplierFactorNumeric&gt;</i>
    - `amount` number, float, required — Valor total del cargo o descuento. <br><i>Campo oficial DIAN &lt;Amount&gt;</i>
    - `baseAmount` number, float, required — Valor Base para calcular el descuento o el cargo. <br><i>Campo oficial DIAN &lt;BaseAmount&gt;</i>
  - `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>
  - `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` object — Objeto que contiene un grupo de campos relativos al periodo de facturación: Intervalo de fechas a las que hace referencia la factura, por ejemplo, en servicios públicos. <br><i>Campo oficial DIAN &lt;InvoicePeriod&gt;</i>
    - `startDate` string, date, required — Fecha de inicio del periodo de facturación. <br><i>Campo oficial DIAN &lt;StartDate&gt;</i>
    - `startTime` string, time — Hora de inicio del periodo de facturación. Formato HH:MM:SS, se agregará `-05:00` al final en caso de enviarse. <br><i>Campo oficial DIAN &lt;StartTime&gt;</i>
    - `endDate` string, date, required — Fecha de fin del periodo de facturación. <br><i>Campo oficial DIAN &lt;EndDate&gt;</i>
    - `endTime` string, time — Hora de fin del periodo de facturación. Formato HH:MM:SS, se agregará `-05:00` al final en caso de enviarse. <br><i>Campo oficial DIAN &lt;EndTime&gt;</i>
  - `additionalDocumentReference` object — Grupo de campos para información que describen un documento referenciado por esta factura. Este objeto es requerido para Factura electrónica de Contingencia. <br><i>Grupo de información oficial DIAN &lt;AdditionalDocumentReference&gt;</i>
    - `number` string, required — Prefijo y Número del documento referenciado, para el caso de facturas en contingencia se deberá enviar el número de la factura de talonario o de papel generada y entregada al cliente. <br><i>Grupo de información oficial DIAN &lt;ID&gt;</i>
    - `issueDate` string, required — Fecha de emisión del documento referenciado. <br><i>Grupo de información oficial DIAN &lt;IssueDate&gt;</i>
    - `documentTypeCode` string — Identificador del tipo de documento de referencia, corresponde a una codificación propia de la empresa. <br><i>Grupo de información oficial DIAN &lt;DocumentTypeCode&gt;</i>
  - `orderReference` object — Grupo de campos para información que describen una Orden de Pedido para esta factura. <br><i>Grupo de información oficial DIAN &lt;OrderReference&gt;</i>
    - `number` string, required — Prefijo y Número del documento Orden referenciado
    - `issueDate` string, date — Fecha de emisión: Fecha de emisión de la Orden
  - `creditNoteReference` object — Objeto que contiene la información de la nota de crédito referenciada en la factura electrónica. <br><i>Grupo de información oficial DIAN &lt;CreditNoteReference&gt;</i>
    - `id` string — Id registrado por la API E-providers, en caso de que el documento de referencia haya sido emitido a través de E-providers solo se necesita este dato para identificar el documento, de lo contrario deben enviarse los campos `fullNumber`, `cude` y `date`
    - `fullNumber` string — Prefijo + Número de la nota crédito referenciada. <br><i>Campo oficial DIAN &lt;ID&gt;</i>
    - `cude` string — Código único de documento electrónico de la nota de crédito. <br><i>Campo oficial DIAN &lt;UUID&gt;</i>
    - `date` string, date — Fecha de emisión de la nota de crédito referenciada. <br><i>Campo oficial DIAN &lt;IssueDate&gt;</i>
  - `debitNoteReference` object — Objeto que contiene la información de la nota de débito referenciada en la factura electrónica. <br><i>Grupo de información oficial DIAN &lt;DebitNoteReference&gt;</i>
    - `id` string — Id registrado por la API E-providers, en caso de que el documento de referencia haya sido emitido a través de E-providers solo se necesita este dato para identificar el documento, de lo contrario deben enviarse los campos `fullNumber`, `cude` y `date`
    - `fullNumber` string — Prefijo + Número de la nota de débito referenciada. <br><i>Campo oficial DIAN &lt;ID&gt;</i>
    - `cude` string — Código único de documento electrónico de la nota de débito. <br><i>Campo oficial DIAN &lt;UUID&gt;</i>
    - `date` string, date — Fecha de emisión de la nota de débito referenciada. <br><i>Campo oficial DIAN &lt;IssueDate&gt;</i>
  - `despatchDocumentReferences` object[] — Array con el listado de documentos despacho referenciados en la factura electrónica. <br><i>Grupo de información oficial DIAN &lt;DespatchDocumentReference&gt;</i>
    - `id` string, required — Prefijo y Número del documento despacho referenciado. <br><i>Grupo de información oficial DIAN &lt;ID&gt;</i>
    - `issueDate` string, date — Fecha de emisión del documento despacho referenciado. <br><i>Grupo de información oficial DIAN &lt;IssueDate&gt;</i>
  - `receiptDocumentReferences` object[] — Array con el listado de documentos recepción referenciados en la factura electrónica. <br><i>Grupo de información oficial DIAN &lt;ReceiptDocumentReference&gt;</i>
    - `id` string, required — Prefijo y Número del documento recepción referenciado. <br><i>Grupo de información oficial DIAN &lt;ID&gt;</i>
    - `issueDate` string, date — Fecha de emisión del documento recepción referenciado. <br><i>Grupo de información oficial DIAN &lt;IssueDate&gt;</i>
  - `dueDiligenceCode` '01' | '02' | '03' | '04' — Identifica el código de debida diligencia del control cambiario. Es obligatorio cuando documentType ∈ {'07', '08'}. Este elemento acepta una de las siguientes opciones:<br>- <b>01</b> Debida Diligencia del Cliente – DDC General<br>- <b>02</b> Debida Diligencia del Cliente – DDC Reforzada<br>- <b>03</b> Debida diligencia intensificada por razón de la cuantía de las operaciones – DDC intensificada<br>- <b>04</b> Debida Diligencia del Cliente – DDC simplificada. <br><i>Grupo de información oficial DIAN &lt;DebidaDiligencia en UBLExtension&gt;</i>

## Response `200`

Objeto que representa la respuesta cuando se envía una factura electrónica a la DIAN

- object
  - `invoice` object
    - `id` string — Id de factura electrónica
    - `date` string, date-time — Fecha de emisión de factura electrónica
    - `status` 'REGISTERED' | 'WAITING_RESPONSE' | 'FAILED' | 'SENT' — Estado de la factura electrónica
    - `legalStatus` 'ACCEPTED' | 'ACCEPTED_WITH_OBSERVATIONS' | 'REJECTED' — Estado legal de la factura electrónica ante la DIAN
    - `companyIdentification` string — Identificación de la empresa empleadora
    - `customerIdentification` string — Identificación del empleado
    - `cufe` string — Código único de factura electrónica asignado para el documento
    - `prefix` string — Prefijo de factura electrónica
    - `number` number, double — Número de factura electrónica
    - `fullNumber` string — Número de factura 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)
