Preguntas Frecuentes de Integración con servicio Web (Val. Previa)
Sumario
- 1 Historial de versiones
- 2 Cómo obtener soporte
- 3 Ambiente de HABILITACIÓN
- 4 Transmisión de documentos de contingencia tipo 03 (path additionaldocumentreference)
- 5 Campos extensibles en R.G estándar
- 6 Estructura del QR de acuerdo al Anexo 1.8
- 7 Concatenación de nombre + apellido en campo nombreRazonSocial
- 8 Documentos Referenciados en Notas de previa que afecten a facturas de validación previa
- 9 Documentos Referenciados en Notas de previa que no afecten a facturas
- 10 Error 101 token emisor inválido
- 11 Mostrar dirección completa en la representación gráfica
- 12 Envío de representación gráfica personalizada
- 13 Correo electrónico personalizado
- 14 Radicar documentos electrónicos en plataformas de recepción
- 15 Rechazo: NIT XXXXXXXXX no autorizado a enviar documentos para emisor con NIT XXXXXXXXX
- 16 Configuración de secuenciales
- 17 Transmisión de Documentos de prueba a la DIAN en ambiente DEMO
- 18 Generar código QR en documentos en el documento en papel generado desde el ERP durante la contingencia tipo '03'
- 19 Generación de documentos electrónicos para 'Consumidor final'
- 20 Uso de archivos .ZIP en Correos
- 21 Como enviar el correo con el método tradicional
- 22 Consideraciones sobre Uso del .ZIP en el correo con adjuntos en 11
- 23 Informar direcciones del adquiriente o receptor del documento electrónico
- 24 Responsabilidades Fiscales y Tipos de operación
- 25 Como enviar en el XML en el campo OrderReference?
- 26 Como enviar en el XML en el campo ReceiptDocument Reference?
- 27 Estándar del nombre de los documentos electrónicos XML, anexo técnico 1.8
- 28 Guía del nombre del archivo ZIP que Contiene uno o más documentos electrónicos y que será Entregado a la DIAN mediante un web service de recepción
- 29 El esquema de URL proporcionado "https" no es válido.
- 30 Como enviar Propina en el XML para Factura de Venta.
Historial de versiones
Versión | Fecha lanzamiento | Descripción |
---|---|---|
0 | 07/05/2019 |
|
1.0 | 15/07/2021 |
|
Cómo obtener soporte
- Soporte de 1er nivel:
- Soporte telefónico / email / chat o tele-conferencias en horario 5x8 para atención de consultas y fallas de usuario.
- Soporte de 2do nivel:
- Soporte resolución remota de incidencias en el sistema en horario 5x8
- Escriba a soporte@thefactoryhka.com.co
- Soporte resolución remota de incidencias en el sistema en horario 5x8
Para consultas referente a configuraciones y errores en el Portal:
- soporte_fel_co@thefactoryhka.com
Para consultas referente a configuraciones de ERP, casa de software e integración:
- integracion_fel_co@thefactoryhka.com
Lineas de atención telefónica:
- MASTER +57 (1) 746.08.12
- +57 (1) 508.8990
- +57 (1) 517.6795
- +57 (1) 517.6796
- +57 (1) 311.3063
- Soporte Técnico → Opción 2
- Integración → Opción 5 Luego Opción 1
Para Sesiones:
Sesiones Soporte
Inscripción como facturador electrónico, Configuración de Rangos de Numeración, Configuración Datos Fiscales, Pruebas de Habilitación, Configuración ambiente Producción, manejo y uso del Portal de Facturación electrónica de TFHKA
Dirigido a: Agencias Comerciales – Casas de Software Aliadas - Clientes Finales
Horario: Martes y Jueves a partir de las 8:30 AM
Sesiones Área Integración
Solución Casos de Integración
Dirigido a: Clientes que realicen desarrollos de Software para integrarse con TFHKA, Casas de Software Aliadas
Horario: Martes y Jueves a partir de las 8:30 AM
Ambiente de HABILITACIÓN
El proceso en el ambiente de habilitación es asíncrono por lo que primero es recibido por The Factory HKA y luego en una tarea secundaria buscando las condiciones óptimas de conexión con la DIAN los mismos son enviados a la entidad tributaria. Secuencia del servicio asíncrono:
- El software cliente realiza la conexión, autenticación por medio de certificado digital, enviando la solicitud (Request) al servicio de la DIAN.
- El WS DIAN recibe la solicitud y responde con un mensaje de aprobación o rechazo, según las primeras validaciones y entrega un trackId.
- El software cliente, al obtener la respuesta, cierra la conexión.
- Con el trackId obtenido en el método, se consume otro método de consulta para obtener el resultado de la transacción anterior.
Transmisión de documentos de contingencia tipo 03 (path additionaldocumentreference)
Los inconvenientes tecnológicos por parte del facturador electrónico implican que la facturación electrónica tenga las siguientes características:
- Generar la facturación con numeración de contingencia en papel o por computador.
- El facturador tendrá 30 días (48 horas en la última resolución) a partir de la fecha en que supera la contingencia para transmitir las facturas electrónicas en formato XML a la DIAN.
- Las facturas electrónicas generadas y emitidas en contingencia pasarán la malla de validaciones de anexo, es decir, la DIAN responderá con un Application Response de Documento Validado por la DIAN, que informará las notificaciones a que haya lugar.
- Una vez el facturador electrónico salga de contingencia deberá proceder al proceso de generación normal.
- Para los documentos de notas crédito y notas débito, el facturador NO debe usar la numeración de contingencia, sino el consecutivo propio normal. Las notas enviadas a la DIAN se validarán de manera normal en la DIAN. Por lo anterior, no existe el concepto de nota en contingencia, por lo que debe cuidarse enviar primeramente las Facturas de Contingencia antes de generar notas sobre las mismas y se recomienda generarlas en un ambiente de operación normal.
¿Cómo transmitir un documento de contingencia Tipo 03?
La transmisión del documento se realiza por medio del método Enviar del Web Service de Emisión que brinda The Factory HKA, indicando el atributo tipoDocumento del objeto FacturaGeneral igual a ‘03’ y enviar en la sección de documentosReferenciados un objeto de tipo DocumentosReferenciados indicando lo siguiente:
- codigoInterno = ‘1’
- fecha = ‘Fecha de emisión del documento de contingencia’
- numeroDocumento = ‘número del consecutivo del documento de contingencia emitido’
- tipoCodigoDocumento = ‘Tipo de documento de soporte del proceso de facturación por contingencias atribuibles al facturador electrónico a transmitir, según lo estipulado en el numeral 12.1.4 de la versión 1.8 del Anexo Técnico de la DIAN ’.
Código | Descripción |
---|---|
FTC | Factura Talonario Contingencia |
FTP | Factura Talonario Papel |
FTPC | Factura Talonario por Computador |
¿Cuál será el código de respuesta de transmisión exitosa que retornará el WS de TFHKA?
El método Enviar retornará código 201 ó 208 ante la recepción exitosa del documento en nuestra plataforma, con el siguiente mensaje: “El documento se recibió como Documento Electrónico de Contingencia Tipo 03, este se entregará de manera asíncrona a la DIAN, para más información favor consumir EstadoDocumento luego de 48 horas.” En dicho Response se contará con CUDE y UBL.
¿Cuándo puedo consultar el resultado de la transmisión del documento hacia la DIAN?
Pasadas 48 horas luego de la radicación del documento en la plataforma, pueden consultar el estatus del mismo para conocer el resultado de la transacción ante la DIAN.
Ejemplo SOAP Request de Factura de Contingencia Tipo 03:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/" xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <soapenv:Header/> <soapenv:Body> <tem:Enviar> <tem:tokenEmpresa>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</tem:tokenEmpresa> <tem:tokenPassword>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</tem:tokenPassword> <tem:factura xmlns="http://schemas.datacontract.org/2004/07/ServiceSoap.UBL2._0.Models.Object"> <cantidadDecimales>2</cantidadDecimales> <cliente> <destinatario> <Destinatario> <canalDeEntrega>0</canalDeEntrega> <email> <arr:string>email1@thefactoryhka.com</arr:string> <arr:string>email2@thefactoryhka.com</arr:string> </email> </Destinatario> </destinatario> <detallesTributarios> <Tributos> <codigoImpuesto>ZY</codigoImpuesto> </Tributos> </detallesTributarios> <!--direccionCliente es la que se pinta en la R.G estandar--> <direccionCliente> <ciudad>BOGOTÁ, D.C.</ciudad> <codigoDepartamento>11</codigoDepartamento> <departamento>Bogotá</departamento> <direccion>Direccion</direccion> <lenguaje>es</lenguaje> <municipio>11001</municipio> <pais>CO</pais> </direccionCliente> <direccionFiscal> <ciudad>BOGOTÁ, D.C.</ciudad> <codigoDepartamento>11</codigoDepartamento> <departamento>Bogotá</departamento> <direccion>Direccion</direccion> <lenguaje>es</lenguaje> <municipio>11001</municipio> <pais>CO</pais> </direccionFiscal> <email>email@thefactoryhka.com</email> <!--informacionLegalCliente condicionado cuando tipoPersona='1'--> <informacionLegalCliente> <nombreRegistroRUT>CONSORCIO ALIANZA SAN CRISTOBAL 4</nombreRegistroRUT> <numeroIdentificacion>901041710</numeroIdentificacion> <numeroIdentificacionDV>5</numeroIdentificacionDV> <tipoIdentificacion>31</tipoIdentificacion> </informacionLegalCliente> <nombreRazonSocial>The Factory HKA Colombia</nombreRazonSocial> <notificar>SI</notificar> <numeroDocumento>901041710</numeroDocumento> <numeroIdentificacionDV>5</numeroIdentificacionDV> <responsabilidadesRut> <Obligaciones> <obligaciones>R-99-PN</obligaciones> <regimen>49</regimen> </Obligaciones> </responsabilidadesRut> <tipoIdentificacion>31</tipoIdentificacion> <tipoPersona>1</tipoPersona> </cliente> <consecutivoDocumento>PREFIJOCONSECUTIVO</consecutivoDocumento> <detalleDeFactura> <FacturaDetalle> <cantidadPorEmpaque>1</cantidadPorEmpaque> <cantidadReal>1.00</cantidadReal> <cantidadRealUnidadMedida>WSD</cantidadRealUnidadMedida> <cantidadUnidades>1.00</cantidadUnidades> <codigoProducto>P000001</codigoProducto> <descripcion>Impresora HKA80</descripcion> <descripcionTecnica>Impresora térmica de punto de venta, ideal para puntos de venta con alto rendimiento</descripcionTecnica> <estandarCodigo>999</estandarCodigo> <estandarCodigoProducto>PHKA80</estandarCodigoProducto> <impuestosDetalles> <FacturaImpuestos> <baseImponibleTOTALImp>1003.00</baseImponibleTOTALImp> <codigoTOTALImp>01</codigoTOTALImp> <porcentajeTOTALImp>19.00</porcentajeTOTALImp> <valorTOTALImp>190.57</valorTOTALImp> </FacturaImpuestos> </impuestosDetalles> <impuestosTotales> <ImpuestosTotales> <codigoTOTALImp>01</codigoTOTALImp> <montoTotal>190.57</montoTotal> </ImpuestosTotales> </impuestosTotales> <marca>HKA</marca> <muestraGratis>0</muestraGratis> <precioTotal>1193.57</precioTotal> <precioTotalSinImpuestos>1003.00</precioTotalSinImpuestos> <precioVentaUnitario>1003.00</precioVentaUnitario> <secuencia>1</secuencia> <unidadMedida>WSD</unidadMedida> </FacturaDetalle> </detalleDeFactura>
<documentosReferenciados> <!-- SOLO CONSIDERAR LOS SIGUIENTES ATRIBUTOS --> <DocumentoReferenciado> <codigoInterno>1</codigoInterno> <fecha>2020-01-01</fecha> <numeroDocumento>CTG12</numeroDocumento> <!-- CODIGOS DEL ATRIBUTO tipoDocumentoCodigo CORRESPONDIENTES AL NUMERAL 12.1.4 DEL ANEXO TECNICO V1.8 --> <tipoDocumentoCodigo>FTC</tipoDocumentoCodigo> </DocumentoReferenciado> </documentosReferenciados>
<fechaEmision>2020-01-08 00:00:00</fechaEmision> <impuestosGenerales> <FacturaImpuestos> <baseImponibleTOTALImp>1003.00</baseImponibleTOTALImp> <codigoTOTALImp>01</codigoTOTALImp> <porcentajeTOTALImp>19.00</porcentajeTOTALImp> <unidadMedida>WSD</unidadMedida> <valorTOTALImp>190.57</valorTOTALImp> </FacturaImpuestos> </impuestosGenerales> <impuestosTotales> <ImpuestosTotales> <codigoTOTALImp>01</codigoTOTALImp> <montoTotal>190.57</montoTotal> </ImpuestosTotales> </impuestosTotales> <mediosDePago> <MediosDePago> <medioPago>10</medioPago> <metodoDePago>1</metodoDePago> <numeroDeReferencia>01</numeroDeReferencia> </MediosDePago> </mediosDePago> <moneda>COP</moneda> <rangoNumeracion>PREFIJO-RANGODESDE</rangoNumeracion> <redondeoAplicado>0.00</redondeoAplicado>
<tipoDocumento>03</tipoDocumento>
<tipoOperacion>10</tipoOperacion> <totalBaseImponible>1003.00</totalBaseImponible> <totalBrutoConImpuesto>1193.57</totalBrutoConImpuesto> <totalMonto>1193.57</totalMonto> <totalProductos>1</totalProductos> <totalSinImpuestos>1003.00</totalSinImpuestos> </tem:factura> <tem:adjuntos>0</tem:adjuntos> </tem:Enviar> </soapenv:Body> </soapenv:Envelope>
@IMPORTANTE: No es requerido que se notifique a los adquirientes los documentos de contingencia transmitidos a la DIAN, ya que el documento entregado físicamente al mismo durante el período en que mantuvo la contingencia, corresponde al documento legal de la transacción realizada. La transmisión de dicha información a la DIAN es con el fin de notificar al ente regulador las transacciones realizadas durante dicho periodo. Por lo anteriormente descrito, se recomienda enviar el campo notificar = ‘NO’ y no realizar el envío de la información correspondiente al Destinatario:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/" xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <soapenv:Header/> <soapenv:Body> <tem:Enviar> <tem:tokenEmpresa>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</tem:tokenEmpresa> <tem:tokenPassword>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</tem:tokenPassword> <tem:factura xmlns="http://schemas.datacontract.org/2004/07/ServiceSoap.UBL2._0.Models.Object"> <cantidadDecimales>2</cantidadDecimales>
<cliente> <destinatario> <Destinatario> <canalDeEntrega>0</canalDeEntrega> <email> <arr:string>email1@thefactoryhka.com</arr:string> <arr:string>email2@thefactoryhka.com</arr:string> </email> </Destinatario> </destinatario> <detallesTributarios> <Tributos> <codigoImpuesto>ZY</codigoImpuesto> </Tributos> </detallesTributarios> <!--direccionCliente es la que se pinta en la R.G estandar--> <direccionCliente> <ciudad>BOGOTÁ, D.C.</ciudad> <codigoDepartamento>11</codigoDepartamento> <departamento>Bogotá</departamento> <direccion>Direccion</direccion> <lenguaje>es</lenguaje> <municipio>11001</municipio> <pais>CO</pais> </direccionCliente> <direccionFiscal> <ciudad>BOGOTÁ, D.C.</ciudad> <codigoDepartamento>11</codigoDepartamento> <departamento>Bogotá</departamento> <direccion>Direccion</direccion> <lenguaje>es</lenguaje> <municipio>11001</municipio> <pais>CO</pais> </direccionFiscal> <email>email@thefactoryhka.com</email> <!--informacionLegalCliente condicionado cuando tipoPersona='1'--> <informacionLegalCliente> <nombreRegistroRUT>CONSORCIO ALIANZA SAN CRISTOBAL 4</nombreRegistroRUT> <numeroIdentificacion>901041710</numeroIdentificacion> <numeroIdentificacionDV>5</numeroIdentificacionDV> <tipoIdentificacion>31</tipoIdentificacion> </informacionLegalCliente> <nombreRazonSocial>The Factory HKA Colombia</nombreRazonSocial> <notificar>NO</notificar> <numeroDocumento>901041710</numeroDocumento> <numeroIdentificacionDV>5</numeroIdentificacionDV> <responsabilidadesRut> <Obligaciones> <obligaciones>R-99-PN</obligaciones> <regimen>49</regimen> </Obligaciones> </responsabilidadesRut> <tipoIdentificacion>31</tipoIdentificacion> <tipoPersona>1</tipoPersona> </cliente>
<consecutivoDocumento>PREFIJOCONSECUTIVO</consecutivoDocumento> <detalleDeFactura> <FacturaDetalle> <cantidadPorEmpaque>1</cantidadPorEmpaque> <cantidadReal>1.00</cantidadReal> <cantidadRealUnidadMedida>WSD</cantidadRealUnidadMedida> <cantidadUnidades>1.00</cantidadUnidades> <codigoProducto>P000001</codigoProducto> <descripcion>Impresora HKA80</descripcion> <descripcionTecnica>Impresora térmica de punto de venta, ideal para puntos de venta con alto rendimiento</descripcionTecnica> <estandarCodigo>999</estandarCodigo> <estandarCodigoProducto>PHKA80</estandarCodigoProducto> <impuestosDetalles> <FacturaImpuestos> <baseImponibleTOTALImp>1003.00</baseImponibleTOTALImp> <codigoTOTALImp>01</codigoTOTALImp> <porcentajeTOTALImp>19.00</porcentajeTOTALImp> <valorTOTALImp>190.57</valorTOTALImp> </FacturaImpuestos> </impuestosDetalles> <impuestosTotales> <ImpuestosTotales> <codigoTOTALImp>01</codigoTOTALImp> <montoTotal>190.57</montoTotal> </ImpuestosTotales> </impuestosTotales> <marca>HKA</marca> <muestraGratis>0</muestraGratis> <precioTotal>1193.57</precioTotal> <precioTotalSinImpuestos>1003.00</precioTotalSinImpuestos> <precioVentaUnitario>1003.00</precioVentaUnitario> <secuencia>1</secuencia> <unidadMedida>WSD</unidadMedida> </FacturaDetalle> </detalleDeFactura> <documentosReferenciados> <!-- SOLO CONSIDERAR LOS SIGUIENTES ATRIBUTOS --> <DocumentoReferenciado> <codigoInterno>1</codigoInterno> <fecha>2020-01-01</fecha> <numeroDocumento>CTG12</numeroDocumento> <!-- CODIGOS DEL ATRIBUTO tipoDocumentoCodigo CORRESPONDIENTES AL NUMERAL 12.1.4 DEL ANEXO TECNICO V1.8 --> <tipoDocumentoCodigo>FTC</tipoDocumentoCodigo> </DocumentoReferenciado> </documentosReferenciados> <fechaEmision>2020-01-08 00:00:00</fechaEmision> <impuestosGenerales> <FacturaImpuestos> <baseImponibleTOTALImp>1003.00</baseImponibleTOTALImp> <codigoTOTALImp>01</codigoTOTALImp> <porcentajeTOTALImp>19.00</porcentajeTOTALImp> <unidadMedida>WSD</unidadMedida> <valorTOTALImp>190.57</valorTOTALImp> </FacturaImpuestos> </impuestosGenerales> <impuestosTotales> <ImpuestosTotales> <codigoTOTALImp>01</codigoTOTALImp> <montoTotal>190.57</montoTotal> </ImpuestosTotales> </impuestosTotales> <mediosDePago> <MediosDePago> <medioPago>10</medioPago> <metodoDePago>1</metodoDePago> <numeroDeReferencia>01</numeroDeReferencia> </MediosDePago> </mediosDePago> <moneda>COP</moneda> <rangoNumeracion>PREFIJO-RANGODESDE</rangoNumeracion> <redondeoAplicado>0.00</redondeoAplicado> <tipoDocumento>03</tipoDocumento> <tipoOperacion>10</tipoOperacion> <totalBaseImponible>1003.00</totalBaseImponible> <totalBrutoConImpuesto>1193.57</totalBrutoConImpuesto> <totalMonto>1193.57</totalMonto> <totalProductos>1</totalProductos> <totalSinImpuestos>1003.00</totalSinImpuestos> </tem:factura> <tem:adjuntos>0</tem:adjuntos> </tem:Enviar> </soapenv:Body> </soapenv:Envelope>
Campos extensibles en R.G estándar
El valor de estos campos es texto plano, por lo tanto el formato es gestionado desde el ERP.
- TOTAL Descuento Detalle (Campo Extensible 5170001).
- Total Base Excluida (Campo Extensible 5170000)
- TOTAL Retenciones (Campo Extensible 5170002)
- TOTAL a Pagar (Campo Extensible 5170003)
- TOTAL A PAGAR en Letras (Campo Extensible 5170004)
Ejemplo sobre la estructura de los campos:
<extras> <Extras> <controlInterno1>Total Base Excluida</controlInterno1> <controlInterno2/> <nombre>5170000</nombre> <pdf>1</pdf> <valor>10000.25</valor> <xml>1</xml> </Extras> <Extras> <controlInterno1>TOTAL Descuento Detalle</controlInterno1> <controlInterno2/> <nombre>5170001</nombre> <pdf>1</pdf> <valor>10000.25</valor> <xml>1</xml> </Extras> <Extras> <controlInterno1>TOTAL Retenciones</controlInterno1> <controlInterno2/> <nombre>5170002</nombre> <pdf>1</pdf> <valor>10000.25</valor> <xml>1</xml> </Extras> <Extras> <controlInterno1>TOTAL a Pagar</controlInterno1> <controlInterno2/> <nombre>5170003</nombre> <pdf>1</pdf> <valor>10000.25</valor> <xml>1</xml> </Extras> </extras>
En la Representación Gráfica se visualizará de la siguiente manera:
Estructura del QR de acuerdo al Anexo 1.8
Para la representación gráfica de las facturas electrónicas, es requisito la generación de un código QR con la siguiente información:
Detalle | XPath |
---|---|
NumFac: [NUMERO_FACTURA] | /Invoice/cbc:ID |
FecFac: [FECHA_FACTURA] | /Invoice/cbc:IssueDate |
HorFac: [HORA_FACTURA(con GMT)] | /Invoice/cbc:IssueTime |
NitFac: [NIT FACTURADOR] | /Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID |
DocAdq: [NUMERO_ID_ADQUIRENTE] | /Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID |
ValFac: [VALOR_FACTURA] | /Invoice/cac:LegalMonetaryTotal/cbc:LineExtensionAmount |
ValIva: [VALOR_IVA] | /Invoice/cac:TaxTotal/cbc:TaxAmount Donde /Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID = 01 |
ValOtroIm: [VALOR_OTROS_IMPUESTOS] | Sumatoria de /Invoice/cac:TaxTotal[X]/cbc:TaxAmount[X] Donde /Invoice/cac:TaxTotal[X]/cac:TaxSubtotal[X]/cac:TaxCategory[X]/cac:TaxScheme[X]/cbc:ID[X] sea diferente a 01 |
ValTolFac: [VALOR_TOTAL_FACTURA | /Invoice/cac:LegalMonetaryTotal/cbc:PayableAmount |
CUFE | /Invoice/cbc:UUID |
QRCode | /Invoice/ext:UBLExtensions[1]/ext:UBLExtension[1]/ext:ExtensionContent[1]/sts:DianExtensions[1]/sts:QRCode |
Debe tener las siguientes consideraciones:
- NitFac: sin puntos ni guiones
- DocAdq: sin puntos ni guiones
- ValFac: con punto decimal, con decimales a dos (2) dígitos, sin separadores de miles, ni símbolo pesos.
- ValIva: con punto decimal, con decimales a dos (2) dígitos, sin separadores de miles, ni símbolo pesos.
- ValOtroIm: con punto decimal, con decimales a dos (2) dígitos, sin separadores de miles, ni símbolo pesos.
- ValTolFac: con punto decimal, con decimales a dos (2) dígitos, sin separadores de miles, ni símbolo pesos.
- QRCode: URL disponible por la DIAN
- Ambiente Habilitación: https://catalogo-vpfe-hab.dian.gov.co/document/searchqr?documentkey=CUFE
- Ambiente Producción: https://catalogo-vpfe.dian.gov.co/document/searchqr?documentkey=CUFE
Ejemplo sobre la estructura de los campos:
Teniendo en cuenta los datos de entrada, se presenta el código QR que se incluye en la representación gráfica de la factura electrónica:
<a:qr> NumFac: VAF472 FecFac: 2019-12-20 HorFac: 00:00:00-05:00 NitFac: 900390126 DocAdq: 901041710 ValFac: 2006.00 ValIva: 381.14 ValOtroIm: 0.00 ValTolFac: 2387.14 CUFE: 95d062a141ff0f1a55f9f684167e00544617f4ed714b283934ad939fc056c6fb2ae6ab34ad8ba9a9db94aa2c253d3c05 https://catalogo-vpfe-hab.dian.gov.co/document/searchqr?documentkey=95d062a141ff0f1a55f9f684167e00544617f4ed714b283934ad939fc056c6fb2ae6ab34ad8ba9a9db94aa2c253d3c05 </a:qr>
Concatenación de nombre + apellido en campo nombreRazonSocial
En este caso, se recomienda enviar el nombre completo (Nombres y apellidos) en el atributo nombreRazonSocial del objeto factura y dejar vacíos los campos apellido y segundoNombre.
Documentos Referenciados en Notas de previa que afecten a facturas de validación previa
Para la emisión de Notas de Crédito y Débito deben enviarse obligatoriamente dos arreglos de documentos referenciados, el primero indicando el codigoInterno = '4' el cual corresponde a los motivos por los cuales se genera la NC/ND (DiscrepancyResponse) y un segundo arreglo, indicando el codigoInterno = '5' en el cual se reflejan los datos de la factura afectada por la NC/NC (BillingReference). Como se muestra a continuación:
<a:documentosReferenciados> <a:DocumentoReferenciado> <a:codigoEstatusDocumento>2</a:codigoEstatusDocumento> <a:codigoInterno>4</a:codigoInterno> <a:cufeDocReferenciado>85ea749b18ee5bd251b87442935650e30b4e0e4cd662bef1EkRoFzzvJqHhKqk5JpLSqtJ99pRMd32g40baab6b59cdc8b3</a:cufeDocReferenciado> <a:descripción> <b:string>Anulación de factura electrónica</b:string> </a:descripción> <a:extras i:nil="true"/> <a:fecha>2019-10-07</a:fecha> <a:fechaFinValidez i:nil="true"/> <a:fechaInicioValidez i:nil="true"/> <a:numeroDocumento>F4PM3</a:numeroDocumento> <a:tipoCUFE i:nil="true"/> <a:tipoDocumento i:nil="true"/> <a:tipoDocumentoCodigo i:nil="true"/> </a:DocumentoReferenciado> <DocumentoReferenciado> <codigoInterno>5</codigoInterno> <cufeDocReferenciado>85ea749b18ee5bd251b87442935650e30b4e0e4cd662bef1KqmCLKgxPpH6u5LiKrJvTb6FEyfVuoCcV0baab6b59cdc8b3</cufeDocReferenciado> <fecha>2019-10-07</fecha> <numeroDocumento>F4PM3</numeroDocumento> </DocumentoReferenciado> </a:documentosReferenciados>
En el caso de la dll, basta con enviar cada arreglo separado por el carácter "%", por ejemplo:
ID02E = "02E|2|4|4191110db1f3c8060a4ce34e40c6ec6541ac1bd248264624bfe1b60fdf02aea7e15c5a49969cc08f498b938a9e3cd954||||ASFF10|||01|||||¬02E1|Prueba NC Campos Minimos con Anulación de factura electrónica"+ "%" +"02E||5|4191110db1f3c8060a4ce34e40c6ec6541ac1bd248264624bfe1b60fdf02aea7e15c5a49969cc08f498b938a9e3cd954|2019-07-29|||ASFF10|CUFE-SHA384||01|||||"
Esto se visualiza en la representación gráfica de la siguiente forma:
Documentos Referenciados en Notas de previa que no afecten a facturas
Tener en cuenta que para cada escenario se debe indicar correctamente el campo FacturaGeneral.tipoOperacion:
- Código 22 para Notas Crédito.
- Código 32 para Notas Débito.
De acuerdo a lo descrito en el Anexo Técnico versión 1.8
@IMPORTANTE: La clase Documentos Referenciados debe enviarse en null.
Error 101 token emisor inválido
El código de Error 101 hace referencia a un inconveniente en la configuración de los tokens y URL en su sistema. Por favor, validar en la configuración del ERP que se encuentran configurados correctamente estos dos puntos dependiendo del ambiente en el cual desean realizar las emisiones de documentos:
URL Ambiente Demo (ambiente de pruebas en el cual las emisiones no son transmitidas a la DIAN):
Servicio Emisión: http://demoemision21.thefactoryhka.com.co/ws/v1.0/Service.svc?wsdl Servicio Adjuntos: http://demoemision21.thefactoryhka.com.co/ws/adjuntos/Service.svc?wsd Servicio Reportes: http://demoemision21.thefactoryhka.com.co/ws/reportes/Service.svc?wsdl
URL Ambiente Productivo (ambiente en el cual se realizan las emisiones correspondientes al set de habilitación y posteriormente la emisión de documentos en operación):
Servicio Emisión (HTTPS): URL compartida por el área de proyectos. Servicio Adjuntos (HTTPS): URL compartida por el área de proyectos. Servicio Reportes (HTTPS) URL compartida por el área de proyectos.
Mostrar dirección completa en la representación gráfica
Dicha información se debe enviar a través del atributo DireccionCliente
Los campos necesarios para que se muestre en la representación gráfica son los siguientes:
En la representación gráfica se mostraría de la siguiente manera:
Envío de representación gráfica personalizada
La emisión con adjuntos se realiza en dos pasos. El primero consiste en generar el UBL fiscal a través de la url de emisión (http://demoemision21.thefactoryhka.com.co/ws/v1.0/Service.svc?wsdl en ambiente Demo)
En este caso, se debe indicar en el método Enviar el parámetro adjunto en 11 para indicarle al servicio que no se genere nuestra representación gráfica estándar y adicionalmente que el documento no se envíe por correo hasta que no se realice la carga de adjuntos.
Posteriormente, debe consumirse el método CargarArchivo a traves de la url de adjunto (http://demoemision21.thefactoryhka.com.co/ws/adjuntos/Service.svc?wsdl en ambiente Demo)
Este método presenta los siguientes campos
Dónde Class.Adjunto contiene la siguiente información:
RESPONSE: Parámetros a Recibir
@IMPORTANTE: Si un documento queda a la espera de adjuntos, no se enviará el correo de notificación hasta que no se realice el cargue de los archivos anexos.
Correo electrónico personalizado
El objeto “extras” también permite manejar algunas funcionalidades especiales de la plataforma, como la de correo electrónico personalizado. Para que esta información no aparezca en la representación gráfica, el parámetro pdf del objeto “extras” debe ir en “0”.
La funcionalidad de correo electrónico personalizado permite configurar transacción a transacción el asunto, la dirección de respuesta y el cuerpo del correo electrónico. La vía para exponer esta información será a través de campos extensibles.
Ejemplo de uso de Campos Extensibles 11,13 y 14 para personalizar el Correo Electrónico:
Tomando el ejemplo dado el correo se visualizará de la siguiente manera:
Radicar documentos electrónicos en plataformas de recepción
Aclaramos la situación, indicando que el el XML que se debe radicar en las plataformas de recepción es el que nuestro servicio envía en la notificación de correo llamado AttachedDocument (Contenedor de Documentos), la estructura de este documento tiene por objetivo contener en un único archivo XML un documento electrónico (Invoice, CreditNote ó DebitNote) y todos los eventos (ApplicationResponse) registrados hasta la fecha, este XML también puede ser descargado a través del método GenerarContenedor
Nota: Si usted es cliente final, por favor comunicar lo anterior a su casa de software o proveedor de ERP.
Rechazo: NIT XXXXXXXXX no autorizado a enviar documentos para emisor con NIT XXXXXXXXX
De acuerdo al error que presenta es posible que la asociación del proveedor tecnológico en el portal de habilitación de la DIAN puedo tener un problema.
Se recomienda que ingrese al portal de habilitación, elimine los modos de operación, y vuelva a agregar el modo de operación Proveedor tecnológico - TFHKA en el portal de la Dian; luego actualice el TestSetID en los rangos de numeración en nuestro portal.
Luego de realizar las configuraciones antes mencionadas en el portal HKA, intente emitir los documentos nuevamente.
Se adjunta un video de asesoría NUEVO donde se explican las diferencias entre los ambiente DEMO y PRODUCCIÓN que entrega The Factory HKA a sus clientes.
Adicional a esto, el video explica paso a paso a seguir para tener acceso al ambiente DEMO su posterior pase a PRODUCCIÓN, y los pasos necesarios ante la DIAN para actualizar el REGISTRO y PRUEBAS DE HABILITACIÓN, y en qué ambiente deben ser realizados en nuestros sistemas.
Link video de asesoría: https://drive.google.com/file/d/1tslrefpqizIVnuYha8QAXUeGCgje5hbS/view
Configuración de secuenciales
En esta sección se muestran todos sus secuenciales configurados, los establecimientos a los que han sido agregados e información como fechas de vigencia y tipo de servicio.
De igual forma podrá gestionar sus secuenciales, consultar la información configurada y si lo desea podrá inactivar secuenciales que ya no tendrán uso.
Además podrá agregar secuenciales según el tipo de documento que desee emitir.
En la pantalla Agregar Numeración Secuencial, el portal realizará una consulta a la DIAN con su número de identificación para la carga de sus secuenciales disponibles según el número de resolución, el mismo cargará los rangos de numeración, vigencia, prefijo y clave técnica.
Agregar un secuencial
Presionando Agregar secuencial emergerá otra pantalla. Ver imagen 306. Los datos disponibles para el registro del secuencial son:
- Tipo de servicio: Tipo de servicio de emisión de documentos (Habilitación o Producción 2.1).
- Tipo de Documento: Tipos de documentos (Factura, Nota de crédito, Nota de débito).
- Tipo de Operación: Operación que se va asociar al tipo documento (Venta/Exportación y Contingencia).
- Tipo de servicio: Servicio por donde se va gestionar el documento (Portal, Servicio de integración, App Móvil).
- Modalidad de Uso para Secuencial: Modo de uso, (Automático, Manual sin prefijo, Manual con prefijo).
- Establecimiento: Se listaran los establecimientos registrados en Catálogo Establecimiento.
- Número de la resolución: es el número obtenido cuando se solicita la numeración de factura electrónica. El portal deberá realizar la consulta a la DIAN, si se estableció la conexión se debe mostrar todas las resoluciones asociadas al cliente en un combo lista. Si no se pudo establecer la conexión debe ser ingresado manualmente
- Prefijo: se listara según la resolución seleccionada, siendo éste una serie de un máximo de 6 caracteres alfabética, numérica o alfanumérica que llevará en el inicio al número consecutivo del documento, es recomendable no duplicar la serie por otra ya existente con mismo o diferente tipo servicio.
- El Valor del rango desde y el valor del rango hasta: Es la numeración que debe ser válida otorgada por la DIAN.
- nota: cuando se haya agotado el rango de numeración que le fue asignado y se deba solicitar la autorización de uno nuevo este debe ser la continuación de un rango ya autorizado.
- El Valor del rango inicial: Es el valor inicial de facturas del secuencial seleccionado, este valor debe ser igual o mayor al valor del rango desde y menor al valor del rango hasta.
- nota: si se requiere los secuenciales se puede configurar de forma compartido por varios tipos de servicio, es decir; si dispone 200 secuenciales puede registrar para Portal 100, Servicio de integración 50, APP Móvil 50. Esto depende de las aplicaciones disponibles del cliente.
- La fecha inicio y fecha fin: Es el rango de fecha valida otorgado por la DIAN.
- Clave técnica: Es generada por la DIAN en caso de fallas de comunicación debe ser solicitada a The Factory HKA Colombia SAS y solo su Proveedor Tecnológico la puede consultar.
- SetTestID (Solo Habilitación): Es generada por la DIAN. Esta información se encuentra disponible en el Portal de Habilitación de la DIAN (dian.gov.co) en la sección "Tablero".
Transmisión de Documentos de prueba a la DIAN en ambiente DEMO
Al momento de dar inicio con el proceso de la integración podrá realizar la emisión de documentos de pruebas en el (ambiente DEMO) directamente contra la DIAN, es decir, poder realizar pruebas desde su ERP con el 100% de validaciones DIAN sin pasar por el XSLT local.
Para reproducir este escenario de pruebas se debe tener en cuenta la siguiente configuración en el portal web HKA Factura DEMO:
URL Portal HKA Factura DEMO:
https://demofactura.thefactoryhka.com.co/auth/login
Configuración en el portal web:
- Paso 1: El cliente Emisor debe verificar que en los Datos Fiscales se encuentre configurado su NIT, independientemente si posee cargado el certificado propio o el de The Factory HKA:
- Paso 2: Se debe tener solicitado la resolución de habilitación otorgada por la DIAN (resolución para set de pruebas de habilitación), esta resolución debe ser configurada en el portal web DEMO como se muestra en la siguiente imagen (tener en cuenta que la modalidad puede ser 'Manual con Prefijo' o 'Manual sin Prefijo', esto depende del ERP):
@Importante: El secuencial debe estar configurado con tipo de ambiente Producción2.1, por lo tanto no se deberá ingresar el campo setTestID.
- Paso 3: Solicitar a través de correo al equipo de Integración ó Soporte la activación del secuencial creado previamente en en portal DEMO con la opción de envió a la DIAN:
- integracion_fel_co@thefactoryhka.com
- soporte_fel_co@thefactoryhka.com
- Nota:En el correo se deberá indicar NIT del Emisor y prefijo configurado, que pueden ser SETT o SETP dependiendo del prefijo que la DIAN otorgó al Emisor para su habilitación.
Generar código QR en documentos en el documento en papel generado desde el ERP durante la contingencia tipo '03'
Para la generación del Código de respuesta rápido – Código QR, en los casos que la factura de venta de talonario o de papel se genere a través de sistemas informáticos electrónicos deberán corresponder a la siguiente tabla:
Ejemplo: NumFac: CTG2 FecFac: 2020-06-16 HorFac: 00:00:00-05:00 NitFac: 900390126 DocAdq: 901041710 ValFac: 1003.00 ValIva: 190.57 ValOtroIm: 0.00 ValTolFac: 1193.57
Generación de documentos electrónicos para 'Consumidor final'
En estos momentos TFHKA_CO se encuentra implementado el nodo PartyIdentification en UBL, por lo cual para facturas generadas a personas naturales se retorna la regla FAK61 como notificación.
Los ejemplos para este escenario se encuentran en los Request-SOAP, a continuación:
https://drive.google.com/drive/folders/1lT0TnDhigCpMx5xsQHcHLWNkiQIN45Pc
Nota: Este ajuste debe generarse desde TFHKA. Lo anterior es el ejemplo sobre cómo manejar el escenario de consumidor final desde el ERP, y de esta forma cuando TFHKA informe a la DIAN el nodo PartyIdentification este ajuste sea un cambio silente para las integraciones. Este cambio debe estar funcional en producción por parte de TFHKA antes del 1 de agosto de 2020.
Uso de archivos .ZIP en Correos
Por defecto se enviará en el correo como adjunto un archivo .Zip que contiene el xml-AttachedDocument (obligatorio), PDF de la representación gráfica (obligatorio), .Zip con adjuntos (opcional). Ejemplo:
Contenido del .Zip con adjuntos
Contenido del .Zip sin adjuntos
Como enviar el correo con el método tradicional
Se podrá optar como segunda opción continuar enviando el correo con el método tradicional actual, para esto desde la integración con el ERP se deberá indicar a través del campo Extra 100500, ejemplo:
@Importante1: El tamaño máximo de todos los adjuntos que se carguen al documento no debe superar los 2 MB.
@Importante2: El nombre del xml-AttachedDocument y PDF de la representación gráfica deben ser iguales, por lo tanto para las integraciones que generan R.G de manera local (adjuntos = 11) pueden leer este nombre de la respuesta del método Enviar->parámetro nombre.
Consideraciones sobre Uso del .ZIP en el correo con adjuntos en 11
Al momento de sincronizar o cargar el adjunto, se contemplan dos tipos de anexos:
CargarAdjunto.tipo = 1:
Indica al web services de adjuntos que es una representación gráfica, estos hará que nuestra plataforma renombre y coloque en él .Zip principal el PDF de la R.G local, de lo contario estará colocando el PDF en él .Zip de adjuntos y esto puede tener complicaciones al momento de la recepción.
Ejemplo:
CargarAdjunto.tipo = 2:
Indicar al web services de adjuntos que es un anexo común.
Ejemplo:
Informar direcciones del adquiriente o receptor del documento electrónico
Para este escenario, recomendamos revisar los ejemplos Request-SOAP asociados a direcciones, en los que se detalla cómo no reportar direcciones y en caso de que se reporten cuáles son los campos mínimos obligatorios para clientes nacionales y del extranjero (tipo exportación).
La zona postal pasará a ser opcional, es decir este campo debe ser null o enviarse vació en caso de que no se conozca, ejemplo direccionCliente.zonaPostal = null o direccionCliente.zonaPostal = , si a partir del 1 de agosto se envía la zona postal en '000000' o un código fuera del catálogo será motivo de rechazo en la DIAN.
Responsabilidades Fiscales y Tipos de operación
A partir del 1 de agosto deberá informarse en responsabilidadesRut.Obligaciones.obligaciones y FacturaGeneral.tipoOperacion solo los siguientes códigos (cualquier otro código informado puede ser motivo de rechazo en la DIAN):
Como enviar en el XML en el campo OrderReference?
Para que se genere “orderreference” podrá reportar la información de la clase ordenDeCompra perteneciente a la clase FacturaGeneral:
<ordenDeCompra> <OrdenDeCompra> <fecha>2020-01-17 00:00:00</fecha> <numeroOrden>96160509</numeroOrden> <numeroPedido>874566578</numeroPedido> </OrdenDeCompra> </ordenDeCompra>
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.
Como enviar en el XML en el campo ReceiptDocument Reference?
Para que se genere “ReceiptDocument Reference” podrá reportar la información de la clase documentosReferenciados perteneciente a la clase FacturaGeneral:
<documentosReferenciados> <DocumentoReferenciado> <codigoInterno>3</codigoInterno> <fecha>2020-01-01</fecha> <numeroDocumento>CTG12</numeroDocumento> </DocumentoReferenciado> </documentosReferenciados>
@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, descripcion.
- 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.
Estándar del nombre de los documentos electrónicos XML, anexo técnico 1.8
En la siguiente sección encontrará información referente al Estándar del nombre de los documentos electrónicos XML
Ejemplo de Nomenclatura | Observaciones |
---|---|
vnnnnnnnnnnpppaadddddddd.xml |
|
ncnnnnnnnnnnpppaadddddddd.xml |
|
ndnnnnnnnnnnpppaadddddddd.xml |
|
arnnnnnnnnnnpppaadddddddd.xml |
|
adnnnnnnnnnnpppaadddddddd.xml |
|
Notas:
- Los tamaños de cada variable son constantes, es necesario generar el ajuste con ceros a la izquierda en cada uno de ellos.
- Los Códigos “ppp” para el Software Propio y Facturación gratuita de la DIAN se manejarán de la siguiente manera:
- 000 Software Propio
- 001 Facturación Gratuita DIAN
- El año “aa” corresponde al año en vigencia
- Cada Año, el 1ro de enero se debe reiniciar en consecutivo de archivos enviados “dddddddd” a 00000001.
Guía del nombre del archivo ZIP que Contiene uno o más documentos electrónicos y que será Entregado a la DIAN mediante un web service de recepción
En la siguiente sección encontrará información referente al Estándar del nombre del archivo ZIP que Contiene uno o más documentos electrónicos
Ejemplo de Nomenclatura | Observaciones |
---|---|
|
|
El esquema de URL proporcionado "https" no es válido.
En la siguiente sección encontrará información referente al error por URL versión 4 en la que se debe tener en cuenta el siguiente parametro para usar:
Cuando inicialice el cliente (port) debe colocar la siguiente línea: port.Security.Mode = BasicHttpSecurityMode.Transport;
El app.config debe dejar igual como lo importa el servicio
Ejemplo:
BasicHttpBinding port = new BasicHttpBinding();
port.Security.Mode = BasicHttpSecurityMode.Transport;
//port.MaxBufferSize = Int32.MaxValue;
//port.MaxReceivedMessageSize = Int32.MaxValue;
//port.ReaderQuotas.MaxStringContentLength = Int32.MaxValue;
//port.SendTimeout = TimeSpan.FromMinutes(2);
//port.ReceiveTimeout = TimeSpan.FromMinutes(2);
EndpointAddress endPointNomina = new EndpointAddress("https://demoemision21v4.thefactoryhka.com.co/ws/v1.0/Service.svc?wsdl");
//Se instancia el cliente para consumir el servicio
serviceClient = new ServiceNomina.ServiceClient(port, endPointNomina);
Como enviar Propina en el XML para Factura de Venta.
Hay escenarios de facturación donde algunos contribuyentes reportan la propina como un ítem (servicio - facturaDetalle) esto sucede en los casos donde este servicio genera algún tipo de impuesto, pero hay otros escenarios donde la reportan que desean es cobrar un valor adicional en la factura por lo cual se envía como un recargo global.
La forma correcta de reportar cualquiera de los dos escenarios se define de acuerdo a su esquema de negocio y para esto se debe cumplir con cualquiera de las siguientes instrucciones:
1. Si la propina en la operación del cliente es un servicio que genera IVA u otro tipo de impuesto, puede ser reportado como un ítem en la clase DetalleFactura donde en la descripción del ítem colocaremos propina.
2. Si la propina en la operación del cliente es solo un cargo al total de la factura, entonces puede ser reportada como un recargo a nivel general utilizando la clase CargoDescuento.
[[Archivo:PropinaCargosDescuentos.png|800px|sinmarco|centro|Propina CargosDescuentos]
3. Si para la operación es indiferente donde debe ir la propina en el XML, y lo que necesitan es que solo aparezca en la representación gráfica, entonces e puede hacer uso de información Adicional o los siguientes campos extras:
Copyright © 2016 The Factory HKA. Todos los derechos reservados.