El complemento de pago, los impuestos locales. Y cuando el SAT te pone mas ingresos en los datos prellenados.
🚨 El «Punto Ciego» del SAT con el CFDI 4.0 y el ISH:
¿Por qué el visor te prellena más ISR del que debes?
¡Hola, colegas! Si llevan la contabilidad de hoteles, moteles o plataformas de alojamiento, seguramente ya se toparon con este dolor de cabeza en las declaraciones mensuales (especialmente en RESICO o Actividad Empresarial).
El cliente cobra su factura, emitimos el Complemento de Pago (REP 2.0), y mágicamente el SAT nos quiere cobrar ISR sobre un dinero que no es nuestro. ¿Por qué pasa esto? Aquí les dejo el «post-mortem» técnico a nivel XML para entender el problema y saber cómo actuar.
📊 El Escenario (Los Números Reales)
Imaginemos una factura real por servicios de hospedaje:
-
+ IVA (16%): $1,424.81
-
+ Impuesto Sobre Hospedaje (4.00%): $356.20
-
+ Derecho de Saneamiento (ejemplo): $1,313.92
-
= TOTAL cobrado: $12,000.00
En la Factura de Ingreso, nuestro sistema hace el trabajo perfecto. Separa la materia federal y coloca los impuestos locales exactamente donde dicta el estándar del Anexo 20: dentro del nodo independiente <implocal:ImpuestosLocales>. Hasta aquí, todo impecable.
⚙️ El Problema: El Complemento de Pago (REP 2.0)
El terror comienza cuando el cliente nos paga esos $12,000.00 y emitimos el Recibo Electrónico de Pago.
En la versión 2.0 del REP, el SAT exige desglosar los impuestos del documento relacionado (<pago20:ImpuestosDR>). El gran problema normativo es que el SAT omitió crear un nodo para impuestos locales dentro del REP.
El esquema técnico oficial solo permite declarar bases e importes de IVA, ISR o IEPS. No hay dónde poner el ISH o demás impuestos locales.
Por lo tanto, nuestro XML de pago queda así:
-
Monto="12000.00" -
BaseDR="8905.07" -
ImpuestoDR="002"(IVA)
🤖 La Confusión del Algoritmo del SAT
Cuando el robot del SAT procesa este REP para armar tu declaración prellenada, aplica una matemática letal:
-
Ve que entraron $12,000.00 a la cuenta.
-
Lee que la base del IVA es $8,905.07.
-
Al no existir un nodo que le explique qué pasó con los $1,670.12 restantes, el algoritmo asume que es un ingreso adicional (quizás gravado a tasa 0% o exento) y lo suma automáticamente a tu base gravable para ISR.
💡 La Solución (Lo que SÍ y lo que NO hacer)
❌ LO QUE NO DEBEMOS HACER: No intenten alterar el XML del Complemento de Pago. Si intentan meter a la fuerza el nodo <implocal> dentro de un CFDI tipo «P», el PAC simplemente les arrojará un error de sintaxis y no timbrará el documento. El XML está bien hecho, la omisión es de la autoridad.
✅ LO QUE SÍ DEBEMOS HACER: La única salida es realizar una disminución manual directamente en la plataforma de declaraciones del SAT al momento de presentar el pago provisional. Debemos restarle a los ingresos acumulables prellenados el monto exacto de los impuestos locales ($1,670.12 en este caso), declarando únicamente el ingreso real de $8,905.07.
Acá un vídeo en Youtube que precisamente habla de este extraño caso:
Recomendación de oro:
Mantengan sus papeles de trabajo en Excel blindados y perfectamente amarrados. Esta disminución manual es completamente legal, pero el algoritmo podría disparar una Carta Invitación automática en el futuro, y nuestra integración en los papeles de trabajo será nuestra única defensa.
¿A cuántos de ustedes ya les tocó pelearse con este prellenado en este mes? Los leo en los comentarios. 👇





Dejar un comentario
¿Quieres unirte a la conversación?Siéntete libre de contribuir!