Prevalidación de Comprobantes Fiscales
Con el servicio de Prevalidación de Sovos ahora es posible validar la información requerida para la emisión de CFDI 4.0 con lo que podrás confirmar la información que emplearás antes de emitir y así evitar el rechazo al momento de la certificación de tus documentos fiscales. El servicio de prevalidación de CFDI verifica que se cumpla con lo definido en el Anexo 20 del SAT, así como con los Complementos que se incorporen al CFDI.
No se hacen validaciones sobre otras versiones de CFDI o Retenciones.
Contenido
Características generales
El servicio de Prevalidación de comprobantes fiscales de Sovos, verifica que éstos cumplan con los requisitos establecidos por el SAT en el Anexo 20, para: * Los Comprobantes Fiscales Digitales por Internet versión 3.3 * Los Comprobantes Fiscales Digitales por Internet versión 4.0
Como parte de la respuesta del servicio, se indica lo siguiente:
- El resultado indicando si se podría emitir un CFDI con la información proporcionada en el comprobante.
- En caso de que el resultado indique que no se puede emitir: se mostrarán las reglas que se evaluaron para llegar al resultado. Sólo se listarán las reglas que impedirán la emisión.
Información técnica a tener en cuenta
El servicio web de Prevalidación no puede procesar peticiones de tamaño mayor a 10 MB. Esto incluye los encabezados y elementos del SOAP Request.
¿Qué necesito?
Para poder hacer uso del servicio se necesita lo siguiente:
- Contar con un contrato de servicios con Sovos. En caso de no tener uno, por favor envía un correo a sales-mexico@sovos.com
- Haber generado un API Key en tu cuenta Sovos Reachcore, el cual te autentica en los Webservices de la plataforma. Para consultar como generar un API Key, consulta este artículo: Generar API Key para Webservices.
- Poder invocar un Web Service, publicado en internet con conexión segura (SSL).
Ubicación del servicio
Las URLs donde se encuentra la definición del Web Service (WSDL) para cada uno de los ambientes son:
Ambiente | Ubicación de WSDL |
---|---|
Piloto | https://oat.reachcore.com/api/ws/Validacion/PreValidationService.svc/basic?wsdl |
Producción | https://go.reachcore.com/api/ws/Validacion/PreValidationService.svc/basic?wsdl |
Método [PreValidate
]: Prevalidación del comprobante fiscal
En este método, se podrá realizar la solicitud de prevalidación de un CFDI 4.0 únicamente.
Solicitud PreValidate
Elemento | Uso | Descripción |
---|---|---|
ApiKey | Requerido | Identificador de autenticación, que se genera en el portal de Sovos Reachcore. |
Document | Requerido | Contiene el comprobante a prevalidar en formato XML. El XML del comprobante se debe enviar escapado o dentro de los indicadores de ensobretado <![CDATA[...]]> . |
TransactionProperty | Opcional | Son parámetros que indican a Sovos Reachcore algún tratamiento especial en la validación del comprobante que se esta validando. |
CustomData | Opcional | Puede incluirse una estructura XML con datos que se necesitan mostrar en la representación impresa del comprobante que se ha validado. |
Ejemplo de solicitud para la prevalidación de un CFDI 4.0:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="http://www.reachcore.com/CFDI/customHeaders" xmlns:urn="urn:schemas.reachcore.com:document-validation:5.0">
<soapenv:Header>
<cus:ApiKey>vtct...cuuc</cus:ApiKey>
</soapenv:Header>
<soapenv:Body>
<urn:PreValidationRequest>
<urn:Document><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante Version="4.0" Serie="PREVALIDACIONES" Folio="20220531090000" FormaPago="99" Fecha="2022-05-31T09:00:00" SubTotal="0.01" Descuento="0.01" Moneda="MXN" Total="0.00" TipoDeComprobante="I" Exportacion="01" MetodoPago="PUE" LugarExpedicion="10740" Sello="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cfdi="http://www.sat.gob.mx/cfd/4" xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd">
<cfdi:Emisor Rfc="CACX7605101P8" Nombre="XOCHILT CASAS CHAVEZ" RegimenFiscal="601" />
<cfdi:Receptor Rfc="XAXX010101000" Nombre="MI CLIENTE" DomicilioFiscalReceptor="10740" RegimenFiscalReceptor="616" UsoCFDI="S01" />
<cfdi:Conceptos>
<cfdi:Concepto ClaveProdServ="01010101" Cantidad="1" ClaveUnidad="XUN" Descripcion="Prevalidación de información" ValorUnitario="0.01" Importe="0.01" Descuento="0.01" ObjetoImp="01" >
</cfdi:Concepto>
</cfdi:Conceptos>
</cfdi:Comprobante>]]></urn:Document>
</urn:PreValidationRequest>
</soapenv:Body>
</soapenv:Envelope>
Respuesta PreValidate
Elemento | Descripción |
---|---|
TrackingId | Número único de transacción asignado por Sovos Reachcore. Puede ser utilizado en el futuro para referirse a una transacción en particular, con motivos de soporte técnico. |
TransactionDate | Fecha y hora en que se realizó la transacción; esta en la zona horaria UTC |
IsValid | Indicador que responde a la pregunta ¿la información del comprobante que se prevalidó puede ser usada para emisión?. Sólo puede tener dos valores:
|
Errors | En caso de que el elemento IsValid venga con el valor false , se mostrará un arreglo de nodos ErrorMessageCode con los errores detectados. Cada ErrorMessageCode tiene la siguiente estructura XML:
|
TransactionProperty | Si se empleó un TransactionProperty en la petición de prevalidación, se regresa también un TransactionProperty en la respuesta. |
TransactionProperties
se desplegará una serie de elementos TransactionProperty
que contienen una pareja de atributos: Key
para establecer el nombre del TransactionProperty.Value
para establecer el valor correspondiente.
Ejemplo de respuesta exitosa
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<PreValidationResponse xmlns="urn:schemas.reachcore.com:document-validation:5.0">
<TrackingId>f3ee7e9f-3bd0-4dd0-a997-dd7e2a97b0c0</TrackingId>
<TransactionDate>2022-05-31T18:48:50.0945745-05:00</TransactionDate>
<IsValid>true</IsValid>
</PreValidationResponse>
</s:Body>
</s:Envelope>
Ejemplo de respuesta donde se identificaron errores
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<PreValidationResponse xmlns="urn:schemas.reachcore.com:document-validation:5.0">
<TrackingId>f2e23d1a-5292-440e-a63a-2276a1d46773</TrackingId>
<TransactionDate>2022-05-31T18:51:04.1024698-05:00</TransactionDate>
<IsValid>false</IsValid>
<Errors>
<ErrorMessageCode>
<Code>CFDI40130</Code>
<Message>El campo Rfc del nodo receptor debe contener valor "XAXX010101000" y el valor del campo Nombre del nodo Receptor debe contener el valor "PUBLICO EN GENERAL".</Message>
<Target>cfdi:Comprobante/cfdi:InformacionGlobal</Target>
<Details>Cuando el valor del atributo (cfdi:Comprobante/cfdi:Receptor[@RFC]) es igual a "XAXX010101000" y el valor del atributo (cfdi:Comprobante/cfdi:Receptor[@Nombre]) es "PUBLICO EN GENERAL", el nodo (cfdi:Comprobante/cfdi:InformacionGlobal) debe existir, en caso contrario, se debe omitir.</Details>
</ErrorMessageCode>
<ErrorMessageCode>
<Code>CFDI40146</Code>
<Message>El campo RFC del receptor debe contener el valor "XAXX010101000".</Message>
<Target>/cfdi:Comprobante/cfdi:Receptor/@Nombre</Target>
<Details>Cuando el valor registrado en este atributo Nombre (cfdi:Comprobante/cfdi:Receptor[@Nombre]) es "PUBLICO EN GENERAL", el valor del atributo RFC del receptor debe ser "XAXX010101000".</Details>
</ErrorMessageCode>
<ErrorMessageCode>
<Code>CFDI40158</Code>
<Message>La clave del campo RegimenFiscalR debe corresponder con el tipo de persona (física o moral).</Message>
<Target>/cfdi:Comprobante/cfdi:Receptor/@RegimenFiscalReceptor</Target>
<Details>El valor del atributo (cfdi:Comprobante/cfdi:Receptor[@RegimenFiscalReceptor]) [616] debe corresponder con el tipo de persona (fisica o moral) del receptor.</Details>
</ErrorMessageCode>
</Errors>
</PreValidationResponse>
</s:Body>
</s:Envelope>
Para mayor información o aclaración de dudas relacionadas con esta guía, por favor envía un correo a MEX-soporte@sovos.com
Regresar