API DE FACTURA GLOBAL
Cierra el mes con un solo comprobante
Junta todos los tickets que no pidieron factura y timbra la global desde tu punto de venta. Un POST al cerrar el periodo y listo.
¿Qué es la factura global?
Es el CFDI donde agrupas todas las ventas del periodo en las que el cliente no pidió factura. Si tienes una tienda, un restaurante o una gasolinera, la mayoría de tus tickets caen aquí: la gente paga, se va y nadie te da un RFC.
El SAT no te deja dejar esas ventas sin comprobar. La factura global es la forma de
reportarlas en bloque, a nombre del público en general, con el RFC genérico
XAXX010101000.
El endpoint
Se emite por el endpoint general de CFDI. Lo que la convierte en global es el nodo
GlobalInformation.
El body
{
"CfdiType": "I",
"PaymentForm": "01",
"PaymentMethod": "PUE",
"ExpeditionPlace": "78240",
"GlobalInformation": {
"Periodicity": "04",
"Months": "04",
"Year": "2022"
},
"Receiver": {
"Rfc": "XAXX010101000",
"CfdiUse": "S01",
"Name": "PUBLICO EN GENERAL",
"FiscalRegime": "616",
"TaxZipCode": "78240"
},
"Items": [{
"ProductCode": "25173108",
"Description": "GPS estandar pruebas",
"UnitCode": "E48",
"Quantity": 1.0,
"UnitPrice": 100.0,
"Subtotal": 100.00,
"TaxObject": "02",
"Taxes": [{
"Total": 16,
"Name": "IVA",
"Base": 100,
"Rate": 0.16,
"IsRetention": false
}],
"Total": 116
}]
}
XAXX010101000, uso S01 (sin efectos fiscales), nombre
PUBLICO EN GENERAL y régimen 616. Cualquier variación —incluso
escribir el nombre en minúsculas— te tumba el timbrado.
La periodicidad manda
El nodo GlobalInformation declara qué periodo estás cerrando, y de ahí sale el
plazo que tienes para emitirla. Son tres campos:
Periodicity— si el corte es diario, semanal, quincenal o mensual.Months— el mes o bimestre que cubre.Year— el ejercicio.
Aquí conviene tomar una decisión de arquitectura desde el principio: elige una periodicidad y no la cambies a mitad de ejercicio. Si un mes cierras diario y al siguiente mensual, la conciliación entre tus tickets y tus globales se vuelve un rompecabezas —y ese rompecabezas lo va a armar tu contador en marzo, con la declaración encima.
La global tampoco se emite el día que se te ocurra: hay un plazo tras el cierre del periodo. Si automatizas, programa el disparo con margen en vez de dejarlo al último día.
Qué hacer si alguien pide factura después
Pasa todo el tiempo: el cliente vuelve tres días después con su RFC. Si esa venta ya entró en una global timbrada, no puedes simplemente facturarla aparte — la estarías comprobando dos veces.
El camino correcto es cancelar la global, emitirla de nuevo sin esa venta, y facturar al cliente por separado. Por eso conviene guardar en tu base de datos qué tickets entraron en cada global: sin ese rastro, rehacerla es un ejercicio de arqueología.
Muchos negocios lo resuelven dando un plazo corto para pedir factura —72 horas, el mes en curso— y emitiendo la global solo después. Es una decisión de negocio, pero conviene tomarla antes de programar el flujo, no después.
Lo demás del ciclo de vida
La respuesta trae el Id y el UUID. Con eso consultas, descargas el XML o el PDF,
y cancelas si hace falta. Las cancelaciones de globales son frecuentes por lo que acabamos de
ver, así que vale la pena dejar ese flujo resuelto desde el primer día en vez de hacerlo a
mano cada vez.
SDKs
Librerías oficiales para PHP, Python, JavaScript, Java, Ruby y .NET (4.5+), con repositorio en GitHub. La global usa el mismo endpoint que cualquier factura, así que si tu punto de venta ya emite CFDI, esto es un payload más.
¿Y si no quieres programar?
La factura global también se genera desde la plataforma web. Si cierras una al mes, no necesitas integrar nada.
La API tiene sentido cuando el punto de venta ya lleva el registro de tickets y quieres que la global salga sola al cerrar el periodo, sin que nadie tenga que acordarse.
Ver todo lo que puedes emitir con la APIPreguntas frecuentes
¿Qué RFC se usa en la factura global?
El genérico XAXX010101000, con el nombre PUBLICO EN GENERAL y
régimen fiscal 616.
¿Cuál es la diferencia entre factura global y factura a público en general?
Son lo mismo. "Global" describe que agrupa varias ventas; "público en general" describe al
receptor. En el CFDI 4.0 se resuelven con el mismo comprobante: RFC genérico más el nodo
GlobalInformation.
¿Puedo cancelar una factura global?
Sí, con el Id del comprobante. Es lo que toca cuando un cliente pide factura de
una venta que ya quedó incluida.
¿El uso de CFDI puede ser otro distinto de S01?
No. S01 significa "sin efectos fiscales" y es el único válido cuando el receptor
es el público en general, porque nadie va a deducir ese comprobante.
Automatiza el cierre de tu punto de venta
Prueba el flujo completo en el sandbox antes de conectarlo a producción.
Crear cuenta y probar Hablar con un ingeniero