Métodos Servicio Emisión Web TFHKA - Indice del Manual Integración Directa HKA Documentos Equivalentes Electrónicos

De tfhkacolwiki
Revisión del 22:39 21 nov 2024 de Nhoyos (discusión | contribuciones) (Método EnviarRequest)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Ir a la navegación Ir a la búsqueda

Método EnviarRequest

La función encargada de construir y enviar los documentos electrónicos al proveedor tecnológico.

REQUEST
Parámetros a EnviarRequest
Tipo Identificador Descripción
String tokenEmpresa Suministrado por el proveedor tecnológico
tokenPassword
FacturaGeneral factura Ver el detalle del Objeto Factura más abajo
String adjuntos

Posibles valores:

“0” No se admiten adjuntos. Se genera XML y representación Gráfica estándar por The Factory HKA
“2” Admite archivos adjuntos. Se genera XML y representación Gráfica estándar por The Factory HKA

Class.FacturaGeneral

Atributo Tipo Dato Formato Requerido Descripción
anticipos Array <Anticipos> - NO
Informaciones relacionadas con anticipos
PATH: /root/cac:PrepaidPayment
(ver detalle en Class.Anticipos)
autorizado Autorizado - NO
Informaciones de la persona autorizada para descargar documentos
PATH: /root/cac:TaxRepresentativeParty
(ver detalle en Class.Autorizado)
boletaIngreso Array<BoletaIngreso> - NO
Información referente a boleta de ingreso
(ver detalle en #Class.BoletaIngreso)
bolsaValores Array<BolsaValores> - NO
Información referente a bolsa de valores
(ver detalle en #Class.BolsaValores)
cajaVenta Array<CajaVenta> - NO
Información referente a caja de venta
(ver detalle en #Class.CajaVenta)
cantidadDecimales String N|1 SI
Se envía la cantidad de decimales a utilizar (mínimo 0, máximo 6)
Rechazo Si se reciben más decimales en los montos a los indicados en este campo
PATH: No aplica
cargosDescuentos Array <CargosDescuentos> - NO
Informaciones relacionadas con un cargo o un descuento a escala de factura que no afecte a la base gravable
PATH: /root/cac:AllowanceCharge
(ver detalle en Class.CargosDescuentos)
cliente Cliente - SI
Información del adquiriente
Para Documento Soporte en adquisiciones a No Obligados a Facturar se debe utiliza para registrar los datos del proveedor o del no obligado
PATH:/root/cac:AccountingCustomerParty
(ver detalle en Class.Cliente)
codigoCosto String - NO
Código de para centro de costos
PATH: ../cbc:
consecutivoDocumento String AN..14 SI
Correlativo/consecutivo del documento electrónico
Concatenación del prefijo (AN|..4) + el consecutivo DIAN,
según la configuración en portal web:
Manual con prefijo: prefijo requerido (Sin guion). Ejemplo: “PREF2147483647”
Manual sin prefijo: prefijo no requerido. Ejemplo: “2147483647”
Rechazo No se permiten caracteres adicionales como espacios o guiones
Rechazo Número de consecutivo debe ser igual o superior al valor inicial del rango de numeración otorgado por la DIAN
Rechazo Número de consecutivo debe ser igual o inferior al valor final del rango de numeración otorgado por la DIAN
PATH: /root/cbc:ID
detalleDeFactura Array <FacturaDetalle> - SI
Información de detalles o productos
PATH: /root/cac:InvoiceLine
(ver detalle en Class.FacturaDetalle)
documentosReferenciados Array <DocumentoReferenciado> - C/C
Informaciones que describen un documento referenciado
Obligatorio en facturas tipoDocumento contingencia (AdditionalDocumentReference), en facturas que afecten una nota (BillingReference), en Notas de Crédito y Débito (DiscrepancyResponse y BillingReference)
PATH: /root/cac:DiscrepancyResponse,
/root/cac:BillingReference,
/root/cac: AdditionalDocumentReference,
/root/cac: DespatchDocumentReference,
/root/cac: ReceiptDocumentReference
(ver detalle en Class.DocumentoReferenciado)
entregaMercancia Entrega - NO
Información de entrega (Delivery) de bienes
PATH: /root/cac:Delivery
(ver detalle en Class.Entrega)
extras Array <Extras> - NO
Campos o información opcional para el modelo de negocio del emisor
PATH: No definido
(ver detalle en Class.Extras)
fabricantesoftware Array<FabricanteSoftware> - SI
Código de para centro de costos
(ver detalle en #Class.fabricanteSoftware)
fechaEmision String AN|19 SI
Fecha y hora de emisión del documento, en formato: YYYY-MM-DD HH:MM:SS
Notificación Si la fecha de emisión es anterior a cinco (5) días de la fecha calendario
Rechazo Si la fecha de emisión es posterior a diez días calendario
PATH: /root/cbc:IssueDate, root/cbc:IssueTime
fechaFinPeriodoFacturacion String AN|19 NO
Fecha/Hora de fin del periodo de facturación (Intervalo de fechas a las que referencia la factura por ejemplo en servicios públicos), en formato: YYYY-MM-DD HH:MM:SS
PATH: /root/cac:InvoicePeriod/cbc:EndDate, /root/cac:InvoicePeriod/cbc:EndTime
fechaInicioPeriodoFacturacion String AN|19 NO
Fecha/Hora de inicio del periodo de facturación, en formato: YYYY-MM-DD HH:MM:SS
PATH:
/root/cac:InvoicePeriod/cbc:StartDate, /root/cac:InvoicePeriod/cbc:StartTime
fechaPagoImpuestos String AN|19 NO
Fecha de pago de impuestos, en formato: YYYY-MM-DD HH:MM:SS
PATH: root/cbc:TaxPointDate
fechaVencimiento String AN|10 NO
Fecha vencimiento de la factura, en formato: YYYY-MM-DD
PATH: /root/cbc:DueDate
impuestosGenerales Array <FacturaImpuestos> - SI
Información de impuestos generales o globales
Rechazo Si los impuestos/retenciones reportados en este arreglo no corresponden con lo reportado en los detalles
PATH: /root/cac:TaxTotal (impuestos),
/root/cac: WithholdingTaxTotal (retenciones),
(ver detalle en Class.FacturaImpuestos)
impuestosTotales Array <ImpuestosTotales> - SI
Sumatoria de los impuestos/retenciones generales por tipo de impuesto/retención
Rechazo Si el valor total del impuesto/retención indicado es diferente a la sumatoria de los reportado en el arreglo impuestosGenerales
PATH: /root/cac:TaxTotal/cbc:TaxAmount (impuestos),
/root/cac: WithholdingTaxTotal/cbc:TaxAmount (retenciones),
(ver detalle en Class.ImpuestosTotales)
informacionAdicional Array <String> AN|...10000 NO
Información adicional o texto libre relativo al documento
PATH: root/cbc:Note
informacionBeneficiosComprador Array <InformacionBeneficiosComprador> - NO
Información relacionada con beneficios del comprador
PATH: /root/cac:PaymentMeans
(ver detalle en #Class.InformacionBeneficiosComprador)
juegosLocalizados Array<juegosLocalizados> - NO
Información referente a juegos localizados
(ver detalle en #Class.juegosLocalizados)
mediosDePago Array<MediosDePago> - NO
PATH: /root/cac:PaymentMeans
(ver detalle en #Class.MediosDePago)
moneda String AN|3 SI
Moneda o divisa del documento
Usar códigos ISO 4217 (Ejemplo Pesos Colombianos “COP”)
Rechazo Si el valor no corresponde a uno de los códigos ISO 4217
PATH: /root/cbc:DocumentCurrencyCode
propina string - NO
Información relacionada a propina
ordenDeCompra Array <OrdenDeCompra> - NO
Información relacionada a la orden de compra
PATH: /root/cac:OrderReference
(ver detalle en Class.OrdenDeCompra)
rangoNumeracion String AN|20 SI
Consecutivo desde el que comienza la serie para el documento a emitir, siempre debe colocarse el prefijo (con guión) independientemente de la modalidad de secuencial.
Ejemplo: ‘PREF-1123456’
Rechazo Si el valor del campo desde (Inicio del rango) supera el valor 2.147.483.647.
PATH:
/root/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/
sts:DianExtensions/sts:InvoiceControl/sts:AuthorizedInvoices/(sts:Prefix, sts:From)
redondeoAplicado String Ent: N|..15

Dec: N|0..6

SI
Redondeo aplicado para llegar a totalMonto
Rechazo Si redondeo es superior al mayor valor entre 500 pesos o 0,1% del valor total de la factura
PATH: /root/cac:LegalMonetaryTotal/cbc:PayableRoundingAmount
retencionesGenerales Array <FacturaImpuestos> - SI
Información de impuestos generales o globales
Rechazo Si los impuestos/retenciones reportados en este arreglo no corresponden con lo reportado en los detalles
PATH: /root/cac:TaxTotal (impuestos),
/root/cac: WithholdingTaxTotal (retenciones),
(ver detalle en Class.FacturaImpuestos)
serviciosPublicos Array<ServiciosPublicos> - NO
Información referente a servicios publicos
(ver detalle en #Class.ServiciosPublicos)
tasaDeCambio Array<TasaDeCambio> - C/C
Información relacionada con la tasa de cambio de moneda extranjera a peso colombiano (COP)
Obligatorio Si tipoDocumento es de exportación/internacional o si la divisa base es diferente a “COP”
PATH: /root/cac:PaymentExchangeRate
(ver detalle en Class.TasaDeCambio)
tasaDeCambioAlternativa TasaDeCambioAlternativa - NO
Información utilizada como método alternativo para informar conversiones a otras divisas
PATH: /root/cac:PaymentAlternativeExchangeRate
(ver detalle en Class.TasaDeCambioAlternativa)
terminosEntrega TerminosEntrega - C/C
Información relacionada con la entrega
Obligatorio Si tipoDocumento es de exportación/internacional
PATH: /root/cac:DeliveryTerms
(ver detalle en Class.TerminosEntrega)
tipoDocumento String AN|2 SI
Tipo de documento
PATH: Invoice, CreditNote, DebitNote
Rechazo Si el contenido de este atributo no corresponde a uno de los valores de la Tabla 1
tipoOperacion String AN|..4 SI
Indicador del tipo de operación
Rechazo Si el contenido de este atributo no corresponde a uno de los valores de la Tabla 2
PATH: /root/cbc:CustomizationID
totalAnticipos String Ent: N|..15

Dec: N|0..6

NO
Suma de todos los pagos anticipados
Rechazo Si totalAnticipos no corresponde a la suma de los atributos Anticipos.montoPagado en el arreglo anticipos
PATH: /root/LegalMonetaryTotal/cbc:PrepaidAmount
totalBaseImponible String Ent: N|..15

Dec: N|0..6

SI
Total Valor Base Imponible: Suma de Bases imponibles para el cálculo de los tributos a nivel de factura
Rechazo Si totalBaseImponible no es igual a la suma de ocurrencias FacturaImpuestos.baseImponibleTOTALImp
PATH: /root/LegalMonetaryTotal/cbc:TaxExclusiveAmount
totalBrutoConImpuesto String Ent: N|..15

Dec: N|0..6

SI
Total del valor bruto con tributos
Rechazo Si totalBrutoConImpuesto no es igual a la suma: totalSinImpuestos + sum(ImpuestosTotales.montoTotal)
PATH: /root/LegalMonetaryTotal/cbc:TaxInclusiveAmount
totalCargosAplicados String Ent: N|..15

Dec: N|0..6

NO
Cargo Total: Suma de todos los cargos aplicados a nivel de la factura
Rechazo Si totalCargosAplicados no corresponde a la suma de ocurrencias CargosDescuentos.monto cuando CargosDescuentos.indicador es “true”
PATH: /root/LegalMonetaryTotal/cbc:ChargeTotalAmount
totalDescuentos String Ent: N|..15

Dec: N|0..6

NO
Descuento Total: Suma de todos los descuentos aplicados a nivel de la factura
Rechazo Si totalDescuentos no corresponde a la suma de ocurrencias CargosDescuentos.monto cuando CargosDescuentos.indicador es “false”
PATH: /root/LegalMonetaryTotal/cbc:AllowanceTotalAmount
totalMonto String Ent: N|..15

Dec: N|0..6

SI
Valor a pagar del documento: Valor total de ítems (incluyendo cargos y descuentos a nivel de ítems) + valor de tributos + valor de cargos – valor de descuentos – valor anticipos
Rechazo Si totalMonto no es consistente con el valor total de ítems + valor de tributos + valor de cargos – valor de descuentos – valor anticipos + redondeo aplicado
PATH: /root/LegalMonetaryTotal/cbc:PayableAmount
totalProductos String AN|..5 SI
Número o cantidad de líneas de productos (renglones) presentes en el documento
Rechazo Si el valor de totalProductos es diferente al número de ocurrencias de rans en el arreglo detalleDeFactura
PATH: /root/cbc:LineCountNumeric
totalSinImpuestos String Ent: N|..15

Dec: N|0..6

SI
Total Valor Bruto antes de tributos: Suma de los valores brutos de las líneas de la factura
Rechazo Si totalSinImpuestos no corresponde a la suma de los atributos precioTotalSinImpuestos en el arreglo detalleDeFactura
PATH: /root/LegalMonetaryTotal/cbc:LineExtensionAmount

Class.AcuerdosPago

Atributo Tipo Dato Formato Requerido Descripción
cargo debito string - NO
Información referente al debito del acuerdo
cuotasAPagar String AN|10 NO
Numero de cuotas acordadas en el acuerdo de pago
cuotasPagadas String AN|10 NO
Cantidad de cuotas pagadas del acuerdo de pago
cuotasPactadas String AN|10 NO
Cantidad de cuotas pacttadas en el acuerdo de pago
(ver detalle en Class.CuotasPactadas)
descuentoCredito String - NO
descuentos especificados dentro del acuerdo de pago
descripcionProducto String A|..150 SI
Descripción del producto
nombreProducto String AN|15 SI
Nombre especifico del producto
numeroContrato String Ent: N|..15 SI
Numero del contrato acordado
porcentajeInteres String Ent: N|..15 NO
Porcentaje del interes dentro del acuerdo de pago
saldoAPagar String Ent: N|..15 NO
Valor faltante a pagar dentro del acuerdo

Class.Anticipos

Atributo Tipo Dato Formato Requerido Descripción
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor
PATH: No definido
(ver detalle en Class.Extensible)
fechaDeRecibido String AN|10 SI
Fecha en la cual el pago fue recibido, en formato: YYYY-MM-DD
PATH: …/cbc:ReceivedDate
fechadePago String AN|10 NO
Fecha en la cual el pago fue realizado, en formato: YYYY-MM-DD
PATH: …/cbc:PaidDate
horaDePago String AN|8 NO
Hora en la cual el pago fue realizado, en formato:HH:MM:SS
PATH: …/cbc:PaidTime
id String A|..150 SI
Identificación interno del pago
PATH: …/cbc:ID
instrucciones String AN|15..500 SI
Instrucciones relativas al pago
PATH: …/cbc:InstructionID
montoPagado String Ent: N|..15

Dec: N|0..6

SI
Valor del pago anticipado, no puede ser superior al valor total de la factura
Notificación Si montoPagado > totalMonto
PATH: …/cbc:PaidAmount

Class.Autorizado

Atributo Tipo Dato Formato Requerido Descripción
direccion Direccion - NO
Dirección
PATH: ../cac:PhysicalLocation/cac:Address
email String AN|..50 NO
Correo Electrónico
PATH: ../cac:Contact/cbc:ElectronicMail
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor
PATH: No definido
(ver detalle en Class.Extensible)
nombreComercial String AN|..50 NO
Nombre Comercial
PATH: ../cac:PartyName/cbc:Name
nombreContacto String AN|..50 NO
Nombre de Contacto
PATH: ../cac:Contact/cbc:Name
nota String AN|..50 NO
Nota
PATH: ../cac:Contact/cbc:Note
numeroDocumento String AN|..12 SI
Numero de Identificación
PATH: ../cac:PartyIdentification/cbc:ID
numeroDocumentoDV String AN|..2 C/C
Digito Verificador
Obligatorio Si tipoIdentificacion es “31”
PATH: ../cac:PartyIdentification/cbc:ID@schemeID
razonSocial String AN|..50 NO
Razón Social
PATH: ../cac:PartyLegalEntity/cbc:RegistrationName
telefax String AN|..50 NO
Telefax
PATH: ../cac:Contact/cbc:Telefax
telefono String AN|..50 NO
Teléfono
PATH: ../cac:Contact/cbc:Telephone
tipoIdentificacion String AN|..2 SI
Tipo de Identificación
PATH: /cac:PartyIdentification/cbc:ID@schemeName
Ver lista de valores posibles en la Tabla 3

Class.BoletaIngreso

Atributo Tipo Dato Formato Requerido Descripción
nombreProductor String - SI
Apellidos y nombre o razón social del productor u organizador del espectáculo público
ext:ExtensionContent/PublicShowsInformation/Producer/ProducerName
numeroIdentificacionProductor String - SI
NIT del productor u organizador del espectáculo público
ext:ExtensionContent/PublicShowsInformation/Producer/ProducerNIT
codigoLEP String - NO
Código LEP de productor de espectáculos públicos de acuerdo a su categoría
ext:ExtensionContent/PublicShowsInformation/Producer/LEPCode
nombreEvento String - si
Nombre del evento
ext:ExtensionContent/PublicShowsInformation/EventInformation/EventName
localidad String - SI
Sala, escenario, puesto y/o localidad asignada
ext:ExtensionContent/PublicShowsInformation/EventInformation/TicketLocation
codigoUnicoEvento String - NO
Código único del evento – PULEP
ext:ExtensionContent/PublicShowsInformation/EventInformation/PULEPCode
tipoEvento String - NO
Tipo de venta
ext:ExtensionContent/PublicShowsInformation/EventInformation/TicketType
etapa String - NO
Etapa de la venta
ext:ExtensionContent/PublicShowsInformation/EventInformation/SalePhase
categoria String - NO
Indicar la categoría del evento
ext:ExtensionContent/PublicShowsInformation/EventInformation/EventCategory
departamento String - NO
Nombre del departamento donde se realizará el evento
ext:ExtensionContent/PublicShowsInformation/EventInformation/CountrySubentity
codigoDepartamento String - NO
Código del departamento donde se realizará el evento
ext:ExtensionContent/PublicShowsInformation/EventInformation/CountrySubentityCode
ciudad String - NO
Nombre de la Ciudad o Municipio donde se realizará el evento
ext:ExtensionContent/PublicShowsInformation/EventInformation/CityName
codigoCiudad String - NO
Código de la Ciudad o Municipio donde se realizará el evento
ext:ExtensionContent/PublicShowsInformation/EventInformation/ID
direccion String - NO
Nombre del sitio, dirección o ubicación donde se realizará el evento
ext:ExtensionContent/PublicShowsInformation/EventInformation/EventLocation
fechaEvento String - NO
Fecha del evento
ext:ExtensionContent/PublicShowsInformation/EventInformation/DateEvent
horaEvento String - NO
Hora del evento
ext:ExtensionContent/PublicShowsInformation/EventInformation/TimeEvent

Class.bolsaValores

Atributo Tipo Dato Formato Requerido Descripción
consecutivo String - SI
Número del consecutivo
ext:ExtensionContent/CustomTagGeneral/Group/AdditionalCollection/Value
fechaCumplimiento String - SI
Fecha de cumplimiento
ext:ExtensionContent/CustomTagGeneral/Group/AdditionalCollection/Value
cantidadNominal String - SI
Cantidad nominal
ext:ExtensionContent/CustomTagGeneral/Group/CollectionTotal/Value
precioCesionTotal String - SI
Precio cesion total
ext:ExtensionContent/CustomTagGeneral/Group/CollectionTotal/Value
PrecioRegistro String - SI
Precio de registro
ext:ExtensionContent/CustomTagGeneral/Group/CollectionTotal/Value
montoderendimientos String - SI
Monto de Rendimientos
ext:ExtensionContent/CustomTagGeneral/Group/CollectionTotal/Value
valor String - SI
Valor
ext:ExtensionContent/CustomTagGeneral/Group/CollectionTotal/Value
porcentajeComision String - SI
Porcentaje de la comisión
ext:ExtensionContent/CustomTagGeneral/Group/CollectionTotal/Value

Class.CargosDescuentos

Atributo Tipo Dato Formato Requerido Descripción
codigo String AN|2 C/C
Código para categorizar el descuento
Obligatorio: Si es descuento a nivel de factura (general)
Rechazo Si es descuento y no se informa algunos de los valores en la Tabla 4
PATH: …/cbc:AllowanceChargeReasonCode
descripcion String AN|10..5000 SI
Texto libre para informar la razón del descuento
PATH: …/cbc:AllowanceChargeReason
Notificación : Si se informa un cargo o descuento y no se informa este elemento
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor
PATH: No definido
(ver detalle en Class.Extensible)
indicador String N|1 SI
Indicador de si es Cargo”1” o Descuento “0”
Rechazo : Si este elemento contiene una información diferente de “1” o “0”
PATH: …/cbc:ChargeIndicator
monto String Ent: N|..15

Dec: N|0..6

SI
Valor total del cargo o descuento, si es descuento no puede ser superior al valor base
Rechazo : Si es Descuento y monto > montoBase
PATH: …/cbc:Amount
montoBase String Ent: N|..15

Dec: N|0..6

SI
Valor Base para calcular el descuento o el cargo,
Rechazo: Si es negativo el montoBase, si es descuento no puede ser superior al valor total de la factura
Rechazo: Si montoBase > totalMonto
PATH: …/cbc:BaseAmount
porcentaje String Ent: N|..6

Dec: N|2

SI
Porcentaje del descuento
Rechazo Si este elemento > 100
PATH: …/cbc:MultiplierFactorNumeric
secuencia String N|..3 SI
Indicador de orden de secuencia
PATH: …/cbc:ID

Class.CajaVenta

Atributo Tipo Dato Formato Requerido Descripción
placaCaja String - SI
Valor de la característica que se quiere informar (Placa de inventario de la Caja)
Corresponde a la Placa de inventario de la Caja
./ext:UBLExtension/ext:ExtensionContent//InformacionCajaVenta/Value
ubicacionCaja String - SI
Valor de la característica que se quiere informar (Ubicación de la caja ALMACEN)
Corresponde a la Ubicación de la caja ALMACEN
./ext:UBLExtension/ext:ExtensionContent//InformacionCajaVenta/Value
cajero String - SI
Valor de la característica que se quiere informar (nombres y apellidos del cajero o vendedor)
Corresponde a los Nombres y apellidos del cajero o vendedor
./ext:UBLExtension/ext:ExtensionContent//InformacionCajaVenta/Value
tipoCaja String - SI
Valor de la característica que se quiere informar (Tipo de Caja)
Corresponse al Tipo de Caja
./ext:UBLExtension/ext:ExtensionContent//InformacionCajaVenta/Value
codigoVenta String - SI
Valor de la característica que se quiere informar (Código de la Venta)
Corresponde al Código de la Venta
./ext:UBLExtension/ext:ExtensionContent//InformacionCajaVenta/Value

Class.CreditoInstrumentoJuego

Atributo Tipo Dato Formato Requerido Descripción
numeroSerie String - SI
Número del serial de la máquina o intrumento de juego con reporte diario crédito
ext:ExtensionContent/InfoEstablishment/CreditValueOfTheMachine/GameMachineSerial
valorCredito String - SI
Valor crédito de la máquina o instrumento de juego
ext:ExtensionContent/InfoEstablishment/CreditValueOfTheMachine/CreditValue
moneda String - SI
Código de modena
ext:ExtensionContent/InfoEstablishment/CreditValueOfTheMachine/CreditValue/@currencyID

Class.Cliente

Atributo Tipo Dato Formato Requerido Descripción
actividadEconomicaCIIU String AN|…4 NO
Corresponde al código de actividad económica CIIU
PATH: .. /cac:Party/cbc:IndustryClassificationCode
apellido String AN|…50 NO
Apellido del adquiriente.
PATH: No definido
destinatario Array <Destinatario> - C/C
Permite especifica el medio y los datos de la entrega electrónica del documento
Obligatorio: Si campo notificar = ‘SI’
PATH: No definido
(ver detalle en Class.Destinatario)
detallesTributarios Array <Tributos> - SI
Detalles tributarios del adquirente
Rechazo Si la clase no es informada
PATH: /cac:Party/cac:PartyTaxScheme/cac:TaxScheme
(ver detalle en Class.Tributos)
direccionCliente Direccion - C/C
Información donde se detalle la dirección de recepción del adquiriente
Recomendado: Esta dirección ransf es la que se pinta en la representación gráfica estándar
PATH: ../cac:Party/cac:PhysicalLocation/cac:Address
(ver detalle en Class.Direccion)
direccionFiscal Direccion - C/C
Dirección fiscal del adquiriente.
Obligatorio: Si el adquirente es responsable
Notificación Si el adquirente es responsable y no fue informada esta clase
PATH: .. /cac:Party/cac:PartyTaxScheme/cac:RegistrationAddress
(ver detalle en Class.Direccion)
email String AN|..50 C/C
Correo Electrónico del adquiriente que irá al XML/UBL fiscal
(solo se envía un correo en este campo)
PATH: No aplica nodo
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor
PATH: No definido
(ver detalle en Class.Extensible)
informacionLegalCliente InformacionLegalCliente - C/C
Información legal del cliente
Notificación : Si se informa tipoPersona = ‘1’ y el atributo no es reportado
PATH: ../cac:Party/cac:PartyLegalEntity
(ver detalle en Class.InformacionLegalCliente)
nombreComercial String AN|5..450 C/C
Nombre Comercial del adquiriente
Obligatorio Si en la Rep. Gráfica se mostrará el nombre comercial
PATH: /cac:Party/cac:PartyName
nombreContacto String AN|5..450 NO
Nombre de Contacto
PATH: ../cac:Party/cac:Contact/cbc:Name
nombreRazonSocial String AN|5..450 SI
Nombre o Razón Social del adquirente
Recomendado: Si la persona es natural concatenar en este campo el nombre competo (nombres + apellidos)
PATH: …/cac:Party/cac:PartyTaxScheme/cbc:RegistrationName
nota String AN|..450 NO
Nota adicional de contacto
PATH: ../cac:Party/cac:Contact/cbc:Note
notificar String AN|2 SI
Activa el envío de email al adquirente.
Valores posibles: “SI” o “NO”
PATH: No aplica
numeroDocumento String AN|..12 SI
Número del Documento o Identificación Fiscal del adquirente
Obligatorio Si el adquirente es responsable debe informar el NIT
Rechazo Si tipoIdentificacion es ‘31’ y la estructura de NIT es inválida
Rechazo : Se genera si el valor de AdditionalAccountID = “2” y este no es mencionado.
Nota : Para identificar al consumidor final, se utiliza el siguiente documento “222222222222”
PATH: …/cac:Party/cac:PartyTaxScheme/cbc:CompanyID
numeroIdentificacionDV String AN|..2 C/C
Digito de verificación NIT del adquiriente
Obligatorio: Si tipoIndentificacion = 31, debe ser informado
PATH:
../cac:Party/cac:PartyTaxScheme/cbc:CompanyID/@schemeID
responsabilidadesRut Array <Obligaciones> - SI
Obligaciones y régimen del adquiriente
Rechazo Si la clase no es informada
PATH: ../cac:Party/cac:PartyTaxScheme/cbc:TaxLevelCode
(ver detalle en Class.Obligaciones)
segundoNombre String AN|..50 NO
Segundo nombre del adquiriente.
PATH: No definido
telefax String N|..20 NO
Telefax
PATH: ../cac:Party/cac:Contact/cbc:Telefax
telefono String AN|..20 NO
Teléfono del adquiriente
PATH: …/cac:Party/cac:Contact/cbc:Telephone
tipoIdentificacion String N|2 SI
Tipo de Identificación del adquiriente
Rechazo Si el contenido de este atributo no corresponde a uno de los valores de la Tabla 3
Nota: Para identificar al consumidor final se utiliza el código “13”
PATH: ./cac:Party/cac:PartyTaxScheme/cbc:CompanyID/@schemeName
tipoPersona String N|1 SI
Identificador de tipo de persona
Rechazo Si el contenido de este atributo no corresponde a uno de los valores de la Tabla 5
PATH: …/cbc:AdditionalAccountID

Class.Consumo

Atributo Tipo Dato Formato Requerido Descripción
unidadConsumida String AN|10 SI
(ver detalle en Class.Valor)
periodoDesde string - NO
Información referente al periodo inicial
periodoHasta String AN|10 NO
Información referente al periodo final
diasFacturados String - NO
Información referente a los días facturados durante el periodo
diasFacturadosUnidad String - NO
Información referente al promedio consumo dias/unidad
monto String - NO
Información referente al monto del consumo

Class.ConsumoHistorico

Atributo Tipo Dato Formato Requerido Descripción
pagoAnterior string - NO
Información referente al ultimo pago realizado anteriormente
Consumo String AN|10 SI
(ver detalle en Class.Consumo)
promedioUnidades String AN|10 NO
(ver detalle en Class.Valor)
promedioDias String AN|10 NO
(ver detalle en Class.Valor)

Class.CuotasPactadas

Atributo Tipo Dato Formato Requerido Descripción
numeroCuota string - NO
Información referente al numero de cuotas pactadas
montoDebito String AN|10 NO
Referente al monto debitado en la transacción
montoCredito String AN|10 NO
Referente al monto credito en la transacción

Class.DatosDelTransportista

Atributo Tipo Dato Formato Requerido Descripción
detallesTributarios Tributos - NO
Tipos de Impuesto
PATH: ../cac:PartyTaxScheme/cac:TaxScheme
(ver detalle en Class.Tributos)
direccionResponsableEntrega Direccion - NO
Información de la Dirección del Responsable de Entrega
PATH: ../cac:Address/cbc:PhysicalLocation
(ver detalle en Class.Direccion)
email String AN|..50 NO
Correo Electrónico
PATH: ..cac:Contact/cbc:ElectronicMail
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor.
PATH: No definido
(ver detalle en Class.Extensible)
indicadordeAtencion String AN|..50 NO
Indicador si es información sobre “para la atención de” (FAO)
PATH: ../cbc:MarkAttentionIndicator
indicadordeCuidado String AN|..50 NO
Indicador si es información sobre alguien responsable por los bienes
PATH: ../cbc:MarkCareIndicator
nombreContacto String AN|..50 NO
Nombre de Contacto
PATH: .. /cac:Contact/cbc:Name
nombreResponsableEntrega String AN|..50 NO
Nombre del Responsable de la Entrega
PATH: ../cac:PartyName/cbc:Name
nota String - NO
Nota de Contacto
PATH: ../cac:Contact/cbc:Note
numeroIdentificacion String AN|…12 NO
NIT del transportista
PATH: ../cac:PartyTaxScheme/cbc:CompanyID
numeroIdentificacionDV String N|..2 NO
Digito Verificador
PATH: ../cac:PartyTaxScheme/cbc:CompanyID@schemeID
numeroMatriculaMercantil String AN|..20 NO
Número de matrícula mercantil
PATH: ../cac:PartyLegalEntity/cac:CorporateRegistrationScheme/cbc:Name
prefijoFacturacion String AN|..20 NO
Prefijo de facturación del Transportista
PATH: .. /cac:PartyLegalEntity//cac:CorporateRegistrationScheme/cbc:ID
responsabilidadesRut Array <Obligaciones> - NO
Responsabilidad del Transportista
PATH: ../cac:PartyTaxScheme/cbc:TaxLevelCode
(ver detalle en Class.Obligaciones)
telefax String AN|..20 NO
Telefax de transportista
PATH: ../cac:PartyTaxScheme/cbc:CompanyID/@schemeName
telefono String AN|..20 NO
Teléfono de transportista
PATH: ../cac:Contact/cbc:Telefax
tipoIdentificacion String N|2 NO
Tipo de Identificación del Transportista
Rechazo Si el contenido de este atributo no corresponde a uno de los valores de la en Tabla 3
PATH: ../cac:PartyTaxScheme/cbc:CompanyID/@schemeName
transportadorDireccion Direccion - NO
Dirección fiscal del transportador
PATH: ../cac:PartyLegalEntity/cac:RegistrationAddress
(ver detalle en Class.Direccion)
transportadorNombre String AN|..50 NO
Nombre del transportador
PATH: ../cac:PartyLegalEntity/cbc:RegistrationName
transportadorNumeroDocumento String AN|..12 NO
Numero documento del transportador
PATH: ../cac:PartyLegalEntity/cbc:CompanyID
transportadorNumeroDocumentoDV String AN|..2 NO
Digito Verificador del NIT del transportador
PATH: ../cac:PartyLegalEntity/cbc:CompanyID@schemeID
transportadorTipoIdentificacion String N|2 NO
Tipo documento del transportador
PATH: ../cac:PartyLegalEntity/cbc:CompanyID@schemeName

Class.Destinatario

Atributo Tipo Dato Formato Requerido Descripción
canalDeEntrega String - SI
Medio de Entrega del Documento Electrónico
Puede tomar los siguientes valores: 0– Email; 1– Recepción; 2– Interoperabilidad; 3– Whatsapp; 4– Telegram
PATH: No aplica
email Array <String> - C/C
Lista de Correos Electrónicos a los cuales se realizará la entrega del documento electrónico si el canalDeEntrega=’0’
Obligatorio Cuando canalDeEntrega=’0’
PATH: No aplica
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor
PATH: No definido
(ver detalle en Class.Extensible)
fechaProgramada String AN|19 NO
Fecha programada
PATH: No aplica
mensajeProgramado String - NO
Mensaje
PATH: No aplica
nitProveedorReceptor String N|..12 C/C
NIT del Destinatario
Obligatorio Cuando canalDeEntrega=’1’ ó ‘2’
PATH: No aplica
telefono String AN|..20 C/C
Teléfono del Destinatario
Obligatorio Cuando canalDeEntrega=’3’ ó ‘4’
PATH: No aplica

Class.detalleDeFactura

Atributo Tipo Dato Formato Requerido Descripción
cantidadPorEmpaque String N|..3 NO
Cantidad de unidad de este artículo por empaque.
Por ejemplo, si el artículo son tres “six pack”, la cantidad a reportar en cantidadPorEmpaque es 6, mientras la cantidad a reportar en cantidadReal es 3, y el total de latas que se está describiendo son 18
PATH: ..cac:Item/cbc:PackSizeNumeric
cantidadReal String N|..6 SI
Cantidad real sobre la cual el precio aplica
PATH: .. /cac:Price/cbc:BaseQuantity
cantidadRealUnidadMedida String AN|..6 SI
Unidad de la cantidad sobre la cual el precio aplica
Notificación Si el valor del atributo no se encuentra en la Tabla 6
(Se puede utilizar el código estandár “WSD”, unidad “94” o Acuerdo Mutuo “ZZ” para NO reclasificar los productos)
PATH: .. /cac:Price/cbc:BaseQuantity/@unitCode
cantidadUnidades String N|..6 SI
Cantidad de unidades del producto/servicio facturado
PATH: .. /cbc:InvoicedQuantity
cargosDescuentos Array <CargosDescuentos> - C/C
Información de cargos y descuentos
Obligatorio Este arreglo se debe informar a nivel de ítem, si y solamente si el cargo o descuento afecta la base gravable del ítem.
Si un cargo individual general a la factura genera IVA, debe reportarse como ítem
PATH: ../cac:AllowanceCharge
(ver detalle en Class.CargosDescuentos)
codigoFabricante String - NO
Código del fabricante correspondiente al artículo
PATH: .. /cac:Item/cac:
ManufacturersItemIdentification/cbc:ID
codigoIdentificadorPais String A|2 NO
Código Identificador del país de origen del artículo o servicio
Rechazo Si el contenido de este elemento no corresponde a un valor del estándar ISO 3166-1 alfa-2
PATH: .. /cac:Item/cac:OriginCountry/cbc:IdentificationCode
codigoProducto String AN|..50 SI
Código del vendedor correspondiente al artículo
PATH: .. /cac:Item/cac:SellersItemIdentification/cbc:ID
codigoTipoPrecio String AN|..3 C/C
Código del tipo de precio informado
Obligatorio Para muestras comerciales (valor = 01)
Rechazo Si el valor del atributo no se encuentra en la Tabla 7
PATH: ../cac:PricingReference/cac:AlternativeConditionPrice/cbc:PriceTypeCode
descripcion String AN|..300 C/C
Descripción del producto o servicio
Para Documento Soporte en adquisiciones a No Obligados a Facturar Reportar el Servicio recibido.
PATH: ../Item/cbc:Description[1]
descripcion2 String AN|..300 C/C
Descripción del producto o servicio
Para Documento Soporte en adquisiciones a No Obligados a Facturar se Reporta la fecha de compra en un formato año-mes-día.
PATH: ../Item/cbc:Description[2]
descripcion3 String AN|..300 C/C
Para Documento Soporte en adquisiciones a No Obligados a Facturar se Reporta (1) Si es por operación (2) Si es un acumulado semanal.
PATH: ../Item/cbc:Description[3]
descripcionTecnica String AN|..300 NO
Datos técnicos asociados al producto o servicio
PATH: .. /cac:Item/cbc:AdditionalInformation
documentosReferenciados Array <DocumentoReferenciado> - NO
Informaciones que describen un documento referenciado
Obligatorio En facturas tipoDocumento contingencia (AdditionalDocumentReference), en facturas que afecten una nota (BillingReference), en Notas de Crédito y Débito (DiscrepancyResponse)
PATH: /root/cac:DiscrepancyResponse,
/root/cac:BillingReference,
/root/cac: AdditionalDocumentReference,
/root/cac: DespatchDocumentReference,
/root/cac: ReceiptDocumentReference
(ver detalle en Class.DocumentoReferenciado)
estandarCodigo String AN C/C
Código del estándar (identificación del artículo o servicio de acuerdo con un estándar)
Ver valores del atributo en la Tabla 8
Obligatorio Para documento soporte y nota de ajuste.
Notificación Si es factura de exportación (tipoDocumento = 02), y no se informó la sub partida arancelaria
Notificación Si el código no existe en un estándar cerrado.
Ejemplo: UNSPSC
Notificación Si el código no sigue la regla de formación de un código abierto, pero con valores verificables
Ejemplo: GTIN, Ejemplo:Partidas arancelarias
Nota: En este caso puede utilizarse el código 999 (Estándar de adopción del contribuyente) para evitar reclasificar los productos
PATH: /cac:Item/cac:StandardItemIdentification/cbc:ID/@schemeID
estandarCodigoID String AN NO
Asociado al código del estándar (identificación del artículo o servicio de acuerdo con un estándar).
Rechazo Si estandarCodigo = 010 y estandarCodigoID es diferente a 9
Ver valores del atributo en la Tabla 8
PATH: ../cac:Item/cac:StandardItemIdentification/cbc:ID/@schemeAgencyID
estandarCodigoIdentificador String AN NO
Asociado al código del estándar (identificación del artículo o servicio de acuerdo con un estándar).
Ver valores del atributo en la Tabla 8
PATH: ../cac:Item/cac:StandardItemIdentification/cbc:ID@schemeDataURI
estandarCodigoNombre String AN NO
Asociado al código del estándar (identificación del artículo o servicio de acuerdo con un estándar).
Ver valores del atributo en la Tabla 8
PATH: ../cac:Item/cac:StandardItemIdentification/cbc:ID@schemeAgencyName
estandarCodigoProducto String AN C/C
Código del producto según el estándar informado en estandarCodigo
Obligatorio Para documento soporte y nota de ajuste.
Ver valores del atributo en la Tabla 8
PATH: ../cac:Item/cac:StandardItemIdentification/cbc:ID
estandarOrganizacion String - NO
Estándar de la organización
PATH: ../cac:Item/cac:StandardItemIdentification/cac:IssuerParty/cac:PartyName/cbc:Name
estandarSubCodigoProducto String - NO
Sub código del estándar del producto
PATH: ../cac:Item/cac:StandardItemIdentification/cbc:ExtendedID
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor
PATH: No definido
(ver detalle en Class.Extensible)
impuestosDetalles Array <FacturaImpuestos > - SI
Información de impuestos
Rechazo Si existe más de un elemento con el mismo valor en el atributo FacturaImpuestos.codigoTOTALImp
Este grupo NO debe ser informado para ítems excluidos de acuerdo a lo establecido en el Estatuto Tributario.
Adicionalmente, NO debe ser informado para facturas del régimen simple grupo I, ni para ítems cuyo concepto en contratos de AIU no haga parte de la base gravable.
A nivel de ítem solo aplica para tributos que deban informarse a nivel de ítem, por ejemplo: IVA, INC, IC, Impuesto Nacional a los Combustibles, entre otros
PATH: ../cac:TaxTotal (impuestos),
../cac: WithholdingTaxTotal (retenciones)
(ver detalle en Class.FacturaImpuestos)
impuestosTotales Array <ImpuestosTotales> - SI
Sumatoria de los impuestos por todos los tipos
Este grupo NO debe ser informado para ítems excluidos de acuerdo a lo establecido en el Estatuto Tributario.
Rechazo Si el valor del valor total del impuesto indicado es diferente a la sumatoria de lo reportado en FacturaImpuestos. valorTOTALImp.
A nivel de ítem solo aplica para tributos que deban informase a nivel de ítem, por ejemplo, IVA, INC, IC, Impuesto Nacional a los Combustibles, entre otros
PATH: ../cac:TaxTotal/cbc:TaxAmount (impuestos),
../cac: WithholdingTaxTotal/cbc:TaxAmount (retenciones)
(ver detalle en Class.ImpuestosTotales)
informacionAdicional Array <LineaInformacionAdicional> - NO
Sirve para adicionar información específica del producto que puede ser solicitada por autoridades o entidades diferentes a la DIAN
PATH: ../cac:Item/cac:AdditionalItemProperty
(ver detalle en Class.LineaInformacionAdicional)
mandatorioNumeroIdentificacion String N|..12 C/C
NIT del mandatario
Obligatorio para facturas por mandato
PATH: ../cac:Item/cac:InformationContentProviderParty/cac:PowerOfAttorney/cac:AgentParty/cbc:ID
mandatorioNumeroIdentificacionDV String N|..2 C/C
Digito Verificador del NIT del mandatario
Obligatorio para facturas por mandato
PATH: ../cac:Item/cac:InformationContentProviderParty/cac:PowerOfAttorney/cac:AgentParty/cbc:ID/ @schemeID
mandatorioTipoIdentificacion String N|2 C/C
Tipo de identificación del mandatario
Obligatorio Para facturas por mandato
Notificación Si mandatorioNumeroIdentificacion es informado y el valor del este campo no se encuentra en la Tabla 3
PATH: ../cac:Item/cac:InformationContentProviderParty/cac:PowerOfAttorney/cac:AgentParty/cbc:ID/@schemeName
marca String AN|..100 C/C
Marca del artículo.
Obligatorio Si es factura internacional
Notificación Si tipoDocumento = “02” y este elemento no fue informado
PATH: ../Item/cbc:BrandName
modelo String AN|..100 C/C
Modelo del artículo.
Obligatorio Si es factura internacional
Notificación Si tipoDocumento = “02” y este elemento no fue informado
PATH: ../Item/cbc:ModelName
muestraGratis String N|1 C/C
Indicador de si el ítem es gratuito o no (sin valor comercial)
Obligatorio Para muestras comerciales
Valores posibles: “1” (Es muestra gratis) ó “0” (No es muestra gratis)
PATH: ../cbc:FreeOfChargeIndicator
nombreFabricante String AN|..100 NO
Nombre del fabricante del producto/servicio
PATH: ../cac:Item/cac:ManufacturersItemIdentification/cac:IssuerParty/cac:PartyName/cbc:Name
nota String AN|20..5000 C/C
Texto libre para añadir información adicional al artículo
Obligatorio Informar para el caso de facturas por contratos de servicio tipo AIU. Para el ítem Adminsitración. En este caso la nota debe empezar por el texto: “Contrato de servicios AIU por concepto de:” El contribuyente debe incluir el objeto del contrato facturado
PATH: ../cbc:Note
precioReferencia String Ent: N|..15

Dec: N|0..6

C/C
Valor del artículo o servicio.
Corresponde al valor del precio referencia del ítem que se da como muestra o regalo sin valor comercial
Obligatorio Para muestras comerciales
Rechazo Si se informa el atributo precioReferencia entonces el valor de precioTotalSinImpuestos debe ser (0.00), ya que se trata de muestra o regalo comercial
PATH: ../cac:PricingReference/cac:AlternativeConditionPrice/cbc:PriceAmount
precioTotal String Ent: N|..15

Dec: N|0..6

C/C
Precio total del producto o servicio.
(cantidadUnidades*precioVentaUnitario +cargos-descuentos +impuestos)
Obligatorio Para uso en las representaciones gráficas
PATH: No definido
precioTotalSinImpuestos String Ent: N|..15

Dec: N|0..6

SI
Valor total de la línea sin impuestos.
(cantidadUnidades*precioVentaUnitario +cargos-descuentos)
Rechazo Si se informa el atributo precioTotalSinImpuestos en 0.00 entonces el valor de precioReferencia debe ser informado ya que se trata de muestra o regalo comercial
PATH: ../cbc:LineExtensionAmount
precioVentaUnitario String Ent: N|..15

Dec: N|0..6

SI
Precio Unitario del porducto/servicio
PATH: ../Price/cbc:PriceAmount
secuencia String AN|..4 SI
Indicador de orden de secuencia (número de línea)
Notificación Si contiene un valor ya utilizado en el atributo secuencia en otro grupo de este archivo
Notificación Si los números utilizados en los diferentes grupos no son consecutivos, empezando en “1”
PATH: ../cbc:ID
seriales String AN|..500 NO
Seriales del producto (separador por coma), Ej: ABC123,ABC456
PATH: ../cac:Item/cac:ItemInstance/cbc:SerialID
subCodigoFabricante String AN|..50 NO
Código del fabricante correspondiente a una sub-especificación del artículo
PATH: ../cac:Item/cac:ManufacturersItemIdentification/cbc:ExtendedID
subCodigoProducto String AN|..50 NO
Código del emisor/vendedor correspondiente a una sub-especificación del artículo
PATH: ../Item/cac:SellersItemIdentification/cbc:ExtendedID
tipoAIU String AN|..50 NO
Para Clasificar el tipo de AIU
PATH: No aplica
unidadMedida String AN|..3 SI
Código de Unidad de medida del producto/servicio facturado
Notificación Si el valor del atributo no se encuentra en la Tabla 6
(Se puede utilizar el código estandár “WSD”, unidad “94” o Acuerdo Mutuo “ZZ” para NO reclasificar los productos)
PATH: ../cbc:InvoicedQuantity@unitCode

Class.Direcciones

Atributo Tipo Dato Formato Requerido Descripción
aCuidadoDe String AN|..50 NO
Cuidado de
PATH: ../cac:Address/cbc:MarkCare
aLaAtenciónDe String AN|..50 NO
A la atención de
PATH: ../cac:Address/cbc:MarkAttention
bloque String AN|..50 NO
Nombre del bloque
PATH: ../cac:Address/cbc:BlockName
buzon String AN|..50 NO
Buzón postal
PATH: ../cac:Address/cbc:Postbox
calle String AN|..50 NO
Nombre de la calle
PATH: ../cac:Address/cbc:StreetName
calleAdicional String AN|..50 NO
Nombre Adicional para especificar mejor el nombre de la calle
PATH: ../cac:Address/cbc:AdditionalStreetName
ciudad String AN|…50 SI
Ciudad
Rechazo Si país es “CO” y el contenido de este atributo no corresponde a uno de los valores de la columna ‘Nombre’ de la Tabla 19 (columna ‘Nombre : : : : Municipio’ del numeral 6.4.3 del Anexo Técnico)
PATH: ../cac:Address/cbc:CityName
codigoDepartamento String AN|…5 SI
Código del departamento
Si pais es “CO”, codigoDepartamento debe corresponder a uno de los valores de la columna Código de la Tabla 16
Obligatorio para Emisores y Adquirentes Responsables
PATH: ../cac:Address/cbc:CountrySubentityCode
correccionHusoHorario String AN|6 NO
Corrección del uso horario correspondiente
PATH: ../cac:Address/cbc:TimezoneOffset
departamento String AN|…50 SI
Nombre del departamento
Rechazo Si el código del campo pais es “CO” y el contenido de este atributo no corresponde a uno de los valores de la columna Nombre de la Tabla 16
PATH: ../cac:Address/cbc:CountrySubentity
departamentoOrg String AN|..50 NO
Un departamento direccionable de una organización
PATH: ../cac:Address/cbc:Department
direccion String AN|…100 SI
Dirección del cliente, sin indicar ciudad ni departamento
PATH: ../cac:Address/cac:AddressLine/cbc:Line
distrito String AN|..50 NO
Distrito
PATH: /cac:Address/cbc:District
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor.
PATH: No definido
(ver detalle en Class.Extensible)
habitacion String AN|..50 NO
Habitación
PATH: ../cac:Address/cbc:Room
lenguaje String A|2 ISO 639-1 SI
Identificador del lenguaje utilizado en el nombre del país
Notificación Si el contenido de este atributo no corresponde a uno de los valores del estándar ISO 639-1
Notificación Si este es un grupo con informaciones con respeto a la dirección del emisor de un documento electrónico, debe contener el literal “es”
PATH: /cac:Address/cac:Country/cbc:Name/@languageID
localizacion Array <Coordenadas> AN|..50 NO
Coordenadas de la dirección
PATH: ../cac:Address/cac:LocationCoordinate
(ver detalle en Class.Coordenadas)
municipio String AN|..50 SI
Código del Municipio
Notificación Si el contenido de este atributo no corresponde a uno de los valores de la Tabla 19
PATH: ../cbc:ID
nombreEdificio String AN|..50 NO
Nombre de un Edificio
PATH: ../cac:Address/cbc:BuildingName
numeroEdificio String AN|..50 NO
Número de una casa o edificio
PATH: ../cac:Address/cbc:BuildingNumber
numeroParcela String AN|..50 NO
Número de Parcela
PATH: ../cac:Address/cbc:PlotIdentification
pais String A|2 SI
País del cliente.
Rechazo Si el contenido de este elemento no corresponde a un valor del estándar ISO 3166-1 alfa-2
PATH: ../cac:Address/cac:Country/cbc:IdentificationCode
piso String AN|..50 NO
Piso
PATH: ../cac:Address/cbc:Floor
region String AN|..50 NO
Región
PATH: ../cac:Address/cbc:Region
subDivision String AN|..40 NO
Subdivisión (Nombre del Barrio)
PATH: ../cac:Address/cbc:CitySubdivisionName
ubicación String AN|..50 NO
Una ubicación específica dentro de un edificio
PATH: ../cac:Address/cbc:InhouseMail
zonaPostal String AN|..10 NO
Zona Postal
Notificación Si el contenido de este elemento no corresponde a un valor correspondiente de la Tabla 20
Notificación Si el valor del atributo codigoDepartamento es diferente a los 2 primeros dígitos del código postal.
PATH: ../cac:Address/cbc:PostalZone

Class.DocumentoReferenciado

Atributo Tipo Dato Formato Requerido Descripción
codigoEstatusDocumento String - C/C
Código o motivo del Documento
Obligatorio Cuando codigoInterno sea ‘4’
Rechazo Si el contenido de este atributo no corresponde a algún de los valores de Tabla 9 y Tabla 10
PATH: ../cac:DiscrepancyResponse/cbc:ResponseCode
codigoInterno String N|1 SI
Este campo decide si en que nodo XML se va a enviar la información de DocumentoReferenciado, posibles valores:
  1. AdditionalDocumentReference (FE de contingencia y para acciones comerciales y mercantiles)
  2. DespatchDocumentReference (Doc. De despacho)
  3. ReceiptDocumentReference (Doc. De recepción)
  4. DiscrepancyResponse (N.C y N.D)
  5. BillingReference (Facturas por corrección, N.C y N.D)
OBLIGATORIO Para Documento soporte este campo debe ser 5.
cufeDocReferenciado String AN|..90 C/C
CUFE o CUDE del documento referenciado
Obligatorio Cuando codigoInterno sea ‘5’
Obligatorio En facturas, se debe diligenciar únicamente cuando la factura ransferênc se origina a partir de la corrección o ajuste que se da mediante un NC o ND
Obligatorio En N.C y N.D, son las referencias a facturas electrónicas afectadas por la Nota.
Solamente puede reportar facturas electrónicas de un mismo adquiriente
Rechazo Si CUFE o CUDE no existe en la DIAN
PATH: /Invoice/cac:BillingReference/cac:CreditNoteDocumentReference/cbc:UUID
/CreditNote/cac:BillingReference/cac:InvoiceDocumentReference/cbc:UUID
/DebitNote/cac:BillingReference/cac:InvoiceDocumentReference/cbc:UUID
descripcion Array <String> AN|20..5000 C/C
Descripción de la naturaleza de la corrección
Obligatorio Cuando codigoInterno sea ‘4’
PATH: ../cac:DiscrepancyResponse/cbc:Description
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor
PATH: No definido
(ver detalle en Class.Extensible)
fecha String AN|10 C/C
Fecha de ransfe del documento referenciado, en formato: YYYY-MM-DD
Obligatorio Cuando codigoInterno sea ‘1’, ‘2’, ‘3’ ó ‘5’
Rechazo Si fecha es posterior a la del documento referenciado
PATH: /Invoice/cac:BillingReference/cac:CreditNoteDocumentReference/cbc:IssueDate
/CreditNote/cac:BillingReference/cac:InvoiceDocumentReference/cbc:IssueDate
/DebitNote/cac:BillingReference/cac:InvoiceDocumentReference
/cbc:IssueDate
fechaFinValidez String AN|10 NO
Fecha de Fin de Validez
PATH: No definido
fechaInicioValidez String AN|10 NO
Fecha de Inicio de Validez
PATH: No definido
numeroDocumento String AN..20 SI
Concatenación del prefijo y el número del documento referenciado
Rechazo Si se informa codigoInterno igual a ‘1’, ‘2’, ‘3’, ‘4’ ó ‘5’ y el ID de documento de referencia no está relacionado
PATH:
/Invoice/cac:BillingReference/cac:CreditNoteDocumentReference/cbc:ID
/CreditNote/cac:BillingReference/cac:InvoiceDocumentReference/cbc:ID
/DebitNote/cac:BillingReference/cac:InvoiceDocumentReference
/cbc:ID
tipoCUFE String AN|..11 C/C
Algoritmo del tipo de CUFE.
“CUFE-SHA384” ó “CUDE-SHA384”
Obligatorio Cuando codigoInterno sea ‘5’
PATH: /Invoice/cac:BillingReference/cac:CreditNoteDocumentReference/cbc:UUID/@schemeName
/CreditNote/cac:BillingReference/cac:InvoiceDocumentReference/cbc:UUID/@schemeName
/DebitNote/cac:BillingReference/cac: InvoiceDocumentReference/cbc:UUID/@schemeName
tipoDocumento String AN|..50 NO
Descripción del tipo de documento referenciado,
OBLIGATORIO Para Documento soporte este campo debe ser 05.
Ejemplo: “Factura de Venta Nacional”
PATH: No definido
tipoDocumentoCodigo String AN|2 C/C
Identificador del tipo de documento referenciado.
Obligatorio Cuando codigoInterno sea ‘1’
Rechazo Si codigoInterno igual a ‘1’ y el contenido de este atributo no corresponde a uno de los valores de la Tabla 21
Nota: Para ordenes de remisión, informar el código ‘AAJ’
PATH: /Invoice/cac:AdditionalDocumentReference/cbc: DocumentTypeCode
/ CreditNote /cac:AdditionalDocumentReference/cbc: DocumentTypeCode
/ DebitNote /cac:AdditionalDocumentReference/cbc: DocumentTypeCode
Para Documento soporte este campo debe ser 05.

@IMPORTANTE: # Para referenciar facturas de venta al emitir una NC o ND, se deben enviar dos objetos de tipo DocumentosReferenciados indicando lo siguiente:

    • Objeto 1: indicando los campos codigoEstatusDocumento; codigoInterno = ‘4’, numeroDocumento, ransferênc.
    • Objeto 2: si el tipoOperacion es igual a 20 (para NC) ó 30 (para ND) y codigoInterno = ‘5’, se validan los campos: cufeDocReferenciado, fecha, y numeroDocumento.
  1. Al transmitir una Factura de Contingencia, se debe enviar un arreglo de tipo DocumentosReferenciados indicando los campos: codigoInterno = ‘1’, numeroDocumento, fecha, tipoDocumentoCodigo (correspondiente a Factura de Contingencia).
  2. Para referenciar Documentos de Despacho (codigoInterno = ’2’) o Documentos de Recepción (codigoInterno = ‘3’) se validan los campos: numeroDocumento y fecha.

Class.EntregaMercancia

Atributo Tipo Dato Formato Requerido Descripción
datosTransportistas DatoTransportistas - NO
Datos del Transportista
PATH: ../cac:DeliveryParty
(ver detalle en Class.DatosTransportista)
direccionDespacho Direccion - NO
Información de Despacho
PATH: ../cac:Despatch/cac:DespatchAddress
(ver detalle en Class.Direccion)
direccionEntrega Direccion - NO
Información de Entrega
PATH: ../cac:DeliveryAddress
(ver detalle en Class.Direccion)
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor
PATH: No definido
(ver detalle en Class.Extensible)
fechaEfectivaSalida String AN|19 NO
Fecha y hora efectiva de salida de los bienes, en formato: YYYY-MM-DD HH:MM:SS
Rechazo si la fecha efectiva de salida es anterior a la fecha de emisión
PATH: ../cbc:ActualDeliveryDate + ../cbc:ActualDeliveryTime
fechaEstimada String AN|19 NO
Fecha y hora estimada, en formato: YYYY-MM-DD HH:MM:SS
Rechazo si la fecha estimada es anterior a la fecha de emisión
PATH: ../cac:Despatch/cbc:EstimatedDespatchDate y EstimatedDespatchTime
fechaReal String AN|19 NO
Fecha real, en formato: YYYY-MM-DD HH:MM:SS
Rechazo si la fecha real es anterior a la fecha de emisión
PATH: ../cac:Despatch/cbc:ActualDespatchDate y ActualDespatchTime
fechaSolicitada String AN|19 NO
Fecha Solicitada, en formato: YYYY-MM-DD HH:MM:SS
Rechazo si la fecha solicitada es anterior a la fecha de emisión
PATH: ../cac:Despatch/ cbc:RequestedDespatchDate y RequestedDespatchTime
identificacionTransporte String AN|..20 NO
Datos del Transporte
PATH: ../cac:Despatch/cbc:ID
matriculaTransporte String AN|..20 NO
Matricula del Transporte
PATH: ../cac:Despatch/ cbc:ID/@schemeAgencyID

Class.Extras

Atributo Tipo Dato Formato Requerido Descripción
controlInterno1 String AN|100 C/C
Etiqueta asignada para la Representación Impresa PDF.
PATH: Variable
controlInterno2 String Depende del Campo C/C
Permite asociar dos o más campos mediante un índice (si los campos son asociables)
PATH: Variable
nombre String Depende del Campo SI
Código del campo extensible a referenciar
(Ver sección USO DE CAMPOS EXTRAS)
PATH: Variable
pdf String N|1 SI
Indicación de mostrar el campo en la representación gráfica PDF
(“0” = No mostrar / “1” = Mostrar)
PATH: Variable
valor String Depende del Campo SI
Valor del campo a agregar
PATH: Variable
xml String N|1 SI
Indicación de mostrar el campo en el XML
(“0” = No mostrar / “1” = Mostrar)
PATH: Variable

Class.Extensible

Atributo Tipo Dato Formato Requerido Descripción
controlInterno1 String AN|100 C/C
Etiqueta asignada para la Representación Impresa PDF.
PATH: Variable
controlInterno2 String Depende del Campo C/C
Permite asociar dos o más campos mediante un índice (si los campos son asociables)
PATH: Variable
nombre String Depende del Campo SI
Código del campo extensible a referenciar
PATH: Variable
valor String Depende del Campo SI
Valor del campo a agregar
PATH: Variable

Class.FacturaImpuestos

Atributo Tipo Dato Formato Requerido Descripción
baseImponibleTOTALImp String Ent: N|..15

Dec: N|0..6

SI
Base Imponible sobre la que se calcula el valor del tributo
PATH: ../cac:TaxTotal/TaxSubtotal/cbc:TaxableAmount
codigoTOTALImp String AN|2 SI
Identificador del tributo
Rechazo Si el contenido de este elemento no corresponde a uno de los códigos de la Tabla 11
PATH:../cac:TaxTotal/TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID
controlInterno String N|1 C/C
Indicador de tipo de retención
PATH: No Definido
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor
PATH: No definido
(ver detalle en Class.Extensible)
porcentajeTOTALImp String Ent: N|..2

Dec: N|2*

SI
Tarifa del tributo.
En el caso de que el tributo es un porcentaje del valor tributable: informar la tarifa “porcentaje” a ser aplicada a la base imponible
Rechazo Si reporta una tarifa diferente para uno de los tributos enunciados en la Tabla 12
PATH:../cac:TaxTotal/TaxSubtotal/cac:TaxCategory/cbc:Percent
unidadMedida String AN|..5 SI
Identificación de la unidad de medida
Rechazo Si el contenido de este elemento no corresponde a uno de los códigos de la Tabla 6
PATH:../cac:TaxTotal/cac:TaxSubtotal/cbc:BaseUnitMeasure/@unitCode
unidadMedidaTributo String Ent: N|..2

Dec: N|2

C/C
Unidad de medida base para el tributo
Obligatorio En el caso de que el tributo es un valor fijo por unidad tributada, por ejemplo el impuesto de consumo a las bolsas o los impuestos a los combustibles
Rechazo Si elemento valorTributoUnidad es informado y unidadMedidaTributo no es informado
PATH: ../cac:TaxTotal/TaxSubtotal/cbc:BaseUnitMeasure
valorTOTALImp String Ent: N|..15

Dec: N|0..6

SI
Valor del tributo. Producto del porcentaje aplicado sobre la base imponible
Rechazo Para tributos cuya tarifa se enuncia en porcentajes, si valorTOTALImp es diferente a baseImponibleTOTALImp * porcentajeTOTALImp
Rechazo Para tributos cuya tarifa se enuncia en valores nominales (ejempo bolsas plásticas), si valorTOTALImp es diferente a valorTributoUnidad * cantidadUnidades
PATH: ../cac:TaxTotal/TaxSubtotal/cbc:TaxAmount
valorTributoUnidad String Ent: N|..15

Dec: N|0..6

C/C
Es el valor nominal del tributo por unidad
Obligatorio En el caso de que el tributo es un valor fijo por unidad tributada, por ejemplo el impuesto de consumo a las bolsas o los impuestos a los combustibles
Rechazo si el elemento unidadMedidaTributo NO es informado.
PATH: ../cac:TaxTotal/TaxSubtotal/cbc:PerUnitAmount

@IMPORTANTE: Para el caso del ICA y RETEICA en el cual el valor del porcentaje se maneja en base a mil, se debe informar el valor de dicho porcentaje en base a cien, es decir, si se desea informar un porcentaje de 11.04%mil para alguno de estos tributos, se debe indicar en el campo porcentajeTOTALImp como 1.104.

Class.FabricanteSoftware

Atributo Tipo Dato Formato Requerido Descripción
NombreApellido String - SI
Corresponde a los nombres y apellidos del fabricante del software
./ext:UBLExtension/ext:ExtensionContent/InformacionDelFabricanteDelSoftware/Value
RazonSocial String - SI
Corresponse a la Razon social del fabricante del software
./ext:UBLExtension/ext:ExtensionContent/InformacionDelFabricanteDelSoftware/Value
nombreSoftware String - SI
Corresponde al Nombre del Software
./ext:UBLExtension/ext:ExtensionContent/InformacionDelFabricanteDelSoftware/Value

Class.ImpuestosTotales

Atributo Tipo Dato Formato Requerido Descripción
codigoTOTALImp String AN|2 SI
Identificador del tributo
Rechazo Si el contenido de este elemento no corresponde a uno de los códigos de la Tabla 11
PATH: Por Definir
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor.
PATH: No definido
(ver detalle en Class.Extensible)
montoTotal String Ent: N|..15

Dec: N|0..6

SI
Suma de todos los atributos valorTOTALImp
Rechazo Si montoTotal es diferente a la sumatoria de todas las ocurrencias de FacturaImpuestos.valorTOTALImp
PATH: ../cac:TaxTotal/cbc:TaxAmount
redondeoAplicado String - SI
Redondeo agregado al total del impuesto

Class.InformacionBeneficiosComprador

Atributo Tipo Dato Formato Requerido Descripción
Codigo String - SI
Corresponde al Codigo del comprador Documento identidad
/ext:UBLExtension/ext:ExtensionContent/InformacionBeneficiosCompra dor/Value
NombresApellidos String - SI
Corresponse a los Nombres y apellidos del comprador
/ext:UBLExtension/ext:ExtensionContent/InformacionBeneficiosCompra dor/Value
Puntos String - SI
Corresponde a un valor donde se informe la Cantidad de Puntos acumulados por el comprador
/ext:UBLExtension/ext:ExtensionContent/InformacionBeneficiosCompra dor/Value

Class.informacionLegalCliente

Atributo Tipo Dato Formato Requerido Descripción
codigoEstablecimiento String - NO
Código de Establecimiento
PATH: /cac:CorporateRegistrationScheme/cbc:CorporateRegistrationTypeCode
nombreRegistroRUT String AN|..450 SI
Nombre o Razón Social del adquirente
Obligatorio Para Documento Soporte se debe informar Nombre o Razón Social del proveedor.
PATH: ../cac:PartyLegalEntity/cbc:RegistrationName
numeroIdentificacion String AN|..12 SI
Identificador del Adquirente.
Debe informar el NIT si es responsable
PATH: ../cac:Party/cac:PartyLegalEntity/cbc:CompanyID
numeroIdentificacionDV String N|..2 C/C
Digito Verificador
Obligatorio Si tipoIdentificacion =31, el DV del NIT debe ser informado
PATH: ../cac:PartyLegalEntity/cbc:CompanyID@schemeID
numeroMatriculaMercantil String N|9 NO
Número de matrícula mercantil
PATH: ../cac:CorporateRegistrationScheme/cbc:Name
prefijoFacturacion String - NO
Prefijo de facturación:
PATH: ../cac:CorporateRegistrationScheme/cbc:ID
tipoIdentificacion String N|2 SI
Tipo de identificación del cliente
Rechazo Si el contenido de este elemento es diferente de “31”
PATH: ../cac:PartyLegalEntity/cbc:CompanyID@schemeName

Class.juegosLocalizados

Atributo Tipo Dato Formato Requerido Descripción
direccionEstablecimiento String - SI
Dirección de establecimiento o dirección de internet e IP cuando es virtual
ext:ExtensionContent/InfoEstablishment/InfoPoint/EstablishmentAddress
montoDeposito String - SI
Valor de la base o depósito de dinero
ext:ExtensionContent/InfoEstablishment/InfoPoint/MoneyDeposit
tipoJuego String - SI
Tipo de juego
ext:ExtensionContent/InfoEstablishment/GameInformation/MoneyDeposit
numeroInstrumento String - SI
Número de instrumentos de juegos
ext:ExtensionContent/InfoEstablishment/GameInformation/GameTypeTotal
creditoInstrumentoJuego List<Class.CreditoInstrumentoJuego> - SI
Grupo para informar valor diario crédito de un instrumento de juego
ext:ExtensionContent/InfoEstablishment/CreditValueOfTheMachine
(ver detalle en Class.CreditoInstrumentoJuego)

Class.LineaInformacionAdicional

Atributo Tipo Dato Formato Requerido Descripción
cantidad String AN|..5 NO
Cantidad adicional
PATH: ../cbc:ValueQuantity
codigo String AN|..5 NO
Código adicional
PATH: ../cbc:NameCode
codigoInterno1 String - NO
Opcional sin uso por ahora
PATH: No definido
codigoInterno2 String - NO
Opcional sin uso por ahora
PATH: No definido
descripcion String AN|..450 NO
Descripción adicional
PATH: ../cac:UsabilityPeriod/cbc:Description
fechaFin String AN|10 NO
Fecha final del período
PATH: ../cac:UsabilityPeriod/cbc:EndDate
fechaInicio String AN|10 NO
Fecha inicial del período
PATH: ../cac:UsabilityPeriod/cbc:StartDate
nombre String AN|..50 NO
Característica que quiere informar del ítem, por ejemplo: (Uso Vehículo)
Rechazo Por cada nombre debe existir un valor
PATH: ../cbc:Name
(Por definir catálogos de campos extensibles a nivel de detalle)
secuencia String AN|..3 NO
Indicador de orden de secuencia
PATH: No definido
tipo String N|1 NO
Indicador de Tipo de Valor, ejemplo Valor = ’1’
PATH: No aplica
valor String AN|..50 NO
Valor de la característica que se quiere informar, por ejemplo :(Particular)
Rechazo Por cada valor debe existir un name
PATH: ../cbc:Value

Class.MediosDePago

Atributo Tipo Dato Formato Requerido Descripción
codigoBanco String AN|..20 NO
Código del Banco o Entidad Financiera
PATH: ../cac:PayeeFinancialAccount/cbc:AccountTypeCode
codigoCanalPago String AN|..20 NO
Código del canal del pago
PATH: ../cbc:PaymentChannelCode
codigoReferencia String AN|..20 NO
Opcional sin uso por ahora
PATH: No definido
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor.
PATH: No definido
(ver detalle en Class.Extensible)
fechaDeVencimiento String AN|19 C/C
Fecha de Vencimiento del pago de la factura en formato: YYYY-MM-DD
Obligatorio Si la venta es a crédito
Rechazo: Si código del método de pago es “2” y no se envía la fecha de vencimiento
PATH: ../cbc:PaymentDueDate
medioPago String AN|..2 SI
Código correspondiente al medio de pago
Rechazo: Si el valor de este atributo no corresponde a un valor de la Tabla 13
PATH: ../cbc:PaymentMeansCode
metodoDePago String AN|..2 SI
Método de Pago
Rechazo: Si el valor de este atributo no corresponde a un valor de la Tabla 14
PATH: ../cbc:ID
nombreBanco String AN|..50 NO
Nombre del Banco o Entidad Financiera
PATH: ../cac:PayeeFinancialAccount/cbc:Name
numeroDeReferencia String AN|..200 NO
Identificador o referencia interna del Pago
PATH: ../cbc:PaymentID
numeroDias String N|..3 NO
Número de días para el pago
PATH: ../cbc:InstructionNote
numeroTransferencia String AN|..20 NO
Número de ransferência o número de cheque
PATH: ../cac:PayeeFinancialAccount/cbc:ID

Class.Obligaciones

Atributo Tipo Dato Formato Requerido Descripción
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor
PATH: No definido
(ver detalle en Class.Extensible)
obligaciones String AN|7 SI
Obligaciones del adquiriente
Rechazo Si el contenido de este atributo no corresponde a uno de los valores de la Tabla 17
PATH: ../cbc:TaxLevelCode
regimen String AN|2 NO
Opcional, si informado indicar “No aplica”. Posibles Valores:
48: “Impuesto sobre las ventas - IVA”
49: “No responsable de IVA”
PATH: .. /cbc:TaxLevelCode/@listName

Class.OrdenDeCompra

Atributo Tipo Dato Formato Requerido Descripción
codigoCliente String AN|..20 NO
Código del cliente
PATH: ../cbc:CustomerReference
documentoReferencia DocumentoReferencia - NO
Documento Referencia
PATH: ../cac:DocumentReference
(ver detalle en Class.DocumentoReferencia)
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor
PATH: No definido
(ver detalle en Class.Extensible)
fecha String AN|10 NO
Fecha de la Orden, en formato: YYYY-MM-DD HH:MM:SS
PATH: ../cbc:IssueDate
numeroOrden String AN|..20 SI
Número de la Orden de Compra
Obligatorio Para enviar la Orden de Compra
PATH: ../cbc:ID
numeroPedido String AN|..20 C/C
Número del Pedido
Obligatorio Para enviar el Pedido
PATH: ../cbc:SalesOrderID
tipoCUFE String AN|..20 NO
Identificador del tipo de CUFE
PATH: ../cbc:UUID@schemeName
tipoOrden String AN|..20 NO
Tipo de Orden
PATH: ../cbc:OrderTypeCode
uuid String AN|..90 NO
UUID de algún documento referenciado
PATH: ../cbc:UUID

NOTA: Al tratarse de una orden de entrega se debe informar la clase OrdenDeCompra, si es necesario indicar más de una orden se debe informar a través de la clase DocumentoReferenciado con codigoInterno =’1’, esto con el fin de enviar la información referente a las mismas en el grupo AdditionalDocumentReference.


Importante: En el caso del campo rangoNumeracion, éste valor siempre debe tener el siguiente formato (Pefijo-campoDesde), es decir, dicho campo es independiente de la modalidad de secuencial configurado en el portal (manual con prefijo o manual sin prefijo).

En el caso del campo consecutivoDocumento, este campo si depende de la modalidad de secuenciales configurados en el portal web.

  • Si la modalidad asignada es “manual sin prefijo”, los valores para los campos rangoNumeracion y consecutivoDocumento’ deben ser por ejemplo:
Factura #1: rangoNumeracion= "PRUE-1", consecutivoDocumento= "1"
Factura #2: rangoNumeracion= "PRUE-1", consecutivoDocumento= "2"
...
Factura #1000: rangoNumeracion= "PRUE-1", consecutivoDocumento= "1000"
  • Si la modalidad asignada es “manual con prefijo”, los valores para los campos rangoNumeracion y consecutivoDocumento deben ser por ejemplo:
Factura #1: rangoNumeracion= "PRUE-1", consecutivoDocumento= "PRUE1"
Factura #2: rangoNumeracion= "PRUE-1", consecutivoDocumento= "PRUE2"
...
Factura #1000: rangoNumeracion= "PRUE-1", consecutivoDocumento= "PRUE1000"

Class.serviciosPublicos

Atributo Tipo Dato Formato Requerido Descripción
tipo String - SI
Código del cliente
ext:ExtensionContent/SERVICES_SPD o ext:ExtensionContent/OTHERCOMPANY_SPD
consecutivo String - SI
Número de consecutive de linea
ext:UBLExtensions/ext:UBLExtension/cbc:ID
servicio String - SI
Servicio facturado
ext:UBLExtensions/ext:UBLExtension/cbc:Name
nombreEmpresaEmite String - SI
Nombre de la Empresa SPD que emite este DE
ext:UBLExtensions/ext:UBLExtension/ext:ExtensionAgencyName
nombreEmpresaRecaudo String - SI
Nombre de la Empresa SPD a cargo de este recaudo.
ext:UBLExtensions/ext:UBLExtension/ext:ExtensionReason
numeroContrato String - NO
numero del contrato SPD
ext:ExtensionContent/SERVICES_SPD/ID
peridodoConsumo String - NO
Periodo del consumo o Periodo o fecha de Consumo del servicio del SPD
ext:ExtensionContent/SERVICES_SPD/IssueDate
notaServicio String - NO
Campo utilizado para informacion adicional de texto libre
ext:ExtensionContent/SERVICES_SPD/Note
numeroDocumento String - NO
Campo utilizado para informacion adicional de texto libre
ext:ExtensionContent/SERVICES_SPD/Note
tipoIdentificacion String - NO
Tipo de Identificacion
ext:ExtensionContent/SERVICES_SPD/SenderParty/PartyIdentification/ID/@schemeName
numeroDocumentoDV String - CC
Digito de Verificacion
ext:ExtensionContent/SERVICES_SPD/SenderParty/PartyIdentification/ID/@schemeID
nombreEmpresaServicio String - NO
Nombre de la empresa prestadora del servicio
ext:ExtensionContent/SERVICES_SPD/SenderParty/PartyName/Name
nombreSuscriptor String - NO
Nombre del suscriptor y/o usuario
ext:ExtensionContent/SERVICES_SPD/SubscriberParty/SubscriberConsumption/SenderParty/PartyName/Name
direccion String - NO
Campo para informar Direccion de correspondencia del suscriptor
ext:ExtensionContent/SERVICES_SPD/SubscriberParty/SubscriberConsumption/SubscriberParty/PostalAddress/StreetName
direccionAdicional String - NO
Campo para informar una dirección adicional de entrega del suscriptor
ext:ExtensionContent/SERVICES_SPD/SubscriberParty/SubscriberParty/PostalAddress/AdditionalStreetName
ciudad String - NO
Nombre de la ciudad del suscriptor
ext:ExtensionContent/SERVICES_SPD/SubscriberParty/SubscriberConsumption/SubscriberParty/PostalAddress/CityName
departamento String - NO
Nombre del Departamento del suscriptor
ext:ExtensionContent/SERVICES_SPD/SubscriberParty/SubscriberConsumption/SubscriberParty/PostalAddress/CountrySubentity
estrato String - NO
Campo para información sobre el estrato o tipo de plan
ext:ExtensionContent/SERVICES_SPD/SubscriberParty/SubscriberConsumption/SubscriberParty/PostalAddress/ResidentialStratum
email String - NO
Correo electrónico de contacto
ext:ExtensionContent/SERVICES_SPD/SubscriberParty/SubscriberConsumption/SubscriberParty/ElectronicMail
cicloFacturacion String - NO
Campo para informar el ciclo de facturación
ext:ExtensionContent/SERVICES_SPD/SubscriberParty/SubscriberConsumption/DurationOfTheBillingCycle
periodicidad String - NO
Corresponde al ciclo de faturacion de cada empresa de servicios públicos
ext:ExtensionContent/SERVICES_SPD/SubscriberParty/SubscriberConsumption/DurationOfTheBillingCycle/@unitOfTime
notaDocumento String - NO
Información adicional: Texto libre, relativo al documento
ext:ExtensionContent/SERVICES_SPD/SubscriberParty/SubscriberConsumption/Note
cantidadUnidadTotal String - NO
Cantidad medida total, elemento utlizado para informar la cantidad de unidades consumidas en el periodo.
ext:ExtensionContent/SERVICES_SPD/SubscriberParty/SubscriberConsumption/ConsumptionSection/SPDDebitsForPartialConsumption/SPDDebitForPartialConsumption/TotalMeteredQuantity
unidadmedida String - NO
Valida la Unidad de Medida de la cantidad del servicio solicitado
ext:ExtensionContent/SERVICES_SPD/SubscriberParty/SubscriberConsumption/ConsumptionSection/SPDDebitsForPartialConsumption/SPDDebitForPartialConsumption/TotalMeteredQuantity/@unitCode

Class.TasaDeCambio

Atributo Tipo Dato Formato Requerido Descripción
baseMonedaDestino String Ent: N|..15

Dec: N|0..6

SI
Base monetaria para la conversión.
Debe ser 1.00
Rechazo Si trae valor diferente a 1.00
PATH: ../cbc:TargetCurrencyBaseRate
baseMonedaOrigen String Ent: N|..15

Dec: N|0..6

SI
Base monetaria de la divisa extranjera para el cambio.
Debe ser 1.00
Rechazo Si trae valor diferente a 1.00
PATH: ../cbc:SourceCurrencyBaseRate
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor
PATH: No definido
(ver detalle en Class.Extensible)
fechaDeTasaDeCambio String AN|10 SI
Fecha en la que se fijó la tasa de cambio, en formato: YYYY-MM-DD
PATH: ../cbc:Date
indicadorDeTasa String - NO
Indicador de Tasa de Cambio
PATH: ../cbc:ExchangeMarketID
monedaDestino String AN|3 SI
Código de moneda destino del documento.
Rechazo Si el contenido de este elemento no es ‘COP’
PATH: ../cbc:TargetCurrencyCode
monedaOrigen String AN|3 SI
Código de moneda base del documento
Rechazo Si el contenido de este elemento no corresponde al estándar ISO-4217

PATH: ../cbc:SourceCurrencyCode

operadorCalculo String - NO
Operador de Calculo
PATH: ../cbc: MathematicOperatorCode
tasaDeCambio String Ent: N|..15

Dec: N|0..6

SI
Valor de la tasa de cambio entre las divisas. Se debe diligenciar con el valor de la tasa de cambio.
Por ejemplo para USD-COP puede ser el valor de la TRM o tasa acordada entre las partes (Valor reportado * Valor de tasa de cambio = Valor reportado en divisa informado en monedaDestino)
PATH: ../cbc:CalculationRate

Class.TasaDeCambioAlternativa

Atributo Tipo Dato Formato Requerido Descripción
baseMonedaDestino String Ent: N|..15

Dec: N|0..6

SI
Base monetaria para la conversión.
Debe ser 1.00
Rechazo Si trae valor diferente a 1.00
PATH: ../cbc:TargetCurrencyBaseRate
baseMonedaOrigen String Ent: N|..15

Dec: N|0..6

SI
Base monetaria de la divisa extranjera para el cambio.
Debe ser 1.00
Rechazo Si trae valor diferente a 1.00
PATH: ../cbc:SourceCurrencyBaseRate
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor
PATH: No definido
(ver detalle en Class.Extensible)
fechaDeTasaDeCambio String AN|10 SI
Fecha en la que se fijó la tasa de cambio, en formato: YYYY-MM-DD
PATH: ../cbc:Date
indicadorDeTasa String - NO
Indicador de Tasa de Cambio
PATH: ../cbc:ExchangeMarketID
monedaDestino String AN|3 SI
Código de moneda destino del documento.
Rechazo Si el contenido de este elemento no es ‘COP’
PATH: ../cbc:TargetCurrencyCode
monedaOrigen String AN|3 SI
Código de moneda base del documento
Rechazo Si el contenido de este elemento no corresponde al estándar ISO-4217
PATH: ../cbc:SourceCurrencyCode
operadorCalculo String - NO
Operador de Calculo
PATH: ../cbc: MathematicOperatorCode
tasaDeCambio String Ent: N|..15

Dec: N|0..6

SI
Valor de la tasa de cambio entre las divisas. Se debe diligenciar con el valor de la tasa de cambio.
Por ejemplo para USD-COP puede ser el valor de la TRM o tasa acordada entre las partes (Valor reportado * Valor de tasa de cambio = Valor reportado en divisa informado en monedaDestino)
PATH: ../cbc:CalculationRate

Class.TerminosEntrega

Atributo Tipo Dato Formato Requerido Descripción
cargosDescuentos Array <CargosDescuentos> - NO
Informaciones relacionadas con un cargo o un descuento
PATH: ../cac:AllowanceCharge
(ver detalle en Class.CargosDescuentos)
codigoCondicionEntrega String AN|3 C/C
Código de Condiciones de Entrega
Obligatorio Se es factura de exportación/internacional
Rechazo: Si el valor de este atributo no corresponde a un valor de la Tabla 15
PATH: ../cbc:LossRiskResponsibilityCode
costoTransporte String Por Definir NO
Método de pago del transporte: Se utiliza para indicar como se pagan los costes del transporte, por ejemplo: http://www.unece.org/
PATH: ../cbc: SpecialTerms
direccionEntrega Class.Direccion - NO
Información donde se detalle la dirección de entrega
PATH: ../cac:DeliveryLocation
(ver detalle en Class.Direccion)
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor.
PATH: No definido
(ver detalle en Class.Extensible)
identificacion String AN|..12 NO
Numero Identificación
PATH: ../cbc:ID
monto String Ent: N|..15

Dec: N|0..6

NO
Monto
PATH: ../cbc:Amount
responsableEntrega String AN|..50 NO
Descripción de quien asume la responsabilidad en caso de que la mercancía se pierda
PATH: ../cbc:LossRisk

Class.Valor

Atributo Tipo Dato Formato Requerido Descripción
numero String - NO
Referente al numero que indica el valor correspondiente
unidad string - NO
Referente a la unidad que indican en la valor

Class.Residuos

Atributo Tipo Dato Formato Requerido Descripción
residuosHistorico Array - NO
(ver detalle en Class.residuosHistorico)
totalNoAprovechable array - NO
(ver detalle en ClassValor)
totalLimpiezaBarrido array - NO
(ver detalle en ClassValor)
totalLimpiezaUrbana array - NO
(ver detalle en ClassValor)
totalResiduosInutiles array - NO
(ver detalle en ClassValor)

Class.ResiduosHistorico

Atributo Tipo Dato Formato Requerido Descripción
valor Array - NO
(ver detalle en Class.Valor)
usable string - NO
Referente al material aprovechable de los residuos
periodoDesde string - NO
Referencia a el periodo inicial
periodoHasta string - NO
Referencia a el periodo final

Class.Tributos

Atributo Tipo Dato Formato Requerido Descripción
codigoImpuesto String AN|2 SI
Identificador del tributo
Rechazo Si el contenido de este elemento no corresponde a uno de los códigos de la Tabla 11
PATH: ../cbc:ID
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor.
PATH: No definido (ver detalle en Class.Extensible)


RESPONSE
Parámetros a Recibir
Tipo Identificación Descripción
int codigo Indica el Estado de la operación retornado por el servicio, (Por definir catálogo)
String consecutivoDocumento Prefijo y Consecutivo del Documento concatenado sin separadores. Para el ejemplo anterior corresponde a: “PRUE980338337”
String cufe “Código Único de Factura Electrónica” correspondiente al documento consultado.
Bool esValidoDian “true” Si es válido
String fechaAceptacionDIAN Día y Hora en la que la DIAN aceptó el documento electrónico, en formato AAAA-MM-DD HH:MM:SS
String fechaRespuesta Día y Hora en la que se generó el documento electrónico, en formato AAAA-MM-DD HH:MM:SS
String hash Código de detección de errores
String mensaje Este mensaje está asociado al código de respuesta, útil para identificación de errores
Array mensajesValidacion Mensajes de validación en caso de notificación o rechazo
String nombre Nombre definido por la DIAN
String qr Concatenación cadena del código QR (elemento de control)
Array reglasNotificacionDIAN Reglas de validación en caso de notificación
Array reglasValidacionDIAN Reglas de validación en caso de rechazo
String resultado Resultado del consumo del método: Procesado” ó “Error”
String tipoCufe Algoritmo del tipo de CUFE. “CUFE-SHA384” ó “CUDE-SHA384”
String xml Archivo XML (tipo AttachedDocument) codificado en Base64

Una vez realizado el envío exitoso de la factura electrónica (código ‘200’ o ‘201’ en la respuesta), se procede a enviar los archivos adjuntos (a través del método CargarAdjuntos) consumiendo el Servicio Adjuntos Web SOAP, en el escenario de que el parámetro adjuntos se haya asignado en “1” u “11”, en caso contrario el Servicio Adjuntos Web SOAP retornará un error indicando que el documento NO admite adjuntos.

Método DescargaXML

Permite la descarga del documento XML (solo el documento electrónico Invoice, CreditNote y DebitNote), en caso que se requiera validar la información como la firma o la autenticidad de la misma o para efecto de manejo y almacenamiento local.

REQUEST
Parámetros a Enviar
Tipo Identificador Descripción
String tokenEmpresa Suministrado por The Factory HKA Colombia
tokenPassword
Documento Prefijo y Consecutivo del Documento electrónico concatenado sin separadores. Ejemplo “PRUE980338212
RESPONSE
Parámetros a Recibir
Tipo Identificador Descripción
int codigo Indica el Estado de la operación retornado por el servicio
String cufe “Código Único de Factura Electrónica” correspondiente al documento consultado
String documento Documento XML (Documento equivalente) codificado en Base64
String hash Código de detección de errores
String mensaje Este mensaje está asociado al codigo, útil para identificación de errores
String nombre Este mensaje está asociado al nombre
String resultado Resultado del consumo del método:
“Procesado” ó “Error”
String tipoCufe correspondiente al documento consultado

Método GenerarContenedor

Un contendor es un tipo de documento AttachedDocument, la estructura de éste tiene por objetivo contener y transmitir en un único archivo XML un documento electrónico (Documento equivalente) y todos los eventos (ApplicationResponse) generados hasta la fecha.

REQUEST
Parámetros a Enviar
Tipo Identificador Descripción
String tokenEmpresa Suministrado por The Factory HKA Colombia
tokenPassword
Documento Prefijo y Consecutivo del Documento electrónico concatenado sin separadores. Ejemplo “PRUE980338212
RESPONSE
Parámetros a Recibir
Tipo Identificador Descripción
int Código Indica el Estado de la operación retornado por el servicio
String Contenedor Documento XML (AttachedDocument) codificado en Base64
String Fecha Fecha y Hora consumo del método, formato: AAAA-MM-DD HH:MM:SS
String Hash Código de detección de errores
String Mensaje Este mensaje está asociado al codigo, útil para identificación de errores.
String Nombre Este mensaje está asociado al nombre.
String Resultado Resultado del consumo del método:
“Procesado” ó “Error”


Para mayor información pude visitar la siguiente sección:
 Tips Urls de Emisión

Método EnvioCorreo

Permite reenviar a una o varias direcciones de correos el documento indicado.

REQUEST
Parámetros a Enviar
Tipo Identificador Descripción
String tokenEmpresa Suministrado por The Factory HKA Colombia
tokenPassword
Documento Prefijo y consecutivo del Documento Electrónico concatenado sin separadores. Ejemplo “PRUE980338212”. Permite enviar múltiples destinatarios (máximo 5) separados por coma el carácter coma ‘,’
correo Correo electrónico al que se enviará el documento. Ejemplo nombre@empresa.com
adjuntos
“0”: Realiza el reenvio del correo sin adjuntos
“1”: Realiza el reenvio del correo con los adjuntos almacenados durante la emisión del documento.
RESPONSE
Parámetros a Recibir
Tipo Identificador Descripción
int codigo Indica el Estado de la operación retornado por el servicio
String mensaje Este mensaje está asociado al código, útil para identificación de errores
resultado Resultado del consumo del método:
“Procesado” ó “Error”

@Importante: Si durante la emisión del documento (método Enviar) el parámetro adjuntos se asignó en “10” u “11”, la plataforma The Factory HKA - DFACTURE no generará representación gráfica (PDF) estándar, por lo tanto solo será reenviado a los destinatarios los documentos alojados en la plataforma (AttachedDocument). Para realizar un reenvío de correo (con el AttachedDocument y adjuntos) a una dirección de email diferente a la utilizada durante la emisión se puede consumir nuevamente el método CargarAdjuntos del Servicio Adjuntos Web SOAP.

Método EstadoDocumento

Permite consultar el estado del documento indicado ante el Adquiriente, ante la DIAN, el tipo de entrega y si la misma fue exitosa, la lista de eventos (ApplicationResponse) asociados y otros parámetros de interés que puedes ser útil en los procesos de control del software de facturación (ERP) o para el modelo de negocio del cliente emisor.

REQUEST
Parámetros a Enviar
Tipo Identificador Descripción
String tokenEmpresa Suministrado por The Factory HKA Colombia
tokenPassword
Documento Prefijo y Consecutivo del Documento electrónico concatenado sin separadores. Ejemplo “PRUE980338212
RESPONSE
Parámetros a Recibir
Tipo Identificador Descripción
Bool aceptacionFisica Indica si el documento posee aceptación física (entregado físicamente): “true” o “false”
String acuseComentario Comentario informado por el adquiriente al realizar el acuse
String acuseEstatus 0: Acuse no realizado ; 1: Acuse realizado
String acuseResponsable Email del responsable de realizar el acuse
String acuseRespuesta 0: Respuesta no enviada ; 1: Respuesta enviada
String ambiente Tipo de ambiente de generación del documento:
“1: ambienteDeProducción”
“2: ambienteDePruebas”
String cadenaCodigoQR Concatenación cadena del código QR (elemento de control)
String cadenaCufe Concatenación cadena del código CUFE previo al cálculo por el algoritmo correspondiente del servicio
int Codigo Indica el estado de la operación retornado por el servicio
String consecutivo Consecutivo del Documento TFHKA/DIAN
String cufe “Código Único de Factura Electrónica” correspondiente al documento consultado, calculado por el algoritmo correspondiente del servicio
String descripcionDocumento Identificador del tipo de documento de referencia,
Ejemplo: “Factura de Venta Nacional”
String descripcionEstatusDocumento Descripción correspondiente al estatusDocumento ante la DIAN: “Procesado Correctamente”
String entregaMetodoDIAN Indica el método de Entrega a la DIAN
(Síncrono ó Asyncrono), (Individual ó Lote)
Bool esValidoDIAN
“true” Si es válido
“false” Si no es válido
String estatusDocumento Código obtenido en la respuesta correspondiente al estado del documento ante la DIAN (Por definir catálogo)
Array <Evento> eventos Lista de eventos del Documento Electrónico
String fechaAceptacionDIAN Día y Hora en la que la DIAN aceptó el documento electrónico, en formato AAAA-MM-DD HH:MM:SS
String fechaDocumento Fecha en la que se generó el documento, en formato: AAAA-MM-DD
Array <HistorialDeEntregas> historialDeEntregas Histórico de las entregas del documento
String mensaje Este mensaje está asociado al codigo, útil para identificación de errores
String mensajeDocumento Entrega una descripción del error de cada una de las validaciones iniciales. Si no hay errores no entrega descripción
Bool poseeAdjuntos Indica si el documento posee adjuntos:
“true” o “false”
Bool poseeRepresentacionGrafica Indica si el documento posee representación gráfica:
“true” o “false”
Array <String> reglasValidacionDIAN Mensajes de validación por parte de la DIAN
String resultado Resultado del consumo del método:
“Procesado” ó “Error”
String tipoCufe Algoritmo utilizado para calcular CUFE:
SHA-256, SHA-384, SHA-512
String tipoDocumento Identificador del tipo de documento de referencia
Ver Tabla 1
String trackID Este elemento corresponde al TrackId del documento procesado

Método DescargaPDF

Permite descargar la representación gráfica estándar (PDF generado por TFHKA) del documento para efectos de almacenamiento local, consulta local o reimpresión.

REQUEST
Parámetros a Enviar
Tipo Identificador Descripción
String tokenEmpresa Suministrado por The Factory HKA Colombia
tokenPassword
documento Prefijo y consecutivo del Documento Electrónico concatenado sin separadores. Ejemplo “PRUE980338212”
RESPONSE
Parámetros a Recibir
Tipo Identificador Descripción
int codigo Indica el Estado de la operación retornado por el servicio
String tipocufe correspondiente al documento consultado.
String cufe “Código Único de Factura Electrónica” correspondiente al documento consultado.
String documento Documento PDF codificado en Base64
String hash Código de detección de errores
String mensaje Este mensaje está asociado al codigo, útil para identificación de errores
String resultado Resultado del consumo del método:
“Procesado” ó “Error”

@Importante: Si durante la emisión del documento (método Enviar) el parámetro adjuntos se asignó en “10” u “11”, la plataforma The Factory HKA - DFACTURE no generará representación gráfica (PDF) estándar, por lo tanto no se puede consumir éste método ya que el servicio arrojará un error indicando que NO existe PDF asociado, ya que se asume que la representación gráfica ha sido generada de manera local por el software de facturación (ERP).