Buscar en este blog

miércoles, 27 de junio de 2018

(VirtualXML) Todo lo que necesitas saber sobre el complemento de pagos 1.0 (parte 1 de 4)

Estamos a dos meses de la entrada "oficial"  de la obligación de emisión del Complemento de Recepción de Pagos 1.0, lo cual será exactamente el día 1 de Septiembre de 2018.

Este complemento, tiene varios nombres: "Factura de recepción de pagos", "CFDI con complemento de pagos 1.0" pero para efectos prácticos de nuestros artículos lo llamaremos "Recibo Electrónico de Pago" o REP por sus iniciales, y será sin duda el complemento mas utilizado para CFDI dejando atrás por mucho al complemento de Nómina 1.2.

En esta serie de 4 artículos iremos desglosando las partes mas importantes del complemento de pagos, incluyendo cosas muy interesantes como manejo de anticipos, manejo de factoraje, pagos parciales, facturas emitidas en moneda extranjera y pagadas en pesos, etc.

En esta primera entrega analizaremos las generalidades del complemento de pagos, en la segunda entrega veremos las funciones que VirtualXML tiene para el llenado del complemento de pagos, la tercera entrega tratará un tema muy interesante: los pagos por transferencia electrónica SPEI y sus implicaciones dentro del complemento de pagos, (que por cierto son bastantes, interesantes y complejas) así como las funciones que "complementan" el complemento y finalmente en la cuarta entrega, tendremos las dudas mas frecuentes y explicaremos casos especiales como anticipos, factoraje, moneda extranjera, cancelación y sustitución de REPs, etc.

Es un largo camino, laborioso y delicado, por algo el SAT dió primero 3 meses y luego 5 meses mas para la implementación de este nuevo tipo de CFDI.

Aun estás a tiempo de empezar y supongo que ya llevas algo adelantado, si no, puedes empezar ya mismo con la implementación de REPs, a fin de no tener problemas para llegar a tiempo a la fecha límite que es el 1 de Septiembre de 2018.

Comencemos con este análisis.

¿ Que es el Complemento de pagos 1.0 o Recibo Electrónico de Pago (REP) ?

Como su nombre lo indica, el REP es un recibo que da fe de que haz recibido un pago por un CFDI de Ingreso (factura, recibo de honorarios o arrendamiento) emitida previamente.

El REP es un documento INFORMATIVO, no tiene naturaleza de ingreso como una factura o recibo de honorarios o arrendamiento, ni de egreso como una nota de crédito o un recibo de nómina, sino que se utilizará para que un receptor de CFDI compruebe que ha pagado una factura y el emisor compruebe que ha recibido un pago total o parcial de dicha factura.

El REP surge porque algunos emisores arbitrariamente cancelaban comprobantes emitidos después de recibir el pago a fin de reducir ingresos y pagar menos impuestos, mientras que en otros casos ocurría lo contrario: los receptores hacían deducibles facturas que nunca pagaban.

Como cita textualmente la página del SAT del complemento de Pagos de Recepción de pagos, este complemento cumple las siguientes funciones:
  • Evita cancelaciones indebidas de facturas.
  • Evita falsas duplicidades de ingresos en facturación de parcialidades.​
  • Sabrás si una factura ha sido o no pagada.
A fin de evitar lo primero, el SAT a partir del 1 de Septiembre implementará un nuevo mecanismo de cancelación de facturas como ya lo hemos explicado en otro articulo de este blog.

La facturación de anticipos y pagos parciales también derivaba en duplicidad de ingresos, de ahí que la naturaleza de REP sea unicamente informativa, ahora ya no será necesario expedir un CFDI de ingreso por un pago parcial, sino que estos pagos parciales se reportarán por medio de REPs.

Finalmente, tanto emisor como receptor se verán beneficiados del uso del REP ya que tendrán un control exacto de forma en que una factura es pagada, y evitarán posibles fraudes y malos manejos en la emisión de facturas.

¿ Quienes deben de usarlo ?

Todos los contribuyentes, personas física y morales QUE NO RECIBAN EL PAGO DE UN CFDI DE INGRESO AL MOMENTO DE SU EMISIÓN O BIEN NO HAYAN RECIBIDO EL PAGO POR ANTICIPADO.

Esto quiere decir que si una empresa me pide emitir una factura o un recibo de honorarios para "meterlo a revisión" y en una fecha posterior me realiza el pago (1 día después, 2, 3, 7, 15,30, 60 o 90 días posteriores), estoy obligado a la emisión de un REP en cuanto el receptor me haga el pago, sea por el medio que fuere (efectivo, cheque, tarjeta, transferencia, etc).

También aplica para pagos parciales; si no recibo el pago total en el momento de la emisión y cuando me hacen el pago y ESTE PAGO NO CUBRE EL IMPORTE TOTAL DEL CFDI DE INGRESO EMITIDO, estoy obligado a emitir tantos REPs como  pagos reciba hasta cubrir el importe total del CFDI emitido.

Esto nos obliga a re programar muchas rutinas de nuestros programas o bien generar módulos nuevos que nos permitan llevar un estado de cuenta POR FACTURA para poder registrar los REPsque vayan a cubrir el importe de dicha factura.

Hemos dotado a VirtualXML de un conjunto de funciones para generar los REPs de manera similar a como haces un CFDI común y corriente mismas que te facilitarán enormemente la creación del complemento las cuales analizaremos en la próxima entrega de esta serie.

¿ Puedo omitir la emisión de un REP ?

Si puedes omitir la emisión de un REP siempre y cuando NO FACTURES lo que estas vendiendo sino hasta el momento en que te lo paguen, puedes emitir remisiones para dar salida de inventario a las mercancias en caso de que vendas productos y emitir la factura cuando el cliente te haga el pago de la remisión correspondiente.

Nosotros aconsejamos el uso de remisiones cuando tengamos la certeza de que el cliente realizará un pago por el importe total del adeudo, pero si de pagos parciales se trata, entonces emitir el CFDI de Ingreso con sus respectivos REPs será de gran ayuda tanto para para la administración del negocio como para el pago de impuestos. 

¿ Cuando debo emitir el REP ?

El SAT en su Guia de Llenado del Complemento de Recepción de Pagos establece que los REPs deben de emitirse A MAS TARDAR el día 10 del mes siguiente a la recepción del pago, esto quiere decir que yo puedo emitir todos los REPs del mes de Enero a mas tardar el 10 de Febrero, los de Febrero el 10 de Marzo y así sucesivamente.

Obviamente esto no solo depende de nosotros, nuestros clientes pueden realizar un pago y solicitar de inmediato su REP y es tu deber emitirlo a la brevedad, para ello deberás contar con todos los datos necesarios para emitir el REP correspondiente, mismos que analizaremos mas adelante.

¿ Que pasa si no emito el REP ?


La guía de llenado del SAT con letras pequeñitas en la página 5 establece que:

Cuando el contribuyente reciba el pago de la contraprestación y no emita CFDI con Complemento para recepción de pagos a mas tardar el décimo día natural del mes inmediato siguiente al que corresponda o lo emita posteriormente, podra incurrir en la infracción contenida en el artículo 83 fracción VII y generar una multa en términos del articulo .4 fracción IV del código fiscal de la federación.

Esto suena grave.... ¿ a que se refiere ?

Tomado del código fiscal de la federación:

Artículo 83. Son infracciones relacionadas con la obligación de llevar contabilidad, siempre que sean descubiertas en el ejercicio de las facultades de comprobación o de las facultades previstas en el artículo 22 de este Código, las siguientes:

VII. No expedir, no entregar o no poner a disposición de los clientes los comprobantes fiscales digitales por Internet de sus actividades o expedirlos sin que cumplan los requisitos señalados en este Código, en su Reglamento o en las reglas de carácter general que al efecto emita el Servicio de Administración Tributaria, así como no atender el requerimiento previsto en el quinto párrafo del artículo 29 de este Código, para proporcionar el archivo electrónico del comprobante fiscal digital por Internet.


Artículo 84. A quien cometa las infracciones relacionadas con la obligación de llevar contabilidad a que se refiere el Artículo 83, se impondrán las siguientes sanciones para personas físicas:

a) De $12,070.00 a $69,000.00. En caso de reincidencia, las autoridades fiscales podrán, adicionalmente, clausurar preventivamente por un plazo de tres a quince días; para determinar dicho plazo, se tomará en consideración lo previsto por el artículo 75 de este Código.


b) De $1,210.00 a $2,410.00 tratándose de contribuyentes que tributen conforme al Título IV, Capítulo II, Sección II de la Ley del Impuesto sobre la Renta. En caso de reincidencia, adicionalmente las autoridades fiscales podrán aplicar la clausura preventiva a que se refiere el inciso anterior.


c) De $12,070.00 a $69,000.00 tratándose de contribuyentes que cuenten con la autorización para recibir donativos deducibles a que se refieren los artículos 79, 82, 83 y 84 de la Ley del Impuesto sobre la Renta y 31 y 114 del Reglamento de dicha Ley, según corresponda. En caso de reincidencia, además se revocará la autorización para recibir donativos deducibles.


Las multas pueden ser bastante fuertes, así que pocas tonterías con lo de emitir o no emitir REPs en tiempo y forma.

¿ Que datos se deben poner en un REP ?

Un REP es simplemente un complemento que se agrega a un CFDI, es similar al complemento de nómina, ya que ademós de la información del CFDI normal, deberá llevar la información relativa al pago.

Dentro de la sección del CFDI deberemos indicar básicamente los mismos datos que si hiciéramos un CFDI normal, con algunas variaciones y atributos que no deben existir:

Para el nodo Comprobante:

  • Version del CFDI (3.3)
  • Numero de serie y folio del REP (se recomienda manejar una serie y folios por separado independiente de las series y folios de facturas y notas de crédito)
  • Fecha de emisión del REP (Que no necesariamente es la fecha en que se recibió el pago)
  • Sello, Número de Certificado y Certificado (agregados por VirtualXML de manera automática).
  • Código Postal del lugar de expedición.
  • No deben existir los atributos: Condiciones de Pago, Descuento, Tipo de Cambio y Método de Pago
  • Los valores de los atributos SubTotal y Total deben de ir con un valor de: 0.00
  • La moneda debe expresarse como "XXX", es decir sin definir, ya que estos valores junto con los totales del CFDI se expresarán dentro del complemento.
Para el nodo documentos relacionados:

Este nodo merece mención especial ya que en este nodo NO VAN LOS UUIDs DE LAS FACTURAS QUE SE ESTAN PAGANDO, hago hincapié en esto porque el REP tiene su propio nodo de documentos relacionados y muchos usuarios confunden este nodo que pertenece a <cfdi:Comprobante> mientras que el nodo que se utiliza para el REP pertenece a <cfdi:Complemento>.

Este nodo se utilizará UNICAMENTE cuando se vaya a sustituir un REP por otros. Los valores que tendremos que poner son:
  • Tipo de relación que SIEMPRE deberá ser "04" (sustitución de documento, es la única que se admite)
  • Lista de UUIDs de REPs que se están sustituyendo.
Este nodo no siempre va a existir, unicamente cuando reportemos una sustitución de un Recibo Electrónico de Pago por otro.

Para el nodo emisor:
  • RFC del emisor y opcionalmente el nombre o razón social
  • Régimen fiscal del emisor 
Para el nodo receptor:
  • RFC del receptor del documento, en caso de ser extranjero deberemos indicar el RFC genérico para extranjeros XEXX010101000 (esto es muy importe como veremos en el siguiente punto). Se puede indicar opcionalmente el nombre
  • Residencia Fiscal: Si pusiste el RFC genérico para extranjero, deberás indicar de que país es el receptor así como su numero de identificación tributaria (el equivalente del RFC en el pais del cliente)
  • Para el Uso del CFDI deberemos indicar SIEMPRE el valor P01 = Por definir.
Para el nodo conceptos:

Un REP solo lleva un único concepto, nuevamente insisto, los CFDIs pagados no se relacionan en el nodo Conceptos.

Los datos del único concepto del REP son:
  • Clave del producto o servicio que siempre va a ser 84111506 (servicios de facturación)
  • No debe existir numero de identificación, unidad ni descuento
  • Cantidad siempre sera 1
  • Clave de la unidad siempre sera ACT
  •  Descripción deberá llevar el valor "Pago" (con P mayuscula y el resto de la palabra en minúscula, no vale PAGO, pago, pAgo, u otras combinaciones).
  • Valor unitario e importe deben llevar el valor de 0.00
  • No deben existir los nodos Impuestos, Información aduanera, Cuenta Predial, Parte o cualquier complemento concepto

Pasemos ahora a lo que nos importa del complemento de pagos, los datos que debe llevar el REP.

Estos datos se colocarán como un complemento, en la próxima entrega veremos que funciones se utilizan para llenarlo correctamente, en esta entrega nos limitaremos a ver que datos son los que tenemos que tener a mano.

Un complemento de pago está compuesto de 2 partes:
  1. Los datos del pago
  2. Las facturas que son cubiertas con dicho pago. Que también se les conoce como "documentos relacionados", favor de NO CONFUNDIR estos documentos relacionados con el nodo del mismo nombre del nodo <cfdi:Comprobante>.
Un aspecto interesante es que se puede incluir mas de un complemento de pago dentro del mismo REP, es decir, si un cliente me realizó 5 pagos en el mes, yo puedo meter los 5 pagos dentro de un solo REP y consumir un solo timbre, sin embargo, por experiencia sabemos que los clientes prefieren un comprobante por cada pago, para así llevar un mejor control de los mismos.

Analicemos ahora que información deberemos de proporcionar en cada sección del complemento de pago:

Datos del pago:
  • Fecha: aquí pondremos la fecha en que recibimos el pago del CFDI, en el caso del pago con cheque, efectivo o tarjeta, no es la fecha en la que el banco nos ingresa los fondos en la cuenta como en el caso de tarjeta o cheque, ni la fecha en que depositamos el efectivo, es la fecha EN LA QUE RECIBIMOS EL PAGO, por ejemplo recibo un pago en efectivo el sábado, pero lo deposito el lunes, la fecha de pago es la fecha del sábado, no del lunes, en el caso de las transferencias no tenemos problema, tenemos la fecha en que recibimos el SPEI.
  •  Forma de pago, donde deberemos especificar como se realizó el pago de acuerdo al catálogo de formas de pago publicado por el SAT, hay que tomar en cuenta que existen 2 tipos de formas de pagos: Bancarizados y no Bancarizados, esto será importante para los siguientes atributos.
  • Moneda: Es la moneda en la que se recibió el pago, pesos, dolares, euros, puede ser que tu factura la hayas emitido en dólares pero te la paguen en pesos o viceversa, esto de los pagos en distintas monedas lo discutiremos mas a fondo en la cuarta entrega de esta serie.
  • Tipo de cambio, si la moneda es distinta de MXN.
  • Monto: Es el importe del pago y debemos tomar en cuenta que al momento de detallar las facturas que se pagan, el importe de dichas facturas debe ser MENOR O IGUAL al monto indicado en este atributo, esto puede ser complicado si emites una factura en dólares y te la pagan en pesos, trataremos ese asunto en la cuarta entrega.
  •  Numero de operación: Este valor solo sera necesario si la forma de pago es Bancarizada, y puede referirse al número de cheque, al número de autorización de la tarjeta de crédito, o bien en el caso del SPEI a una cosa que se llama "clave de rastreo" de la cual hablaremos en la tercera entrega de la serie, en general este valor puede ser cualquier numero que el banco asigne como identificador de la operación. Este valor no aplica para las formas de pago no bancarizadas.
  • Si el pago es bancarizado, entonces tendremos 2 datos adicionales: RFC del banco de donde salen los fondos y RFC del banco donde se ingresan los fondos, este dato es un poco extraño, pero por eso creamos una nueva versión de nuestro programa CiberCAT que contiene un nuevo catálogo que incluye el RFC de todas las entidades bancarias y de crédito así como una cosa llamada "Clave Banxico" que sabrás para que sirve en la tercera entrega de esta serie.
  • Igualmente, para los pagos bancarizados, tenemos que indicar también la cuenta desde donde salen los fondos y la cuenta en donde se depositan los fondos, para ello sugerimos utilizar la CLABE (CLAve Bancaria Estandarizada) de las cuenta ya que el schema de este atributo indica que debe tener por lo menos una longitud mínima de 9 dígitos y no todos los bancos tienen la misma longitud en el número de cuenta, por ejemplo  Banamex tiene 7, por lo que hay que rellenar con ceros o bien, usar la CLABE que siempre tiene 18 digitos fijos, sin importar el tipo de cuenta o banco que sea.
Ahora viene la parte complicada, que es cuando nos pagan con un SPEI, hasta el momento de escribir este artículo toda la información que voy a comentar a continuación esta indicada como OPCIONAL en el complemento de pagos, desconozco si a partir del 1 de Septiembre será obligatoria.

En esta entrega comentaré a grandes rasgos de que trata esta información a reserva de entrar en detalle en la tercera entrega.
  • Tipo de Cadena de pago, solo existe una, cuyo valor es 01 y que indica que se recibió un pago por medio de un SPEI, si este atributo se utiliza, FORZOSAMENTE debes completar los siguientes atributos
  • Certificado de pago, es un archivo .CER que hay que incluir en el complemento
  • Cadena de Pago, es una cadena original que viene en el CEP (Comprobante Electronico de Pago) que se obtiene del Banco de México (Banxico)
  • Sello de Pago, también viene en el CEP y también se obtiene de Banxico.
Estos valores representan un verdadero dolor de cabeza, porque hay que realizar un proceso bastante engorroso para obtenerlos, hablaremos de ello en la tercera entrega de la serie.
Para finalizar hablaremos de el segundo componente del complemento de pagos que son las facturas que se pagan con el REP y que también se les conoce como "documentos relacionados", que como indique anteriormente, no debe confundirse con los otros documentos relacionados, los del nodo <cfdi:Comprobante>.

Cada pago puede amparar la liquidación parcial o total de una o mas facturas, y en esta sección es donde pondremos la información de las facturas que se pagan y se repetirá tantas veces como facturas amparen el pago recibido.

Los datos que deberemos indicar son:
  • UUID del documento que estamos pagando.
  • Serie y folio del mismo
  • Tipo de cambio y Moneda utilizada para representar los importes de los documentos, esto es muy importante cuando la factura se pague en una moneda distinta a la cual se emitió, trataremos esto con mas profundidad en la cuarta entrega de la serie
  • Método de pago del documento que se paga, que tiene que ser PPD 
  • Número de parcialidad, este valor es importante, porque una factura puede ser cubierta en 1 o en "n" pagos, en este atributo vamos a registrar el número de pago que se está realizando, si la factura se liquida en su totalidad con el pago entonces tendrá el valor de 1, si es el segundo, tercero u otro pago, pondremos el numero del valor correspondiente.
  • Importe del saldo anterior. Si la factura no fue cubierta en su totalidad con un pago previo, aqui tendremos que indicar cuanto queda pendiente por liquidar de la factura
  • Importe del pago, donde deberemos de indicar cuanto estamos abonando a la factura, recordemos que un solo pago puede amparar el pago total o parcial de varias facturas.
  • Importe del saldo insoluto: si el importe del pago no alcanza para cubrir el importe de la factura, entonces deberemos indicar el saldo pendiente de cubrir de la factura, este valor se convertirá en el Importe del saldo anterior en el próximo comprobante de pago que aplique a la factura que esta siendo pagada.
 Esto es a grandes rasgos el marco teórico del REP o CFDI con complemento de pagos 1.0, en las próximas entregas hablaremos con mas profundidad de la parte técnica y de otros aspectos a tomar en cuenta para que puedas cumplir con tu obligación de emitir REPs perfectamente.

En la próxima entrega trataremos las funciones que tiene VirtualXML para la generación de REPs y te invito a que nos plantees tus dudas aquí abajo, en los comentarios de estos artículos, mismas dudas que trataremos de resolver en la cuarta entrega de esta serie.