Cancelación de CFDI

Este servicio permite cancelar fiscalmente ante el SAT uno o varios comprobantes CFDI.

Contenido

Características generales

En el esquema de Comprobantes Fiscales Digitales por Internet (CFDI), el SAT resguarda en su base de datos centralizada todos los comprobantes certificados por los Proveedores Autorizado de Certificación para el padrón completo de contribuyentes. Por lo tanto, debido a este modelo centralizado, la cancelación de un CFDI consiste en solicitar directamente al SAT la cancelación del comprobante, mediante la Cancelación de CFDI.

La Cancelación de CFDI únicamente puede ser ejecutada por el contribuyente directamente en el portal de factura electrónica del SAT, o a través de un PAC como Reachcore. Durante este trámite, el SAT puede aprobar o rechazar la solicitud de cancelación, emitiendo un Acuse de la operación indicando ya sea la confirmación de que el comprobante fue cancelado, o bien, la razón del rechazo por la que el comprobante no se pudo cancelar. Las causas de rechazo pueden ser transitorias: si el SAT aún no tiene registrado en su sistema el CFDI; o definitivas: si la solicitud de cancelación es incorrecta.

Para que el SAT de trámite a una solicitud de cancelación, se debe de cumplir con lo siguiente:

  • La solicitud de cancelación del UUID (folio fiscal), este firmada electrónicamente con el certificado de sello digital (CSD) del emisor.
  • El UUID (folio fiscal) debe pertenecer al emisor del comprobante.

Reachcore ofrece varias modalidades de cancelación de CFDI para llevar a cabo el trámite con el SAT y para obtener el Acuse de Cancelación firmado por el SAT que avala la operación. Estas modalidades son:

  • Cancelación en línea: con respuesta en línea por parte del SAT, para cancelar hasta 500 comprobantes.
  • Cancelación desconectada: cuando el contribuyentes requiere cancelar más de 500 comprobantes, Reachcore ofrece esta modalidad, en donde se generan las solicitudes necesarias con el SAT y un esquema de re-intentos por saturación de los sistemas del SAT en horas pico o causados por que algún comprobante aún no se encuentre registrado por el PAC que lo emitió.

Cancelación en línea

En esta modalidad, Reachcore realiza la solicitud de cancelación ante el SAT, de los folios fiscales (UUID) que el contribuyente indica:

  • Realizando la solicitud firmada con el CSD del emisor
  • Enviando la solicitud al SAT
  • Recepción de la respuesta de la solicitud por parte del SAT.

Esta modalidad tiene la ventaja de que al final de la operación el contribuyente recibe el resultado definitivo de la misma, pero tiene las siguientes desventajas:

  • Solo se puede cancelar un máximo de 500 comprobantes por operación. Este es un límite establecido por el SAT.
  • La conexión directa con el SAT implica que la operación tenga una duración de entre 1 y 5 minutos.
  • Si un CFDI que fue emitido recientemente todavía no se encuentra registrado en los sistemas del SAT (hasta 72 horas después de la fecha de timbrado), la transacción será rechazada y deberá ser intentada mas tarde.
  • En el escenario de problemas de comunicación, saturación o si el servicio de cancelación del SAT no está disponible, la transacción no podrá ser realizada y deberá ser intentada mas tarde.

Para eliminar estas desventajas, Reachcore ofrece también servicios administrados de cancelación desconectada.

Cancelación desconectada (asíncrona)

En esta modalidad, el contribuyente solicita a Reachcore llevar a cabo el trámite de cancelación hasta de 10,000 folios en una sola operación. El contribuyente puede hacer llegar a Reachcore la lista de los folios fiscales a cancelar ya sea por medio de un Web Service (hasta 2,000) o un archivo de texto plano (hasta 10,000), que se transfiere por una conexión segura (SFTP).

Como resultado inmediato, Reachcore entrega al contribuyente un identificador de seguimiento de la operación. Reachcore se encarga de realizar tantas sesiones de comunicación con el SAT como sea necesario hasta asegurarse de que todos los comprobantes solicitados han sido cancelados, sin la intervención del contribuyente. El contribuyente puede consultar en cualquier momento el progreso de la operación, tantas veces como quiera, a través de servicio web de cancelaciones de Reachcore utilizando el número de seguimiento asignado a la operación.

Consulta de Acuses de Cancelación

Sin importar el modelo de cancelación (en línea o desconectada), nuestro Web Service ofrece un método de consulta para que el contribuyente pueda descargar el Acuse de Cancelación emitido por el SAT para la cancelación de un folio fiscal.

Comparación de servicios de cancelación de Reachcore

En esta tabla se muestran una comparación de las principales características de los diferentes servicios de cancelación de CFDI ofrecidos por Reachcore.

Característica Cancelación Cancelación firma de origen Cancelación desconectada (asíncrona) Archivo de texto
Límite de Cancelaciones en una sola petición 500 comprobantes 500 comprobantes 2,000 comprobantes 10,000 comprobantes
Reachcore se encarga de realizar los re-intentos ante el SAT No No Si Si
Devuelve en línea el acuse del SAT Si Si No No
Cancelación sin entregar llave privada de CSD a Reachcore No Si No No
Permite consultas del acuse del SAT por Folio Fiscal Si Si Si Si


Requisitos para cancelar un CFDI

Para realizar la cancelación de un folio fiscal de un CFDI es necesario contar con lo siguiente:

  • El folio fiscal (UUID)
  • El RFC del Emisor del comprobante o comprobantes a cancelar. Estos datos pueden ser extraídos del CFDI, ya sea del documento XML o de la representación impresa PDF.
  • El Certificado de Sello Digital (CSD) vigente del RFC emisor del comprobante.

    El CSD generalmente consta de tres partes:

    1. El Certificado, que es un archivo con extensión .cer
    2. La llave privada, que es un archivo con extensión .key
    3. y la contraseña de la llave privada.

Para obtener un certificado de sello digital (CSD) del SAT, consultar los requisitos y el procedimiento en el portal del SAT: CÓMO TRAMITAR UN CERTIFICADO DE SELLO DIGITAL (CSD).

Integración

Existen dos medios de integración para hacer enviar las solicitudes de cancelación a Reachcore:

  • Web Service de Cancelación
  • Archivo de texto plano a través de SFTP.

Aquí se explica lo relacionado con el Web Service. Si deseas realizar la cancelación por medio de archivo de texto plano, es necesario crear el archivo de texto plano conforme se indica en la siguiente liga: archivo de texto plano para cancelación. El archivo puede enviarse vía SFTP o cargándolo en el portal de Reachcore.

Para obtener información adicional, por favor contáctenos o con su ejecutivo de cuenta.

Web Service de Cancelación.

En este Web Service se podrán realizar las siguientes operaciones:

  • Cancelación en línea.
  • Cancelación en línea con firma de origen.
  • Cancelación desconectada.
  • Consulta y descarga de acuses de cancelación.

¿Qué necesito?

Para hacer uso del web service de cancelación se necesita:

  • Contar con un contrato de servicios con Reachcore. En caso de no tener uno, por favor envía un correo a ventas@reachcore.com
  • Haber generado un API Key en tu cuenta Reachcore, ya que es el un identificador que te autentica en los Web Services de la plataforma. Para consultar como generar el API Key, consulta este artículo: Generar API Key para Web Services.

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 del WSDL
Pruebas https://oat.reachcore.com/api/ws/timbre-fiscal/Cancelacion.svc/basic?wsdl
Producción https://go.reachcore.com/api/ws/timbre-fiscal/Cancelacion.svc/basic?wsdl


Método [Cancelar]: Cancelación con respuesta síncrona

En este método, se podrá realizar la solicitud de cancelación de hasta 500 folios fiscales. Para poder utilizar este método, se requiere que el CSD este registrado en Reachcore para firmar la solicitud de cancelación. En la respuesta se obtendrá el acuse de cancelación del SAT.

Solicitud Cancelar

Elemento Uso Descripción
ApiKey Requerido Identificador de autenticación, que se genera en el portal de Reachcore.
RFC Requerido Indica el RFC que es dueño de los folios fiscales y se relaciona con el CSD con el que se llevará a cabo la firma electrónica de la solicitud de cancelación.
Folios Requerido Lista de los folios fiscales de los comprobantes a cancelar, la cual debe contener al menos 1 y hasta 500 folios.
Cada folio debe tener el formato de GUID válido, descrito por la siguiente expresión regular:
[A-F0-9]{8}-[A-F0-9]{4}{3}-[A-F0-9]{12}
Ejemplo:

F9123206-D86C-49EE-80F3-C288CC948631


Ejemplo de solicitud:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="http://www.reachcore.com/CFDI/customHeaders" xmlns:urn="urn:reachcore.com:services:api:ws:timbre-fiscal:cancelacion:2.0">
   <soapenv:Header>
      <cus:ApiKey>7F3FA21M61.....19E42D72E3</cus:ApiKey>
   </soapenv:Header>
   <soapenv:Body>
      <urn:CancelacionFiscalRequest>
         <urn:Folios>
            <urn:guid>d6855812-af48-4e8f-b30e-3dcb8bd0b40d</urn:guid>
         </urn:Folios>
         <urn:RFC>AAA010101AAA</urn:RFC>
      </urn:CancelacionFiscalRequest>
   </soapenv:Body>
</soapenv:Envelope>

Respuesta Cancelar

Elemento Descripción
Error
  • false: Transacción exitosa.
  • true: Error al procesarse la transacción.
  • ErrorMessage En caso que el elemento Errortenga el valor true, se mostrara la descripción del error.
    FoliosCancelados Indica la cantidad de comprobantes que fueron exitosamente cancelados.
    AcuseSAT El acuse en formato XML generado y firmado por el SAT que indica el resultado de la operación de la solicitud de cancelación. Esta dentro de un elemento <![CDATA[...]]>.
    Folios Se muestra una lista de resultados en donde se tiene un elemento TransactionDetailResponse para cada folio que se solicitó cancelar. Para cada folio se describe:
    • FolioFiscal: El UUID del comprobante.
    • Cancelado: Valor true o false que indica si el comprobante se canceló o no.
    • ResultCode: Código de respuesta devuelto por el SAT para el comprobante. Ver la Lista de códigos de respuesta del SAT para cancelación.
    • ResultMessage: Significado del código de respuesta del SAT. En caso de que Cancelado sea false este campo describe la razón por la que el SAT no aprobó la cancelación del comprobante.


    Ejemplo de respuesta:

    <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">
            <CancelacionFiscalResponse xmlns="urn:reachcore.com:services:api:ws:timbre-fiscal:cancelacion:2.0">
                <Error>false</Error>
                <ErrorMessage/>
                <FoliosCancelados>2</FoliosCancelados>
                <AcuseSAT>
                    <![CDATA[<Acuse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" RfcEmisor="AAA010101AAA" Fecha="2016-01-12T18:09:24.9699876-06:00">
                        <Folios xmlns="http://cancelacfd.sat.gob.mx">
                            <UUID>23A433E9-FA1B-47CB-804B-2C80666F438C</UUID>
                            <EstatusUUID>201</EstatusUUID>
                        </Folios>
                        <Folios xmlns="http://cancelacfd.sat.gob.mx">
                            <UUID>876DB4A9-41C4-49DC-8191-5F03133DF5EE</UUID>
                            <EstatusUUID>201</EstatusUUID>
                        </Folios>
                        <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
                            <SignedInfo>
                                <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
                                <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
                                <Reference URI="">
                                    <Transforms>
                                        <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
                                    </Transforms>
                                    <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                                    <DigestValue>ufw4amS/YediDE34m1PUDCpSUVY=</DigestValue>
                                </Reference>
                            </SignedInfo>
                            <SignatureValue>r+MHCtG5TvZzlIV0MHgREDhCnJHig0vSwLJA0Ko+wWNlvv0N/ALNMOg3FhEuF14v3POL1TGAIuDOGX7aGeKlrU3bqgCxIGf5aCpfeqBmWFPXC6M4ppwyrmO9iJSdu4VMbS3yVR7w7Ya1fRjtVLw3mM/HOUU7ITnDrIGe5UVz9Kk=</SignatureValue>
                            <KeyInfo>
                                <X509Data>
                                    <X509IssuerSerial>
                                        <X509IssuerName>OID.1.2.840.113549.1.9.2=Responsable: Héctor Ornelas Arciga, OID.2.5.4.45=SAT970701NN3, L=Coyoacán, S=Distrito Federal, C=MX, PostalCode=06300, STREET="Av. Hidalgo 77, Col. Guerrero", E=asisnet@pruebas.sat.gob.mx, OU=Administración de Seguridad de la Información, O=Servicio de Administración Tributaria, CN=A.C. de pruebas</X509IssuerName>
                                        <X509SerialNumber>286524172099382162235533054511188021807429465904</X509SerialNumber>
                                    </X509IssuerSerial>
                                    <X509Certificate>MIIEdDCCA1ygAwIBAgIUMjAwMDEwMDAwMDAxMDAwMDU4NzAwDQYJKoZIhvcNAQEFBQAwggFvMRgwFgYDVQQDDA9BLkMuIGRlIHBydWViYXMxLzAtBgNVBAoMJlNlcnZpY2lvIGRlIEFkbWluaXN0cmFjacOzbiBUcmlidXRhcmlhMTgwNgYDVQQLDC9BZG1pbmlzdHJhY2nDs24gZGUgU2VndXJpZGFkIGRlIGxhIEluZm9ybWFjacOzbjEpMCcGCSqGSIb3DQEJARYaYXNpc25ldEBwcnVlYmFzLnNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxEjAQBgNVBAcMCUNveW9hY8OhbjEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTIwMAYJKoZIhvcNAQkCDCNSZXNwb25zYWJsZTogSMOpY3RvciBPcm5lbGFzIEFyY2lnYTAeFw0xMjA3MjcxNzAyMDlaFw0xNjA3MjcxNzAyMDlaMIHbMSkwJwYDVQQDEyBBQ0NFTSBTRVJWSUNJT1MgRU1QUkVTQVJJQUxFUyBTQzEpMCcGA1UEKRMgQUNDRU0gU0VSVklDSU9TIEVNUFJFU0FSSUFMRVMgU0MxKTAnBgNVBAoTIEFDQ0VNIFNFUlZJQ0lPUyBFTVBSRVNBUklBTEVTIFNDMSUwIwYDVQQtExxBQUEwMTAxMDFBQUEgLyBIRUdUNzYxMDAzNFMyMR4wHAYDVQQFExUgLyBIRUdUNzYxMDAzTURGUk5OMDkxETAPBgNVBAsTCFVuaWRhZCA0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCxjtFKP9bhgV8I8lIlc58M19l8xBIrM6rWJagt1G/yYTo6WLVKTGx9fiWSnTZVeClcrLXo3heKYAkHPla6WHRiMRkwdshafy9AtUx5xyLIDXzER4K/eZitmzp9LWTxi6BYEHPUuOdFJ8PtPkVb3yvadMJgxMtI47uXxmx40mkA9QIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQUFAAOCAQEA2D99yNxnBdJ7ONJQ7XiMaaqCTkB4wWYxHaFlxpKgLe3HRc86rEZfBnoHLGd/ACAIoTc2PG09J4qkDOw63fb1aNLa9Zjqat+Nh6qB7+ifC9+pAVd6OrR5Ch7v/Fr0I4APrfSyXbx5U915zaGw9c1wM57Lfa0oGipkPUfab2lnf0y6X1WXMKv+vMMVtlQxUAC0Vc5HBPV3aWtDXwg8pANbcYfZEr8H2i4aOpFBsRLuPjdo9OOqfn4Df6GoqKUrlwBPh6wCqexSKuG3XuTqZB1svdyss9NW+iOTqkBFWJrOPpKwVppyt4YGEcejoPBcnWpGSALpahuxuX5hoUak0+1Yxw==</X509Certificate>
                                </X509Data>
                            </KeyInfo>
                        </Signature>
                    </Acuse> 
                    ]]>
                </AcuseSAT>
                <Folios>
                    <TransactionDetailResponse>
                        <FolioFiscal>23a433e9-fa1b-47cb-804b-2c80666f438c</FolioFiscal>
                        <Cancelado>true</Cancelado>
                        <ResultCode>201</ResultCode>
                        <ResultMessage>Cancelación satisfactoria.</ResultMessage>
                    </TransactionDetailResponse>
                    <TransactionDetailResponse>
                        <FolioFiscal>876db4a9-41c4-49dc-8191-5f03133df5ee</FolioFiscal>
                        <Cancelado>true</Cancelado>
                        <ResultCode>201</ResultCode>
                        <ResultMessage>Cancelación satisfactoria.</ResultMessage>
                    </TransactionDetailResponse>
                </Folios>
            </CancelacionFiscalResponse>
        </s:Body>
    </s:Envelope>

    Método [CancelarSolicitudFirmada]: Cancelación con firma de origen

    Este método se utiliza para solicitar la cancelación de el o los folios fiscales para CFDI; sin embargo, a diferencia de los métodos previamente descritos, cuando no es posible registrar el CSD en Reachcore, el XML de la solicitud de cancelación firmado con el CSD del emisor es enviado en la solicitud de este método, conforme a lo definido por el SAT para la solicitud de cancelación. La respuesta de esta operación es idéntica a la del método Cancelar: el acuse de cancelación del SAT.

    Solicitud CancelarSolicitudFirmada

    Elemento Uso Descripción
    ApiKey Requerido Identificador de autenticación, que se genera en el portal de Reachcore.
    Solicitud Firmada por el contribuyente Requerido XML con la solicitud de cancelación conforme lo especificado por el SAT, indicando el o la lista de folios fiscales de los comprobantes a cancelar, el RFC del emisor y la hora de la operación, firmado electrónicamente con la llave privada del emisor. Para referencia del firmado consultar: ¿Cómo firmar una solicitud de cancelación con la llave privada del emisor?


    Ejemplo de Solicitud:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="http://www.reachcore.com/CFDI/customHeaders" xmlns:can="http://cancelacfd.sat.gob.mx">
        <soapenv:Header>
            <cus:ApiKey>7F3FA21M61.....19E42D72E3</cus:ApiKey>
        </soapenv:Header>
        <soapenv:Body>
            <can:CancelaCFD>
                <can:Cancelacion RfcEmisor="AAA010101AAA" Fecha="2013-10-18T20:30:04">
                    <can:Folios>
                        <can:UUID>C20145B9-79CD-43BB-BE75-CB444D309382</can:UUID>
                    </can:Folios>
                    <can:Folios>
                        <can:UUID>8F919478-7B71-4E5C-BCD2-7A55B371C8FF</can:UUID>
                    </can:Folios>
                    <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
                        <SignedInfo>
                            <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
                            <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
                            <Reference URI="">
                                <Transforms>
                                    <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
                                </Transforms>
                                <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                                <DigestValue>ECZGKbcjj0s9IYLAogitGaky9JE=</DigestValue>
                            </Reference>
                        </SignedInfo>
                        <SignatureValue>JD9kFX7HQ1mTcqUcjFZrrKmZdc3flmllcwwPodOeLX7Znhgu4S7A6jhs5UJFcN/1P8SvPh4WsWIFBQFvgjEmY0CtziCNsf7KSBtJ34PaGFEZ5vOLbZS32OpciHwn9eYY4pasRYvR/EZJmdomBH1wDs46XVynmvCcxCGGzeS5y2M=</SignatureValue>
                        <KeyInfo>
                            <X509Data>
                                <X509IssuerSerial>
                                    <X509IssuerName>OID.1.2.840.113549.1.9.2=Responsable: Héctor Ornelas Arciga, OID.2.5.4.45=SAT970701NN3, L=Coyoacán, S=Distrito Federal, C=MX, PostalCode=06300, STREET="Av. Hidalgo 77, Col. Guerrero", E=asisnet@pruebas.sat.gob.mx, OU=Administración de Seguridad de la Información, O=Servicio de Administración Tributaria, CN=A.C. de pruebas</X509IssuerName>
                                    <X509SerialNumber>286524172099382162235533054511188021807429465904</X509SerialNumber>
                                </X509IssuerSerial>
                                <X509Certificate>MIIEdDCCA1ygAwIBAgIUMjAwMDEwMDAwMDAxMDAwMDU4NzAwDQYJKoZIhvcNAQEFBQAwggFvMRgwFgYDVQQDDA9BLkMuIGRlIHBydWViYXMxLzAtBgNVBAoMJlNlcnZpY2lvIGRlIEFkbWluaXN0cmFjacOzbiBUcmlidXRhcmlhMTgwNgYDVQQLDC9BZG1pbmlzdHJhY2nDs24gZGUgU2VndXJpZGFkIGRlIGxhIEluZm9ybWFjacOzbjEpMCcGCSqGSIb3DQEJARYaYXNpc25ldEBwcnVlYmFzLnNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxEjAQBgNVBAcMCUNveW9hY8OhbjEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTIwMAYJKoZIhvcNAQkCDCNSZXNwb25zYWJsZTogSMOpY3RvciBPcm5lbGFzIEFyY2lnYTAeFw0xMjA3MjcxNzAyMDlaFw0xNjA3MjcxNzAyMDlaMIHbMSkwJwYDVQQDEyBBQ0NFTSBTRVJWSUNJT1MgRU1QUkVTQVJJQUxFUyBTQzEpMCcGA1UEKRMgQUNDRU0gU0VSVklDSU9TIEVNUFJFU0FSSUFMRVMgU0MxKTAnBgNVBAoTIEFDQ0VNIFNFUlZJQ0lPUyBFTVBSRVNBUklBTEVTIFNDMSUwIwYDVQQtExxBQUEwMTAxMDFBQUEgLyBIRUdUNzYxMDAzNFMyMR4wHAYDVQQFExUgLyBIRUdUNzYxMDAzTURGUk5OMDkxETAPBgNVBAsTCFVuaWRhZCA0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCxjtFKP9bhgV8I8lIlc58M19l8xBIrM6rWJagt1G/yYTo6WLVKTGx9fiWSnTZVeClcrLXo3heKYAkHPla6WHRiMRkwdshafy9AtUx5xyLIDXzER4K/eZitmzp9LWTxi6BYEHPUuOdFJ8PtPkVb3yvadMJgxMtI47uXxmx40mkA9QIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQUFAAOCAQEA2D99yNxnBdJ7ONJQ7XiMaaqCTkB4wWYxHaFlxpKgLe3HRc86rEZfBnoHLGd/ACAIoTc2PG09J4qkDOw63fb1aNLa9Zjqat+Nh6qB7+ifC9+pAVd6OrR5Ch7v/Fr0I4APrfSyXbx5U915zaGw9c1wM57Lfa0oGipkPUfab2lnf0y6X1WXMKv+vMMVtlQxUAC0Vc5HBPV3aWtDXwg8pANbcYfZEr8H2i4aOpFBsRLuPjdo9OOqfn4Df6GoqKUrlwBPh6wCqexSKuG3XuTqZB1svdyss9NW+iOTqkBFWJrOPpKwVppyt4YGEcejoPBcnWpGSALpahuxuX5hoUak0+1Yxw==</X509Certificate>
                            </X509Data>
                        </KeyInfo>
                    </Signature>
                </can:Cancelacion>
            </can:CancelaCFD>
        </soapenv:Body>
    </soapenv:Envelope>

    Respuesta CancelarSolicitudFirmada

    Elemento Descripción
    Error
  • false: Transacción exitosa.
  • true: Error al procesarse la transacción.
  • ErrorMessage En caso que el elemento Errortenga el valor true, se mostrara la descripción del error.
    FoliosCancelados Indica la cantidad de comprobantes que fueron exitosamente cancelados.
    AcuseSAT El acuse en formato XML generado y firmado por el SAT que indica el resultado de la operación de la solicitud de cancelación. Esta dentro de un elemento <![CDATA[...]]>.
    Folios Se muestra una lista de resultados en donde se tiene un elemento TransactionDetailResponse para cada folio que se solicitó cancelar. Para cada folio se describe:
    • FolioFiscal: El UUID del comprobante.
    • Cancelado: Valor true o false que indica si el comprobante se canceló o no.
    • ResultCode: Código de respuesta devuelto por el SAT para el comprobante. Ver la Lista de códigos de respuesta del SAT para cancelación.
    • ResultMessage: Significado del código de respuesta del SAT. En caso de que Cancelado sea false este campo describe la razón por la que el SAT no aprobó la cancelación del comprobante.


    Ejemplo de Respuesta:

    <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">
            <CancelacionFiscalResponse xmlns="urn:reachcore.com:services:api:ws:timbre-fiscal:cancelacion:2.0">
                <Error>false</Error>
                <ErrorMessage/>
                <FoliosCancelados>2</FoliosCancelados>
                <AcuseSAT>
                    <![CDATA[<Acuse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" RfcEmisor="AAA010101AAA" Fecha="2016-01-12T18:09:24.9699876-06:00">
                        <Folios xmlns="http://cancelacfd.sat.gob.mx">
                            <UUID>C20145B9-79CD-43BB-BE75-CB444D309382</UUID>
                            <EstatusUUID>201</EstatusUUID>
                        </Folios>
                        <Folios xmlns="http://cancelacfd.sat.gob.mx">
                            <UUID>8F919478-7B71-4E5C-BCD2-7A55B371C8FF</UUID>
                            <EstatusUUID>201</EstatusUUID>
                        </Folios>
                        <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
                            <SignedInfo>
                                <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
                                <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
                                <Reference URI="">
                                    <Transforms>
                                        <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
                                    </Transforms>
                                    <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                                    <DigestValue>ufw4amS/YediDE34m1PUDCpSUVY=</DigestValue>
                                </Reference>
                            </SignedInfo>
                            <SignatureValue>r+MHCtG5TvZzlIV0MHgREDhCnJHig0vSwLJA0Ko+wWNlvv0N/ALNMOg3FhEuF14v3POL1TGAIuDOGX7aGeKlrU3bqgCxIGf5aCpfeqBmWFPXC6M4ppwyrmO9iJSdu4VMbS3yVR7w7Ya1fRjtVLw3mM/HOUU7ITnDrIGe5UVz9Kk=</SignatureValue>
                            <KeyInfo>
                                <X509Data>
                                    <X509IssuerSerial>
                                        <X509IssuerName>OID.1.2.840.113549.1.9.2=Responsable: Héctor Ornelas Arciga, OID.2.5.4.45=SAT970701NN3, L=Coyoacán, S=Distrito Federal, C=MX, PostalCode=06300, STREET="Av. Hidalgo 77, Col. Guerrero", E=asisnet@pruebas.sat.gob.mx, OU=Administración de Seguridad de la Información, O=Servicio de Administración Tributaria, CN=A.C. de pruebas</X509IssuerName>
                                        <X509SerialNumber>286524172099382162235533054511188021807429465904</X509SerialNumber>
                                    </X509IssuerSerial>
                                    <X509Certificate>MIIEdDCCA1ygAwIBAgIUMjAwMDEwMDAwMDAxMDAwMDU4NzAwDQYJKoZIhvcNAQEFBQAwggFvMRgwFgYDVQQDDA9BLkMuIGRlIHBydWViYXMxLzAtBgNVBAoMJlNlcnZpY2lvIGRlIEFkbWluaXN0cmFjacOzbiBUcmlidXRhcmlhMTgwNgYDVQQLDC9BZG1pbmlzdHJhY2nDs24gZGUgU2VndXJpZGFkIGRlIGxhIEluZm9ybWFjacOzbjEpMCcGCSqGSIb3DQEJARYaYXNpc25ldEBwcnVlYmFzLnNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxEjAQBgNVBAcMCUNveW9hY8OhbjEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTIwMAYJKoZIhvcNAQkCDCNSZXNwb25zYWJsZTogSMOpY3RvciBPcm5lbGFzIEFyY2lnYTAeFw0xMjA3MjcxNzAyMDlaFw0xNjA3MjcxNzAyMDlaMIHbMSkwJwYDVQQDEyBBQ0NFTSBTRVJWSUNJT1MgRU1QUkVTQVJJQUxFUyBTQzEpMCcGA1UEKRMgQUNDRU0gU0VSVklDSU9TIEVNUFJFU0FSSUFMRVMgU0MxKTAnBgNVBAoTIEFDQ0VNIFNFUlZJQ0lPUyBFTVBSRVNBUklBTEVTIFNDMSUwIwYDVQQtExxBQUEwMTAxMDFBQUEgLyBIRUdUNzYxMDAzNFMyMR4wHAYDVQQFExUgLyBIRUdUNzYxMDAzTURGUk5OMDkxETAPBgNVBAsTCFVuaWRhZCA0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCxjtFKP9bhgV8I8lIlc58M19l8xBIrM6rWJagt1G/yYTo6WLVKTGx9fiWSnTZVeClcrLXo3heKYAkHPla6WHRiMRkwdshafy9AtUx5xyLIDXzER4K/eZitmzp9LWTxi6BYEHPUuOdFJ8PtPkVb3yvadMJgxMtI47uXxmx40mkA9QIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQUFAAOCAQEA2D99yNxnBdJ7ONJQ7XiMaaqCTkB4wWYxHaFlxpKgLe3HRc86rEZfBnoHLGd/ACAIoTc2PG09J4qkDOw63fb1aNLa9Zjqat+Nh6qB7+ifC9+pAVd6OrR5Ch7v/Fr0I4APrfSyXbx5U915zaGw9c1wM57Lfa0oGipkPUfab2lnf0y6X1WXMKv+vMMVtlQxUAC0Vc5HBPV3aWtDXwg8pANbcYfZEr8H2i4aOpFBsRLuPjdo9OOqfn4Df6GoqKUrlwBPh6wCqexSKuG3XuTqZB1svdyss9NW+iOTqkBFWJrOPpKwVppyt4YGEcejoPBcnWpGSALpahuxuX5hoUak0+1Yxw==</X509Certificate>
                                </X509Data>
                            </KeyInfo>
                        </Signature>
                    </Acuse>
                    ]]>  
                </AcuseSAT>
                <Folios>
                    <TransactionDetailResponse>
                        <FolioFiscal>C20145B9-79CD-43BB-BE75-CB444D309382</FolioFiscal>
                        <Cancelado>true</Cancelado>
                        <ResultCode>201</ResultCode>
                        <ResultMessage>Cancelación satisfactoria.</ResultMessage>
                    </TransactionDetailResponse>
                    <TransactionDetailResponse>
                        <FolioFiscal>8F919478-7B71-4E5C-BCD2-7A55B371C8FF</FolioFiscal>
                        <Cancelado>true</Cancelado>
                        <ResultCode>201</ResultCode>
                        <ResultMessage>Cancelación satisfactoria.</ResultMessage>
                    </TransactionDetailResponse>
                </Folios>
            </CancelacionFiscalResponse>
        </s:Body>
    </s:Envelope>

    Método [CancelarAsync]: Cancelación asíncrona

    En este método del Web Service, se puede recibir una lista de hasta 2,000 folios fiscales a cancelar. Para poder utilizar este método, se requiere que el CSD este registrado en Reachcore para firmar la solicitud de cancelación. Este un el método de cancelación desconectada, que previamente ese espacio.

    Solicitud CancelarAsync

    Elemento Uso Descripción
    ApiKey Requerido Identificador de autenticación, que se genera en el portal de Reachcore.
    RFC Requerido Indica el RFC que es dueño de los folios fiscales y se relaciona con el CSD con el que se llevará a cabo la firma electrónica de la solicitud de cancelación.
    Folios Requerido Lista de los folios fiscales de los comprobantes a cancelar, la cual debe contener al menos 1 y hasta 2,000 folios.
    Cada folio debe tener el formato de GUID válido, descrito por la siguiente expresión regular:
    [A-F0-9]{8}-[A-F0-9]{4}{3}-[A-F0-9]{12}
    Ejemplo:
    F9123206-D86C-49EE-80F3-C288CC948631


    Ejemplo de Solicitud:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="http://www.reachcore.com/CFDI/customHeaders" xmlns:urn="urn:reachcore.com:services:api:ws:timbre-fiscal:cancelacion:2.0">
       <soapenv:Header>
          <cus:ApiKey>51e9d1097f634f20b....9e405d933f769303391008</cus:ApiKey>
       </soapenv:Header>
       <soapenv:Body>
          <urn:CancelacionFiscalAsyncRequest>
             <urn:Folios>
                <urn:guid>D5DCD1AF-6E56-43E0-BEC5-5E1E15234716</urn:guid>
                <urn:guid>0563C17E-1498-4CED-A3D7-F4D7BEC90596</urn:guid>
                <urn:guid>6C7E68FB-1687-4ABF-9223-57FAC1F9FBAE</urn:guid>
                <urn:guid>A98BA438-24D1-4A1D-92C9-B481D7D0CE17</urn:guid>
                <urn:guid>20B26F0C-3A72-48AA-BC73-620ADF4EA6B8</urn:guid>
             </urn:Folios>
             <urn:RFC>AAA010101AAA</urn:RFC>
          </urn:CancelacionFiscalAsyncRequest>
       </soapenv:Body>
    </soapenv:Envelope>

    Respuesta CancelarAsync

    Elemento Descripción
    Error
  • false: Transacción exitosa.
  • true: Error al procesarse la transacción.
  • ErrorMessage En caso que el elemento Errortenga el valor true, se mostrara la descripción del error.
    TrackingId Es el identificador único de seguimiento asignado por Reachcore a esta solicitud. Este valor puede ser utilizado para consultar el resultado de la transacción en cualquier momento futuro. Ver operación GetTransactionStatus.


    Ejemplo de Respuesta:

    <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">
          <CancelacionFiscalAsyncResponse xmlns="urn:reachcore.com:services:api:ws:timbre-fiscal:cancelacion:2.0">
             <Error>false</Error>
             <ErrorMessage/>
             <TrackingId>7239b4c5-4554-4ffb-a1fe-0290290d62c1</TrackingId>
          </CancelacionFiscalAsyncResponse>
       </s:Body>
    </s:Envelope>

    Método [GetFolioStatus]: Consulta para obtener acuse por UUID

    El Web Service ofrece este método, para consultar el acuse de un folio fiscal que se solicitó cancelar. Se obtendrá una respuesta para los folio que se hayan solicitado cancelar ya sea por Web Service o por archivo de texto plano.

    Solicitud GetFolioStatus

    Elemento Uso Descripción
    ApiKey Requerido Identificador de autenticación, que se genera en el portal de Reachcore.
    UUID Requerido El folio de un comprobante que se haya solicitado cancelar previamente, ya sea por Web Service o por archivo de integración.


    Ejemplo de solicitud

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="http://www.reachcore.com/CFDI/customHeaders" xmlns:urn="urn:reachcore.com:services:api:ws:timbre-fiscal:cancelacion:2.0">
        <soapenv:Header>
            <cus:ApiKey>51e9d1097f634f20......4c406d9e405d933f769303391008</cus:ApiKey>
        </soapenv:Header>
        <soapenv:Body>
            <urn:FolioStatusRequest>
                <urn:UUID>D5DCD1AF-6E56-43E0-BEC5-5E1E15234716</urn:UUID>
            </urn:FolioStatusRequest>
        </soapenv:Body>
    </soapenv:Envelope>

    Respuesta GetFolioStatus

    Elemento Descripción
    Error
  • false: Transacción exitosa.
  • true: Error al procesarse la transacción.
  • Cancelado Indica si el comprobante ya está cancelado en el SAT.
    ResultCode Código de respuesta devuelto por el SAT para el folio del comprobante
    ResultMessage Significado del código de respuesta del SAT. En caso de que Cancelado sea False este campo describe la razón por la que el SAT no aprobó la cancelación del comprobante
    ErrorMessage En caso que el elemento Errortenga el valor true, se mostrara la descripción del error.
    UUID El folio fiscal del comprobante consultado. Siempre será igual al valor que fue especificado en la solicitud
    AcuseSAT El acuse en formato XML generado y firmado por el SAT que indica el resultado de la operación de la solicitud de cancelación. Esta dentro de un elemento <![CDATA[...]]>. NOTA: como el SAT devuelve un acuse para un conjunto de documentos es posible que este acuse contenga también los resultados para otros folios adicionales al que fue consultado.


    Ejemplo de Respuesta:

    <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <FolioStatusResponse xmlns="urn:reachcore.com:services:api:ws:timbre-fiscal:cancelacion:2.0">
            <Error>false</Error>
            <Cancelado>true</Cancelado>
            <ResultCode>201</ResultCode>
            <ResultMessage>Cancelación satisfactoria.</ResultMessage>
            <UUID>d5dcd1af-6e56-43e0-bec5-5e1e15234716</UUID>
            <AcuseSAT>
                <![CDATA[<Acuse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" RfcEmisor="AAA010101AAA" Fecha="2016-01-12T19:16:24.7748639-06:00">
                    <Folios xmlns="http://cancelacfd.sat.gob.mx">
                        <UUID>D5DCD1AF-6E56-43E0-BEC5-5E1E15234716</UUID>
                        <EstatusUUID>201</EstatusUUID>
                    </Folios>
                    <Folios xmlns="http://cancelacfd.sat.gob.mx">
                        <UUID>0563C17E-1498-4CED-A3D7-F4D7BEC90596</UUID>
                        <EstatusUUID>201</EstatusUUID>
                    </Folios>
                    <Folios xmlns="http://cancelacfd.sat.gob.mx">
                        <UUID>6C7E68FB-1687-4ABF-9223-57FAC1F9FBAE</UUID>
                        <EstatusUUID>201</EstatusUUID>
                    </Folios>
                    <Folios xmlns="http://cancelacfd.sat.gob.mx">
                        <UUID>A98BA438-24D1-4A1D-92C9-B481D7D0CE17</UUID>
                        <EstatusUUID>201</EstatusUUID>
                    </Folios>
                    <Folios xmlns="http://cancelacfd.sat.gob.mx">
                        <UUID>20B26F0C-3A72-48AA-BC73-620ADF4EA6B8</UUID>
                        <EstatusUUID>201</EstatusUUID>
                    </Folios>
                    <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
                        <SignedInfo>
                            <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
                            <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
                            <Reference URI="">
                                <Transforms>
                                    <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
                                </Transforms>
                                <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                                <DigestValue>TK0+x83I5pMZOsykvjgIvnFPQdw=</DigestValue>
                            </Reference>
                        </SignedInfo>
                        <SignatureValue>fCHqROsGgQySZlAU/IeXKxA9hCxhTi3uqNQVWHp5oSEC4zwqKzKWNGBRK/jCXRcsS+DACjxjlj5fsGjjUW/f/nQFcHKQo1rMCexOwq6/ZzUrR6iXKWAil4dNCct9CFgNcnOttcfZcsXSvcHmRHNDpEnM3SACS7QUkrNP7hX5/y0=</SignatureValue>
                        <KeyInfo>
                            <X509Data> 
                                <X509IssuerSerial>
                                    <X509IssuerName>OID.1.2.840.113549.1.9.2=Responsable: Héctor Ornelas Arciga, OID.2.5.4.45=SAT970701NN3, L=Coyoacán, S=Distrito Federal, C=MX, PostalCode=06300, STREET="Av. Hidalgo 77, Col. Guerrero", E=asisnet@pruebas.sat.gob.mx, OU=Administración de Seguridad de la Información, O=Servicio de Administración Tributaria, CN=A.C. de pruebas</X509IssuerName>
                                    <X509SerialNumber>286524172099382162235533054511188021807429465904</X509SerialNumber>
                                </X509IssuerSerial>
                                <X509Certificate>MIIEdDCCA1ygAwIBAgIUMjAwMDEwMDAwMDAxMDAwMDU4NzAwDQYJKoZIhvcNAQEFBQAwggFvMRgwFgYDVQQDDA9BLkMuIGRlIHBydWViYXMxLzAtBgNVBAoMJlNlcnZpY2lvIGRlIEFkbWluaXN0cmFjacOzbiBUcmlidXRhcmlhMTgwNgYDVQQLDC9BZG1pbmlzdHJhY2nDs24gZGUgU2VndXJpZGFkIGRlIGxhIEluZm9ybWFjacOzbjEpMCcGCSqGSIb3DQEJARYaYXNpc25ldEBwcnVlYmFzLnNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxEjAQBgNVBAcMCUNveW9hY8OhbjEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTIwMAYJKoZIhvcNAQkCDCNSZXNwb25zYWJsZTogSMOpY3RvciBPcm5lbGFzIEFyY2lnYTAeFw0xMjA3MjcxNzAyMDlaFw0xNjA3MjcxNzAyMDlaMIHbMSkwJwYDVQQDEyBBQ0NFTSBTRVJWSUNJT1MgRU1QUkVTQVJJQUxFUyBTQzEpMCcGA1UEKRMgQUNDRU0gU0VSVklDSU9TIEVNUFJFU0FSSUFMRVMgU0MxKTAnBgNVBAoTIEFDQ0VNIFNFUlZJQ0lPUyBFTVBSRVNBUklBTEVTIFNDMSUwIwYDVQQtExxBQUEwMTAxMDFBQUEgLyBIRUdUNzYxMDAzNFMyMR4wHAYDVQQFExUgLyBIRUdUNzYxMDAzTURGUk5OMDkxETAPBgNVBAsTCFVuaWRhZCA0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCxjtFKP9bhgV8I8lIlc58M19l8xBIrM6rWJagt1G/yYTo6WLVKTGx9fiWSnTZVeClcrLXo3heKYAkHPla6WHRiMRkwdshafy9AtUx5xyLIDXzER4K/eZitmzp9LWTxi6BYEHPUuOdFJ8PtPkVb3yvadMJgxMtI47uXxmx40mkA9QIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQUFAAOCAQEA2D99yNxnBdJ7ONJQ7XiMaaqCTkB4wWYxHaFlxpKgLe3HRc86rEZfBnoHLGd/ACAIoTc2PG09J4qkDOw63fb1aNLa9Zjqat+Nh6qB7+ifC9+pAVd6OrR5Ch7v/Fr0I4APrfSyXbx5U915zaGw9c1wM57Lfa0oGipkPUfab2lnf0y6X1WXMKv+vMMVtlQxUAC0Vc5HBPV3aWtDXwg8pANbcYfZEr8H2i4aOpFBsRLuPjdo9OOqfn4Df6GoqKUrlwBPh6wCqexSKuG3XuTqZB1svdyss9NW+iOTqkBFWJrOPpKwVppyt4YGEcejoPBcnWpGSALpahuxuX5hoUak0+1Yxw==</X509Certificate>
                            </X509Data>
                        </KeyInfo>
                    </Signature>
                </Acuse>]]>
            </AcuseSAT>
        </FolioStatusResponse>
    </s:Body>
    </s:Envelope>

    Método [GetTransactionStatus]: Consulta de resultado por lote

    En este método, se podrá conocer el estado del lote con la solicitud realizada cancelación, ya sea por el Web Service o por archivo de integración.

    Solicitud GetTransactionStatus

    Elemento Uso Descripción
    ApiKey Requerido Identificador de autenticación, que se genera en el portal de Reachcore.
    TrackingId Requerido Identificador de seguimiento de la transacción, el cual es devuelto por una llamada previa a la operación CancelarAsync o el que se obtiene como respuesta del archivo de texto plano.


    Ejemplo de Solicitud:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="http://www.reachcore.com/CFDI/customHeaders" xmlns:urn="urn:reachcore.com:services:api:ws:timbre-fiscal:cancelacion:2.0">
        <soapenv:Header>
            <cus:ApiKey>51e9d1097f634f20b.......406d9e405d933f769303391008</cus:ApiKey>
        </soapenv:Header>
        <soapenv:Body>
            <urn:TransactionStatusRequest>
                <urn:TrackingId>7239b4c5-4554-4ffb-a1fe-0290290d62c1</urn:TrackingId>
            </urn:TransactionStatusRequest>
        </soapenv:Body>
    </soapenv:Envelope>

    Respuesta GetTransactionStatus

    Elemento Descripción
    Error
  • false: Transacción exitosa.
  • true: Error al procesarse la transacción.
  • ErrorMessage En caso que el elemento Errortenga el valor true, se mostrara la descripción del error.
    Finished Indica si la transacción ya fue finalizada true o si continúa en proceso false.
    FoliosCancelados Indica la cantidad de comprobantes que fueron exitosamente cancelados. Para conocer la razón por la que el resto de los comprobantes no hayan sido cancelados ver el resultado
    Folios Se muestra una lista de resultados en donde se tiene un elemento TransactionDetailResponse para cada folio que se solicitó cancelar. Para cada folio se describe:
    • FolioFiscal: El UUID del comprobante.
    • Cancelado: Valor true o false que indica si el comprobante se canceló o no.
    • ResultCode: Código de respuesta devuelto por el SAT para el comprobante. Ver la Lista de códigos de respuesta del SAT para cancelación.
    • ResultMessage: Significado del código de respuesta del SAT. En caso de que Cancelado sea false este campo describe la razón por la que el SAT no aprobó la cancelación del comprobante.


    Una lote queda en estado finalizado cuando cada uno de los comprobantes que se solicitaron cancelar se encuentra en alguno de los siguientes estados:

    • Cancelado exitosamente.
    • No pudo ser cancelado ante el SAT con un motivo de rechazo definitivo. Las razones de rechazo definitivas son las que se listan como no reintentables en la sección de Códigos de Respuesta del SAT para Cancelación.

    Ejemplo de Respuesta

    <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">
            <TransactionStatusResponse xmlns="urn:reachcore.com:services:api:ws:timbre-fiscal:cancelacion:2.0">
                <Error>false</Error>
                <ErrorMessage/>
                <Finished>true</Finished>
                <FoliosCancelados>5</FoliosCancelados>
                <Folios>
                    <TransactionDetailResponse>
                        <FolioFiscal>d5dcd1af-6e56-43e0-bec5-5e1e15234716</FolioFiscal>
                        <Cancelado>true</Cancelado>
                        <ResultCode>201</ResultCode>
                        <ResultMessage>Cancelación satisfactoria.</ResultMessage>
                    </TransactionDetailResponse>  
                    <TransactionDetailResponse>
                        <FolioFiscal>0563c17e-1498-4ced-a3d7-f4d7bec90596</FolioFiscal>
                        <Cancelado>true</Cancelado>
                        <ResultCode>201</ResultCode>
                        <ResultMessage>Cancelación satisfactoria.</ResultMessage>
                    </TransactionDetailResponse>
                    <TransactionDetailResponse>
                        <FolioFiscal>6c7e68fb-1687-4abf-9223-57fac1f9fbae</FolioFiscal>
                        <Cancelado>true</Cancelado>
                        <ResultCode>201</ResultCode>
                        <ResultMessage>Cancelación satisfactoria.</ResultMessage>
                    </TransactionDetailResponse>
                    <TransactionDetailResponse>
                        <FolioFiscal>a98ba438-24d1-4a1d-92c9-b481d7d0ce17</FolioFiscal>
                        <Cancelado>true</Cancelado>
                        <ResultCode>201</ResultCode>
                        <ResultMessage>Cancelación satisfactoria.</ResultMessage>
                    </TransactionDetailResponse>
                    <TransactionDetailResponse>
                        <FolioFiscal>20b26f0c-3a72-48aa-bc73-620adf4ea6b8</FolioFiscal>
                        <Cancelado>true</Cancelado>
                        <ResultCode>201</ResultCode>
                        <ResultMessage>Cancelación satisfactoria.</ResultMessage>
                    </TransactionDetailResponse>
                </Folios>
            </TransactionStatusResponse>
        </s:Body>
    </s:Envelope>

    Códigos de Respuesta de Cancelación del SAT
    Actualizado

    Para cada solicitud de cancelación de un comprobante, el SAT la autoriza o rechaza especificando un código de estatus. En la siguiente tabla se describen los códigos de status conocidos y sus significados.

    Fuente: PREGUNTAS FRECUENTES DE TECNOLOGÍA SOBRE COMPROBANTES FISCALES POR INTERNET

    Código Descripción Significado ¿Reintentable? ¿Qué hacer?
    201
    Actualizado
    Solicitud recibida Se ha recibido la petición de cancelación. No necesariamente significa que el Comprobante se ha cancelado. No Consultar el estado del Comprobante en el SAT. Si el Comprobante pudo ser cancelado, su estado cambiará a Cancelado. Puedes consultar el artículo de nuestro Blog "Nuevo proceso de cancelaciones Reachcore" para consultar más información del nuevo proceso de cancelación y sus excepciones.
    202
    Actualizado
    Solicitud recibida anteriormente Se ha recibido la petición de cancelación anteriormente. No necesariamente significa que el Comprobante se ha cancelado. No Consultar el estado del Comprobante en el SAT. Si el Comprobante pudo ser cancelado, su estado cambiará a Cancelado. Puedes consultar el artículo de nuestro Blog "Nuevo proceso de cancelaciones Reachcore" para consultar más información del nuevo proceso de cancelación y sus excepciones.
    203 UUID No encontrado o no corresponde a emisor El Folio Fiscal que se solicitó cancelar no se ha podido encontrar, o se encontró pero no fue emitido por el RFC especificado. No Indicar el RFC Emisor correcto para ese comprobante y hacer una nueva solicitud.
    204 UUID No aplicable para cancelación El Folio Fiscal no se puede cancelar. El SAT no especifica bajo que criterios puede ocurrir este código, pero no es frecuente. No Consultar directamente en el SAT en Asistencia al Contribuyente el motivo por el que no se autoriza la cancelación del comprobante. Reachcore no puede hacer nada al respecto.
    205 UUID No existe El SAT todavía no publica en su portal de internet el comprobante, y por lo tanto aún no puede ser cancelado. Si Asegurar que el comprobante ya está entregado al SAT y re-intentar la cancelación.
    301 XML mal formado El XML de solicitud que se envió al SAT no está correctamente formado. Sólo relevante para el método de cancelación en línea con solicitud firmada de origen. No Verificar que la solicitud de cancelación fue creada de acuerdo a la especificación del SAT.
    302 Sello mal formado o inválido El Sello que se usó para generar la solicitud de cancelación es incorrecto. No Verificar la solicitud de cancelación con firma de origen que fue entregada a Reachcore.
    303 Sello no corresponde a emisor El certificado de sello digital (CSD) con el que se firmó la solicitud no corresponde al RFC del Emisor del CFDI. No Verificar que el certificado de sello digital corresponde al RFC Emisor del comprobante.
    304 Sello revocado o caduco El certificado de sello digital con el que se firmó la solicitud de cancelación ha sido revocado o no esta vigente. No Solicitar al SAT un nuevo certificado de sello digital y volver a solicitar la cancelación con este nuevo certificado.
    305 Certificado inválido No se está usando para firmar la solicitud de cancelación un certificado expedido por el SAT No Verificar que el certificado de sello digital este expedido por el SAT para el RFC emisor del comprobante y volver a solicitar la cancelación con dicho certificado.
    310 Uso de certificado e.firma inválido Se está usando un certificado de e.firma en vez de un Certificado de Sello Digital (CSD) No Firmar nuevamente la petición de cancelación que se entrega a reachcore por el método de firma de origen con un CSD.


    Reachcore ha sido habilitado por el SAT para operar con el nuevo esquema de cancelaciones.

    Para mayor información o aclaración de dudas relacionadas con esta guía, por favor envía un correo a soporte@reachcore.com. También puedes consultar las preguntas frecuentes de cancelación en la siguiente liga: Preguntas frecuentes cancelación


    Regresar