Cancelación de CFDI

Ruby
PHP
Javascript
.Net >= 4.5
Java
Phyton

1 de Noviembre de 2018 entró en vigor la nueva modalidad de cancelaciones

Facturama es la plataforma de facturación más amigable, por lo que tenemos compatibilidad hacia atrás
Por lo que el "enpoint" que usas actualmente para cancelar, continuará vigente. Sin embargo tenemos nuevas funcionalidades que debes conocer

  • Es recomendable, implementar las nuevas funcionalidades para que tu proceso de cancelación esté mas completo

Proceso de cancelación bajo el nuevo esquema:

  1. Los emisores deberán enviar la solicitud de cancelación de la factura a través de Facturama.
  2. Cuando se requiera la aceptación para la cancelación, el receptor de la factura, recibirá una notificación mediante su buzon tributario informando que existe una solicitud de cancelación.
  3. ​El receptor deberá manifestar la aceptación o rechazo de la cancelación a través de las herramientas que el SAT ofrece, dentro de los tres días hábiles siguientes contados a partir de la solicitud. De no emitir respuesta, se considera como una positiva ficta y la factura será cancelada.
  4. En caso de que la solicitud de cancelación no requiera aceptación por parte del receptor, la factura se cancelará de manera inmediata.

Solicitar la cancelación de un CFDI:

Estructura de la URL

DELETE


    https://api.facturama.mx/api-lite/cfdis/{id}

    Ejemplo:
    https://api.facturama.mx/api-lite/cfdis/yrjnzL1DCU38KEHpEsJrtg2

Identificador del CFDI

Ejemplo: jhQS4AaCO4bIwqcv5UHYCw2

Respuesta a una solicitud de cancelación

La respuesta respecto al "HTTP Response" continua siendo un valor 200 que al igual que siempre, representa que la petición fué exitosa.
Sin embargo ahora se tiene como respuesta el Estado de la cancelación

Estado de la cancelación

    {
      "Status": "canceled",
      "Message": "Cancelado sin Aceptacion",
      "RequestDate": "2018-11-01T12:00:00",
      "AcuseXmlBase64": "PENhbmNlbGFjaW9uIHhtbG5zOnhzaT0iaH......W9uPg==",
      "CancelationDate": "2018-11-01T12:00:00"
    }

Los datos del estado de la cancelación son:

Mensaje del proceso de cancelación
Fecha de solicitud de la cancelación
XML del Acuse en Formato Base64, solo se tiene acuse cuando ya se encuentra cancelada (y no se cancelo directamente con el SAT)
Fecha en que declara cancelado el CFDI (puede ser diferente a la fecha de solicitud, por que espera la respuesta del receptor)
Estado de la cancelación

Valores posibles:

  • canceled = Cancelada
  • active = Activa, no se puede cancelar, por que tiene documentos relacionados
  • pending = Pendiente de aceptación, requiere una respuesta por parte del receptor (tiene hasta 72 horas para responder)
  • acepted = Solicitud de cancelación aceptada (por parte del receptor)
  • rejected = Solicitud de cancelacion rechazada (por parte del receptor)
  • expired = Tiempo de respuesta de las 72 horas terminado
Casos en que un CFDI está cancelado: canceled, acepted, expired