---
title: "Endpoint para emitir un documento soporte electrónico a la DIAN"
method: POST
path: "/support-documents"
tags: ["Documentos Soporte Electrónicos"]
---

# Endpoint para emitir un documento soporte electrónico a la DIAN

`POST /support-documents`

Este endpoint permite emitir un documento soporte electrónico 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 - Documento Soporte Electrónico](https://e-provider-docs.alegra.com/docs/gu%C3%ADa-del-proceso-de-habilitaci%C3%B3n-en-la-dian-documento-soporte-electr%C3%B3nico)

## Request body

- object
  - `documentCurrency` object — La divisa aplicable al documento soporte debe enviarse a través de este objeto. Si no se incluye, se utilizará COP (Peso Colombiano) como moneda predeterminada.
    - `code` string, required — Código de moneda de la transacción. Ver el listado disponible en la tabla DIAN - Monedas (`currencies`) Esta moneda se aplica a todo el documento. <br><i>Campo oficial DIAN &lt;@currencyID&gt;</i>
    - `rateValue` number, float, required — Valor de la tasa de cambio de la moneda utilizada en el documento 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>
  - `issueDate` string, date — Fecha de generación del documento soporte en adquisiciones efectuadas a sujetos no obligados a expedir factura o documento equivalente. Campo oficial DIAN &lt;IssueDate&gt;
  - `number` number, double, required — Número del documento soporte electrónico
  - `resolution` object, required — Objeto que contiene la información de la resolución asociada al emisor del documento soporte 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>
  - `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 persona o empresa. Se debe colocar el Código que corresponda de la tabla de tipos de organización jurídica de la DIAN. <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>
    - `regimeCode` string — Régimen o tipo de obligación o responsabilidad del emisor. Se debe colocar el Código que corresponda de la tabla de tipos de régimen/responsabilidades fiscales de la DIAN. Para reportar varias obligaciones / responsabilidades, se deben reportar separando cada uno de los valores de la lista con ';'. Ejemplo O‐13;O‐15; <br><i>Campo oficial DIAN &lt;TaxLevelCode&gt;</i>
    - `taxCode` object, required — Objeto que contiene el grupo de detalles tributarios del Emisor. <br><i>Campo oficial DIAN &lt;TaxScheme&gt;</i>
      - `id` '01' | 'ZZ', required — Identificador del tributo. Se debe colocar el Código que corresponda de la tabla de tipos de tributos de la DIAN. <br><i>Campo oficial DIAN &lt;ID&gt;</i>
  - `supplier` object, required — Objeto que contiene la información del proveedor del documento electrónico
    - `name` string, required — Nombre del proveedor
    - `origin` '10' | '11' — Indicador de procedencia del vendedor (Residente fiscal en Colombia [`10`] o No residente fiscal [`11`]). Se debe colocar el Código que corresponda de la tabla de tipos de procedencia del vendedor de la DIAN
    - `organizationType` 1 | 2, required — Tipo de organización jurídica. Se debe colocar el Código que corresponda de la tabla de tipos de organización jurídica de la DIAN
    - `identificationType` '21' | '22' | '31' | '41' | '42' | '47' | '50', required — Tipo de documento de identificación del proveedor. Se debe colocar el Código que corresponda de la tabla de tipos de identificación de la DIAN
    - `identificationNumber` string, required — Número de indentificación del proveedor
    - `dv` string — DV del NIT del proveedor. Es obligatorio si identificationType = 31
    - `regimeCode` string — Régimen al que pertenece el proveedor. Se debe colocar el Código que corresponda de la tabla de tipos de régimen/responsabilidades fiscales de la DIAN. Para reportar varias obligaciones / responsabilidades, se deben reportar separando cada uno de los valores de la lista con ';'. Ejemplo O‐13;O‐15;
    - `taxCode` '01' | 'ZZ' — Identificador del tributo. Se debe colocar el Código que corresponda de la tabla de tipos de tributos de la DIAN. Valores posibles: `ZZ`: 'No Aplica'(<i>Valor default</i>), `01`: IVA. <br><i>Campo oficial DIAN &lt;TaxScheme&gt;</i>
    - `address` object, required — Objeto que contiene la información relacionada a la dirección. <br><i>Grupo de información oficial DIAN &lt;RegistrationAddress | 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'. 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;CityName&gt;</i>
      - `postalCode` string — Código Postal del lugar físico del proveedor. Obligatorio cuando `origin` = `10` (Residente fiscal en Colombia). <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'. Es obligatorio cuando no es un Residente fiscal ( `origin` = 11 ) <br><i>Campo oficial DIAN &lt;IdentificationCode&gt;</i>
  - `items` object[], required — Array que contiene el listado de articulos y/o servicios
    - `standardCode` object, required — Este grupo de datos se utiliza para identificar el artículo o servicio de acuerdo con un estándar establecido. <br><i>Grupo de información oficial DIAN &lt;StandardItemIdentification&gt;</i>
      - `identificationId` string, required — Código de artículo de acuerdo al estándar utilizado. <br><i>Campo oficial DIAN &lt;ID&gt;</i>
      - `id` '001' | '010' | '020' | '999' — Código del estándar. Deberá contener uno de los siguientes valores posibles de acuerdo al código utilizado para identificar el ítem en el elemento `identificationId`:`001`: UNSPSC-Colombia Compra Eficiente; `010` GTIN-Números Globales de Identificación de Productos – GTIN; `020` Partida arancelaria según estatus tributario;`999` Estándar de adopción del contribuyente. <br><i>Campo oficial DIAN &lt;schemeID&gt;</i>
    - `invoicePeriod` object
      - `descriptionCode` 1 | 2, required — Este campo permite indicar la forma de generación y transmisión de la información, utilizando los siguientes códigos: 1 = Por operación o 2 = Acumulado semanal. <br><i>Grupo de información oficial DIAN &lt;DescriptionCode&gt;</i>
      - `startDate` string, date — Aplica para las compras con reporte semanal. Indica la fecha en la que se realizó la transacción, y se incluirá dentro del acumulado correspondiente al reporte semanal. Este campo pasa a ser obligatorio cuando `descriptionCode` es igual a `2`. <br><i>Grupo de información oficial DIAN &lt;StartDate&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>
    - `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 adicional aplicado articulo y/o servicio
    - `chargeAmount` number, float — Valor del cargo adicional 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.
    - `taxes` object[] — Array que contiene el listado de tributos/impuestos que aplican al articulo y/o servicio
      - `taxCode` '01', 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` '0' | '5' | '19' | '0.0' | '5.0' | '19.0' | '0.00' | '5.00' | '19.00', 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>
    - `withholdings` object[] — 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>
      - `taxCode` '05' | '06', 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` '0.10' | '0.50' | '1.00' | '1.50' | '2.00' | '2.50' | '3.00' | '3.50' | '4.00' | '6.00' | '7.00' | '10.00' | '11.00' | '15.00' | '20.00' | '100.00', required — Porcentaje o tarifa de retención. Ejemplo: Para indicar la tarifa general asociada al impuesto de ReteIVA, se debe enviar un porcentaje de '100.00' o '15.00'. <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>
    - `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>
  - `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. Se debe colocar el Código que corresponda de la tabla de formas de pago disponibles de la DIAN. <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>
  - `discountsAndCharges` object[] — Descuentos Descuentos o cargos a nivel del DSE, estos descuentos o cargos no afectan las bases gravables. Si se desea agregar un descuento o cargo que afecte la base gravable se debe informan a nivel de items en el elemento `discountAmount`. <br><i>Grupo de información oficial DIAN &lt;AllowanceCharge&gt;</i>
    - `isCharge` boolean, required — Cargo es true, aumenta el valor del DSE; Descuento es false, disminuye el valor del DSE. <br><i>Campo oficial DIAN &lt;ChargeIndicator&gt;</i>
    - `reason` string — Texto libre para informar la razón del cargo o descuento aplicado al documento. <br><i>Campo oficial DIAN &lt;AllowanceChargeReason&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` object, 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 — 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 — Total valor cargos. Suma de todos los cargos aplicados al total de la factura. <br><i>Campo oficial DIAN &lt;ChargeTotalAmount&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>
  - `notes` string[] — Lista de información adicional: Texto libre, relativo al documento. <br><i>Campo oficial DIAN &lt;Note&gt;</i>
  - `orderReference` object — **Grupo de campos para la información de la orden de pedido**: Este grupo contiene los campos que describen una orden de compra/pedido asociada al Documento Soporte Electrónico (DSE). Incluye detalles como el número de la orden, la fecha de emisión, y cualquier referencia adicional que sea relevante para el documento. <br><i>Campo oficial DIAN &lt;OrderReference&gt;</i>
    - `id` string, required — Prefijo y Número del documento orden referenciado en el DSE. <br><i>Campo oficial DIAN &lt;ID&gt;</i>
    - `issueDate` string, date — Corresponde a la fecha en que se generó la orden de compra/pedido. <br><i>Campo oficial DIAN &lt;ID&gt;</i>
  - `billingReference` object — Exclusivo para referenciar la Nota de Ajuste que dio origen al presente Documento Soporte Electrónico (DSE). Incluye los datos clave de la Nota de Ajuste, como el número, la fecha de emisión y el motivo del ajuste. <br><i>Campo oficial DIAN &lt;BillingReference&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 contratrio deben enviarse los campos `fullNumber`, `cuds` y `date`.
    - `fullNumber` string — Prefijo + Número de la nota de ajuste referenciada. <br><i>Campo oficial DIAN &lt;ID&gt;</i>
    - `cuds` string — CUDS de la nota de ajuste relacionada. <br><i>Campo oficial DIAN &lt;UUID&gt;</i>
    - `date` string, date — Fecha de generación de la nota de ajuste relacionada. <br><i>Campo oficial DIAN &lt;ID&gt;</i>

## Response `200`

Objeto que representa la respuesta cuando se envía un documento soporte electrónico a la DIAN

- object
  - `supportDocument` object
    - `id` string — Id del documento soporte electrónico
    - `date` string, date-time — Fecha de emisión del documento soporte electrónico
    - `status` 'REGISTERED' | 'RETRYING_SEND' | 'WAITING_RESPONSE' | 'FAILED' | 'SENT' | 'CANCELED' | 'REPLACED' — Estado del documento soporte electrónico
    - `legalStatus` 'ACCEPTED' | 'ACCEPTED_WITH_OBSERVATIONS' | 'REJECTED' — Estado legal deL documento soporte electrónico ante la DIAN
    - `companyIdentification` string — Identificación de la empresa empleadora
    - `supplierIdentification` string — Identificación del proveedor
    - `cuds` string — Código único del documento soporte electrónico asignado para el documento
    - `prefix` string — Prefijo del documento soporte electrónico
    - `number` number, double — Número del documento soporte electrónico
    - `fullNumber` string — Número del documento soporte electrónico (Incluye prefijo y número)
    - `xmlFileName` string — Nombre del archivo XML que se envió a la DIAN
    - `zipFileName` string — Nombre del archivo Zip que se envió a la DIAN
    - `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
    - `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.
    - `applicationResponse` string — Link de descarga a el ApplicationResponse 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.

## 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)
