Buscar en este blog

viernes, 26 de enero de 2018

(VirtualPAC) Cancelación de documentos en CFDI 3.3

Esta es una duda recurrente de todos nuestros usuarios: ¿ Puedo cancelar facturas ?, ¿ Cuando no voy a poder ? ¿ Como se cancelan las facturas CFDI  3.3 ?

En este articulo trataré de contestar a tus preguntas de acuerdo a lo que ha estado publicando el SAT con respecto a cancelación de CFDI 3.3 y a la interfaz de cancelación implementada en VirtualXML.

Lo primero, ¿ como cancelo facturas con VirtualXML ?

Muy sencillo: VirtualXML provee de la función VirtualXML_CancelaUUID() que se encarga de cancelar facturas en el portal del SAT.

De acuerdo a la documentación, esta función tiene la siguiente sintaxis :

VirtualXML_CancelaUUID(
 szUser,
 szEmisor,
 szCert,
 szKey,
 szPwd,
 szUuid,
 szOut)

Donde:
  • szUser: Es tu clave de usuario VirtualPAC 
  • szEmisor: Es el RFC del emisor que desea cancelar la factura
  • szCert: Es la ruta y nombre del archivo .CER del CSD. 
  • szKey: Es la ruta y nombre del archivo .KEY del CSD.
  • szPwd: Es el password del archivo KEY
  • szUuid: es el UUID del CFDI que se quiere cancelar 
  • szOut: Es el nombre de un archivo de texto donde el proceso de cancelación pondrá el(los) mensaje(s) devuelto(s) por el SAT.
Tenemos que tomar en cuenta que tanto el servicio de VirtualPAC, como el PAC, simplemente son pasarelas de comunicación entre el emisor que desea cancelar una factura y el servicio de cancelaciones del SAT, por lo tanto, todos los mensajes que recibas de proceso de cancelación son generados directamente por el SAT y ninguno de nuestros PACs ni nosotros mismos podemos hacer nada al respecto cuando el SAT te rechaza una cancelación o te indica que el servicio no está disponible.

El valor de retorno de la función está almacenado en el archivo de texto definido como último parámetro de la función, los posibles valores de retorno básicos que nosotros tenemos de una manera u otra controlados son:
  • UUID correctamente cancelado
  • UUID cancelado con anterioridad
  • UUID no encontrado en los registros del SAT (hay que esperar hasta 72 horas)
También pueden aparecer otros mensajes como Servicio No disponible intente mas tarde, Servicio fuera de horario, Servicio no existe, Error de Autenticación, etc. estos mensajes son generados directamente por el servidor del SAT y no hay nada que podamos hacer al respecto mas que esperar a que el servicio se regularice.

Como verás es muy fácil cancelar facturas CFDI incluso por medios automatizados como nuestra función de cancelación, pero fue esta facilidad de poder cancelar a diestra y siniestra lo que ocasionó problemas a muchos receptores que de buena fe confiaron en que sus emisores tenían las facturas vigentes cuando en realidad esas facturas se habían cancelado.

Lo que tenemos que tomar en cuenta, es que el SAT quiere evitar a toda costa que se cancelen indibidamente CFDIs de Ingreso sin que el receptor se entere porque en los modelos anteriores de CFDI, un emisor podía cancelar el CFDI sin avisar al receptor y este erroneamente lo hacía deducible cuando ya estaba cancelado en los registros del SAT.

Por otro lado también tenemos la picarezca de algunos malos emisores que a fin de reducir el pago de impuestos mensuales cancelaban arbitrariamente los documentos CFDI y el receptor se enteraba de que el documento estaba cancelado cuando le caía una revisión del SAT.

A fin de evitar esto, el SAT implementó dos mecanismos para tratar de reducir la cancelación indiscriminada de CFDIs para la nueva versión 3.3.

La primer medida es el COMPLEMENTO DE PAGOS PARCIALES 1.0, del cual hablaremos en otra ocasión, y la segunda medida es, simplemente, no dejar cancelar documentos, o mas bien, complicar el tema de la cancelación a fin de evitar que los emisores cancelen CFDIs sin previa autorización del receptor.

A partir del 1 de Julio de 2018 NO SE PODRAN CANCELAR CFDIs de Ingreso cuyo importe supere los $5,000.00 pesos (IVA incluído) a menos que se realicen las siguientes operaciones:

  • Entar en el portal SAT del contribuyente que desea cancelar una factura (emisor) usando la FIEL o la clave CIEC.
  • Una vez en el portal, el emisor deberá enviar al receptor, mediante el uso del BUZON TRIBUTARIO una solicitud de cancelación en la cual deberá incluir el UUID del documento en cuestión y una breve explicación de porqué desea cancelar el documento.
  • El receptor tendrá un plazo de 72 horas para contestar la solicitud de cancelación, en el supuesto de que el receptor no conteste dentro de las 72 horas posteriores a la recepción del documento, se dará por autorizada la cancelación y el emisor podrá cancelar MANUALMENTE, desde el portal de cancelación de facturas del SAT, el documento deseado usando los archivos de CSD (Certificado de Sello Digital) que tenga vigentes.
  • En caso de que el receptor se niegue a la cancelación del documento, el emisor tendrá que emitir la nota de crédito correspondiente o bien establecer un mecanismo alterno, definido por el propio emisor, para evitar que la factura emitida sea tomada en cuenta como ingreso.
Esto quiere decir, que si quieres cancelar una factura de mas de $5,000.00 pesos, deberás realizar una labor burocrática sujeta a que el receptor decida que puedes cancelar o no una factura, todo este proceso deberá de hacerse manualmente y por lo mismo vamos a tener que estar pendientes todos los dias del Buzón Tributario para ver si tenemos solicitudes de cancelación o bien se han resueltos las solicitudes hechas por nosotros a otros emisores.

¿ Se pueden cancelar CFDIs 3.3 sin necesidad de pedir autorización ?

Si, claro que se puede, en este momento y hasta la entrada en vigor del nuevo mecanismo (supuestamente el 1 de Julio de 2018) tu podrás seguir cancelando tus comprobantes fiscales CFDI 3.3 sin importar el tipo (I, E, T ó N) usando la función VirtualXML_CancelaUUID() de VirtualXML como lo haz venido haciendo desde el año 2014.

Cuando entre en vigor el nuevo mecanismo aplicarán nuevas reglas que hasta donde se sabe son:

  • Se podrán cancelar CFDI de Nomina, Traslado o Egreso sin necesidad de autorización por parte del receptor, tanto de manera manual, en el portal SAT, como de manera automática con la función VirtualXML_CancelaUUID().
  • Se podrán cancelar CFDI de Ingreso sin necesidad de autorización si el importe del documento es menor de $5,000.00 IVA incluido.
  • Se podrán cancelar CFDI de Ingreso sin limite de importe y sin necesidad de autorización si se emitieron al RFC genérico para público en general XAXX010101000, al RFC genérico para extranjeros XEXX010101000 o bien a un contribuyente del Régimen de Incorporación Fiscal (RIF).
  • Y todos los supuestos anteriores SIEMPRE Y CUANDO NO HAYAN PASADO MAS DE 72 HORAS DE LA EMISIÓN DEL COMPROBANTE.
Como verás la idea básica es que el receptor del documento sea el que resulte menos afectado y tú como emisor tienes una serie de obstáculos para cancelar tu documento bajo el nuevo esquema, en primer lugar tenemos la restricción de las 72 horas de plazo depués de la emisión, en segundo lugar y por lógica, no puedes pedir autorización de cancelación al público en general (no sabes quienes fueron) ni tampoco a un extenjero (no tienen buzón tributario) y todos los contribuyentes del RIF están perfectamente identificados en la LCO.

¿ Donde juega la "sustitución de documento" en todo este relajo ?

La sustitución de documento es simplemente una formalidad para informar al SAT que un nuevo documento toma el lugar de otro, pero esto no implica que el documento original queda automáticamente cancelado.

En estricta teoría, un documento debe ser cancelado y luego ser sustituido por otro con los datos y/o montos correctos, lo que quiere decir que un recibo de pagos, un recibo de nomina y un comprobante de traslado se pueden cancelar, y luego referenciar en la sección "documentos relacionados" del CFDI el(los) número(s) de UUID que el nuevo documento sustituye, esta regla aplica también a los comprobantes de ingreso, ya que supuestamente, si el receptor te autoriza, podrás poner como referencia el UUID del documento cancelado cuando se emite un nuevo comprobante de ingresos.

¿ Cual es la manera mas eficiente de evitar una cancelación de facturas ?, bueno, existen varios métodos, como por ejemplo remisionar en vez de facturar y emitir la factura una vez recibido el pago y entregada la mercancía (esto además te evita el complemento de pagos), otro método sería la emisión de notas de crédito que no le gustan a la mayoría de los contadores porque no se pueden aplicar sino hasta el final del ejercicio y por otro lado generan saldos a favor de los clientes.

Como verás a partir de 1 de Julio se complica un poco mas el CFDI 3.3 con al entrada en vigor de este nuevo mecanismo de cancelación, pero además con la entrada también de sanciones por el mal uso de las claves de los catálogos.

No hay que preocuparse de más, aun hay tiempo de seguir afinando la implementación del modelo CFDI 3.3 en las empresas, pero no hay que dejar de lado estos pequeños detalles a tomar en cuenta en la operación de los esquemas de facturación.




7 comentarios:

  1. Emiti una Factura 3.3 indicando que estaba liquidada con forma de Pago 03, pero por equivocación se generó el comprobante de Pago y se timbró. Qué procede en este caso? Se debe cancelar el cfdi del complemento? debe haber sustitución?, En caso de que requiera sustitución, cómo debe generarse?

    ResponderEliminar
    Respuestas
    1. Angela: Tienes que emitir nota de credito por el CFDI 3.3 que equivocadamente registraste como pagado (o cancelarlo), luego emitir otro CFDI 3.3 e incluir en la seccion "documentos relacionados" con la clave 04 (sustitucion de documento) el UUID que cancelaste.

      En cuanto a la complemento de pago que emitiste, simplemente cancelalo, pero ojo: Cuando te paguen la nueva factura emitida que sustituyo a la otra, el complemento de pago tambiién deberá llevar en documentos relacionados el tipo de relacion 04 y deberas incluir el UUID del complemento que cancelaste

      Eliminar
    2. Rene Gracias, pero la Factura estaba pagada de forma correcta antes de la emision, asi que esa no tiene problema, esa está correcta. Esa no tendría que cancelarla. El problema es sólo con el complemento, pero no se si ese requiera otro que lo sustituya.. y como va generado?

      Eliminar
  2. hola, pueden poner un ejemplo de como se usa la funcion

    ResponderEliminar
    Respuestas
    1. Alfonso:

      http://www.virtual-pac.mx/doc/html/89f40820-db9c-f118-fd3e-b4199c73d564.htm

      Eliminar
  3. Se puede cancelar atravez de el ejecutable con el script .vxml puedes poner un ejemplo.

    ResponderEliminar
  4. Tomas: No, VirtuaXML solo opera con funciones que utilizan un handler, sin embargo tenemos una línea de comandos que permite cancelar los documentos

    ResponderEliminar