Bienvenido a Facturas y Respuestas.

Esperamos que encuentre la respuesta a su pregunta. Y si no, puede formularla para que los expertos de la comunidad la respondan.

Preguntar

Este blog es creado y administrado por:

Copyright - 2020

0 votos
por en Preguntas Tecnicas
hola, estoy enviando pruebas para el ambiente de habilitación para envío de pruebas de nómina electrónica, me estoy consumiendo el servicio SendNominaSyncAsync, pero me esta arrojando dos errores los cuales no he podido solucionar, estoy programando en c#, si alguien tiene alguna idea de como solucionarlos se los agradecería, los errores son:

Regla: NIE024, Rechazo: Se debe indicar el CUNE según la definición establecida.

Regla: 92, Rechazo: El Emisor del Documento no se encuentra Habilitado en la Plataforma.

la sección donde construyo el CUNE y QR es la siguiente, (quemare la información para que noten la estructura de ambas variables)

CUNE:

  string semillaCUNE = "Pref71" + // prefijo + consecutivo de nomina

                    "2021-08-28" + // fecha

                    "10:32:50-05:00" + // hora

                    "1000.00" + // devengado

                    "500.00" + // deduccion

                    "500.00" + // total

                    "900999999" + // NIT Emisor

                    "1009999" + // CC Empleado

                    "102" + // TipoXML

                    "123" + // softwarepin

                    "2"; // ambiente

                string CUNE = ConversionSHA384(semillaCUNE);

QR:

       string QR =

                 "NumNIE:" + "71" + // consecutivo de nómina

                 "\n" +

                "FecNIE:" + "2021-08-28" + // fecha generacion, igual al cune

                "\n" +

                "HorNIE:" + " 10:32:50-05:00" + // hora generacion, igual al cune

                "\n" +

                "DocEmp:" + "1009999" + // documento empleado, igual al cune

                "\n" +

                "ValDev:" +"1000.00" +

                "\n" +

                "ValDed:" + "500.00"+

                "\n" +

                "ValTol:" + "500.00" +

                "\n" +

                "CUNE:" + CUNE +

                "\n" +

                "QRCode:" +"";

  QR = QR +

                    "https://catalogo-vpfe-hab.dian.gov.co/document/searchqr?documentkey=" + CUNE;

mil disculpas si he incumplido alguna norma o he formulado mal mi pregunta, es la primera vez en el foro, he leido que a otros desarrolladores les ha pasado el NIE021, pero no hay respuesta.

muchas gracias por su atención, si me pueden colaborar quedaría agradecido
por
editado
Solucion= le he enviado las pruebas por el metodo SendTestSetAsync y me autoriza la nomina sin ningun problema, este metodo me retorna el ZipKey, lo consulto por GetStatusZipAsync y me autoriza, en realidad la falla no era en mi XML, era en el metodo hacia la DIAN
por
yo no he podido pasar del error Set de prueba con identificador f07eac54-f2e1-4c93-a920-43eb1e1c18c1 no se encuentra registrado para realizar proceso de habilitación., no sé si te ocurrió lo mismo
por
si, pero ese error es por que el metodo sent test set id, requiere un setTestID, ese set usted lo saca desde https://catalogo-vpfe-hab.dian.gov.co/User/Login, alli verifique que ese set que usted esta enviando sea el mismo del negocio al cual usted habilitará, verifique de pronto el prefijo, si quiere me puede adjuntar una foto del problema al correo arley.globus@gmail.com a ver si me sucedio y le colaboro
por
Hola Arley, puedes regalarme un xml con el que haya superado las pruebas, yo tengo el mismo error que tu, pero no doy con el problema, lo he revisado un monton de veces.
por
Hola Ebertlast tengo tu mismo error podrías compartir el XML de Arley seria de gran ayuda. Gracias
por
Hola Ivan, Arley no ha respondido, pero yo ya alcancé a corregir todo, no se si alcance todo el xml colocarlo aquí como comentario. Voy a intentarlo.

<NominaIndividual xmlns="dian:gov:co:facturaelectronica:NominaIndividual" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" xmlns:xades141="http://uri.etsi.org/01903/v1.4.1#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SchemaLocation="" xsi:schemaLocation="dian:gov:co:facturaelectronica:NominaIndividual NominaIndividualElectronicaXSD.xsd">
  <ext:UBLExtensions>
    <ext:UBLExtension>
      <ext:ExtensionContent>
          <!-- Firma -->
      </ext:ExtensionContent>
    </ext:UBLExtension>
  </ext:UBLExtensions>
  <Novedad CUNENov="">false</Novedad>
  <Periodo FechaIngreso="2020-11-24" FechaLiquidacionInicio="2021-07-01" FechaLiquidacionFin="2021-07-31" TiempoLaborado="313" FechaGen="2021-08-09" />
  <NumeroSecuenciaXML CodigoTrabajador="1004424649" Prefijo="SME" Consecutivo="10" Numero="SME10" />
  <LugarGeneracionXML Pais="CO" DepartamentoEstado="47" MunicipioCiudad="47001" Idioma="es" />
  <ProveedorXML NIT="891701664" RazonSocial="SOCIEDAD MEDICA DE SANTA MARTA S.A.S." DV="1" SoftwareID="38cedeb0-ec29-4a76-8890-73c85dc3e478" SoftwareSC="577bb90af0f41593dec2474cd3b6972bf94d8bf83197706f498369bdd66491729885e4ae7f114310cdbc7d8c951f577e" />
  <CodigoQR>https://catalogo-vpfe-hab.dian.gov.co/document/searchqr?documentkey=4965d0a07ffd1969f3ab6f257efa014bc2938ba9df25af9af6b6a42749ab8770bc668aa32dd4cdb2835dbd218e7ed85c</CodigoQR>
  <InformacionGeneral Version="V1.0: Documento Soporte de Pago de Nómina Electrónica" Ambiente="2" TipoXML="102" CUNE="4965d0a07ffd1969f3ab6f257efa014bc2938ba9df25af9af6b6a42749ab8770bc668aa32dd4cdb2835dbd218e7ed85c" EncripCUNE="CUNE-SHA384" FechaGen="2021-08-09" HoraGen="18:15:00-05:00" PeriodoNomina="5" TipoMoneda="COP" TRM="0" />
  <Notas>SME102021-08-0918:15:00-05:001506454.0096000.001410454.008917016641004424649102123452</Notas>
  <Empleador RazonSocial="SOCIEDAD MEDICA DE SANTA MARTA S.A.S." NIT="891701664" DV="1" Pais="CO" DepartamentoEstado="47" MunicipioCiudad="47001" Direccion="Carrera 5 25-46" />
  <Trabajador TipoTrabajador="01" SubTipoTrabajador="00" AltoRiesgoPension="false" TipoDocumento="13" NumeroDocumento="1004424649" PrimerApellido="VENGOECHEA" SegundoApellido="RUIZ" PrimerNombre="DIONISIO" OtrosNombres="ALBERTO" LugarTrabajoPais="CO" LugarTrabajoDepartamentoEstado="47" LugarTrabajoMunicipioCiudad="47001" LugarTrabajoDireccion="Carrera 5 25-46" SalarioIntegral="false" TipoContrato="1" Sueldo="1200000.00" CodigoTrabajador="1004424649" />
  <Pago Forma="1" Metodo="42" Banco="BANCO DE BOGOTA" TipoCuenta="Ahorros" NumeroCuenta="439192329" />
  <FechasPagos>
    <FechaPago>2021-08-09</FechaPago>
  </FechasPagos>
  <Devengados>
    <Basico DiasTrabajados="30" SueldoTrabajado="1200000.00" />
    <Transporte AuxilioTransporte="106454.00" />
  </Devengados>
  <Deducciones>
    <Salud Porcentaje="4.00" Deduccion="48000.00" />
    <FondoPension Porcentaje="4.00" Deduccion="0.00" />
  </Deducciones>
  <DevengadosTotal>1506454.00</DevengadosTotal>
  <DeduccionesTotal>96000.00</DeduccionesTotal>
  <ComprobanteTotal>1410454.00</ComprobanteTotal>
</NominaIndividual

https://t.me/facturasyrespuestas
por
Hola Ebertlast gracias por responder de verdad te lo agradezco mucho, en cuanto al XML ya lo he corregido y colocado igual a de usted, me gustaria saber si el firmado en la nominda es igual al de la factura ? o si puedes enviarme la estructura seria de gran ayuda claro sin sus datos, ya que ahora tengo error al crear la firma. muchas gracias.
por
Hola Ivan, no se con que te refieres a que si es la misma firma, es exactamente el mismo proceso como firmo todos los documentos. Yo lo hago con C# no se si te sirve de algo algunas lineas para que lo compares con lo tuyo:

parametros.SignatureDestination = new SignatureXPathExpression();
parametros.SignatureDestination.Namespaces.Add("tns", "dian:gov:co:facturaelectronica:NominaIndividual");
parametros.SignatureDestination.XPathExpression = "/tns:NominaIndividual/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent";
parametros.SignatureDestination.Namespaces.Add("xs", "http://www.w3.org/2001/XMLSchema-instance");
parametros.SignatureDestination.Namespaces.Add("ds", "http://www.w3.org/2000/09/xmldsig#");
parametros.SignatureDestination.Namespaces.Add("ext", "urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2");
 parametros.SignaturePolicyInfo = new SignaturePolicyInfo();
parametros.SignaturePolicyInfo.PolicyIdentifier = "https://facturaelectronica.dian.gov.co/politicadefirma/v2/politicadefirmav2.pdf";
parametros.SignaturePolicyInfo.PolicyDigestAlgorithm = DigestMethod.SHA256;


En esta dirección te habla sobre la política de la firma. Puedes ilustrarte alli: https://facturaelectronica.dian.gov.co/politicadefirma/v2/politicadefirmav2.pdf.

También puedes escribirme en: https://t.me/facturasyrespuestas.

PD: Hay una cosa muy importante y es la fecha y hora en la que estas haciendo la firma. Debe ser estrictamente menor o igual a la que esta en los servidores de la DIAN. Me ha pasado anteriormente en el equipo que hace la firma, la fecha y hora de otro país como chile y no pasa. Debes revisarlo. A veces son bobadas así que ponen a uno a loquear.
por
Hola Eberlat, gracias tengo este error Regla: 92,  Regla: NIE024, rechazo envío de pruebas nómina electrónica, pero me dice que el CUNE no cumple he mirado y revisado la concatenación y se hace perfecta y comparo el valor Generado cuando pasa por el algoritmo y es igual al de la pagina que ellos colocan en el anexo. Me causa la duda de la hora y fecha que deben ser menor a la de los servidores de la DAIN, puedes guiarme como puedo saber esa parte mil gracias.
por
Hola Eberlat bueno ya solucione lo del CUNE para los que tengan el mismo problema esta fue mi solución la hora de generacion tanto en en la concatenación del CUNE como en en el campo Lugar de generación deben ser iguales. y ojo con eso "HH:mm:ss-05:00" esta estructura por alguna razón no funciono para mi lo que hise fue Dim HoraGeneracionCune As String = DateTimeHelper.GetColombianDate().ToString("HH:mm:ss") declarar esta variable y al momento de concatenar para armar el cune le concatene el "-05:00" asi String.Concat(HoraGeneracionCune, "-05:00") igual para la hora de generación.

Si alguno presenta este problema que intente así y tener en cuenta que la hora en la firma como dice Eberlat la hora de la firma debe ser menor a la de los servidores de la DIAN
por
Hola compañero me gustaria saber si lograste solucionar el error, a mi tambien me sale al enviar nominas de ajuste, en cambio al realizar nominas individuales normales las paso sin problema.
por
Hola Jhon, por el momento estoy en validando el envío de las nomina Individual , todavía no he mandado nomina de ajuste, ahora tengo el problema que por SOAP se envían y validan e forma correcta pero por el software nuestro me salen los errores

El SendTestSetAsync de retorna bien el ZipKey
pero al consultar  estos metodos me salen estos errores
GetStatus > TrackId no existe en los registros de la DIAN.
GetStatusZip > Error al procesar batch. ZipKey:

Esto me sale desde nuestro sistemas pero si desde nuestro sistema generamos el XML la firma y el .ZIP y los envio por el SOAP se me validan bien los documentos y me dices que son validos y confirmo el envio en la DIAN y es correcto.

No se si te ha pasado esto?
por
Hola chicos, les recuerdo que en el ambiente de pruebas deben usar solo estos dos servicios: SendTestSetAsync para enviar los documentos y GetStatusZip para saber el resultado de la validación, el GetStatus es para envíos sincronos, y eso es ya en Producción.

El error "Error al procesar batch" revisa que si se esté enviando el trackid compita. Lo que puedes hacer, es utilizar el SOAPUI para que valides la solicitud y respuesta. En el anexo técnico te dice como usarlo, sino, igual pregunta y te guío. https://t.me/facturasyrespuestas
por
Gracias Ebertlast ya logre enviar desde mi aplicación, si es correcto lo que dices para pruebas estoy usando SendTestSetAsync y GetStatusZip, logre configurar bien el SOAPUI y pude hacer los envíos de forma correcta con los métodos de prueba cuando pase a producción les comento a ver como me va.
por
Hola amigo
Yo envio la NOMINA ELECTRÓNICA y me sale el siguiente error al consultar el TrackID por GetStatuZip

Regla: ZB01, Rechazo: Fallo en el schema XML del archivo (Nomina Individual) - The required attribute 'SchemaLocation' is missing.

Tienes alguna idea de como  solucionarlo
Gracias
por
hola, tengo el mismo problema , no me serializa correctamente el xml, ya lo solucionaste?

1 Respuesta

0 votos
por

Buenas noches,

Actualmente estoy teniendo este error al momento de habilitar la nomina utilizando el método  SendTestSetAsync:

Set de prueba con identificador 4f572e0c-d330-40f3-890c-9ce38e2f4338 no se encuentra registrado para realizar proceso de habilitación.

Alguna idea de que puede ser? La URL que estoy consumiendo para habilitación es https://vpfe-hab.dian.gov.co/WcfDianCustomerServices.svc

Quedo atento y de antemano muchas gracias por la ayuda que me puedas brindar.

Saludos

por
Amigo tengo exactamente el mismo problema con una empresa logre habilitarlo sin problema y con otra no me ha dejado por ese mismo mensaje de error, lograste solucionarlo?
por
Hola
Cuando envio la NOMINA INDIVIDUAL por SendTestSetAsync me la carga correctamente, al Gonsultar el TrackID por GetStatusZip me arroja el siguiente error.

Regla: ZB01, Rechazo: Fallo en el schema XML del archivo (Nomina Individual) - The required attribute 'SchemaLocation' is missing.

Alguien sabe como solucionarlo
GRACIAS
por
Si, la misma estructura (xml y de firma) con algunas empresas deja trabajar y con otras empieza bien y luego se bloquea con errores como que NO puede validar la firma o

Regla: ZB01, Rechazo: Fallo en el schema XML del archivo (Nomina Individual) - The required attribute 'SchemaLocation' is missing

Sin solución aparente aún por parte de la DIAN
por
Ensaya con este ENCABEZADO:
<NominaIndividual
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
    xmlns:xades="http://uri.etsi.org/01903/v1.3.2#"
    xmlns:xades141="http://uri.etsi.org/01903/v1.4.1#"
    xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
    xmlns="urn:dian:gov:co:facturaelectronica:NominaIndividual">
por
Anónimo gracias es NIT y no Nit
...