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

De tfhkacolwiki
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
“1” Admite archivos adjuntos. Se genera XML y representación Gráfica estándar por The Factory HKA
“10” No se admiten adjuntos. Se genera sólo XML sin representación Gráfica estándar por The Factory HKA
“11” Admite archivos adjuntos. Se genera sólo XML sin 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.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.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