Llama Gratis 01800 788 0195

Cancelar

Método Cancelar_CFDI

Proceso de Cancelación

Como parte de los nuevos ajustes para la cancelación publicados en el portal del SAT, se debe considerar lo siguiente al momento de emitir o solicitar las cancelaciones de los comprobantes.

Cancelación del CFDI sin aceptación del receptor:

De acuerdo a la regla 2.7.1.39 de la Resolución Miscelánea Fiscal para el 2018, los contribuyentes podrán cancelar un CFDI sin que se requiera la aceptación por parte del receptor en los siguientes supuestos:

  • Que amparen ingresos por un monto de hasta $5,000.00 MXN.
  • Por concepto de nómina.
  • Por concepto de egresos.
  • Por concepto de traslado.
  • Por concepto de ingresos expedidos a contribuyentes del RIF.
  • Emitidos a través de la herramienta electrónica de “Mis cuentas” en el aplicativo “Factura Fácil”.
  • Que amparen retenciones e información de pagos.
  • Expedidos en operaciones realizadas con el público en general de conformidad con la regla 2.7.1.24.
  • Emitidos a residentes en el extranjero para efectos fiscales conforme a la regla 2.7.1.26.
  • A través del adquirente y sector primario (reglas 2.4.3 y 2.7.4.1 de la RMF).
  • Cuando la cancelación se realice dentro de los tres días siguientes a su expedición. *

*En ambiente de pruebas se considera 10 mins después de generado el CFDI.

Cancelación del CFDI con aceptación del receptor: 

Los anteriores supuestos no son aplicables para la cancelación con aceptación.

Para realizar la cancelación, el receptor sólo contará con 3 días hábiles* una vez recibida la solicitud de cancelación para que se autorice o no dicho movimiento, en caso que el receptor no responda a la solicitud en el lapso de tiempo antes mencionado, la autoridad fiscal dará por aceptada la solicitud automáticamente.

*En ambiente de pruebas se considera 15 mins después de recibida la solicitud de cancelación

Cancelación del CFDI con documentos relacionados:

Si el CFDI contiene documentos relacionados, el emisor sólo podrá cancelarlo siempre y cuando cancelen los CFDI relacionados y en el mismo momento el CFDI origen y tenga estatus de proceso de cancelación igual a: “Cancelable con o sin aceptación”.

 


Enlaces al servicio

Pruebas: https://staging.ws.timbox.com.mx/cancelacion/wsdl

Producción: https://sistema.timbox.com.mx/cancelacion/wsdl

Consumo de créditos

Por cada petición de UUID a cancelar: 1 crédito (cuando se haga el uso del servicio cancelar_cfdi, consultar_peticiones_pendientes y procesar_respuesta y dicha petición de cancelación sea exitosa)

Petición al servicio 

El servicio de “cancelar_cfdi” se utiliza para cancelar uno o varios comprobantes que ya fueron timbrados. Se requiere de usuario y contraseña para utilizar el servicio.

Parámetros de la petición

 

Nombre Descripción Requerido
username Usuario del web service.
password Contraseña del web service.
rfc_emisor El rfc que emitió el comprobante que desea cancelar.
folios Se manda un arreglo con uno o más objetos tipo folio, el cual debe contener los elementos UUID, rfcreceptor y total.
cert_pem El certificado, en formato pem, que corresponde al emisor del comprobante.
llave_pem La llave, en formato pem, que corresponde al emisor del comprobante.

Parámetros del nodo folios

 

Nombre Descripción Requerido
uuid Se manda el UUID del comprobante que se desea cancelar. El UUID debe cumplir con la expresión regular de UUIDs.
rfc_receptor El rfc que recibió el comprobante que desea cancelar.
total Total del comprobante.

 

Regex de UUIDs:

/^[a-f0-9A-F]{8}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{12}$/

Ejemplo de petición al servicio

A continuación mostramos un ejemplo de cómo debe ser construida la petición al servicio. 

 

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:WashOut">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:cancelar_cfdi soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <username xsi:type="xsd:string">AAA010101000</username>
         <password xsi:type="xsd:string">h6584D56fVdBbSmmnB</password>
         <rfc_emisor xsi:type="xsd:string">AAA010101AAA</rfc_emisor>
         <folios xsi:type="urn:folios">
            <!--Zero or more repetitions:-->
            <folio xsi:type="urn:folio">
               <uuid xsi:type="xsd:string">C99F78B2-FF5A-4EFD-8401-61B5540C7D6C</uuid>
               <rfc_receptor xsi:type="xsd:string">IAD121214B34</rfc_receptor>
               <total xsi:type="xsd:string">1751.60</total>
            </folio>
         </folios>
         <cert_pem xsi:type="xsd:string">-----BEGIN CERTIFICATE-----
MIIF+TCCA+GgAwIBAgIUMzAwMDEwMDAwMDAzMDAwMjM3MDgwDQYJKoZIhvcNAQEL
BQAwggFmMSAwHgYDVQQDDBdBLkMuIDIgZGUgcHJ1ZWJhcyg0MDk2KTEvMC0GA1UE
CgwmU2VydmljaW8gZGUgQWRtaW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNV
BAsML0FkbWluaXN0cmFjacOzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5mb3JtYWNp
w7NuMSkwJwYJKoZIhvcNAQkBFhphc2lzbmV0QHBydWViYXMuc2F0LmdvYi5teDEm
MCQGA1UECQwdQXYuIEhpZGFsZ28gNzcsIENvbC4gR3VlcnJlcm8xDjAMBgNVBBEM
BTA2MzAwMQswCQYDVQQGEwJNWDEZMBcGA1UECAwQRGlzdHJpdG8gRmVkZXJhbDES
MBAGA1UEBwwJQ295b2Fjw6FuMRUwEwYDVQQtEwxTQVQ5NzA3MDFOTjMxITAfBgkq
hkiG9w0BCQIMElJlc3BvbnNhYmxlOiBBQ0RNQTAeFw0xNzA1MTgwMzU0NTZaFw0y
MTA1MTgwMzU0NTZaMIHlMSkwJwYDVQQDEyBBQ0NFTSBTRVJWSUNJT1MgRU1QUkVT
QVJJQUxFUyBTQzEpMCcGA1UEKRMgQUNDRU0gU0VSVklDSU9TIEVNUFJFU0FSSUFM
RVMgU0MxKTAnBgNVBAoTIEFDQ0VNIFNFUlZJQ0lPUyBFTVBSRVNBUklBTEVTIFND
MSUwIwYDVQQtExxBQUEwMTAxMDFBQUEgLyBIRUdUNzYxMDAzNFMyMR4wHAYDVQQF
ExUgLyBIRUdUNzYxMDAzTURGUk5OMDkxGzAZBgNVBAsUEkNTRDAxX0FBQTAxMDEw
MUFBQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJdUcsHIEIgwivvA
antGnYVIO3+7yTdD1tkKopbL+tKSjRFo1ErPdGJxP3gxT5O+ACIDQXN+HS9uMWDY
naURalSIF9COFCdh/OH2Pn+UmkN4culr2DanKztVIO8idXM6c9aHn5hOo7hDxXMC
3uOuGV3FS4ObkxTV+9NsvOAV2lMe27SHrSB0DhuLurUbZwXm+/r4dtz3b2uLgBc+
Diy95PG+MIu7oNKM89aBNGcjTJw+9k+WzJiPd3ZpQgIedYBD+8QWxlYCgxhnta3k
9ylgXKYXCYk0k0qauvBJ1jSRVf5BjjIUbOstaQp59nkgHh45c9gnwJRV618NW0fM
eDzuKR0CAwEAAaMdMBswDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCBsAwDQYJKoZI
hvcNAQELBQADggIBABKj0DCNL1lh44y+OcWFrT2icnKF7WySOVihx0oR+HPrWKBM
Xxo9KtrodnB1tgIx8f+Xjqyphhbw+juDSeDrb99PhC4+E6JeXOkdQcJt50Kyodl9
URpCVWNWjUb3F/ypa8oTcff/eMftQZT7MQ1Lqht+xm3QhVoxTIASce0jjsnBTGD2
JQ4uT3oCem8bmoMXV/fk9aJ3v0+ZIL42MpY4POGUa/iTaawklKRAL1Xj9IdIR06R
K68RS6xrGk6jwbDTEKxJpmZ3SPLtlsmPUTO1kraTPIo9FCmU/zZkWGpd8ZEAAFw+
ZfI+bdXBfvdDwaM2iMGTQZTTEgU5KKTIvkAnHo9O45SqSJwqV9NLfPAxCo5eRR2O
Gibd9jhHe81zUsp5GdE1mZiSqJU82H3cu6BiE+D3YbZeZnjrNSxBgKTIf8w+KNYP
M4aWnuUMl0mLgtOxTUXi9MKnUccq3GZLA7bx7Zn211yPRqEjSAqybUMVIOho6aqz
kfc3WLZ6LnGU+hyHuZUfPwbnClb7oFFz1PlvGOpNDsUb0qP42QCGBiTUseGugAzq
OP6EYpVPC73gFourmdBQgfayaEvi3xjNanFkPlW1XEYNrYJB4yNjphFrvWwTY86v
L2o8gZN0Utmc5fnoBTfM9r2zVKmEi6FUeJ1iaDaVNv47te9iS1ai4V4vBY8r
-----END CERTIFICATE-----</cert_pem>
         <llave_pem xsi:type="xsd:string">-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCXVHLByBCIMIr7
wGp7Rp2FSDt/u8k3Q9bZCqKWy/rSko0RaNRKz3RicT94MU+TvgAiA0Fzfh0vbjFg
2J2lEWpUiBfQjhQnYfzh9j5/lJpDeHLpa9g2pys7VSDvInVzOnPWh5+YTqO4Q8Vz
At7jrhldxUuDm5MU1fvTbLzgFdpTHtu0h60gdA4bi7q1G2cF5vv6+Hbc929ri4AX
Pg4sveTxvjCLu6DSjPPWgTRnI0ycPvZPlsyYj3d2aUICHnWAQ/vEFsZWAoMYZ7Wt
5PcpYFymFwmJNJNKmrrwSdY0kVX+QY4yFGzrLWkKefZ5IB4eOXPYJ8CUVetfDVtH
zHg87ikdAgMBAAECggEALS8Z1KJXzVIxLVoWcRh0kAcxPMJlIgsvaz6xrTTaf2Ui
mcAjIvMuXPZTbR/MEuD4SS+Pq1xMeoz8UV5cM50vkm3QLoU9n0SyrQVJQ+6q4Npl
9SwuMqNXVS/l1YEEcJNTYwq7rE5OtAYIPn7s7i5dhJIUKgeZsu7xcf9VpdLgjVCD
qGgJw/EfhagR7iPF+PKoeyRyBZI9xuHmtElHVgn2/Qv/16UJv0YpAqRgVq7YQzZC
c7yo0Y2+3dqHabRg+MnIKkN4pBFBzYxsjwM7YUDk/8zFlF5kwCS74ep0JWWSYAJ1
3DYDtCYSyWk1DvxX9Srv/S2htZM6MnhboafjLch4QQKBgQDRGGLpYdqGt6/cXKQe
JGWFrG33AMiYKrd4NOw7LK7kzrQESeaeAXSwr2eOnNV3tDMyslkjpC05m3Lbefsh
Ul6Qj/Qj9PEIpv7e4X4r++O/FsA9X6iQFicMEDzRYYjm4AfFggYrhzmjXh2rNACL
KRX5i9wIRGQuoAG7KuZyYWSBuwKBgQC5Rsv75S6FNUpKe8RC2nw13Vaf9uua2W1+
spg2pWfKqw88vvFATQOj9A9aFJ+wqrvwRziua5xtbch9gHK7M9Nnl565Tk8muueO
OUBaFeHYXsDaYZfTFILOZU4/b6//r6QK2cO892VXyUydbRXavCpRX8s2EoxtwfFG
mgbStX+HBwKBgQCICHKJXXU7QhPyrH7FcW5vKgAcu3DFtrzIQr4RvX9HMsdhJucX
kuDk9ijMWnJyv1Szvd5KVsxpdx2hdlmQkzMcn9r47alGtMaKIG/ik6zWrCmDhFF4
9ECRE5tNqUPU2JmVwILdHMu94kQxFtLntmIqiPgslLoMr2KQ71cfwQcPcwKBgQCk
iNKtqCFf+qs26iKonA6iZyV+eXFR2rT6RvAV114NBUxKzebBC6On/h2ECbymz3iH
MTiM7NPF+jCKA3/f725WGLfEKF7yLhlknEMhvT0LQVpSlUiXEyf20tBiVXUew4QS
fsDtF2bQRtvbEfzOezu5eDCmnGJJNmpmIHLevH+8EQKBgF9Ff09RISQJHbABka8f
wj8sdBKWG3TUQ2SwQ9U3L/Y/unuyaRUF+J3wFRYBMQGu0jzLG5TFfAVZAc3VJCBj
xG6K8WnJS6OM9ycV0qBa2WnkC7M7uAt4K9IEIqlOljY/R2tBN7qHZwE7nCLS88rv
L5YWIiKp71SlXyoGLfM0h7bl
-----END PRIVATE KEY-----
</llave_pem>
      </urn:cancelar_cfdi>
   </soapenv:Body>
</soapenv:Envelope>

Respuesta del servicio

Si hubo un error con alguno de los parámetros o en el servicio de cancelación, se le notificará por medio de un mensaje de error, de lo contrario recibirá la estructura “cancelar_cfdi_result” compuesta de lo siguiente: 

 

Parámetros de la respuesta:

 

Nombre Descripción
folios Información de los comprobantes cancelados, consiste en UUID, código y mensaje.
acuse_cancelacion El acuse de cancelación que regresa el SAT.

Ejemplo de respuesta del servicio

A continuación mostramos la respuesta que regresa el servicio una vez invocado.

 

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="urn:WashOut">
   <soap:Body>
      <tns:cancelar_cfdi_response>
         <cancelar_cfdi_result xsi:type="tns:cancelar_cfdi_result">
            <folios_cancelacion xsi:type="xsd:string"><![CDATA[<folios_cancelacion type="array">
  <folio_cancelacion>
    <uuid>C99F78B2-FF5A-4EFD-8401-61B5540C7D6C</uuid>
    <codigo>201</codigo>
    <mensaje>Cancelado Exitosamente</mensaje>
  </folio_cancelacion>
</folios_cancelacion>]]></folios_cancelacion>
            <acuse_cancelacion xsi:type="xsd:string"><![CDATA[<Acuse Fecha="2019-05-15T12:39:28.8528806" RfcEmisor="AAA010101AAA">
  <Folios>
    <UUID>C99F78B2-FF5A-4EFD-8401-61B5540C7D6C</UUID>
    <EstatusUUID>201</EstatusUUID>
  </Folios>
  <Signature xmlns="http://www.w3.org/2000/09/xmldsig#" Id="SelloSAT">
    <SignedInfo>
      <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
      <SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#hmac-sha512"/>
      <Reference URI="">
        <Transforms>
          <Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
            <XPath>not(ancestor-or-self::*[local-name()='Signature'])</XPath>
          </Transform>
        </Transforms>
        <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/>
        <DigestValue>77MYUXu2JaVuMWt0WRIQjTBu56ks0JpfEoDXfdKZATdPk4OWNXFAhKf9M6+VrvFzfwJwquU/MsgKp0+4fwvPvA==</DigestValue>
      </Reference>
    </SignedInfo>
    <SignatureValue>2KhAzvwpModlblRvEqVAwz11aqLK1VisTLsPOaXuz+Cg+IgJoNdQ5TpjuFikOXRqiK+2YPO4iXlyZhdfYOLDuw==</SignatureValue>
    <KeyInfo>
      <KeyName>BF66E582888CC845</KeyName>
      <KeyValue>
        <RSAKeyValue>
          <Modulus>n5YsGT0w5Z70ONPbqszhExfJU+KY3Bscftc2jxUn4wxpSjEUhnCuTd88OK5QbDW3Mupoc61jr83lRhUCjchFAmCigpC10rEntTfEU+7qtX8ud/jJJDB1a9lTIB6bhBN//X8IQDjhmHrfKvfen3p7RxLrFoxzWgpwKriuGI5wUlU=</Modulus>
          <Exponent>AQAB</Exponent>
        </RSAKeyValue>
      </KeyValue>
    </KeyInfo>
  </Signature>
</Acuse>]]></acuse_cancelacion>
         </cancelar_cfdi_result>
      </tns:cancelar_cfdi_response>
   </soap:Body>
</soap:Envelope>

Códigos a nivel folio

Los siguientes códigos de error se repetirán tantas veces como se repita el nodo folios en la solicitud: 

 

Código Error
201 UUID Cancelado exitosamente
202 UUID Previamente cancelado
203 UUID no corresponde al RFC del Emisor
204 UUID no aplicable para cancelación
205 UUID No existe
CANC104 UUID no corresponde al RFC del Receptor
CANC105 Total no corresponde al CFDI

Códigos de error a nivel petición

Los siguientes códigos de error se generarán a nivel general de la solicitud de cancelación: 

Código Error
CANC001 Los datos de autentificación enviados son incorrectos
CANC002 Se han agotado la cantidad de timbres
CANC003 Parámetro inválido
CANC301 El XML recibido no contiene una estructura válida
CANC302 La llave_pem es una llave inválida
CANC303 El certificado de sellos no corresponde al emisor
CANC304 El certificado no se encuentra en la lista de LCO del SAT
CANC305 La fecha de cancelación no esta dentro de la vigencia de CSD del Emisor
CANC306 El certificado utilizado es de tipo FIEL No es un CSD
CANC307 El Certificado no fue expedido por el SAT
CANC308 Llave privada no corresponde a certificado
CANC501 Hay 500 o más UUIDS en una sola petición
CANC998 Error de comunicación con el servicio del SAT, se genero un timeout en la petición al servicio del SAT
CANC999  Error de comunicación con el servicio de cancelación