Documento equivalente electrónico
Estructura base de todos los campos posibles a usar en un documento equivalente electrónico. Los ajustes propios de cada tipo (boleta de cine, espectáculos públicos, peajes, juegos, transporte, servicios públicos) están en las páginas siguientes.
SoftwareSeguridad (SeguridadSoftwareType)
Estos datos seran usados para que el sistema valide la identificacion y autorizacion del sistema que se esta integrando
Ocurrencia: 1-1 (Obligatorio)
| Campo | Descripción | Obligatorio | Observaciones |
|---|---|---|---|
TipoDocumento | Tipo de documento enviado | Sí | Ver lista |
GuidEmpresa | Código de identificación de la empresa que genera los datos | Sí | Código asignado al momento de la implementación para identificar la empresa de donde provienen los datos. |
GuidOrigen | Código de identificación del origen de los datos | Sí | Código asignado al momento de la implementación para identificar el origen de donde provienen los datos. |
GuidSistemaIntegrado | Código de Identificación del sistema Integrado | Sí | Código de seguridad asignado el ERP integrado |
HashSeguridad | Código de seguridad | Sí | Clave de seguridad asignada al momento de la implementación. |
ClaveTecnica | Clave tecnica del rango emitida por la DIAN | No | |
CodigoErp | Código del documento en el ERP | Sí | Código único del documento en el ERP origen. |
NumeroDocumento | Número del documento (incluye prefijo) | Sí | Clave técnica del rango de facturación, según consta en la resolución de aprobación de DIAN. |
EmisorData (EmisorType)
Estos datos son usados por el sistema para identificar y extraer la información del emisor de la factura.
Ocurrencia: 1-1 (Obligatorio)
| Campo | Descripción | Obligatorio | Observaciones |
|---|---|---|---|
EmiTipoPersona | Tipo de persona del emisor. | Sí | Ver lista |
EmiTipoIdentificacion | Tipo de identificación del emisor. | Sí | Debe ser siempre el valor 31. |
EmiIdentificacion | Número de identificación del emisor | Sí | |
EmiDVIdentificacion | Digito de Verificacion del emisor | Sí |
CompradorFactura (CompradorType)
Para los documentos equivalentes de facturación POS debe generarse para el CONSUMIDOR FINAL
Ocurrencia: 1-1 (Obligatorio)
| Campo | Descripción | Obligatorio | Observaciones |
|---|---|---|---|
CompradorTipoPersona | Código del tipo de persona del comprador. | Sí | Ver lista |
CompradorTipoIdentificacion | Código del tipo de identificación del comprador. | Sí | Ver lista |
CompradorIdentificacion | Número de identificación del Comprador | Sí | |
CompradorDVIdentificacion | Digito de Verificacion del Comprador | No | Obligatorio solo si CompradorTipoPersona: 1 |
CompradorTipoRegimen | Código del tipo de régimen del comprador. | No | Ver lista |
CompradorRespFiscal | Código de la obligación fiscal del comprador. | No | Ver lista |
CompradorImpuesto | Códigos del detalle tributario del comprador. | No | Si debe agregar más de uno, sepárelos con ;. Ver lista |
CompradorRazonSocial | Razón social del comprador | Sí | Obligatorio solo si CompradorTipoPersona=1 |
CompradorPrimerNombre | Primer nombre del comprador | No | Obligatorio solo si CompradorTipoPersona=2 |
CompradorSegundoNombre | Segundo nombre del comprador | No | Podría usarse solo si CompradorTipoPersona=2 |
CompradorApellidos | Apellidos del comprador | No | Obligatorio solo si CompradorTipoPersona=2 |
CompradorNombreCompleto | Nombres completos del comprador | Sí | Nombres completos o razón social del comprador. |
CompradorPais | Código del país de la dirección del comprador. | No | Ver códigos ISO 3166-1 (Alpha-2). Ejemplo: CO = Colombia. |
CompradorNombrePais | Nombre del país de la dirección del comprador. | No | |
CompradorDepartamento | Departamento de residencia del comprador. | No | |
CompradorCodDepartamento | Código DANE del departamento del comprador. | No | Ver tabla de códigos DANE. |
CompradorCiudad | Ciudad de residencia del comprador. | No | |
CompradorCodCiudad | Código DANE de la ciudad del comprador. | No | Ver tabla de códigos DANE. |
CompradorCodPostal | Código postal Comprador | Sí | |
CompradorDireccion | Dirección de residencia del comprador | Sí | |
CompradorEnviarCorreo | Indicador de si se debe enviar un correo electrónico de notificación. | Sí | - True: sí se envía correo electrónico al comprador- False: no se envía correo electrónico al comprador |
CompradorTelefonoCont | Telefono de contacto del Comprador | No | |
CompradorNotaCont | Nota de contacto del comprador | No | |
CompradorCorreoElectronico | Correo electrónico del comprador. | Condicional | Obligatorio si CompradorEnviarCorreo = True. Pueden indicarse varios correos separados por punto y coma (;), máximo 5. |
EncabezadoData (EncabezadoType)
Datos generales de la factura
Ocurrencia: 1-1 (Obligatorio)
| Campo | Descripción | Obligatorio | Observaciones |
|---|---|---|---|
FacTipoFactura | Código del tipo de factura que se está emitiendo. | Sí | Ver lista |
FacCodOperacion | Código del tipo de operación. | Sí | Ver lista |
FacFechaHoraFactura | Fecha y hora de la emisión de la factura. | Sí | Formato: aaaa-mm-dd hh:mm:ssEjemplo: 2019-08-01 17:40:25 |
FacFechaVencimiento | Fecha de vencimiento de la factura. | Condicional | Obligatorio si el documento es a crédito. Formato: aaaa-mm-dd. Ejemplo: 2019-08-01 |
FacFechaIni | Fecha de inicio del período de facturación. | No | Formato: aaaa-mm-dd. Ejemplo: 2019-08-01 |
FacFechaFin | Fecha de finalización del período de facturación. | No | Formato: aaaa-mm-dd. Ejemplo: 2019-08-01 |
FacOrdenRefID | Prefijo y número del documento de orden referenciado. | No | |
FacOrdenRefFecha | Fecha de emisión de la orden. | No | Formato: aaaa-mm-dd. Ejemplo: 2019-08-01 |
FacRecepRefID | Prefijo y número del documento de recepción referenciado. | No | |
FacRecepRefFecha | Fecha de emisión del documento de recepción referenciado. | No | Formato: aaaa-mm-dd. Ejemplo: 2019-08-01 |
FacDespachoID | Prefijo y número del documento de despacho. | No | |
FacDespachoFecha | Fecha de emisión del documento de despacho referenciado. | No | Formato: aaaa-mm-dd. Ejemplo: 2019-08-01 |
InfoMonetarioData (InfoMonetarioType)
Datos de la información monetaria y los Totales de la Factura
Ocurrencia: 1-1 (Obligatorio)
| Campo | Descripción | Obligatorio | Observaciones |
|---|---|---|---|
FacCodMoneda | Código de la moneda del documento. | Sí | Siempre COP (pesos colombianos). |
FacTotalImporteBruto | Total del importe bruto antes de impuestos. | Sí | Suma de los importes brutos de las líneas de la factura. |
FacTotalCargos | Total de los cargos aplicados a nivel de factura. | Condicional | Sumatoria del campo FacCargoTotal de la lista LsCargos cuando FacCargoTipo sea true. Si no existen Cargos, el valor debe ser 0. |
FacTotalDescuentos | Total de los descuentos aplicados a nivel de factura. | Condicional | Sumatoria del campo FacCargoTotal de la lista LsCargos cuando FacCargoTipo sea false. Si no existen Descuentos, el valor debe ser 0. |
FacTotalBaseImponible | Total de la base imponible para el cálculo de impuestos. | Sí | Resultado de: importe bruto + cargos - descuentos. |
FacTotalBrutoMasImp | Total del valor bruto más impuestos. | Sí | Resultado de: importe bruto + impuestos. |
FacTotalAnticipos | Total de todos los anticipos presentes. | Condicional | Sumatoria de FacAnticipoTotal de la lista LsAnticipos. Si no existen anticipos, el valor debe ser 0. |
FacTotalFactura | Total de la factura (valor a pagar). | Sí | Resultado de: valor total de los ítems (incluyendo cargos y descuentos a nivel de ítem) + valor de tributos + valor de cargos - valor de descuentos. Los anticipos y las retenciones no deben afectar el valor total de la factura. |
LsAnticipos (List<AnticipoType>)
Listado de los anticipos relacionados a la factura
Ocurrencia: 0-N (Opcional)
| Campo | Descripción | Obligatorio | Observaciones |
|---|---|---|---|
FacAnticipoSec | Numero de secuencia del Anticipo | Sí | |
FacAnticipoTotal | Total del anticipo | Sí | |
FacAnticipoFecha | Fecha en que se realizó el pago del anticipo. | Sí | Formato: aaaa-mm-dd. |
LsCargos (List<CargosType>)
Descuentos o cargos a nivel de factura, es decir descuentos o cargos que no afectan las bases gravables. Los descuentos o cargos que afectan bases gravables se informan a nivel de ítem.
Ocurrencia: 0-N (Opcional)
| Campo | Descripción | Obligatorio | Observaciones |
|---|---|---|---|
FacCargoSecuencia | Número de secuencia del cargo o descuento. | Sí | Ejemplo: consecutivo 1, 2, 3… |
FacCargoTipo | Indica si es un cargo o un descuento. | Sí | - True: cargo- False: descuento |
FacCodDescuento | Código del descuento aplicado. | Condicional | Obligatorio si FacCargoTipo = False. Ver lista |
FacCargoTotal | Total del cargo o del descuento. | Sí | |
FacCargoRazon | Texto libre para informar la razón del cargo o del descuento. | Sí | |
FacCargoPorc | Porcentaje a aplicar en el cargo o el descuento. | Sí | |
FacCargoBase | Valor base para calcular el cargo o el descuento. | Sí |
LsFormaPago (List<FormaPagoType>)
Listado de las formas de pago asociadas a la factura
Ocurrencia: 1-N (Obligatorio, mínimo un registro)
| Campo | Descripción | Obligatorio | Observaciones |
|---|---|---|---|
FacMetodoPago | Método de pago. | Sí | Ver lista |
FacFormaPago | Forma de pago de la factura. | Sí | Ver lista |
FacVencimientoFac | Fecha de vencimiento de la factura. | Condicional | Obligatorio solo si FacMetodoPago = 2.Formato: aaaa-mm-dd. Ejemplo: 2019-08-01 |
LsImpuestos (List<ImpuestoType>)
Listado de Impuestos totales aplicados a la factura
Ocurrencia: 1-N (Obligatorio, mínimo un registro)
| Campo | Descripción | Obligatorio | Observaciones |
|---|---|---|---|
CodigoImpuesto | Código del tipo de impuesto registrado. | Sí | Ver lista |
NombreImpuesto | Nombre del impuesto registrado. | Condicional | Obligatorio si CodigoImpuesto = ZZ.Ver notas 1 y 2 al final de la tabla. |
EsRetencionImpuesto | Indicador de si se trata de una retención de impuesto o de un impuesto. | Sí | - True: es una retención de impuesto- False: es un impuesto |
BaseImponible | Base imponible para el cálculo del impuesto. | Sí | |
Porcentaje | Porcentaje aplicable a la base imponible. | Condicional | Si aplica tributos por porcentaje |
ValorImpuesto | Monto del impuesto. | Sí | Corresponde al (BaseImponible * Porcentaje) o (UnidadPrecio * UnidadBase) |
UnidadCod | Código de la unidad de medida. | Condicional | Obligatorio cuando CodigoImpuesto = 02 o 22 (IC o impuesto a las bolsas). Podría ser el valor 94 (unidad). |
UnidadBase | Cantidad de artículos a los que se les aplica el impuesto (el mismo valor de la base). | Condicional | Obligatorio cuando CodigoImpuesto = 02 o 22 (IC o impuesto a las bolsas). |
UnidadPrecio | Precio unitario del impuesto a aplicar. | Condicional | Obligatorio cuando CodigoImpuesto = 02 o 22 (IC o impuesto a las bolsas). |
Redondeo | Redondeo agregado al total del impuesto. | Condicional | Valor obligatorio, resultante de la siguiente operación: - (BaseImponible * Porcentaje) - ValorImpuesto- O (UnidadPrecio * UnidadBase) - ValorImpuesto |
- Cuando el tributo no esté en el listado de
CodigoImpuesto, se debe usar el códigoZZpara informar el tributo, tasa, contribución o similar, y el contribuyente debe indicar la información que corresponda. - El nombre de la figura tributaria lo asigna el facturador y no es causal de rechazo.
- ICA y ReteICA: el porcentaje se informa con dos (2) decimales. La operación se divide por cien (100) y el producto se divide nuevamente por diez (10); ese es el valor que se informa en el XML.
- IBUA: la operación se realiza entre los valores de los campos
PerUnitAmount * BaseUnitMeasurecon dos (2) decimales, y el resultado se divide por cien (100); ese es el valor que se informa en el elementoTaxAmountdel XML. - ICUI: la operación se realiza entre los valores de los campos
Percent * TaxableAmountcon dos (2) decimales, y el resultado se divide por cien (100); ese es el valor que se informa en el elementoTaxAmountdel XML.
LsDetalle (List<DetalleType>)
Listado de los productos incluidos en la Factura
Ocurrencia: 1-N (Obligatorio, mínimo un registro)
| Campo | Descripción | Obligatorio | Observaciones |
|---|---|---|---|
DetFacConsecutivo | Número de secuencia del detalle. | Sí | Número consecutivo para identificar el detalle: 1, 2, 3… |
Codigo | Código del producto o servicio. | Sí | |
CodigoEstandar | Código adicional del producto o servicio, de acuerdo con un estándar. | Sí | |
Codificacion | Código del estándar. | Sí | Ver lista |
Descripcion | Descripción del producto o servicio. | No | |
Cantidad | Cantidad del producto o servicio. | Sí | |
UnidadMedida | Unidad de medida de la cantidad. | Sí | Ejemplo: ZZ. |
PrecioUnitario | Valor unitario del producto o servicio. | Sí | |
TamañoPaquete | Cantidad de producto en un paquete. | No | Campo opcional que contiene la cantidad de productos incluidos en un paquete. Ejemplo: si el producto es un sixpack, en este campo se incluye el valor 6, pero en Cantidad únicamente se informa la cantidad de sixpacks que se incluyen en la factura. |
Marca | Marca del producto. | No | |
Modelo | Modelo del producto. | No | |
Vencimiento | Fecha de vencimiento del producto. | No | Formato: aaaa-mm-dd. Ejemplo: 2019-08-01 |
PrecioSinImpuestos | Valor de la línea, sin impuestos. | Sí | Resultado de: cantidad x precio unitario - descuentos a nivel de línea + recargos de línea. |
PrecioTotal | Valor total de la línea de detalle. | Sí | Resultado de: cantidad x precio unitario - descuentos a nivel de línea + recargos que apliquen para la línea + impuestos a nivel de línea. |
LsDetalleCargos (List<DetalleCargosType>)
Listado con los cargos o descuentos aplicados a la factura
Ocurrencia: 0-N (Opcional)
| Campo | Descripción | Obligatorio | Observaciones |
|---|---|---|---|
DetSecuencia | Código de la secuencia del detalle. | Sí | Se relaciona con DetFacConsecutivo.Código del detalle (producto o servicio) al que se aplica este cargo o descuento. |
DetCargoSecuencia | Número de secuencia del cargo o descuento. | Sí | Consecutivo 1, 2, 3… |
DetCargoTipo | Indica si es un cargo o un descuento. | Sí | - True: cargo- False: descuento |
DetCargoTotal | Total del cargo o del descuento. | Sí | |
DetCargoRazon | Texto libre para informar la razón del cargo o del descuento. | Sí | |
DetCargoPorc | Porcentaje a aplicar en el cargo o el descuento. | Sí | |
DetCargoBase | Valor base para calcular el cargo o el descuento. | Sí |
LsDetalleImpuesto (List<ImpuestoDetalleType>)
Datos de los impuestos aplicados a cada una de las lineas del detalle de la factura
Ocurrencia: 1-N (Obligatorio, mínimo un registro)
| Campo | Descripción | Obligatorio | Observaciones |
|---|---|---|---|
Secuencia | Código de la secuencia del detalle. | Sí | Se relaciona con DetFacConsecutivo.Código del detalle (producto o servicio) al que se aplica este impuesto. |
CodigoImpuesto | Código del tipo de impuesto registrado. | Sí | Ver lista |
NombreImpuesto | Nombre del impuesto. | Condicional | Obligatorio si CodigoImpuesto = ZZ. |
EsRetencionImpuesto | Indicador de si se trata de una retención de impuesto. | Sí | - True: es una retención de impuesto- False: es un impuesto |
BaseImponible | Base imponible para el cálculo del impuesto. | Sí | Debe ser el valor total de la línea sin impuesto. |
Porcentaje | Porcentaje aplicable a la base imponible. | No | Si el artículo no tiene impuesto, este valor debe ser 0. |
ValorImpuesto | Monto del impuesto. | Sí | |
UnidadCod | Código de la unidad de medida. | Condicional | Obligatorio cuando CodigoImpuesto = 02 o 22 (IC o impuesto a las bolsas). Podría ser el valor 94 (unidad). |
UnidadBase | Cantidad de artículos a los que se les aplica el impuesto (el mismo valor de la base). | Condicional | Obligatorio cuando CodigoImpuesto = 02 o 22 (IC o impuesto a las bolsas). |
UnidadPrecio | Precio unitario del impuesto a aplicar. | Condicional | Obligatorio cuando CodigoImpuesto = 02 o 22 (IC o impuesto a las bolsas). |
Redondeo | Redondeo agregado al total del impuesto. | Sí | Valor obligatorio, resultante de la siguiente operación: - (BaseImponible * Porcentaje) - ValorImpuesto- o (UnidadPrecio * UnidadBase) - ValorImpuesto |
lsDetalleNotas (List<DetalleNotaType>)
Datos de los impuestos aplicados a cada una de las lineas del detalle de la factura
Ocurrencia: 0-N (Opcional)
| Campo | Descripción | Obligatorio | Observaciones |
|---|---|---|---|
DetSecuencia | Código de la secuencia del detalle. | Sí | Se relaciona con DetFacConsecutivo.Código del detalle (producto o servicio) al que se inserta la nota. |
Secuencia | Secuencia de orden de las notas. | Sí | Orden de las notas. |
Nota | Nota. | Sí | Texto adicional de la línea de detalle. |
LsNotas (List<NotaType>)
Indican texto libre que se agregará al documento electrónico. Pueden existir una o varias de estas líneas. Su uso es opcional.
Ocurrencia: 0-N (Opcional)
| Campo | Descripción | Obligatorio | Observaciones |
|---|---|---|---|
DescripcionCabecera | Línea de descripción para la cabecera | Sí |