Métodos Servicio Emisión Web Soap - Indice Manual Integración Directa

De tfhkacolwiki
Ir a la navegación Ir a la búsqueda

Método Servicio Emisión Web Soap

Los parámetros a incorporar en los métodos de este Web Service deberán cumplir con el formato y las directivas que correspondan según las siguientes reglas:

Formato Descripción
A Carácter alfabético
N Carácter numérico
AN Carácter alfanumérico
A|3 3 caracteres alfabéticos (longitud fija)
N|3 3 caracteres numéricos (longitud fija)
AN|3 3 caracteres alfanuméricos (longitud fija)
A|..3 Hasta 3 caracteres alfabéticos (longitud variable)
N|..3 Hasta 3 caracteres numéricos (longitud variable)
AN|..3 Hasta 3 caracteres alfanuméricos (longitud variable)
N|2..6 Entre 2 y 6 caracteres numéricos (longitud variable)
INT32 Entero. (Valor Máximo: 2,147,483,647)


Obligatorio Descripción
SI Si es obligatorio para la DIAN
NO No es obligatorio para la DIAN
C/C Es requerido cuando corresponda (o bajo cierta condición por el modelo de negocio del cliente)

Método Enviar

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

REQUEST
Parámetros a Enviar
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


@IMPORTANTE: En caso de enviarse en el parámetro adjuntos el valor “1” u “11”, no se enviará correo electrónico hasta que se consuma el método CargarAdjuntos (Servicio Adjuntos Web SOAP). Para documentos que admiten adjuntos el campo Destinatario.email del cliente es requerido y el campo notificar debe estar en “SI”.

ADVERTENCIA: Si se utiliza las opciones ‘10’ u ‘11’ en el parámetro adjuntos, nuestra plataforma no generará representación gráfica (PDF) estándar, por lo tanto no se aloja PDF en la misma y no se podrá visualizar la representación gráfica desde el portal web, en el correo de notificación hacia el adquiriente (sección visualizar documento), tampoco realizar la descarga a través del método DescargaPDF del Servicio Emisión Web SOAP o reenviar la representación gráfica a través del método EnvioCorreo, ya que se está asumiendo que la misma ha sido generada de manera local por el software de facturación (ERP).

A continuación, se expone el diagrama del objeto factura para el modelo de facturación con validación previa, donde se pueden apreciar los cambios en la estructura del mismo con respecto al objeto utilizado en el modelo con validación posterior:

  • En Azul clases/atributos nuevos que no estaban presentes en el modelo de validación posterior.
  • En Amarillo clases/atributos existentes en el modelo de validación posterior que sufrieron cambios en validación previa.
  • En Naranja clases/atributos existentes en el modelo de validación posterior que están en desuso (eliminados) en validación previa.


A continuación se describen con mayor detalle el objeto factura para el modelo de facturación con validación previa:

Diagrama Class.FacturaGeneral con Class.Anticipos, Class.Autorizado y Class.CargosDescuentos
Diagrama Class.FacturaGeneral con Class.Anticipos, Class.Autorizado y Class.CargosDescuentos


Diagrama Class.FacturaGeneral con Class.Cliente

Diagrama Class.FacturaGeneral con Class.Cliente


Diagrama Class.FacturaGeneral con Class.CondicionPago

Diagrama Class.FacturaGeneral con Class.CondicionPago


Diagrama Class.FacturaGeneral con Class.FacturaDetalle

Diagrama Class.FacturaGeneral con Class.FacturaDetalle


Diagrama Class.FacturaGeneral con Class.DocumentoReferenciado

Diagrama Class.FacturaGeneral con Class.DocumentoReferenciado


Diagrama Class.FacturaGeneral Class.EntregaMercancia

Diagrama Class.FacturaGeneral Class.EntregaMercancia


Diagrama Class.FacturaGeneral con Class.Extras. Class.FacturaImpuestos, Class.ImpuestosTotales, Class.MediosDePago, Class.OrdenDeCompra y Array - informacionAdicional

Diagrama Class.FacturaGeneral con Class.Extras. Class.FacturaImpuestos, Class.ImpuestosTotales, Class.MediosDePago, Class.OrdenDeCompra y Array - informacionAdicional


Diagrama Class.FacturaGeneral con Class.TasaDeCambio, Class.TasaDeCambioAlternativa y Class.TerminosEntrega

Diagrama Class.FacturaGeneral con Class.TasaDeCambio, Class.TasaDeCambioAlternativa y Class.TerminosEntrega

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)
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)
condicionPago Array <CondicionPago> - NO
Información relacionada con la condición de pago
PATH: /root/cac:PaymentTerms
(ver detalle en Class.CondicionPago)
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)
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
mediosDePago Array <MediosDePago> - SI
Información relacionada con el pago de la factura
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
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
sectorSalud sectorSalud - C/C
Información relacionada con emisiones del Sector Salud Obligatorio: Cuando se informa tipoSector = ‘2’
(ver detalle en Class.sectorSalud)
tasaDeCambio 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
tipoSector String N|| SI
Para emisión de documentos del Sector Salud indicar el código ‘2’ en este campo
PATH: Invoice, CreditNote, DebitNote
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.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.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.CondicionPago

Atributo Tipo Dato Formato Requerido Descripción
codigoEvento String AN|..3 NO
Codigo de Evento
PATH: ../cbc:ReferenceEventCode
comentario String AN|..50 NO
Nota
PATH: ../cbc:Note
duracionPeriodo String AN|..2 NO
Duración de Periodo
PATH: ../cac:SettlementPeriod/cbc:DurationMeasure
duracionPeriodoMedida String AN|..10 NO
Unidad de medida de la duración de periodo
PATH: ../cac:SettlementPeriod/cbc:DurationMeasure@unitCode
extras Array <Extensible> - NO
Campos o información opcional para el modelo de negocio del emisor
PATH: No definido
fechaVencimiento String AN|..10 SI
Fecha de Vencimiento
PATH: ../cbc:PaymentDueDate
identificador String AN|..2 NO
Condiciones de Pago
PATH: ../cbc:ID
medioPagoAsociado String AN|..2 NO
Medio Pago asociado
PATH: ../cbc:PaymentMeansID
monto String Ent: N|..15 SI
Monto
PATH: ../cbc:Amount
montoMulta String Ent: N|..15

Dec: N|0..6

SI
Monto de la multa
PATH: ../cbc:PenaltySurchargePercent
montoPenalidad String Ent: N|..15

Dec: N|0..6

SI
Monto de la Penalidad
PATH: ../cbc:PenaltyAmount
periodoDesde String AN|..10 NO
Periodo desde
PATH: ../cbc:StartDate
periodoHasta String AN|..10 NO
Periodo hasta
PATH: ../cbc:EndDate
porcentajeDescuento String Ent: N|..6

Dec: N|2

NO
Porcentaje de Descuento
PATH: ../cbc:SettlementDiscountPercent
porcentajePago String Ent: N|..6

Dec: N|2

SI
Porcentaje de Pago
PATH: . /cbc:PaymentPercent
referenciaAnticipo String AN|..20 NO
Numero de referencia de Anticipo
PATH: ../cac:PrepaidPaymentReferenceID

Class.Coordenadas

Atributo Tipo Dato Formato Requerido Descripción
gradosLatitud String Por Definir NO
Medida de la latitud en grados
PATH: ../cbc:LatitudeDegreesMeasure
gradosLongitud String Por Definir NO
Medida de la longitud en grados
Rechazo Unidad superior a 60 minutos
PATH: ../cbc:LongitudeDegreesMeasure
minutosLatitud String N|…5|2.2 NO
Medida de la latitud en minutos decimales en formato mm.mm
PATH: ../cbc:MarkAttentionIndicator
minutosLongitud String N|…5|2.2 NO
Medida de la longitud en minutos decimales en formato mm.mm
Rechazo Unidad superior a 60 minutos
PATH: ../cbc:LongitudeMinutesMeasure
orientacionLatitud String AN|1 NO
Sentido de medida de la latitud con relación al Ecuador
PATH: ../cbc:LatitudeDirectionCode
orientacionLongitud String AN|1 NO
Sentido de medida de la longitud con relación al Ecuador
PATH: ../cbc:LongitudeDirectionCode

Class.DatosTransportistas

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.Direccion

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.DocumentoReferencia

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 electrónica 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 emision 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, Ejemplo: “Factura de Venta Nacional”
OBLIGATORIO Para Documento soporte este campo debe ser 05.
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
Para Documento soporte este campo debe ser 05.
PATH: No definido

@IMPORTANTE:

  1. 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, descripción.
    • 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.
  2. 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).
  3. Para referenciar Documentos de Despacho (codigoInterno = ’2’) o Documentos de Recepción (codigoInterno = ‘3’) se validan los campos: numeroDocumento y fecha.

|}

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.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

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.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.

Class.sectorSalud

Atributo Tipo Dato Formato Requerido Descripción
Beneficiario Beneficiario - C/C
Datos complementarios del beneficiario del servicio de salud para escenarios de recaudo.
PATH: ../cac:AccountingCustomerParty/cac:Person
(ver detalle en Class.Beneficiario)
extras Array <Extras> - NO
Campos o información opcional para el modelo de negocio del emisor.
PATH: No definido
(ver detalle en Class.Extras)
IdPersonalizacion String Por definir C/C
Para indicar tipo de operacion a traves de la cual se realizó el recaudo en los escenarios de acreditación o reporte
PATH: Por definir
Pacientes Array <DatosPacienteSalud> - C/C Para el reporte de los campos de datos adicionales del Sector Salud
(ver detalle en Class.DatosPacientesSalud)
TipoEscenario String N|1 SI
Tipo de Escenario Sector Salud. Tabla 27

NOTA: La emisión de documentos del sector salud solo se encuentra disponible a través de la versión 4 del servicio de emisión.

Class.Beneficiario

Atributo Tipo Dato Formato Requerido Descripción
DireccionResidencia Direccion - C/C
Información donde se detalle la dirección del beneficiario del servicio de salud.
PATH: ../cac:ResidenceAddress
(ver detalle en Class.Direccion)
TipoIdentificacion Array <GeneralSalud> - C/C
Tipo de Identificación del usuario beneficiario del servicio de salud.
PATH: cbc:ID/@schemeID

Class.DatosPacientesSalud

Atributo Tipo Dato Formato Requerido Descripción
CamposGenerales Array <GeneralSalud> - C/C
Campos de datos adicionales del Sector Salud para reporte de información asociada a los beneficiarios del servicio de salud
PATH: Invoice/ext:UBLExtensions/ext:UBLExtension
(ver detalle en Class.Direccion)
TipoIdentificacion Array <GeneralSalud> - C/C
Tipo de Identificación del usuario beneficiario del servicio de salud.
PATH: cbc:ID/@schemeID
(ver detalle en Class.GeneralSalud)

Class.GeneralSalud

Atributo Tipo Dato Formato Requerido Descripción
nombre String ..2 Si
Código del campo de dato adicional.
PATH:../Interoperabilidad/Group schemeName="Sector Salud"/Collection schemeName="Usuario"/AdditionalInformation/Name
@Nota: Debe corresponder a uno de los códigos de la columna Tabla 28
valor String Depende del campo Si
Valor del campo de datos adicional del sector salud según corresponda.
PATH: ../Interoperabilidad/Group schemeName="Sector Salud"/Collection schemeName="Usuario"/AdditionalInformation/Value

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.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.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 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

Donde Class.Evento contiene la siguiente información:

Tipo Identificador Descripción
String ambienteDIAN Ambiente de generación en la DIAN:
“1:ambienteDeProducción”
“2:ambienteDePruebas”
String codigo Código el documento del Application Response (evento)
String comentario Comentario del evento
String cufe CUFE del documento electronico
String descripcionEvento Descripción de uso/origen del evento
String emisorNumeroDocumento Número de Identificación del Emisor
String emisorNumeroDocumentoDV Dígito Verificador del Número de Documento del Emisor
String emisorRazonSocial Razón Social del Emisor
String emisorTipoIdentificacion Tipo de Identificación del Emisor
Array <ExtrasEvento> extras Información extra correspondiente al evento
String fechaEmision Fecha de Emisión del Application Response (evento)
String fechaRecepcion Fecha de Recepción del Application Response (evento)
String hash Hash del documento Application Response
String idPerfilDIAN Perfil de la DIAN
String mensaje Mensaje de descripción del ApplicationResponse
String nombreArchivoXML Nombre del archivo XML
String nota Contenido del campo Note del Application Response
String numeroDelEvento Consecutivo del Application Response
String receptorNumeroDocumento Número de Identificación del Receptor
String receptorNumeroDocumentoDV Dígito Verificador del Número de Documento del Receptor
String receptorRazonSocial Razón Social del Receptor
String receptorTipoIdentificacion Tipo de Identificación del Receptor
String resultado Resultado del consumo del método:
“Procesado” ó “Error”
String tipoCufe Algoritmo utilizado para calcular CUDE del evento:
SHA-256, SHA-384, SHA-512
String tipoEvento Identificador del tipo de Evento:
(Interno/ApplicationResponse)
String versionUBL Versión UBL del XML

Y Class.ExtrasEvento contiene la siguiente información:

Tipo Identificador Descripción
String codigoInterno1 Etiqueta
String codigoInterno2 Descripción Adicional
String nombre Código del campo
String valor Información Adicional

Class.HistorialDeEntregas corresponderá a:

Tipo Identificador Descripción
String LeidoEmailIPAddress Dirección IP del computador en el cual se realizó el acuse del correo de notificación
String LeidoEstatus Estatus del acuse del correo de notificación
String LeidoFecha Fecha del acuse del correo de notificación
String canalDeEntrega Canal de entrega del documento electrónico
Array <String> email Email del receptor del documento electrónico
String entregaEstatus Estatus de la entrega:
‘0’: Correo no enviado
‘200’: Correo enviado
String entregaEstatusDescripcion Descripción del Estatus de la entrega
String entregaFecha Fecha de la Entrega del documento
String fechaProgramada Fecha de la Entrega
String mensajePersonalizado Mensaje personalizado para entrerga por Email, Whatsaap o Telegram
String nitProveedorReceptor NIT del Proveedor Tecnológico receptor, en caso de entrega por Interoperabilidad
String recepcionEmailComentario Comentario de Acuse de Recibo del Cliente
String recepcionEmailEstatus Estatus de recepción del Correo Electrónico
1: Aceptado
2: Rechazado
3: En verificación
String recepcionEmailFecha Fecha de recepción del Correo Electrónico
String recepcionEmailIPAddress Dirección IP de recepción del Correo Electrónico
String telefono Para entrega por Whatsapp/Telegram

@Importante: La estructura de éste Response, aún puede estar sujeta a cambios en una próxima actualizació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 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 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).

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 (Invoice, CreditNote ó DebitNote) 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”

Método FoliosRestantes

Permite consultar los timbres (transacciones) disponibles. Los timbres son consumidos en proporción a las transacciones realizadas.

REQUEST
Parámetros a Enviar
Tipo Identificador Descripción
String tokenEmpresa Suministrado por The Factory HKA Colombia
tokenPassword
RESPONSE
Parámetros a Recibir
Tipo Identificador Descripción
int codigo Indica el Estado de la operación retornado por el servicio
int foliosRestantes Cantidad de folios disponibles
String mensaje Este mensaje está asociado al codigo, útil para identificación de errores
String resultado Resultado del consumo del método:
“Procesado” ó “Error”

Método CargarCertificado

Este método por ahora se mantendrá solo como uso interno de The Factory HKA Colombia.

Método DescargarEventoXML

Permite descargar un evento u ocurrencia (ApplicationResponse) relacionado con un Documento Electrónico (Invoice, CreditNote ó DebitNote), generado por una persona o entidad relacionada con esto documento (DIAN, Emisor, Adquiriente).

REQUEST
Parámetros a Enviar
Tipo Identificador Descripción
String tokenEmpresa Suministrado por The Factory HKA Colombia
tokenPassword
documentoEvento Consecutivo del evento (ApplicationResponse)
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 Cufe CUFE del evento (ApplicationResponse)
String Documento Documento XML (ApplicationResponse) codificado en Base64
String fechaRespuesta 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 Resultado Resultado del consumo del método:
“Procesado” ó “Error”
String tipoCufe Algoritmo utilizado para calcular CUFE:
SHA-256, SHA-384, SHA-512

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 (Invoice, CreditNote ó DebitNote) 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 Resultado Resultado del consumo del método:
“Procesado” ó “Error”

Método GenerarEvento

Permite generar un evento u ocurrencia (ApplicationResponse) asociado a un Documento Electrónico (Invoice, CreditNote ó DebitNote), generado por una persona o entidad relacionada con esto documento (DIAN, Emisor, Adquiriente).

REQUEST
Parámetros a Enviar
Tipo Identificador Descripción
String tokenEmpresa Suministrado por The Factory HKA Colombia
tokenPassword
DatosEvento datosEvento Objeto con los datos del evento (ApplicationResponse) a generar

Donde Class.DatosEvento contiene la siguiente información:

Tipo Identificador Descripción
String codigoEvento Indica el código del evento (Por definir catálogo)
String codigoInterno1 Etiqueta
String codigoInterno2 Descripción Adicional
String Comentario Comentario o descripción del evento
String Documento Prefijo y consecutivo del Documento Electrónico concatenado sin separadores. Ejemplo “PRUE980338212”
Array <ExtrasEvento> Extras Información adicional del evento

Donde Class.ExtrasEvento contiene la siguiente información:

Tipo Identificador Descripción
String codigoInterno1 Etiqueta
String codigoInterno2 Descripción Adicional
String Nombre Código del campo
String valor Información adicional
RESPONSE
Parámetros a Recibir
Tipo Identificador Descripción
int Código Indica el Estado de la operación retornado por el servicio
String consecutivoDocumentoEvento Consecutivo del evento (ApplicationResponse)
String Cufe CUFE del evento (ApplicationResponse)
String fechaRespuesta 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 Resultado Resultado del consumo del método:
“Procesado” ó “Error”
String tipoCufe Algoritmo utilizado para calcular CUFE:
SHA-256, SHA-384, SHA-512
String Xml Documento XML (ApplicationResponse) codificado en Base64

Método EstadoCertificado

Permite conocer el estado del certificado digital adquirido en ambiente demo o ambiente producción, indica su vigencia y los días restantes para cumplir su vencimiento.

REQUEST
Parámetros a Enviar
Tipo Identificador Descripción
String tokenEmpresa Suministrado por The Factory HKA Colombia
tokenPassword
RESPONSE
Parámetros a Recibir
Tipo Identificador Descripción
String active Indica el Estatus actual en el que se encuentra el certificado digital
String dateFrom Indica la fecha desde la cual se encuentra activo el certificado digital
String dateTo Indica la fecha de vencimiento del certificado digital.
Int identification Muestra el numero de identificación del contribuyente al que pertenece el certificado
Int codigo Indica el Estado de la operación retornado por el servicio
String mensaje Este mensaje está asociado a los días faltantes para el vencimiento del certificado digital.

@IMPORTANTE: El consumo de este método está contemplado solamente con la versión url V4 del servicio a través de Web Service.

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