CFDI40130
Cuando el tipo de comprobante sea Ingreso y el campo Rfc del nodo receptor corresponda al valor "XAXX010101000" y el campo Nombre del nodo Receptor contenga la descripción "PUBLICO EN GENERAL", el nodo Información Global debe existir.
In English An income CFDI to the general public (receiver RFC XAXX010101000, name PUBLICO EN GENERAL) is a global invoice and must have InformacionGlobal (periodicity, months, year).
Why it fails
- A sale to a customer who gave no RFC, written with the generic RFC and PUBLICO EN GENERAL, but issued as an ordinary invoice.
How to fix it
For a global invoice add InformacionGlobal; for a single customer without an RFC use the generic RFC with the customer's own name, which then needs no InformacionGlobal.
What the rule checks
As the rule set's publisher wrote it. The rule runs on every element the context matches, and fails where the test is false; the validator reports the line of that element.
/cfdi:Comprobante
not($type = 'I' and normalize-space(cfdi:Receptor/@Rfc) = 'XAXX010101000' and normalize-space(cfdi:Receptor/@Nombre) = 'PUBLICO EN GENERAL') or cfdi:InformacionGlobal
Checked with CFDI 4.0