Factuarea APIDevelopers

Programar una factura

Reserva l'emissió d'una factura esborrany per a un instant futur.

  • La factura passa a scheduled i encara no passa res fiscal: conserva el seu número de farciment BORRADOR, no consumeix cap comptador de sèrie i no es registra res a VeriFactu.

  • Programar no crema numeració mai.

  • Què passa a scheduled_for. Un escombrat s'executa cada minut i, a la primera passada a partir d'aquell instant: (1) assigna el número correlatiu definitiu de la sèrie en aquell moment, no quan vas programar — així que un document programat avui i emès el mes que ve pren el número que correspon al mes que ve; (2) congela els snapshots de destinatari i emissor en aquell instant, que és el que mostraran el PDF i l'XML fiscal; (3) passa la factura a sent; (4) encua l'alta a VeriFactu davant l'AEAT de manera asíncrona quan l'empresa hi està acollida; i (5) envia l'email al client només quan scheduled_action és issue_and_send i el client té email registrat — amb scheduled_action: draft la factura s'emet però no es lliura mai, i issue_and_send sense email de destinatari l'emet igualment, ometent el lliurament en silenci.

  • Zona horària. scheduled_for és una data-hora ISO 8601. Si porta un desfasament explícit (2027-01-15T09:00:00Z, …+01:00) es respecta aquell desfasament; sense ell s'interpreta a la zona horària de servidor del compte, Europe/Madrid.

  • La resolució és de minut: espera l'emissió dins del minut següent a l'instant que has demanat, mai abans.

  • Si l'emissió programada falla, cada factura s'aïlla a la seva pròpia transacció: la que falla es queda a scheduled amb la seva data al passat, l'error es registra, la resta del lot no es veu afectada i l'escombrat següent la reintenta.

  • Una emissió correcta no es repeteix mai, perquè scheduled → sent només pot passar una vegada.

  • Límits: només es pot programar un draft (qualsevol altre estat retorna 422) i scheduled_for ha d'estar estrictament al futur (422 si no).

  • Mentre continuï a scheduled pots cridar unschedule per tornar-la a draft, o reschedule per moure només la data.

POST
/invoices/{invoice}/schedule
AuthorizationBearer <token>

A: header

Paràmetres de ruta

invoice*string

Headers

Idempotency-Key?string

Clau opaca generada pel client (fins a 255 caràcters; es recomana UUID v7) que fa segurs els reintents: la primera resposta es cacheja i es reprodueix a les repeticions sense tornar a executar la mutació. Reutilitzar una clau amb un cos diferent retorna 409 idempotency_key_reused. Consulta la guia d'Idempotency.

Longitud1 <= length <= 255
Factuarea-Version?string

Fixa la versió de l'API (YYYY-MM-DD, versionat per data estil Stripe) per a aquesta petició; omet-lo per usar la versió fixada de la clau, o l'última si no n'hi ha cap. Versió no suportada → 400 unsupported_api_version; mal formada → 400 parameter_invalid_format. La versió efectiva es reflecteix a la capçalera de resposta Factuarea-Version. Consulta la guia de Versioning.

Formatdate
X-Active-Profile?string

Opera en nom d'una empresa filla (API key mestra de gestoria): passa el seu id públic (UUID v7) i la petició s'executa contra les dades d'aquella filla sense canviar l'scope, el tier ni l'environment de la clau (omet-lo per usar la pròpia empresa de la clau). UUID no vàlid → 400 parameter_invalid_uuid; id desconegut o no propi → 404 profile_not_found. Consulta la guia d'Acting on behalf.

Formatuuid

Cos de la petició

application/json

Definicions de TypeScript

Usa el tipus request body a TypeScript.

Cos de la resposta

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json