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.Cliente
Diagrama Class.FacturaGeneral con Class.CondicionPago
Diagrama Class.FacturaGeneral con Class.FacturaDetalle
Diagrama Class.FacturaGeneral con Class.DocumentoReferenciado
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.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:
- AdditionalDocumentReference (FE de contingencia y para acciones comerciales y mercantiles)
- DespatchDocumentReference (Doc. De despacho)
- ReceiptDocumentReference (Doc. De recepción)
- DiscrepancyResponse (N.C y N.D)
- 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:
- 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.
- 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).
- 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:
- AdditionalDocumentReference (FE de contingencia y para acciones comerciales y mercantiles)
- DespatchDocumentReference (Doc. De despacho)
- ReceiptDocumentReference (Doc. De recepción)
- DiscrepancyResponse (N.C y N.D)
- 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.
- 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).
- 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
|
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