Preguntas Frecuentes de Integración con servicio Web (Val. Previa)

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

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

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.


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

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


Configurar Resolución

@IMPORTANTE: El secuencial debe estar configurado con tipo de ambiente Producción2.1, por lo tanto no se deberá ingresar el campo setTestID. Se recomienda indicar un Rango Inicial a partir de un millón (1000000), esto con el fin de contar con un rango amplio para pruebas contra la DIAN sin afectar el rango a usar en las emisiones correspondientes al Set de Habilitación a realizarse en el ambiente productivo.


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.

@NOTA: Las emisiones realizadas en ambiente de pruebas con el secuencial de habilitación no afectarán las emisiones correspondientes al set de habilitación en el ambiente productivo. Adicionalmente, estas emisiones no se consideran parte del set de 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.

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:

Clase DetalleFactura
Propina Item


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:

Clase CargoDescuento
Propina CargosDescuentos
  • Al enviarlo como un cargo afectará al monto total de la factura por lo cual en los totales del documento se debe reportar el campo totalCargosAplicados:


Campo totalCargosAplicados
Propina totalCargosAplicados


  • Este campo totalCargosAplicados se visualiza de la siguiente forma en la representación grafica:


Campo totalCargosAplicados en RG
Propina totalCargosAplicados en RG


3. Para que se ilustre el valor de la Propina en la representación gráfica en la parte de totales una línea para el valor de la propina deben adicionar el campo extra 5170006:

Campo CampoExtraPropina
Propina Campo Extra


  • Este campo Extra: 5170006 se visualiza de la siguiente forma en la representación grafica:


Campo ExtraPropinaRG
Propina Campo Extra Propina RG


¿Tengo un solo sistema de numeración distribuido entre todos los procesos y sucursales que debo tomar en cuenta?

Para este escenario debe tener una tabla de equivalencia entre numeración fiscal y numeración única interna en el ERP. Hemos observado que algunos clientes con SAP Business One y numeraciones extensas han implementado equivalencias entre el consecutivo ERP y el consecutivo fiscal, como el ejemplo que le proporcionamos a continuación. Esta podría ser una solución viable mientras trabajamos en ajustar nuestra plataforma.


Ejemplo Numeraciones Extensas
  • Rango SAP: 115.456.000.001 - 115.456.999.999
  • Equivalencia. Prefijo fiscal FELX -> 115.456.000.000
  • Operación de equivalencia => valor_prefijo + valor_consecutivofiscal = numeración interna SAP.
  • En este ejemplo en la DIAN se hace la solicitud de la numeración FELX-000001 -> FELX-999999
Y existe un mapeo contable y auditable entre la numeración interna y la numeración fiscal.


¿Cómo Acreditar o Debitar una Factura que se encuentra con Aceptación Expresa?

Una factura que ha sido aceptada expresamente según la resolución de RADIAN 0085 2022 no puede ser modificada en base a que se ha convertido en título valor, y para su negociación no será posible el ajuste de valor de la misma. En caso de que se requiera generar alguna devolución parcial o total de la factura mencionada, tendrán la opción de generar una nota de crédito no referenciada. Las notas de crédito no referenciadas se pueden aplicar cuando alguna condición comercial se cumple y se le desea dar un beneficio en crédito a favor del comprador.

Para la generación de Notas de Crédito no referenciadas debe tener en cuenta lo siguiente:

  • El campo tipoOperacion = '22'
  • La sección documentosReferenciados = NULL

Para la generación de Notas de Debito no referenciadas debe tener en cuenta lo siguiente:

  • El campo tipoOperacion = '32'
  • La sección documentosReferenciados = NULL

¿Cómo leer código QR de factura desde teléfonos iPhone?

Para la lectura de los códigos QR impreso en las representaciones graficas de las facturas electrónicas desde dispositivos móviles con sistema operativo iOS, puede tener en cuenta la siguiente información:

1. Si la información del código QR contiene un enlace URL que apunta a un sitio web específico. Se puede escanear el código QR utilizando la cámara del Iphone de la siguiente manera:

  • Abre la aplicación de la cámara en el iPhone.
  • Apunta la cámara hacia el código QR. Asegúrese de que el código QR esté bien enfocado en la pantalla.
  • El iPhone debería detectar automáticamente el código QR y mostrar una notificación en la parte superior de la pantalla.
  • Toca la notificación que aparece en la parte superior para abrir el enlace web.

2. Si el código QR contiene información en formato de texto, como se encuentra establecido en el anexo técnico 1.8 del 05 de Mayo del 2020. Para procesar esta información, necesitarás una aplicación de escáner de códigos QR que pueda leer y analizar el contenido del código QR. Puede seguir estos pasos:

  • Abre la App Store en el iPhone.
  • Busca "lector de códigos QR" o "QR code scanner" en la barra de búsqueda.
  • Selecciona una aplicación de escáner de códigos QR de su elección e instálala en el iPhone. Algunas aplicaciones populares incluyen "QR Code Reader" o "QR Code Scanner".
  • Abre la aplicación que has instalado.
  • Utiliza la cámara del iPhone para escanear el código QR que contiene la información.
  • La aplicación debería leer el contenido del código QR y mostrar la información en pantalla.

@IMPORTANTE: La forma en que escanea un código QR en el iPhone depende del contenido del código QR. Puede abrir enlaces web directamente desde la cámara de tu iPhone, pero para procesar otro tipo de información, necesitará una aplicación de escáner de códigos QR.

¿Como imprimir Factura electronica tipo tirilla en maquina EXC POS?

Para la impresion de factura electronica tipo tirilla las impresoras térmicas estructuran las tirillas con comandos ESC/POS, por lo que deberán identificar primero si la impresora que van a utilizar cuenta con la función de imprimir código QR.

GS (k pL pH cn fn n1 (fn=65)
Fn 65



GS (k pL pH cn fn n (fn=67)
Fn 67



GS (k pL pH cn fn n (fn=69)
Fn 69



GS (k pL pH cn fn n (fn=80)
Fn 80









Copyright
THE FACTORY HKA COLOMBIA

Copyright © 2016 The Factory HKA. Todos los derechos reservados.