Documento Soporte

Url POST

/service/support-invoice

Headers

Content-Type: application/json
Accept: application/json
Authorization: Bearer token

Parameters

number *

type: integer

Número del documento soporte sin prefijos.

branch_office

Type: object

Datos de la sucursal (emisor de documento).

logo

Type: string

URL del logotipo de la sucursal.

country_code

Type: string

Código de país.

municipality_code

Type: string

Código de municipio.

Nota

Ver listado en https://test.endpoint.emision.co/dian-tables/Municipality.

Es obligatorio si country_code es igual a «CO» o null.

name

Type: string

Nombre o razón social del empresa.

trade_name

Type: string

Nombre comercial de la empresa.

phone

Type: string

Teléfono.

Nota

Solo se permiten caracteres numericos, espacios o los simbolos + - _ ( ).

address

Type: string

Dirección.

email

Type: string

Correo electrónico.

merchant_registration

Type: string

Registro mercantil.

invoice_document_references

Type: array object

Facturas referencias (Tipo de operación «SS-CUFE» referencia a tipos de documentos «Factura electrónica de venta» y «Factura electrónica de contingencia contingencia DIAN» a acreditar, Tipo de operación «SS-CUDE» referencia a tipos de documento «Factura electrónica de contingencia talonario o papel» y Tipo de operación «SS-POS» referencia a tipos de documento «Factura POS» a acreditar).

number *

Type: string

Prefijo + Número de la factura electrónica referenciada.

uuid *

Type: string

CUFE de la factura electrónica relacionada (Para el tipo de operación «SS-POS» debe informar Número de la autorización DIAN para el rango POS utilizado para el recaudo del aporte).

algorithm

Type: string

Algoritmo (CUFE-SHA384 o CUDE-SHA384).

issue_date *

Type: string (AAAA-MM-DD)

Fecha de emisión de la factura electrónica relacionada.

user_identification_number

Type: string

Identificador del usuario beneficiario del servicio de salud.

authorization_number

Type: string

Número De Autorización.

document_reference_type_code (sector salud)

Type: integer

Código del tipo de referencia a documentos (Obligatorio para el sector salud).

type_of_non_tax_document_id

Type: string

Corresponde a una codificación propia de la empresa (Para el tipo de operación «SS-POS» debe enviar el valor «_n_»).

amount

Type: double

Cantidad a acreditar (Obligatorio si informa la propiedad «concept»).

concept

Type: string

Concepto del recaudo del aporte que se acreditará a esta factura: «Copago», «Cuota Moderadora», «Cuota de recuperación o Pagos compartidos en planes voluntarios de salud» (Obligatorio si informa la propiedad «amount»).

credit_note_document_references

Type: array object

Notas Crédito que dieron origen a la presente Factura Electrónica (Se debe diligenciar únicamente cuando la FE se origina a partir de la corrección o ajuste que se da mediante una Nota Crédito).

number *

Type: string

Prefijo + Número de la nota crédito referenciada.

uuid *

Type: string

CUDE de la nota crédito relacionada.

algorithm

Type: string

Algoritmo (CUFE-SHA384 o CUDE-SHA384).

issue_date *

Type: string (AAAA-MM-DD)

Fecha de emisión de la nota crédito relacionada.

user_identification_number

Type: string

Identificador del usuario beneficiario del servicio de salud.

authorization_number

Type: string

Número De Autorización.

document_reference_type_code (sector salud)

Type: integer

Código del tipo de referencia a documentos (Obligatorio para el sector salud).

type_of_non_tax_document_id

Type: string

Corresponde a una codificación propia de la empresa (Para el tipo de operación «SS-POS» debe enviar el valor «_n_»).

amount

Type: double

Cantidad a acreditar (Obligatorio si informa la propiedad «concept»).

concept

Type: string

Concepto del recaudo del aporte que se acreditará a esta factura: «Copago», «Cuota Moderadora», «Cuota de recuperación o Pagos compartidos en planes voluntarios de salud» (Obligatorio si informa la propiedad «amount»).

debit_note_document_references

Type: array object

Nota Débito que dio origen a la presente Factura Electrónica (Se debe diligenciar únicamente cuando la FE se origina a partir de la corrección o ajuste que se da mediante una Nota Débito).

number *

Type: string

Prefijo + Número de la nota crédito referenciada.

uuid *

Type: string

CUDE de la nota crédito relacionada.

algorithm

Type: string

Algoritmo (CUFE-SHA384 o CUDE-SHA384).

issue_date *

Type: string (AAAA-MM-DD)

Fecha de emisión de la nota crédito relacionada.

user_identification_number

Type: string

Identificador del usuario beneficiario del servicio de salud.

authorization_number

Type: string

Número De Autorización.

document_reference_type_code (sector salud)

Type: integer

Código del tipo de referencia a documentos (Obligatorio para el sector salud).

type_of_non_tax_document_id

Type: string

Corresponde a una codificación propia de la empresa (Para el tipo de operación «SS-POS» debe enviar el valor «_n_»).

amount

Type: double

Cantidad a acreditar (Obligatorio si informa la propiedad «concept»).

concept

Type: string

Concepto del recaudo del aporte que se acreditará a esta factura: «Copago», «Cuota Moderadora», «Cuota de recuperación o Pagos compartidos en planes voluntarios de salud» (Obligatorio si informa la propiedad «amount»).

receipt_document_references

Type: array object

Despachos.

id *

Type: string

Prefijo y número del documento despacho referenciado.

issue_date

Type: string (AAAA-MM-DD)

Fecha de emisión: Fecha de emisión del documeto de despacho.

prefix

type: string

Prefijo del documento soporte.

send

type: boolean

default: false

Indica si se envía correo al cliente con representación gráfica y demás adjuntos.

notes

Type: array object

Información adicional u observaciones.

text *

Type: string

Texto libre, relativo al documento.

operation_type_code *

type: string

Código del tipo de operación.

document_type_code *

type: string

Código de tipo de documento.

identification_number *

type: integer

Número del documento de identificación del emisor sin dígito de verificación.

resolution_number *

type: integer

Número de la resolución.

due_date

type: string (AAAA-MM-DD)

Fecha de vencimiento.

date

type: string (AAAA-MM-DD)

Fecha de emisión del documento.

time

type: string (00:00:00)

Hora de emisión del documento en formato 24 horas.

currency_type_code *

type: string

Código del tipo moneda del documento.

order_reference

type: object

Datos correspondientes a la orden de compra.

id *

type: string

Prefijo y número del documento orden referenciado.

issue_date

type: string (AAAA-MM-DD)

Fecha de emisión de la orden.

payment_exchange_rate

type: object

Tasa de cambio que representa la conversión de moneda al documento currency_type_code contra otra moneda especificada payment_exchange_rate.currency_type_code.

currency_type_code *

type: string

Código de divisa a la cual se hace la conversión.

calculation_rate *

type: double

Valor tasa de cambio.

date *

type: string (AAAA-MM-DD)

Fecha en la que se fijó tasa de cambio.

customer *

Type: object

Datos del cliente (receptor del documento).

identification_number *

Type: string

Número de identificación.

dv

Type: integer

Dígito de verificación, es obligatorio si el tipo de documento es NIT.

identification_type_code *

Type: string

Código de documento de identidad.

Nota

Si operation_type_code es 10 (Residente) este código deberá ser 31 (NIT) y deberá ser informado el campo dv.

Ver listado en https://test.endpoint.emision.co/dian-tables/IdentificationType.

organization_type_code *

Type: string

Código de tipo de organización (asociado a persona natural, persona jurídica).

language_code

Type: string

Default: es

Código de idioma.

country_code *

Type: string

Código de país.

municipality_code

Type: string

Código de municipio.

Nota

Ver listado en https://test.endpoint.emision.co/dian-tables/Municipality.

Es obligatorio si country_code es igual a «CO».

regime_type_code *

Type: string

Código de régimen.

tax_code *

Type: string

Código de impuesto (Identificador del tributo del adquirente).

liability_type_code *

Type: string

Código de responsabilidad.

name *

Type: string

Nombre o razón social del empresa.

trade_name

Type: string

Nombre comercial de la empresa.

phone *

Type: string

Teléfono.

Nota

Solo se permiten caracteres numericos, espacios o los simbolos + - _ ( ).

address *

Type: string

Dirección.

email *

Type: string

Correo electrónico.

Nota

Si desea reportar varios emails usar ; como separador.

merchant_registration *

Type: string

Registro mercantil.

payment_forms *

Type: array object

Formas de pago.

payment_form_code *

Type: string

Código de forma de pago.

payment_method_code *

Type: string

Código del método de pago.

payment_due_date

Type: string (AAAA-MM-DD)

Fecha de vencimiento del pago.

Nota

Es obligatorio si la forma de pago es a crédito.

duration_measure

Type: integer

Medida de duración en días.

Nota

Es obligatorio si la forma de pago es a crédito.

prepaid_payments

Type: array object

Anticipos.

identifier *

Type: string

Identificación del pago.

paid_amount *

Type: double

Valor del pago.

received_date

Type: string (AAAA-MM-DD)

Fecha en la cual el pago fue recibido.

paid_date

Type: string (AAAA-MM-DD)

Fecha en la cual el pago fue realizado.

instruction_id

Type: string

Instrucciones relativas al pago.

allowance_charges

Type: array object

Cargos o descuentos

charge_indicator *

Type: boolean

Cargo o descuento.

Nota

Cargo es true, es un Débito aumenta el valor de la factura y se debe reportar en el legal_monetary_totals. Descuento es false, un Crédito descuenta el valor de la factura antes de tributos y debe reportarse en el legal_monetary_totals

discount_code

Type: string

Código de descuento.

allowance_charge_reason *

Type: string

Razón del cargo o descuento.

amount *

Type: double

Cantidad.

base_amount *

Type: double

Cantidad base.

tax_totals

Type: array object

Totales impuestos.

tax_code *

Type: string

Código impuesto.

percent

Type: double

Porcentaje.

tax_amount *

Type: double

Importe del impuesto.

taxable_amount *

Type: double

Base imponible.

rounding_amount

Type: double

Redondeo agregado al total del impuesto.

unit_measure_code

Type: string

Código de unidad de medida.

per_unit_amount

Type: double

Por unidad de cantidad.

base_unit_measure

Type: double

Medida unidad base.

withholding_tax_totals

Type: array object

Totales retenciones.

tax_code *

Type: integer

Código impuesto.

percent

Type: double

Porcentaje.

tax_amount *

Type: double

Importe del impuesto.

taxable_amount *

Type: double

Base imponible.

legal_monetary_totals *

Type: object

Totales monetarios legales

line_extension_amount *

Type: double

Cantidad de extensión de línea. Suma de los valores brutos de las líneas de la factura.

tax_exclusive_amount *

Type: double

Cantidad exclusiva de impuestos. Suma de los valores de las bases imponibles de todas líneas de detalle.

tax_inclusive_amount *

Type: double

Cantidad de impuestos incluidos. Valor bruto de la factura más la suma de los tributos de todas las líneas de detalle.

allowance_total_amount *

Type: double

Cantidad total de la asignación. Suma de todos los descuentos aplicados a nivel de la factura.

charge_total_amount *

Type: double

Cantidad del importe total. Suma de todos los cargos aplicados a nivel de la factura.

payable_rounding_amount

Type: double

Cantidad del redondeo total

payable_amount *

Type: double

Cantidad a pagar. Valor total de ítems (incluyendo cargos y descuentos a nivel de ítems)+valor tributos + valor cargos – valor descuentos.

Nota

Si la factura pertenece al sector salud se debe restar el anticipo.

invoice_lines

Type: array object

Lineas de la factura.

notes

Type: array object

Información adicional

text *

Type: string

Texto libre para añadir información adicional al artículo.

item_sector_identification_type_code

Type: integer

Código del tipo de identificación del sector del artículo.

Nota

Obligatorio cuando se informe el tipo de operación 11 o 12.

Para mandatos ver listado en https://test.endpoint.emision.co/dian-tables/ItemSectorIdentificationType/mandate.

Para trasporte ver listado en https://test.endpoint.emision.co/dian-tables/ItemSectorIdentificationType/transport.

unit_measure_code *

Type: string

unidades de medida.

vendor_code

Type: string

Código del vendedor correspondiente a una subespecificación del artículo.

Nota

Tamaño: 50.

order_line_reference

Type: object

Orden de compra línea.

id *

Type: string

Prefijo y número del documento orden referenciado.

issue_date

Type: string (AAAA-MM-DD)

Fecha de emisión: Fecha de emisión de la orden.

receipt_line_reference

Type: object

Orden de compra línea.

id *

Type: string

Prefijo y número del documento despacho referenciado.

issue_date

Type: string (AAAA-MM-DD)

Fecha de emisión: Fecha de emisión del documeto de despacho.

invoice_period *

Type: object

Grupo para informar la fecha en la que se realiza la compra del bien o servicio.

start_date *

Type: string (AAAA-MM-DD)

Fecha de compra (Para las compras con reporte semanal rechazo si el elemento «start_date» es menor a 6 días calendario del firmado del documento, para las compras por operación rechazo si elemento «start_sate» es diferente al firmado del documento).

form_generation_transmission_code *

Type: integer

Código de transmisión de generación de formularios.

tax_amount *

Type: double

Importe del impuesto.

taxable_amount *

Type: double

Base imponible.

invoiced_quantity *

Type: double

Cantidad facturada.

line_extension_amount *

Type: double

Valor total de la línea.

reference_price_code

Type: string

Código de referencia precios.

allowance_charges

Type: array object

Descuentos y cargos.

charge_indicator *

Type: boolean

Indicador de cargo.

allowance_charge_reason *

Type: string

Razón del cargo o descuento.

amount *

Type: double

Total.

base_amount

Type: double

Cantidad base.

multiplier_factor_numeric

Type: double

Porcentaje del descuento.

tax_totals

Type: array object

Impuestos totales.

tax_code *

Type: string

Código del impuesto.

tax_amount *

Type: double

Total a pagar.

taxable_amount *

Type: double

Base imponible.

rounding_amount

Type: double

Redondeo agregado al total del impuesto.

percent

Type: double

Porcentaje del descuento.

unit_measure_code

Type: string

Código unidad de medida.

per_unit_amount

Type: double

Valor del tributo por unidad

base_unit_measure

Type: double

Medida unidad base.

withholding_tax_totals

Type: array object

Totales retenciones.

tax_code *

Type: string

Código impuesto.

percent

Type: double

Porcentaje.

tax_amount *

Type: double

Importe del impuesto

taxable_amount *

Type: double

Base imponible.

information_content_provider_party

Type: object

Información relativa al mandante.

identification_number *

Type: integer

Número de identificación

identification_type_code

Type: integer

Código de documento de identidad

description *

Type: string

Descripción del artículo o servicio a que se refiere esta línea de la factura.

Nota

Pueden ir separadas por punto y coma si desea multiples descripciones.

code *

Type: string

Código interno del producto.

item_identification_type_code *

Type: string

Código de identificación del artículo.

additional_item_properties

Type: array object

Información específica del ítem que puede ser solicitada por autoridades o entidades diferentes a la DIAN.

name *

Type: string

Característica que quiere informar del ítem.

value *

Type: string

Valor de la característica que se quiere informar del ítem.

unit_measure_code

Type: integer

Default: 94

Código de unidad de medida.

value_quantity

Type: double

Cantidad del Bien.

price_amount *

Type: double

Valor del artículo o servicio.

base_quantity *

Type: double

La cantidad real sobre la cual el precio aplica.

Body

Contiene los datos mínimos para generar un documento.

 1{
 2    "date": "2022-09-27",
 3    "identification_number": 901285179,
 4    "prefix": "SEDS",
 5    "resolution_number": 18760000001,
 6    "number": 984000000,
 7    "document_type_code": "05",
 8    "currency_type_code": "COP",
 9    "time": "10:26:02",
10    "operation_type_code": 11,
11    "send": true,
12    "legal_monetary_totals": {
13        "tax_inclusive_amount": 23800,
14        "line_extension_amount": 20000,
15        "charge_total_amount": 0,
16        "tax_exclusive_amount": 20000,
17        "payable_amount": 23800,
18        "allowance_total_amount": 0
19    },
20    "payment_forms": [
21        {
22            "payment_method_code": 1,
23            "payment_form_code": 1
24        }
25    ],
26    "tax_totals": [
27        {
28            "tax_amount": 3800,
29            "tax_code": "01",
30            "percent": 19,
31            "taxable_amount": 20000
32        }
33    ],
34    "invoice_lines": [
35        {
36            "base_quantity": 2,
37            "code": "152615",
38            "line_extension_amount": 20000,
39            "unit_measure_code": 94,
40            "price_amount": 10000,
41            "description": "CONCOLOR BEIGE JUNTA ESTRECHA",
42            "invoiced_quantity": 2,
43            "item_identification_type_code": 999,
44            "invoice_period": {
45                "form_generation_transmission_code": 2,
46                "start_date": "2022-09-15"
47            },
48            "tax_totals": [
49                {
50                    "tax_amount": 3800,
51                    "tax_code": "01",
52                    "percent": 19,
53                    "taxable_amount": 20000
54                }
55            ]
56        }
57    ],
58    "customer": {
59        "address": "CALLE FALSA 123",
60        "identification_number": "901285179",
61        "identification_type_code": "13",
62        "merchant_registration": "N.A.",
63        "municipality_code": "11001",
64        "regime_type_code": "49",
65        "country_code": "CO",
66        "language_code": "ES",
67        "tax_code": "ZZ",
68        "phone": "123 4567",
69        "name": "W.T.Y.D. 2022",
70        "organization_type_code": "2",
71        "email": "wtyd@dian.co",
72        "liability_type_code": "R-99-PN"
73    },
74    "notes": [
75        {
76            "text": "FAVOR PRACTICAR RETENCION A TITULO DE RENTA DE FORMA PROPORCIONAL..."
77        }
78    ]
79}

Responses

Response 200 OK

Si el documento ha superado las validaciones y fue enviado a la DIAN.

 1{
 2    "status": "success",                                   // Estado de la solicitud.
 3    "message": "Documento enviado a la DIAN",              // Mensaje sobre el estado de la solicitud.
 4    "document": {                                          // Datos generados para el documento contenido en la solicitud.
 5        "number": "SEDS984000000",                              // Prefijo mas consecutivo.
 6        "statusCode": 6,                                        // Código para identificar el estado.
 7        "statusDescription": "Documento validado exitosamente", // Descripción al código de estado.
 8        "uuid": "Cufe",                                         // Cufe generado para el documento NOTA: Este dato es usado a la hora de emitir notas crédito o débito.
 9        "zipBase64Bytes": "Xml",                                // Xml codificado en base64 comprimido en un archivo zip.
10        "pdfBase64Bytes": "Pdf",                                // Pdf codificado en base64.
11        "appResponseBase64Bytes": "Application response",       // XML de la respuesta de la DIAN codificado en base64.
12        "attachedDocumentBase64Bytes"; "Attached document"      // XML que contiene el XML de la factura y el APP response.
13    }
14}

Response 422 Unprocessable Entity (WebDAV)

Si el body no cumple con las validaciones, devolverá los errores en un arreglo los cuales deben ser solucionados para poder continuar con el ciclo del documento electrónico.

Errores por parte de la DIAN

 1{
 2    "status": "error",                                     // Estado de la solicitud.
 3    "message": "El documento contiene algunos errores",    // Mensaje sobre el estado de la solicitud.
 4    "document": {                                          // Datos generados para el documento contenido en la solicitud.
 5        "number": "SEDS984000000",                                       // Prefijo mas consecutivo.
 6        "statusCode": 11,                                                // Código para identificar el estado.
 7        "statusDescription": "Documento validado exitosamente",          // Descripción al código de estado.
 8            "Errors": [                                                      // Lista de los campos y errores que presenta el documento.
 9            "Regla: FAU04, Rechazo: Base Imponible es distinto a la suma de los valores de las bases imponibles de todas líneas de detalle.",
10            "Regla: FAU14, Rechazo: Valor a Pagar de Factura es distinto de la Suma de Valor Bruto más tributos - Valor del Descuento Total + Valor del Cargo Total - Valor del Anticipo Total",
11            "Regla: FAQ07, Notificación: Descuento superior al valor base",
12            "Regla: FAD09c, Notificación: La fecha de emisión fue anterior a 5 días de la fecha actual",
13            "Regla: FAQ09, Notificación: Valor Base para calcular el descuento o cargo superior al valor total de la factura"
14        ]
15    }
16}

Errores por parte e-Misión

 1{
 2    "status": "error",                                     // Estado de la solicitud.
 3    "message": "El documento contiene algunos errores",    // Mensaje sobre el estado de la solicitud.
 4    "document": {
 5        "number": "SEDS984000000",
 6        "statusCode": 13,
 7        "statusDescription": "EL documento no supero las validaciones e-Misión",   // Descripción al código de estado.
 8        "errors": [                                                                // Lista errores que presenta el documento.
 9            "El campo customer.country id es obligatorio.",
10            "El campo customer.type regime id es obligatorio.",
11        ],
12        "detailedErrors": {                                                        // Lista errores que presenta el documento en cada campo.
13            "customer.country_id": [                                               // Campo que presenta el error.
14                "El campo customer.country id es obligatorio."                     // Lista de errores del campo.
15            ],
16            "customer.type_regime_id": [
17                "El campo customer.type regime id es obligatorio."
18            ]
19        }
20    }
21}