Preguntas Frecuentes HKAFactura

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

Sumario

Historial de versiones

Versión Fecha lanzamiento Descripción
0 07/05/2019
  • Versión Preliminar.
1.0 15/07/2021
  • Actualizaciones por anexo 1.8.

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

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

Enlace Sesiones de Soporte


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

Enlace Sesiones Integración

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 ’.
Tipos de documentos de soporte del proceso de facturación por contingencias atribuibles al facturador electrónico
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:

Ver ejemplo:
<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:

Ver ejemplo:
<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:

Campos extensibles en representación grpafica estándar

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

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>

Campos de direcciones mínimos para evitar rechazo FAK08

Esto se debe a que la DIAN está validando que se envíen obligatoriamente los campos ciudad, codigoDepartamento, departamento, dirección, municipio y país en la dirección del cliente.

Configuración de direcciones en el portal para evitar rechazo FAJ09, FAJ16, FAJ12.

1. Deben validar que en nuestro portal web en la sección Catálogos->Establecimientos, la dirección física del establecimiento se encuentre correctamente configurada:
Catálogos->Establecimientos
2. Validar que la dirección fiscal o dirección física del receptor está correctamente construida mínimo con lo siguiente:
Campos mínimos en dirección fiscal y dirección física

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 representación gráfica

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

Clase direccionCliente

Los campos necesarios para que se muestre en la representación gráfica son los siguientes:

Campos necesarios para representación gráfica

En la representación gráfica se mostraría de la siguiente manera:

Representación gráfica con campos los necesarios

Regla: FAW01, Rechazo: Línea de factura informado con LineExtensionAmount en cero y grupo cac:PricingReference no informado

Este error surge cuando la DIAN recibe un UBL indicando que la base imponible de un elemento a nivel de línea es 0 y la validación rechaza el documento. En el caso de estar enviando una muestra se deben enviar los campos obligatoriamente: codigoTipoPrecio, muestraGratis, precioReferencia, precioTotal, precioTotalSinImpuestos.

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.

Descripción de parámetros a Enviar

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

Descripción de campos en parámetros a Enviar

Dónde Class.Adjunto contiene la siguiente información:

Descripción de Class.Adjunto

RESPONSE: Parámetros a Recibir

Descripción de 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.

Descripción de campos extensibles para correo electrónico personalizado

Ejemplo de uso de Campos Extensibles 11,13 y 14 para personalizar el Correo Electrónico:

Ejemplo XML

Tomando el ejemplo dado el correo se visualizará de la siguiente manera:

Factura electrónica en bandeja de correo

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

Documentos electrónicos en plataformas de recepción

Nota: Si usted es cliente final, por favor comunicar lo anterior a su casa de software o proveedor de ERP.

Regla [FAJ26], Rechazo: No indica un valor autorizado

En el catálogo/cliente y en datos fiscales de la empresa, valide que en el campo de responsabilidades no se encuentre seleccionada las siguientes opciones:

  1. O-47 Régimen Simple de Tributación – SIMPLE.
  2. O-48 Impuesto sobre las ventas.
  3. O-49 No responsable de IVA.
  4. O-52 Facturador electrónico.

Ya que el error de validación que está presentando es debido a que la DIAN no ha actualizado los catálogos donde se incluyen estos nuevos elementos, y por eso están siendo rechazados. Se recomienda retirarlos temporalmente hasta que la DIAN permita su uso.

Dicha modificación la puede realizar en nuestro portal de la siguiente manera:

En la opción de Datos fiscales/ Información Adicional/Responsabilidades debe tener configurado la responsabilidad Responsabilidad sobre las ventas(O-48)

Opción de edición de Responsabilidades en portal

Debe destildar esa opción en la sección Responsabilidades:

Modificación de Responsabilidades en portal

Posteriormente seleccione la opción de guardar para que dicha modificación se realice satisfactoriamente.

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.

Gestión de secuenciales en portal

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".
Agregar numeración secuencial

Transmisión de Documentos de prueba a la DIAN en ambiente DEMO

En estos momentos se encuentra funcional la emisión de documentos de pruebas (ambiente DEMO) directamente contra la DIAN, es decir, poder realizar pruebas de integración 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 DEMO:

https://demofactura.thefactoryhka.com.co/auth/login --> URL Portal DEMO

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:
Validación de NIT
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):
Configuración y validación de resolución para set de pruebas

@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

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:

Detalle de Código QR
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.

Documentos Electrónicos para Consumidor Final

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:

Uso de .Zip en correos

Contenido del .Zip con adjuntos

Con Adjuntos

Contenido del .Zip sin adjuntos

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:

Enviar el correo con el método tradicional

@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:

Ejemplo para tipo 1

CargarAdjunto.tipo = 2:

Indicar al web services de adjuntos que es un anexo común.

Ejemplo:

Ejemplo para tipo 2

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):

Responsabilidades Fiscales y Tipos de operación

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:

Class.OrdenDeCompra
                                <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:

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

Guía del nombre del archivo xml de un documento electrónico requeridos por la DIAN
Ejemplo de Nomenclatura Observaciones
vnnnnnnnnnnpppaadddddddd.xml
  • fv: Factura de Venta
    nnnnnnnnnn: NIT del Facturador Electrónico sin DV, de diez (10) dígitos alineados a la derecha y relleno con ceros a la izquierda.
    ppp: Código asignado por la DIAN al PT de tres (3) dígitos Ver numeral 6.9.
    aa: Dos (2) últimos dígitos año calendario
    dddddddd: consecutivo de archivos enviados, de ocho (8) dígitos hexadecimales alineados a la derecha y ajustado a la izquierda con ceros, en el rango: 00000001 <= FFFFFFFF
    Ejemplo de la décima primera factura del Facturador Electrónico con NIT 800197268 con software propio para el año 2019.fv08001972680001900000011.xml
ncnnnnnnnnnnpppaadddddddd.xml
  • nc: Nota Crédito
Ejemplo de la primera nota crédito del Facturador Electrónico con NIT 800197268: nc08001972680001900000001.xml
ndnnnnnnnnnnpppaadddddddd.xml
  • nd: Nota Débito
Ejemplo de la tercera nota débito del Facturador Electrónico con NIT 800197268: nd08001972680001900000003.xml
arnnnnnnnnnnpppaadddddddd.xml
  • ar: Application Response
Ejemplo del octavo Application Response del Facturador Electrónico con NIT 800197268: ar08001972680001900000008.xml
adnnnnnnnnnnpppaadddddddd.xml
  • ad: Attached Document
Ejemplo del primer Attached Document del Facturador Electrónico con NIT 800197268: ad08001972680001900000001.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

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.
Ejemplo de Nomenclatura Observaciones
  • znnnnnnnnnnpppaadddddddd.zip
    Archivo comprimido que contiene uno o varios archivos *.xml. Cada archivo .xml debe ser un documento electrónico ubl‐DIAN.
    Si el archivo se transmitirá a la DIAN a través del servicio sincrónico,entonces la cantidad de documentos electrónicos será igual a uno “1”. En caso contrario el resultado de la operación será RECHAZO.
    Si el archivo se transmitirá a la DIAN a través del servicio asincrónico,entonces la cantidad de documentos electrónicos será inferior a 51; el contenido podrá ser combinado, es decir que podrán incluirse: “fv”, “nc”, “nd”, “ar” dentro del mismo archivo comprimido.
    Este formato será el único para la entrega de archivos comprimidos.
  • zz: comprimido
    nnnnnnnnnn: NIT del Facturador Electrónico sin DV, de diez (10) dígitos alineados a la derecha y relleno con ceros a la izquierda.
    ppp: Código asignado por la DIAN al PT de tres (3) dígitos. Ver numeral 6.9.
    aa: Dos (2) últimos dígitos año calendario.
    dddddddd: consecutivo del paquete de archivos comprimidos enviados; de ocho (8) dígitos hexadecimales alineados a la derecha y ajustado a la izquierda con ceros; en el rango:
00000001 <= FFFFFFFF
  • Ejemplo del primer Attached Document del Facturador Electrónico con NIT 800197268: ad08001972680001900000001.xml
z08001972680001900000011.zip
Regla: el consecutivo se iniciará en “00000001” cada primero de enero.

Regla de Rechazo FAJ71- Mensaje:No corresponde al correo electrónico para la recepción de documentos e instrumentos electrónicos no informado


Mensaje de Error:
No corresponde al correo electrónico para la recepción de documentos e instrumentos electrónicos no informado

Rechazo:

  • Si el correo electrónico informado no corresponde al correo de recepción para documentos e instrumentos electrónicos informado en los ambientes de habilitación o producción.
  • La Regla FAJ71 del Anexo 1.8 obliga a que el emisor de la factura identifique en la facturación electrónica el "Correo de Recepción" que ha configurado en el portal de la DIAN. En caso de no identificarse este correo la DIAN rechazará la factura.

Solución:
Configurar Correo Recepción DIAN

  • El cliente debe configurar el correo para recepción de facturas en el portal de la DIAN.
  • En el siguiente enlace puede encontrar una guía del proceso de que debe seguir:


Paso a paso para configurar correo.


Regla de Rechazo FAS01A - Mensaje: Existe más de un grupo con información de totales para un mismo tríbuto en la factura.


Mensaje de Error:
Existe más de un grupo con información de totales para un mismo tributo en la factura.

Rechazo:

  • En los impuestos generales se está reportando de una manera incorrecta, no es consistente con los impuestos detalles.
  • La base imponible está calculada de forma incorrecta.
  • No se está reportando los impuestos en los detalles.
  • El código del impuesto no corresponde al reportado.
  • Reportan solo ítems excluidos de impuestos, sin embargo detallan la totalización de un impuesto con tarifa igual a 0%.

Solución:
.

  • Se recomienda no reportar la sección de impuestosGenerales e impuestosTotales de FacturaGeneral.
  • Calcular de forma correcta los impuestos generales.
  • En los impuestos generales están reportando el IVA de 19% varias veces, en impuestosGnerales los impuestos deben ser sumarizados por tipo y por porcentaje de impuesto, es decir debe existrir un solo arreglo de IVA de 19%


Class.FacturaImpuestos


Regla de Rechazo FAS01B - Mensaje: Existe un grupo invoce/taxTotal para uno de los impuestos IVA(O1), INC(04), sin que exista un grupo Invoce/CAC:Invoiceline con información correspondiente al mismo impuesto.



Mensaje de Error:
Existe un grupo /Invoice/TaxTotal para uno de los impuestos IVA (01), INC (04), sin que exista un grupo /Invoice/cac:InvoiceLine con información correspondiente al mismo impuesto.

Rechazo:

  • En los detalles están reportando impuestos exentos de IVA pero en los impuestos totales no están reportando este tipo de impuesto de 0%
  • Estas validaciones son parte de las nuevas reglas más rigurosas del anexo 1.8 DIAN
  • No totalizan los impuestos en los impuestos totales


Solución:

  • En los impuestos con IVA (01), el porcentaje deben reportar con 2 decimales ya que anexo el 1.8 es más riguroso con esta validación en las tarifas.
  • Se deben validar el reporte del impuesto 22, el cual es un impuesto nominal, es decir no es base por porcentaje.


Class.FacturaImpuestos


Regla de Rechazo FAK28 - Mensaje: No se encuentra el grupo RegistrationAddress.


Mensaje de Error:
No se encuentra el grupo RegistrationAddress

Rechazo:

  • Debe reportarse el atributo direccionFiscal de la clase Cliente

Solución:

  • Se deben reportar los siguientes datos: ciudad, codigoDepartamento, departamento, direccion, lenguaje, municipio y pais.


Class.Dirección


Regla de Rechazo FAK29 - Mensaje: Este código no corresponde a un valor válido de la lista.


Mensaje de Error:
Este código no corresponde a un valor válido de la lista

Rechazo:

  • Envia de forma incorrecta los códigos departamento y municipio
  • Envia códigos diferentes en el departamento y municipio

Solución:

  • Se debe enviar los códigos de departamento y municipio exactamente igual a los indicados en la columna código del anexo técnico para ambos campos
  • Anexo técnico 1.8 Pagina 624 a la 654
Anexo Técnico
Class.Dirección



Regla de Rechazo FAK32 - Mensaje: Este código no corresponde a un valor válido de la lista.


Mensaje de Error:
Este código no corresponde a un valor válido de la lista

Rechazo:

  • Envia el código del departamento en la dirección fiscal del adquiriente.
  • Envia códigos diferentes en el departamento y municipio.

Solución:

  • Validar que el código del departamento informado en la dirección fiscal del adquiriente se encuentre dentro del catálogo dispuesto por la DIAN en el numeral 13.4.2 del Anexo Técnico V1.8.
  • Anexo tecnico 1.8 Pagina 624 a la 654
Anexo Técnico


Regla de Rechazo FAK58 - Mensaje: Estructura código no válida.


Mensaje de Error:
Estructura código no válida

Rechazo:

  • El valor informado no se encuentra en la tabla 13.4.4

Solución:

  • Valida estructura de composición de Código postal.
  • Numeral 13.4.4 del Anexo Técnico V1.8.
  • Anexo técnico 1.8 Pagina 654 a la 655.
Anexo Técnico


Regla de Rechazo CDG01- Mensaje: El código del departamento no coincide con el del municipio.


Mensaje de Error:
El código del departamento no coincide con el del municipio.

Rechazo:

  • El código del departamento no coincide con el municipio según el anexo técnico 1.8.

Solución:

  • Se debe enviar los códigos de departamento y municipio exactamente igual a los indicados en la columna código del anexo técnico para ambos campos
  • Anexo técnico 1.8 Pagina 632 a la 654.
Anexo Técnico


Regla de Rechazo FAK12- Mensaje: Este código no corresponde a un valor válido de la lista.


Mensaje de Error:
Este código no corresponde a un valor válido de la lista.

Rechazo:

  • El codigo del departamento no coincide con el municipio segun el anexo tecnico 1.8.

Solución:

  • Validar que el código del departamento informado en la direccionCliente del adquiriente se encuentre dentro del catálogo dispuesto por la DIAN en el numeral 13.4.2 del Anexo Técnico V1.8.



Regla de Rechazo FAK26- Mensaje: Responsabilidad informada para receptor no válido según lista.


Mensaje de Error:
Responsabilidad informada para receptor no válido según lista.

Rechazo:

  • Las obligaciones reportadas, tanto para el emisor como para el adquiriente, no está correspondiendo con el cátalago

Solución:

  • Para reportar varias obligaciones / responsabilidades, se deben reportar separando cada uno de los valores de la lista con " ; ". Ejemplo O‐13;O‐15; ya así sucesivamente, de acuerdo a las responsabilidades a reportar.
  • Valida que Responsabilidad informada por receptor se encuentren dentro de la lista.
Obligaciones


Regla de Rechazo FAK14- Mensaje:Informar la dirección, sin ciudad ni departamento.


Mensaje de Error:
Informar la dirección, sin ciudad ni departamento.

Rechazo:

  • Se está enviado la información de la dirección sin especificar ciudad ni departamento.

Solución:

  • Cuando se envíe la dirección especificar la ciudad y el departamento.
  • Anexo técnico 1.8 Pagina 632 a la 654.
Anexo Técnico
Ver el enlace para mas detalles



Regla de Rechazo FAV05- Mensaje:La unidad de la cantidad utilizada no existe en la lista de unidades.


Mensaje de Error:
La unidad de la cantidad utilizada no existe en la lista de unidades.

Rechazo:

  • Unidad de medida reportada se encuentra fuera del cátalogo de la DIAN.
  • No Corresponde a uno de los valores de la tabla de unidades de medida del numeral 13.3.6


Solución:

  • Valida la Unidad de Medida de la cantidad del artículo solicitado.
  • Ver lista de valores posibles en 13.3.6
  • Anexo técnico 1.8 Pagina 603 a la 618.
Anexo Técnico



Regla de Rechazo FAD09A- Mensaje:Fecha de emisión anterior a la fecha de inicio de la autorización de la numeración.


Mensaje de Error:
Fecha de emisión anterior a la fecha de inicio de la autorización de la numeración.

Rechazo:

  • La fecha de emision del documento es igual o anterior a la fecha de inicio de la autorización de la numeracion.

Solución:

  • Valida que la Fecha de emisión no sea anterior o igual a la fecha de inicio.
  • Considerar y validar la zona horaria de colombia.


Regla de Rechazo FAD09B- Mensaje:Fecha de emisión posterior a la fecha final de la autorización de la numeración.


Mensaje de Error:
Fecha de emisión posterior a la fecha final de la autorización de la numeración.

Rechazo:

  • La fecha de factura no es igual o no es inferior a fecha de fin de la autorización de la numeración

Solución:

  • Valida que la Fecha de Factura sea igual o inferior a la autorizacion de la numeración.
  • Considerar y validar la zona hoararia de colombia.


Regla de Rechazo FAD09C- Mensaje:La fecha de emisión no puede ser inferior a 10 días calendarios de la fecha actual.


Mensaje de Error:
La fecha de emisión no puede ser inferior a 10 días calendarios de la fecha actual.

Rechazo:

  • La fecha de factura es inferior a 10 días calendario.

Solución:

  • Valida que la fecha de factura no sea inferior a 5 días calendario.
  • Considerar y validar la zona hoararia de colombia.


Regla de Rechazo FAD09D- Mensaje:La fecha de emisión no sea posterior a 10 días calendarios de la fecha actual.


Mensaje de Error:
La fecha de emisión no sea posterior a 10 días calendarios de la fecha actual.

Rechazo:

  • La fecha de factura es superior a 10 días calendario.

Solución:

  • Valida que fecha de factura no sea superior a 10 días calendario
  • Considerar y validar la zona hoararia de colombia.


Regla de Rechazo FAU14- Mensaje:Valor a Pagar de Factura es distinto de la Suma de Valor Bruto más tributos ‐ Valor del Descuento Total + Valor del Cargo Total.


Mensaje de Error:
Valor a Pagar de Factura es distinto de la Suma del Valor Bruto más tributos ‐ Valor del Descuento Total + Valor del Cargo Total.

Rechazo:

  • El Valor a Pagar de la factura no es igual a la Suma del Valor Bruto más tributos menos Valor del Descuento Total mas Valor del Cargo Total.


Solución:



Regla de Rechazo FAM08- Mensaje:Este código no corresponde a un valor válido de la lista.


Mensaje de Error:
Este código no corresponde a un valor válido de la lista.

Rechazo:

  • Hace referencia al Código del Departamento, Si IdentificationCode es “CO”,CountrySubentity debe corresponder a uno de los valores de la lista correspondiente.
  • No envia los códigos correctamente segun el anexo técnico.


Solución:

  • Se debe enviar los códigos de departamento exactamente igual a los indicados en la columna código del anexo técnico para ambos campos.
  • Numeral 13.4.2 del Anexo Técnico V1.8.
  • Anexo técnico 1.8 Pagina 632 a la 654.
Anexo Técnico



Regla de Rechazo FAM07- Mensaje:El valor del tributo correspondiente al precio unitario del impuesto multiplicado por la cantidad de ítem vendidos.


Mensaje de Error:
El valor del tributo correspondiente al precio unitario del impuesto multiplicado por la cantidad de ítem vendidos.

Rechazo:

  • Se reporta un impuesto por valor fijo a nivel del registro item.
  • Se totaliza un impuesto que no se está aplicando en el detalle del documento.

Solución:

  • Se debe indicar el valor fijo por unidad.
  • Los campos unidadMedidaTributo y valorTributoUnidad deben tener el mismo valor y corresponden al valor nominas del impuesto.
  • En el campo ValorTotalImpuesto debe reportase, y el resultado de ValorTributoUnidad * cantidadUnidades.
  • A nivel general se debe reportar el impuesto 01 y se debe totalizar el impuesto en impuestosTotales.



Regla de Rechazo FAX07- Mensaje:El valor del tributo correspondiente a una de las tarifas correspondientes es diferente del producto del porcentaje aplicado sobre la base imponible.


Mensaje de Error:
El valor del tributo correspondiente a una de las tarifas correspondientes es diferente del producto del porcentaje aplicado sobre la base imponible.

Rechazo:

  • Se reporta un impuesto por valor fijo a nivel del registro item.
  • Se totaliza un impuesto que no se está aplicando en el detalle del documento.

Solución:

  • Se debe indicar el valor fijo por unidad.
  • Los campos unidadMedidaTributo y valorTributoUnidad deben tener el mismo valor y corresponden al valor nominas del impuesto.
  • En el campo ValorTotalImpuesto debe reportase, y el resultado de ValorTributoUnidad * cantidadUnidades.
  • A nivel general se debe reportar el impuesto 01 y se debe totalizar el impuesto en impuestosTotales.


Regla de Rechazo FAZ09- Mensaje:StandardItemIdentification no informado.


Mensaje de Error:
StandardItemIdentification no informado.

Rechazo:

  • Se hace referencia al grupo de datos de identificación del artículo o servicio de acuerdo con un estándar debe ser informado.
  • Se totaliza un impuesto que no se está aplicando en el detalle del documento.
  • La DIAN se encuentra validando el reporte tanto del estándar, como el código del producto del mismo.

Solución:

  • Son admitidas hasta tres codificaciones estándar para un mismo artículo.
  • Se recomienda indicar los atributos estandarCodigo y estandarCodigoProducto.



Regla de Rechazo FAU06- Mensaje:Valor Bruto más tributos es diferente a Valor Bruto de la factura que contienen el valor comercial más la Suma de los Tributos de todas las líneas de detalle.


Mensaje de Error:
Valor Bruto más tributos es diferente a Valor Bruto de la factura que contienen el valor comercial más la Suma de los Tributos de todas las líneas de detalle.

Rechazo:

  • El Valor Bruto más tributos no es igual al Valor Bruto de la factura que contienen el valor comercial más la suma de los tributos de todas las líneas de detalle.

Solución:

  • El Valor Bruto más tributos tiene que ser igual al Valor Bruto de la factura que contienen el valor comercial más la suma de los tributos de todas las líneas de detalle.
  • Si están reportando impuesto a nivel General deben también reportarlo a nivel de detalle.
  • Se encuentra asociada a la totalización de las bases antes de la suma de tributos en el documento.
  • Validar que los cálculos de la base total imponible del impuesto al igual que en el monto total del mismo estén correctos.
  • Los impuestos reportados a nivel general deben ser igual a los reportados a nivel de detalle.
Regla FAU06
Anexo Técnico



Regla de Rechazo FAX11- Mensaje:Si el elemento NO es informado o no existe.


Mensaje de Error:
Si el elemento NO es informado o no existe.

Rechazo:

  • Es el valor nominal del tríbuto por unidad, causara rechazo si el elemento no es informado o no existe.

Solución:

  • UnidadMedidaTributo = El valor nominal del impuesto a aplicar por unidad de producto.
  • ValorTributoUnidad = El valor nominal del impuesto a aplicar por unidad de producto.
Regla FAX11
Anexo Técnico


Regla de Rechazo FAX09- Mensaje: Si el elemento NO es informado o no existe.


Mensaje de Error:
Si el elemento NO es informado o no existe.

Rechazo:

  • Es el valor nominal del tríbuto por unidad, causara rechazo si el elemento no es informado o no existe.

Solución:

  • Esta regla hace referencia al campo unidadMedidaTributo usado en el caso de que el tributo es un valor fijo por unidad tributada.
  • Informar el valor del tributo por unidad tributada.
  • ValorTOTALImp = El valor total del impuesto a aplicar, resultante de la operación cantidadUnidades*valor nominal del impuestos por unidad de producto.
Regla FAX09
Anexo Técnico



Regla de Rechazo CAK12 - Mensaje: Este código no corresponde a un valor válido de la lista.


Mensaje de Error:
Este código no corresponde a un valor válido de la lista.

Rechazo:

  • Los códigos no existen o no se están enviando correctamente

Solución:

  • Validar los códigos de municipio y departamento indicados en las direcciones de la clase Cliente (atributos direccionCliente y direccionFiscal).
  • Se debe enviar los códigos de departamento exactamente igual a los indicados en la columna código del anexo técnico para ambos campos.
  • Numeral 13.4.3 del Anexo Técnico V1.8.
  • Anexo técnico 1.8 Pagina 632 a la 654.
Anexo Técnico


Regla de Rechazo CAK29- Mensaje:Este código no corresponde a un valor válido de la lista.


Mensaje de Error:
Este código no corresponde a un valor válido de la lista.

Rechazo:

  • Los códigos no existen o no se están enviando correctamente.

Solución:

  • Si IdentificationCode=CO Valida que el código de municipio corresponda al valor correcto de la lista de municipios.
  • Se debe enviar los códigos de departamento exactamente igual a los indicados en la columna código del anexo técnico para ambos campos.
  • Numeral 13.4.3 del Anexo Técnico V1.8.
  • Anexo técnico 1.8 Pagina 632 a la 654.
Anexo Técnico


Regla de Rechazo CAK32- Mensaje:Este código no corresponde a un valor válido de la lista.


Mensaje de Error:
Este código no corresponde a un valor válido de la lista.

Rechazo:

  • Los códigos no existen o no se están enviando correctamente.

Solución:

  • Si IdentificationCode es “CO”, CountrySubentity debe corresponder a uno de los valores de la columna Código de la tabla 13.4.2 .
  • Numeral 13.4.2 del Anexo Técnico V1.8.
  • Anexo técnico 1.8 Pagina 632 a la 654.
Anexo Técnico



Regla de Rechazo CAD09C- Mensaje:La fecha de emisión no puede ser inferior a 5 días calendarios de la fecha actual.


Mensaje de Error:
La fecha de emisión no puede ser inferior a 5 días calendarios de la fecha actual.

Rechazo:

  • La fecha del documento nota credito es inferior a 5 días calendario.

Solución:

  • Validar que la fecha de emision no sea inferior a 5 días calendarios de la fecha actual.
  • Validar zona horaria de colombia
Regla CAD09
Anexo Técnico


Regla de Rechazo CAD09D- Mensaje:La fecha de emisión no sea posterior a 10 días calendarios de la fecha actual.


Mensaje de Error:
La fecha de emisión no sea posterior a 10 días calendarios de la fecha actual.

Rechazo:

  • La fecha del documento nota credito es superior a 10 días calendario.

Solución:

  • Validar que la fecha de emision no sea superior a 10 días calendarios de la fecha actual.
  • Validar zona horaria de colombia
Regla CAD09
Anexo Técnico



Regla de Notificación CAD12B- Mensaje:El código informado no corresponde a un tipo válido para este tipo de documento.


Mensaje de Error:
El código informado no corresponde a un tipo válido para este tipo de documento.

Rechazo:

Los codigos informados de nota credito no son validos. Solución:

  • Valida que el código de tipo de Nota Crédito informado corresponda a uno de los tipos validos.
Anexo Técnico


Regla de Rechazo CAD15B- Mensaje:Código de divisa inválido.


Mensaje de Error:
Código de divisa inválido.

Rechazo:

  • Rechazo por documento nota crédito.
  • El valor de este elemento no corresponde a un valor de la columna "Código".

Solución:

  • Divisa aplicable a toda la Nota Crédito informada en este elemento debe corresponder al mismo valor para todos los @currencyID, excepto para la información que se exprese en extension.
  • Numeral 13.3.3 del Anexo Técnico V1.8.
  • Anexo técnico 1.8 Pagina 596 a la 601.
Anexo Técnico


Regla de Rechazo CAJ08- No fue informado el conjunto de elementos: ID, CityName, CountrySubentity, CountrySubentityCode, AddressLine, Line, Country, IdentificationCode.


Mensaje de Error:

No fue informado el conjunto de elementos: ID, CityName, CountrySubentity, CountrySubentityCode, AddressLine, Line, Country, IdentificationCode.

Rechazo:

  • No fue informado el conjunto de elementos: ID, CityName, CountrySubentity, CountrySubentityCode, AddressLine, Line, Country, IdentificationCode.

Solución:

  • El grupo deberá estar conformado al menos por el conjunto de elementos: ID, CityName, CountrySubentity, CountrySubentityCode, AddressLine, Line, Country, IdentificationCode
Class autorizado
Anexo Técnico



Regla de Rechazo CAJ16- Código del país del emisor del documento NO corresponde al literal "CO".


Mensaje de Error:
Código del país del emisor del documento NO corresponde al literal "CO"

Rechazo:

  • El código identificador del país del emisor debe corresponder al literal "CO".
  • Los códigos utilizados no corresponden a los indicados en el anexo técnico 1.8.

Solución:

  • Numeral 13.4.1 del Anexo Técnico V1.8.
  • Anexo técnico 1.8 Pagina 624 a la 632.
Anexo Técnico



Regla de Rechazo CAJ24b- El DV del NIT no es correcto.


|

Mensaje de Error:
El DV del NIT no es correcto. Rechazo:

  • El código identificador del país del emisor debe corresponder al literal "CO".
  • Los códigos utilizados no corresponden a los indicados en el anexo técnico 1.8.

Solución:

  • Valida que el DV del NIT del emisor.

informado sea correcto

  • Numeral 13.4.1 del Anexo Técnico V1.8.
  • Anexo técnico 1.8 Pagina 624 a la 632.
Anexo Técnico