> ## Documentation Index
> Fetch the complete documentation index at: https://developers.ipsofactura.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Factura global

> Cómo timbrar la factura global (ventas al público en general) con XAXX010101000 e informacion_global.

La **factura global** agrupa las ventas al público en general de un periodo (los tickets
sin factura individual) en un solo CFDI. Se timbra con `POST /cfdi/timbrar` como cualquier
ingreso, con tres reglas fijas del SAT:

| Campo                                  | Valor obligatorio                                                  |
| -------------------------------------- | ------------------------------------------------------------------ |
| `receptor.rfc`                         | `XAXX010101000` (RFC genérico de público en general)               |
| `receptor.nombre`                      | `PUBLICO EN GENERAL` (literal, sin acentos)                        |
| `receptor.regimen_fiscal` / `uso_cfdi` | `616` / `S01`                                                      |
| `receptor.domicilio_fiscal`            | **Igual** a `lugar_expedicion` (el CP de tu empresa)               |
| `informacion_global`                   | Obligatorio con este receptor: periodicidad, mes y año del periodo |

## `informacion_global`

```json theme={null}
{ "periodicidad": "04", "meses": "07", "año": 2026 }
```

| Campo          | Valores                                                                     | Notas                                                                                                                                                                                       |
| -------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `periodicidad` | `01` diario · `02` semanal · `03` quincenal · `04` mensual · `05` bimestral | Catálogo `c_Periodicidad`. Cualquier otra clave se rechaza con `400`.                                                                                                                       |
| `meses`        | `01`–`12`                                                                   | Mes del periodo. Con periodicidad `05` (bimestral) usa los códigos `13`–`18` (`13` = ene-feb, `14` = mar-abr, … `18` = nov-dic). Mezclarlos se rechaza con `400` antes de gastar un timbre. |
| `año`          | `YYYY`                                                                      | El año del periodo. También se acepta la clave `anio` (sin ñ), útil si tu serializador sufre con UTF-8.                                                                                     |

<Note>
  La periodicidad debe ser **igual o menor** a tu periodo de declaración: si declaras
  mensual, puedes emitir la global diaria, semanal, quincenal o mensual.
</Note>

## Ejemplo completo

Una factura global mensual (julio 2026) por \$1,740.00 con IVA 16%. Copiable tal cual al
[sandbox](/sandbox) — este mismo payload se timbra en nuestra suite de pruebas:

```bash cURL theme={null}
curl -X POST https://sandbox.api.ipsofactura.com/cfdi/timbrar \
  -H "x-api: {tu_api_key_sandbox}" \
  -H "Content-Type: application/json" \
  -d '{"rfc_emisor":"EKU9003173C9","serie":"FG","folio":"72","tipo_comprobante":"I","forma_pago":"01","metodo_pago":"PUE","lugar_expedicion":"06000","subtotal":1500.00,"total":1740.00,"receptor":{"rfc":"XAXX010101000","nombre":"PUBLICO EN GENERAL","domicilio_fiscal":"06000","regimen_fiscal":"616","uso_cfdi":"S01"},"informacion_global":{"periodicidad":"04","meses":"07","año":2026},"conceptos":[{"clave_prod_serv":"01010101","cantidad":1,"clave_unidad":"ACT","descripcion":"Venta al público en general","valor_unitario":1500.00,"importe":1500.00,"objeto_imp":"02","impuestos":{"traslados":[{"base":1500.00,"impuesto":"002","tipo_factor":"Tasa","tasa_o_cuota":"0.160000","importe":240.00}]}}],"impuestos":{"total_impuestos_trasladados":240.00,"traslados":[{"base":1500.00,"impuesto":"002","tipo_factor":"Tasa","tasa_o_cuota":"0.160000","importe":240.00}]}}'
```

Convenciones del SAT para los conceptos de la global:

* Un concepto **por ticket/nota de venta**, con `descripcion` = "Venta" (o el número del
  ticket), `clave_prod_serv` = `01010101` y `clave_unidad` = `ACT`.
* `forma_pago`: la del pago recibido (o `01` efectivo si fue mixto); `metodo_pago` = `PUE`.
* El ejemplo usa `lugar_expedicion` explícito para dejar clara la regla del domicilio; si
  lo omites, se usa el CP de tu empresa — el `domicilio_fiscal` del receptor debe coincidir
  con ese valor.

## Errores típicos

| Situación                                                        | Respuesta                                                                 |
| ---------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `XAXX010101000` sin `informacion_global`                         | `400 VALIDATION_ERROR` — "El nodo Información Global es obligatorio…"     |
| `domicilio_fiscal` ≠ `lugar_expedicion`                          | `400 VALIDATION_ERROR` — deben ser iguales para público en general        |
| Periodicidad fuera de `01`–`05`                                  | `400 VALIDATION_ERROR` — claves válidas de `c_Periodicidad` en el mensaje |
| `meses` `13`–`18` con periodicidad distinta de `05` (o al revés) | `400 VALIDATION_ERROR` — se rechaza en local, sin gastar timbre           |

## Cancelación de una global con ventas ya facturadas

Si un cliente pide factura individual después de emitida la global del periodo, el flujo
SAT es: emitir la factura individual, y **sustituir** la global (cancelación motivo `01`
con `uuid_sustitucion` de la nueva global sin ese ticket). Ver
[Cancelar CFDI](/api-reference/cfdi/cancelar-cfdi).
