Nota débito electrónica
Estructura de todos los campos posibles a usar en una nota débito electrónica.
SoftwareSeguridad (SeguridadSoftwareType)
Estos datos serán usados para que el sistema valide la identificación y autorización del sistema que se está integrando.
Ocurrencia: 1-1 (Obligatorio)
| Campo | Descripción | Obligatorio | Observaciones |
|---|---|---|---|
TipoDocumento | Código del tipo de documento enviado. | Sí | Nota Débito: NDB. |
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. |
HashSeguridad | Código de seguridad. | Sí | Clave de seguridad asignada al momento de la implementación. |
GuidSistemaIntegrado | Código de identificación del sistema integrado asociado. | Sí | Código asignado al momento de la implementación para identificar el sistema integrado de donde proviene el documento. |
ClaveTecnica | Clave técnica del rango de facturación. | No | |
CodigoErp | Código del documento en el ERP. | Sí | Código único de identificación del documento en el ERP de origen. |
NumeroDocumento | Número del documento (incluye prefijo). | Sí | Número del documento relacionado. |
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í | Número de identificación registrado en el RUT. |
EmiDVIdentificacion | Dígito de verificación del emisor. | Sí | Dígito de verificación registrado en el RUT. |
CompradorFactura (CompradorType)
Información completa solicitada por la DIAN relacionada con el adquiriente o comprador del documento.
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 | Dígito de verificación del comprador. | Condicional | 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. | Condicional | Obligatorio solo si CompradorTipoPersona = 1. |
CompradorPrimerNombre | Primer nombre del comprador. | Condicional | Obligatorio solo si CompradorTipoPersona = 2. |
CompradorSegundoNombre | Segundo nombre del comprador. | Condicional | Puede usarse solo si CompradorTipoPersona = 2. |
CompradorApellidos | Apellidos del comprador. | Condicional | 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 del comprador. | No | |
CompradorDireccion | Dirección de residencia del comprador. | No | |
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 | Teléfono 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 documento que se está emitiendo. | Sí | - Nota Débito: 92 |
FacCodOperacion | Código del tipo de operación. | Sí | Ver lista de tipos de operación |
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. | Condicional | Obligatorio cuando el FacCodOperacion:32 Formato: aaaa-mm-dd. Ejemplo: 2019-08-01 |
FacFechaFin | Fecha de finalización del período de facturación. | Condicional | Obligatorio cuando el FacCodOperacion:32 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.. |
ReferenciaFactura (ReferenciaType)
Datos de la factura referenciada en la nota Débito cuando el código de operación es 30.
Ocurrencia: 0-1 (Opcional)
| Campo | Descripción | Obligatorio | Observaciones |
|---|---|---|---|
ConceptoNota | Concepto de la nota débito. | Sí | Ver lista |
DescNatCorreccion | Descripción de la naturaleza de la corrección. | Condicional | Obligatorio solo si ConceptoNota tiene algún valor. |
NumeroFactura | Número de la factura modificada. | Sí | Número de la factura a la que se aplica esta nota. |
CufeFactura | CUFE de la factura modificada. | Sí | CUFE de la factura a la que se aplica esta nota. |
FechaFactura | Fecha de emisión de la factura modificada. | Sí | Formato: aaaa-mm-dd. Ejemplo: 2019-08-01 |
LsAnticipos (List<AnticipoType>)
Listado de los anticipos relacionados con la factura.
Ocurrencia: 0-N (Opcional)
| Campo | Descripción | Obligatorio | Observaciones |
|---|---|---|---|
FacAnticipoSec | Número 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.
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 o agrupados aplicados a la factura.
Ocurrencia: 0-N (Opcional)
| 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 las líneas 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 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 líneas del detalle de la factura.
Ocurrencia: 0-N (Opcional)
| 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 |
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>)
Notas adicionales asociadas a las líneas 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>)
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í |