Documento equivalente P.O.S.¶
Url POST¶
/service/pos
Headers¶
Content-Type: application/json Accept: application/json Authorization: Bearer token
Parameters¶
- pos_pdf
type: boolean
default:
falseIndica si se construye pdf en formato tirilla.
- number *
type: integer
Numero de la factura sin prefijos.
- prefix
type: string
Prefijo de la factura.
- cash_register *
Type: object
Información correspondiente a los datos de la caja de ventas.
- name *
Type: string
Corresponde a la Placa de inventario de la Caja.
- ubication *
Type: string
Corresponde a la Ubicación de la caja.
- cashier *
Type: string
Corresponde a los Nombres y apellidos del cajero o vendedor.
- type *
Type: string
Corresponse al Tipo de Caja.
- sale_reference *
Type: string
Corresponde al Código de la Venta.
- subtotal *
Type: string
Corresponde al valor del Subtotal de la venta.
- customer_benefits *
Type: object
Información correspondiente a los beneficios del Comprador.
- identification_number *
Type: string
Corresponde al Codigo del comprador Documento identidad.
- name *
Type: string
Corresponde a los Nombres y apellidos del comprador.
- points *
Type: string
Corresponde a un valor donde se informe la Cantidad de Puntos acumulados por el comprador.
- software_manufacturer *
Type: object
Información correspondiente a los datos del fabricante del Software.
- software_developer *
Type: string
Corresponde a los nombres y apellidos del fabricante del software.
- registration_name *
Type: string
Corresponde a la Razón social del fabricante del software.
- software_name *
Type: string
Corresponde al Nombre del Software.
- 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.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/Country.
- municipality_code
Type: string
Código de municipio.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/Municipality.
Es obligatorio si
country_codees 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.
Type: string
Correo electrónico.
- merchant_registration
Type: string
Registro mercantil.
- send
type: boolean
default:
falseIndica 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. Este código representa tipos como: combustibles, emisor es auto-retenedor, mandato bienes, exportación, genérica, etc.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/OperationType.
Para Sector Salud https://test.endpoint.emision.co/dian-tables/OperationType/health.
- document_type_code *
type: string
Código de tipo de documento. Este código representa tipos de de documentos como: Factura de venta nacional, factura de exportación, factura por contingencia facturador, factura por contingencia DIAN, nota crédito, nota débito, ZIP.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/DocumentType.
- 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.
- 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.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/CurrencyType.
- 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.
- 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 factura electrónica referenciada.
- uuid *
Type: string
CUDE de la nota crédito relacionada.
- issue_date *
Type: string($date)
Fecha de emisión de la nota crédito relacionada.
- 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 factura electrónica referenciada.
- uuid *
Type: string
CUDE de la nota débito relacionada.
- issue_date *
Type: string($date)
Fecha de emisión de la nota débito relacionada.
- additional_document_references
Type: array object
Referencias de documentos adicionales (Tipo de operación «SS-Num» referencia a tipos de documentos «Factura Talonario», Obligatorio si la propiedad «type_document_id» es 3).
- number *
Type: string
Prefijo y número del documento referenciado.
- issue_date *
Type: string($date)
Fecha de emisión del documento referenciado.
- 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_»).
- invoice_period
type: object
Periodo entre el cual se emite la facturación. El formato de la fecha AAAA-MM-DD. El formato 24 horas 00:00:00.
- start_date *
type: string(AAAA-MM-DD)
Fecha de inicio del periodo de facturación.
- start_time
type: string(00:00:00)
Hora de inicio del periodo de facturación en formato 24 horas.
- end_date *
type: string(AAAA-MM-DD)
Fecha de fin del periodo de facturación.
- end_time
type: string(00:00:00)
Hora de fin del periodo de facturación en formato 24 horas.
- payment_exchange_rate
type: object
Tasa de cambio que representa la conversión de moneda al documento
currency_type_codecontra otra moneda especificadapayment_exchange_rate.currency_type_code.
- currency_type_code *
type: string
Código del tipo moneda a la cual se hace la conversión.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/CurrencyType.
- calculation_rate *
type: double
Valor de la tasa de cambio.
- date *
type: string (AAAA-MM-DD)
Fecha en la que se fijó la tasa de cambio
- customer *
Type: object
Datos del cliente (receptor del documento).
- identification_number *
Type: string
Número de identificación.
- name *
Type: string
Nombre o razón social del empresa.
- email *
Type: string
Correo electrónico.
Nota
Si desea reportar varios emails usar ; como separador.
- 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 (código asociado al NIT, cédula, etc).
Nota
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).
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/OrganizationType.
- language_code
Type: string
Default:
esCódigo de idioma.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/Language.
- country_code
Type: string
Código de país.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/Country.
- municipality_code
Type: string
Código de municipio.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/Municipality.
Es obligatorio si
country_codees igual a «CO».- regime_type_code
Type: string
Código de régimen.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/RegimeType.
- tax_code
Type: string
Código de impuesto (Identificador del tributo del adquirente).
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/TaxDetail.
- liability_type_code
Type: string
Código de responsabilidad.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/LiabilityType.
- 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.
- merchant_registration
Type: string
Registro mercantil.
- delivery
Type: object
Datos de información de entrega de los bienes.
- actual_delivery_date *
Type: string(YYYY-MM-DD)
Fecha efectiva de entrega de los bienes.
- actual_delivery_time *
Type: string(00:00:00)
Hora efectiva de entrega de los bienes en formato de 24 horas.
- delivery_terms
Type: array object
Información relacionadas con la entrega.
- special_terms
Type: string
Método de pago de costes de transporte.
Nota
Se utilizar para indicar cómo se pagan los costes del transporte (por ejemplo, Portes Debidos, Portes Pagados) Puede ser un texto libre que entiendan el comprador y vendedor o codificarlo en una lista, por ejemplo http://www.unece.org/trade/untdid/d01b/tred/tred4215.html.
- delivery_type_code
Type: integer
Código del tipo de entrega.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/DeliveryType.
- loss_risk
Type: string
Riesgo de pérdida.
payment_form*Type: object
Obsoleto desde la versión 3.0.
Forma de pago.
payment_form_code*Type: string
Código de forma de pago.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/PaymentForm.
payment_method_code*Type: string
Código del método de pago.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/PaymentMethod.
payment_due_dateType: string(YYYY-MM-DD)
Fecha de vencimiento del pago.
Nota
Es obligatorio si la forma de pago es a crédito.
duration_measureType: integer
Medida de duración en días.
Nota
Es obligatorio si la forma de pago es a crédito.
- payment_forms *
Type: array object
Formas de pago.
- payment_form_code *
Type: string
Código de forma de pago.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/PaymentForm.
- payment_method_code *
Type: string
Código del método de pago.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/PaymentMethod.
- payment_due_date
Type: string(YYYY-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(YYYY-MM-DD)
Fecha en la cual el pago fue recibido.
- paid_date
Type: string(YYYY-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 ellegal_monetary_totals- discount_code
Type: string
Código de descuento.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/Discount.
- 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.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/Tax.
- percent
Type: double
Porcentaje.
- tax_amount *
Type: double
Importe del impuesto.
- taxable_amount *
Type: double
Base imponible.
- rounding_amount
Type: integer($double)
Redondeo agregado al total del impuesto.
- unit_measure_code
Type: string
Código de unidad de medida.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/UnitMeasure.
- 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.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/Tax.
- 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: integer($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.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/UnitMeasure.
- invoiced_quantity *
Type: double
Cantidad facturada.
- line_extension_amount *
Type: double
Valor total de la línea.
free_of_charge_indicator *Type: boolean
Obsoleto desde la versión 3.0.
Indicador de cargos.
- reference_price_code
Type: string
Código de referencia precios.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/ReferencePrice.
- 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.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/Tax.
- tax_amount *
Type: double
Total a pagar.
- taxable_amount *
Type: double
Base imponible.
- rounding_amount
Type: integer($double)
Redondeo agregado al total del impuesto.
- percent
Type: double
Porcentaje del descuento.
- unit_measure_code
Type: string
Código unidad de medida.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/UnitMeasure.
- 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.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/Tax.
- 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 el producto.
- item_identification_type_code *
Type: string
Código de identificación del artículo.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/ItemIdentificationType.
- 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.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/UnitMeasure.
- value_quantity
Type: integer($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.
- supplier
Type: object
Emisor del documento
- shareholder *
Type: array object
Grupo de elementos que permiten registrar la información de los participantes de un Consorcio o Unión temporal.
- partecipation_percent *
Type: integer
Porcentaje del participante en el consorcio.
- name *
Type: string
Nombre o Razón Social de participante de consorcio.
- identification_number *
Type: string
Número de identificación del participante de consorcio.
- dv
Type: string
Si participante de consorcio está identificado por NIT (31), el DV del NIT debe ser informado.
- identification_type_code *
Type: string
Identificador del tipo de documento de identidad del participante de consorcio.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/IdentificationType.
- liability_type_code *
Type: string
Tipo de obligación del participante de consorcio.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/LiabilityType.
- tax_code *
Type: string
Identificador del tributo del participante de consorcio.
Nota
Ver listado en https://test.endpoint.emision.co/dian-tables/TaxDetail.
Body¶
Contiene los datos mínimos para generar un documento.
1{ 2 "send": true, 3 "resolution_number": 18760000001, 4 "date": "2024-02-23", 5 "time": "14:10:46", 6 "currency_type_code": "COP", 7 "prefix": "EPOS", 8 "number": 18, 9 "document_type_code": "20", 10 "due_date": "2024-02-23", 11 "operation_type_code": "10", 12 "identification_number": 901285179, 13 "cash_register": { 14 "name": "CJ-1", 15 "ubication": "Almacén", 16 "cashier": "Pedro Infante", 17 "type": "Solo efectivo", 18 "sale_reference": "R-100023S", 19 "subtotal": 25745.44 20 }, 21 "customer_benefits": { 22 "identification_number": "122233", 23 "name": "Caliche Garcia", 24 "points": 26 25 }, 26 "software_manufacturer": { 27 "software_developer": "e-Misión", 28 "registration_name": "Nodexum S.A.S", 29 "software_name": "e-Misión Facturación Electrónica" 30 }, 31 "customer": { 32 "identification_type_code": "13", 33 "organization_type_code": "1", 34 "municipality_code": "05615", 35 "regime_type_code": "48", 36 "language_code": "es", 37 "country_code": "CO", 38 "tax_code": "ZZ", 39 "liability_type_code": "R-99-PN", 40 "identification_number": "43764178", 41 "name": "ALEJANDRO ", 42 "phone": 12346567, 43 "address": "MEDELLIN", 44 "email": "correo@emision.co", 45 "merchant_registration": "No tiene", 46 "trade_name": "W.T.Y.D S.A.S" 47 }, 48 "invoice_lines": [ 49 { 50 "unit_measure_code": "WSD", 51 "invoiced_quantity": 5, 52 "line_extension_amount": 99159.66, 53 "free_of_charge_indicator": false, 54 "description": "ACEITE DE OLIVA x 1000 c.c x 15 UND", 55 "code": "010016", 56 "item_identification_type_code": "999", 57 "price_amount": 19831.93, 58 "base_quantity": 1, 59 "reference_price_code": "", 60 "tax_totals": [ 61 { 62 "tax_code": "01", 63 "tax_amount": 18840.34, 64 "percent": 19, 65 "taxable_amount": 99159.66 66 } 67 ] 68 } 69 ], 70 "tax_totals": [ 71 { 72 "tax_code": "01", 73 "tax_amount": 18840.34, 74 "percent": 19, 75 "taxable_amount": 99159.66 76 } 77 ], 78 "payment_form": { 79 "payment_form_code": "2", 80 "payment_method_code": "10", 81 "payment_due_date": "2022-12-21", 82 "duration_measure": 1 83 }, 84 "legal_monetary_totals": { 85 "allowance_total_amount": 0, 86 "line_extension_amount": 99159.66, 87 "tax_exclusive_amount": 99159.66, 88 "tax_inclusive_amount": 118000, 89 "payable_amount": 118000, 90 "charge_total_amount": 0 91 } 92}
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": "SEPT900000000", // 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
bodyno 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": "SEPT900000000", // 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": "SEPT900000000", 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}