FISCALISTO / API / REFERENCIA
Cambiar o pausar una factura recurrente
Solo lo que mande cambia. invoice reemplaza la factura completa desde la siguiente vez. active: false la pausa; active: true la reanuda desde hoy, sin timbrar las fechas que pasaron en pausa. schedule.start_date mueve la siguiente fecha.
bearerAuthAutorizaciónBearer <llave>Su llave secreta: fk_test_… en pruebas, fk_live_… en producción. Desarrolladores › Llaves.
id*stringEl id del objeto.
Idempotency-Key?stringOpcional (los SDK la mandan solos). Si la respuesta se pierde, repita la solicitud con el mismo valor durante 24 horas: contesta lo mismo, con idempotent-replayed: true, y no lo hace dos veces (ni crea, ni manda correos, ni cobra).
1 <= length <= 255application/json- body
name?stringNombre.
1 <= length <= 80schedule?Cada cuánto y a qué hora se timbra.
invoice?La factura completa que se repite desde la siguiente vez (reemplaza la anterior).
send_email?booleantrue para mandar el PDF y el XML por correo al timbrar, con el diseño de Fiscalisto. Por omisión no se envía.
catch_up?stringSi quedaron periodos sin timbrar: all los timbra todos, cada uno con su mes; latest solo el más reciente.
"all""latest"active?booleanfalse la pausa; true la reanuda desde hoy, sin timbrar las fechas que pasaron en pausa.
Correcto.
application/json- response
Una factura que el emisor timbra solo, cada mes, semana o día.
id*stringIdentificador del objeto, con su prefijo (iss_, inv_, ret_, cus_, prd_, emp_, bat_, brn_, whs_, stm_, adj_, evt_, whe_).
livemode*booleantrue en producción (llaves fk_live_), false en pruebas (fk_test_). Lo de pruebas no vale ante el SAT.
object*stringQué tipo de objeto es («invoice», «customer»…).
issuer*stringEl emisor (iss_…).
name*stringPara reconocerla.
status*stringactive (timbra en cada fecha) o paused.
"active""paused"schedule*Cada cuánto: frequency (monthly, weekly o daily), interval, day_of_month (con monthly; "last" es el último del mes), y la hora (hour, en time_zone) en que se timbra.
next_invoice_on*stringLa fecha (AAAA-MM-DD) de la siguiente factura.
last_invoiced_on*|La fecha del último periodo que timbró, o null si aún no timbra ninguna.
last_invoice*|La última factura (inv_…) que timbró, o null.
last_error*|Por qué no se pudo timbrar la última vez (sin timbres, el cliente borrado, el SAT la rechazó…), o null. Se vuelve a intentar a la siguiente hora del día siguiente; también llega recurring_invoice.failed.
send_email*booleanSi cada factura se manda al correo del cliente.
catch_up*stringSi quedaron periodos sin timbrar: all los timbra todos, latest solo el más reciente.
"all""latest"customer*A quién se factura.
currency*stringLa moneda de la factura.
items*array<>Los conceptos, con description tal como se guardó ({mes}, {año}… se llenan en cada factura).
total*|El total de cada factura con los precios de hoy.
created_at*|Cuándo se creó.
curl -X POST 'https://api.fiscalisto.com/v1/recurring_invoices/string' \ -H 'Authorization: Bearer fk_test_…' \ -H 'Idempotency-Key: 8f14e45f-ceea-467a-9575-6a1b0e5f3c21' \ -H 'Content-Type: application/json' \ -d '{ "active": false}'{ "id": "rin_OufpKqnrvx9p7Hq2mZr1XyT5uBcW8sKdLx", "object": "recurring_invoice", "livemode": false, "issuer": "iss_OufpKqnrvx9p", "name": "Renta oficina 3", "status": "active", "schedule": { "frequency": "monthly", "interval": 1, "day_of_month": 1, "hour": 7, "time_zone": "America/Mexico_City" }, "next_invoice_on": "2026-11-01", "last_invoiced_on": "2026-10-01", "last_invoice": "inv_OufpKqnrvx9p6hW1yQbT3mZr8sKdLx0VeN", "last_error": null, "send_email": true, "catch_up": "all", "customer": { "tax_id": "ICV060329BY0", "legal_name": "INMOBILIARIA CVA" }, "currency": "MXN", "items": [ { "description": "Renta de oficina de {mes} {año}", "product_key": "80131500", "quantity": 1, "unit_key": "E48", "unit_price": 15000 } ], "total": 17400, "created_at": "2026-09-28T11:02:14-06:00"}