Saltar al contenido principal

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)

CampoDescripciónObligatorioObservaciones
TipoDocumentoTipo de documento enviadoSíVer lista
GuidEmpresaCódigo de identificación de la empresa que genera los datosSíCódigo asignado al momento de la implementación para identificar la empresa de donde provienen los datos.
GuidOrigenCódigo de identificación del origen de los datosSíCódigo asignado al momento de la implementación para identificar el origen de donde provienen los datos.
GuidSistemaIntegradoCódigo de Identificación del sistema IntegradoSíCódigo de seguridad asignado el ERP integrado
HashSeguridadCódigo de seguridadSíClave de seguridad asignada al momento de la implementación.
ClaveTecnicaClave tecnica del rango emitida por la DIANNo
CodigoErpCódigo del documento en el ERPSíCódigo único del documento en el ERP origen.
NumeroDocumentoNú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)

CampoDescripciónObligatorioObservaciones
EmiTipoPersonaTipo de persona del emisor.SíVer lista
EmiTipoIdentificacionTipo de identificación del emisor.SíDebe ser siempre el valor 31.
EmiIdentificacionNúmero de identificación del emisorSí
EmiDVIdentificacionDigito de Verificacion del emisorSí

CompradorFactura (CompradorType)​

Para los documentos equivalentes de facturación POS debe generarse para el CONSUMIDOR FINAL

Ocurrencia: 1-1 (Obligatorio)

CampoDescripciónObligatorioObservaciones
CompradorTipoPersonaCódigo del tipo de persona del comprador.SíVer lista
CompradorTipoIdentificacionCódigo del tipo de identificación del comprador.SíVer lista
CompradorIdentificacionNúmero de identificación del CompradorSí
CompradorDVIdentificacionDigito de Verificacion del CompradorNoObligatorio solo si CompradorTipoPersona: 1
CompradorTipoRegimenCódigo del tipo de régimen del comprador.NoVer lista
CompradorRespFiscalCódigo de la obligación fiscal del comprador.NoVer lista
CompradorImpuestoCódigos del detalle tributario del comprador.NoSi debe agregar más de uno, sepárelos con ;. Ver lista
CompradorRazonSocialRazón social del compradorSíObligatorio solo si CompradorTipoPersona=1
CompradorPrimerNombrePrimer nombre del compradorNoObligatorio solo si CompradorTipoPersona=2
CompradorSegundoNombreSegundo nombre del compradorNoPodría usarse solo si CompradorTipoPersona=2
CompradorApellidosApellidos del compradorNoObligatorio solo si CompradorTipoPersona=2
CompradorNombreCompletoNombres completos del compradorSíNombres completos o razón social del comprador.
CompradorPaisCódigo del país de la dirección del comprador.NoVer códigos ISO 3166-1 (Alpha-2). Ejemplo: CO = Colombia.
CompradorNombrePaisNombre del país de la dirección del comprador.No
CompradorDepartamentoDepartamento de residencia del comprador.No
CompradorCodDepartamentoCódigo DANE del departamento del comprador.NoVer tabla de códigos DANE.
CompradorCiudadCiudad de residencia del comprador.No
CompradorCodCiudadCódigo DANE de la ciudad del comprador.NoVer tabla de códigos DANE.
CompradorCodPostalCódigo postal CompradorSí
CompradorDireccionDirección de residencia del compradorSí
CompradorEnviarCorreoIndicador 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
CompradorTelefonoContTelefono de contacto del CompradorNo
CompradorNotaContNota de contacto del compradorNo
CompradorCorreoElectronicoCorreo electrónico del comprador.CondicionalObligatorio 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)

CampoDescripciónObligatorioObservaciones
FacTipoFacturaCódigo del tipo de factura que se está emitiendo.SíVer lista
FacCodOperacionCódigo del tipo de operación.SíVer lista
FacFechaHoraFacturaFecha y hora de la emisión de la factura.SíFormato: aaaa-mm-dd hh:mm:ss
Ejemplo: 2019-08-01 17:40:25
FacFechaVencimientoFecha de vencimiento de la factura.CondicionalObligatorio si el documento es a crédito.
Formato: aaaa-mm-dd. Ejemplo: 2019-08-01
FacFechaIniFecha de inicio del período de facturación.NoFormato: aaaa-mm-dd. Ejemplo: 2019-08-01
FacFechaFinFecha de finalización del período de facturación.NoFormato: aaaa-mm-dd. Ejemplo: 2019-08-01
FacOrdenRefIDPrefijo y número del documento de orden referenciado.No
FacOrdenRefFechaFecha de emisión de la orden.NoFormato: aaaa-mm-dd. Ejemplo: 2019-08-01
FacRecepRefIDPrefijo y número del documento de recepción referenciado.No
FacRecepRefFechaFecha de emisión del documento de recepción referenciado.NoFormato: aaaa-mm-dd. Ejemplo: 2019-08-01
FacDespachoIDPrefijo y número del documento de despacho.No
FacDespachoFechaFecha de emisión del documento de despacho referenciado.NoFormato: 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)

CampoDescripciónObligatorioObservaciones
FacCodMonedaCódigo de la moneda del documento.SíSiempre COP (pesos colombianos).
FacTotalImporteBrutoTotal del importe bruto antes de impuestos.SíSuma de los importes brutos de las líneas de la factura.
FacTotalCargosTotal de los cargos aplicados a nivel de factura.CondicionalSumatoria del campo FacCargoTotal de la lista LsCargos cuando FacCargoTipo sea true. Si no existen Cargos, el valor debe ser 0.
FacTotalDescuentosTotal de los descuentos aplicados a nivel de factura.CondicionalSumatoria del campo FacCargoTotal de la lista LsCargos cuando FacCargoTipo sea false. Si no existen Descuentos, el valor debe ser 0.
FacTotalBaseImponibleTotal de la base imponible para el cálculo de impuestos.SíResultado de: importe bruto + cargos - descuentos.
FacTotalBrutoMasImpTotal del valor bruto más impuestos.SíResultado de: importe bruto + impuestos.
FacTotalAnticiposTotal de todos los anticipos presentes.CondicionalSumatoria de FacAnticipoTotal de la lista LsAnticipos. Si no existen anticipos, el valor debe ser 0.
FacTotalFacturaTotal 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)

CampoDescripciónObligatorioObservaciones
FacAnticipoSecNumero de secuencia del AnticipoSí
FacAnticipoTotalTotal del anticipoSí
FacAnticipoFechaFecha 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)

CampoDescripciónObligatorioObservaciones
FacCargoSecuenciaNúmero de secuencia del cargo o descuento.SíEjemplo: consecutivo 1, 2, 3…
FacCargoTipoIndica si es un cargo o un descuento.Sí- True: cargo
- False: descuento
FacCodDescuentoCódigo del descuento aplicado.CondicionalObligatorio si FacCargoTipo = False. Ver lista
FacCargoTotalTotal del cargo o del descuento.Sí
FacCargoRazonTexto libre para informar la razón del cargo o del descuento.Sí
FacCargoPorcPorcentaje a aplicar en el cargo o el descuento.Sí
FacCargoBaseValor 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)

CampoDescripciónObligatorioObservaciones
FacMetodoPagoMétodo de pago.SíVer lista
FacFormaPagoForma de pago de la factura.SíVer lista
FacVencimientoFacFecha de vencimiento de la factura.CondicionalObligatorio 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)

CampoDescripciónObligatorioObservaciones
CodigoImpuestoCódigo del tipo de impuesto registrado.SíVer lista
NombreImpuestoNombre del impuesto registrado.CondicionalObligatorio si CodigoImpuesto = ZZ.
Ver notas 1 y 2 al final de la tabla.
EsRetencionImpuestoIndicador 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
BaseImponibleBase imponible para el cálculo del impuesto.Sí
PorcentajePorcentaje aplicable a la base imponible.CondicionalSi aplica tributos por porcentaje
ValorImpuestoMonto del impuesto.SíCorresponde al (BaseImponible * Porcentaje) o (UnidadPrecio * UnidadBase)
UnidadCodCódigo de la unidad de medida.CondicionalObligatorio cuando CodigoImpuesto = 02 o 22 (IC o impuesto a las bolsas). Podría ser el valor 94 (unidad).
UnidadBaseCantidad de artículos a los que se les aplica el impuesto (el mismo valor de la base).CondicionalObligatorio cuando CodigoImpuesto = 02 o 22 (IC o impuesto a las bolsas).
UnidadPrecioPrecio unitario del impuesto a aplicar.CondicionalObligatorio cuando CodigoImpuesto = 02 o 22 (IC o impuesto a las bolsas).
RedondeoRedondeo agregado al total del impuesto.CondicionalValor obligatorio, resultante de la siguiente operación:
- (BaseImponible * Porcentaje) - ValorImpuesto
- O (UnidadPrecio * UnidadBase) - ValorImpuesto
Notas sobre los impuestos
  1. Cuando el tributo no esté en el listado de CodigoImpuesto, se debe usar el código ZZ para informar el tributo, tasa, contribución o similar, y el contribuyente debe indicar la información que corresponda.
  2. El nombre de la figura tributaria lo asigna el facturador y no es causal de rechazo.
  3. 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.
  4. IBUA: la operación se realiza entre los valores de los campos PerUnitAmount * BaseUnitMeasure con dos (2) decimales, y el resultado se divide por cien (100); ese es el valor que se informa en el elemento TaxAmount del XML.
  5. ICUI: la operación se realiza entre los valores de los campos Percent * TaxableAmount con dos (2) decimales, y el resultado se divide por cien (100); ese es el valor que se informa en el elemento TaxAmount del XML.

LsDetalle (List<DetalleType>)​

Listado de los productos incluidos en la Factura

Ocurrencia: 1-N (Obligatorio, mínimo un registro)

CampoDescripciónObligatorioObservaciones
DetFacConsecutivoNúmero de secuencia del detalle.SíNúmero consecutivo para identificar el detalle: 1, 2, 3…
CodigoCódigo del producto o servicio.Sí
CodigoEstandarCódigo adicional del producto o servicio, de acuerdo con un estándar.Sí
CodificacionCódigo del estándar.SíVer lista
DescripcionDescripción del producto o servicio.No
CantidadCantidad del producto o servicio.Sí
UnidadMedidaUnidad de medida de la cantidad.SíEjemplo: ZZ.
PrecioUnitarioValor unitario del producto o servicio.Sí
TamañoPaqueteCantidad de producto en un paquete.NoCampo 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.
MarcaMarca del producto.No
ModeloModelo del producto.No
VencimientoFecha de vencimiento del producto.NoFormato: aaaa-mm-dd. Ejemplo: 2019-08-01
PrecioSinImpuestosValor de la línea, sin impuestos.SíResultado de: cantidad x precio unitario - descuentos a nivel de línea + recargos de línea.
PrecioTotalValor 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)

CampoDescripciónObligatorioObservaciones
DetSecuenciaCó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.
DetCargoSecuenciaNúmero de secuencia del cargo o descuento.SíConsecutivo 1, 2, 3…
DetCargoTipoIndica si es un cargo o un descuento.Sí- True: cargo
- False: descuento
DetCargoTotalTotal del cargo o del descuento.Sí
DetCargoRazonTexto libre para informar la razón del cargo o del descuento.Sí
DetCargoPorcPorcentaje a aplicar en el cargo o el descuento.Sí
DetCargoBaseValor 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)

CampoDescripciónObligatorioObservaciones
SecuenciaCódigo de la secuencia del detalle.SíSe relaciona con DetFacConsecutivo.
Código del detalle (producto o servicio) al que se aplica este impuesto.
CodigoImpuestoCódigo del tipo de impuesto registrado.SíVer lista
NombreImpuestoNombre del impuesto.CondicionalObligatorio si CodigoImpuesto = ZZ.
EsRetencionImpuestoIndicador de si se trata de una retención de impuesto.Sí- True: es una retención de impuesto
- False: es un impuesto
BaseImponibleBase imponible para el cálculo del impuesto.SíDebe ser el valor total de la línea sin impuesto.
PorcentajePorcentaje aplicable a la base imponible.NoSi el artículo no tiene impuesto, este valor debe ser 0.
ValorImpuestoMonto del impuesto.Sí
UnidadCodCódigo de la unidad de medida.CondicionalObligatorio cuando CodigoImpuesto = 02 o 22 (IC o impuesto a las bolsas). Podría ser el valor 94 (unidad).
UnidadBaseCantidad de artículos a los que se les aplica el impuesto (el mismo valor de la base).CondicionalObligatorio cuando CodigoImpuesto = 02 o 22 (IC o impuesto a las bolsas).
UnidadPrecioPrecio unitario del impuesto a aplicar.CondicionalObligatorio cuando CodigoImpuesto = 02 o 22 (IC o impuesto a las bolsas).
RedondeoRedondeo 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)

CampoDescripciónObligatorioObservaciones
DetSecuenciaCódigo de la secuencia del detalle.SíSe relaciona con DetFacConsecutivo.
Código del detalle (producto o servicio) al que se inserta la nota.
SecuenciaSecuencia de orden de las notas.SíOrden de las notas.
NotaNota.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)

CampoDescripciónObligatorioObservaciones
DescripcionCabeceraLínea de descripción para la cabeceraSí