Factuarea APIDevelopers
Millora

Coherència de la causa d'exempció i conflicte en generar recurrents

Canvien tres operacions: la vista prèvia de la factura accepta un exemption_reason opcional, desar o emetre una factura amb causa de capçalera sense IVA i línies amb IVA respon 422 exemption_cause_contradicts_taxed_lines, i generar una factura recurrent pot respondre un 409 reintentable recurring_presentation_activation_changed.

24 d'octubre de 2026 — Aquesta versió afegeix un camp a la vista prèvia de plantilles PDF, un 422 nou a les operacions de factura que desen o emeten un esborrany i un 409 reintentable nou a la generació manual d'una factura recurrent. No s'afegeix ni es retira cap operació.

Operacions d'aquesta versió

OperacióoperationIdEina MCPQuè canvia
POST /v1/companies/{company}/pdf-template-previewspublic-api.v1.pdf_template_previews.createpreview_pdf_templateCamp opcional nou source.form.document.exemption_reason.
POST /v1/companies/{company}/recurring-invoices/{recurring_invoice}/generatepublic-api.v1.recurring_invoices.generategenerate_recurring_invoiceNou 409 reintentable recurring_presentation_activation_changed.
PATCH /v1/companies/{company}/invoices/{invoice}public-api.v1.invoices.updateupdate_invoiceNou 422 exemption_cause_contradicts_taxed_lines.
POST /v1/companies/{company}/invoices/{invoice}/issuepublic-api.v1.invoices.issueissue_invoiceNou 422 exemption_cause_contradicts_taxed_lines.
POST /v1/companies/{company}/invoices/{invoice}/sendpublic-api.v1.invoices.sendsend_invoiceNou 422 exemption_cause_contradicts_taxed_lines quan l'enviament emet un esborrany.
POST /v1/companies/{company}/invoices/{invoice}/mark-sentpublic-api.v1.invoices.mark_sentmark_invoice_as_sentNou 422 exemption_cause_contradicts_taxed_lines quan emet un esborrany.

Vista prèvia amb causa d'exempció

source.form.document.exemption_reason és opcional i només s'aplica a document_type invoice. És la causa d'exempció de la capçalera de la factura. El catàleg el publica GET /v1/tax-catalog.

  • La seva menció legal obre les mencions legals automàtiques de la vista prèvia, igual que en desar la factura.
  • Si l'ometes, o envies null, la vista prèvia es genera sense causa.
  • Una causa desconeguda, o una causa enviada en un pressupost, una proforma o un albarà, es rebutja.
  • La vista prèvia no rebutja una causa que contradigui l'IVA de les línies. Desar la factura sí, amb l'error següent.

preview_pdf_template accepta el mateix camp al mateix lloc.

Error nou: exemption_cause_contradicts_taxed_lines

Un esborrany de factura la capçalera del qual porta una causa d'exempció que declara l'operació sense IVA (les exempcions dels articles 20 a 26 i 140 bis de la LIVA, la no subjecció i la inversió del subjecte passiu) no admet una línia d'operació, que no sigui un suplert, amb un IVA major que zero.

La resposta és un 422 amb error.code business_rule_violation i error.subcode exemption_cause_contradicts_taxed_lines. param és lines.N.tax_rate i line_index indica la línia.

L'API v1 no accepta la causa de capçalera en crear o editar una factura, però sí que edita i emet esborranys creats a l'aplicació que la conserven. Aquí és on pot aparèixer l'error: a PATCH /v1/companies/{company}/invoices/{invoice} i a les operacions que emeten un esborrany (issue, send i mark-sent). Els documents ja emesos no canvien.

Què cal fer:

  1. Posa l'IVA de la línia indicada a param al 0 %, o treu la causa d'exempció de la factura.
  2. En una factura mixta, amb línies amb i sense IVA, no facis servir una causa de capçalera. Declara l'exempció a cada línia exempta amb lines[].exemption_reason.
  3. Repeteix la petició. La que es va rebutjar no va canviar res.

Conflicte reintentable nou: recurring_presentation_activation_changed

Mentre POST /v1/companies/{company}/recurring-invoices/{recurring_invoice}/generate genera la factura, l'empresa pot activar o desactivar el seu sistema de presentació dues vegades seguides. L'operació respon llavors 409 recurring_presentation_activation_changed.

  • No s'ha escrit res. No s'ha creat cap factura i no s'ha consumit cap ocurrència.
  • Repeteix la petició. És un conflicte reintentable, no una violació d'una regla de negoci.
  • Idempotència. La resposta no es desa per reproduir-la: repetir la crida amb la mateixa Idempotency-Key executa la generació de nou i no duplica la factura.

generate_recurring_invoice retorna el mateix error, de manera que un assistent només ha de tornar a cridar l'eina.

La taula següent llista les operacions d'aquesta versió.

Endpoints actualitzats6

EndpointDescripció
POST/v1/companies/{company}/pdf-template-previewsCrear una vista prèvia de plantilla PDF
POST/v1/companies/{company}/recurring-invoices/{recurring_invoice}/generateGenera una factura a partir d'una plantilla recurrent
PATCH/v1/companies/{company}/invoices/{invoice}Actualitzar una factura
POST/v1/companies/{company}/invoices/{invoice}/issueEmet una factura
POST/v1/companies/{company}/invoices/{invoice}/sendEnvia la factura per email
POST/v1/companies/{company}/invoices/{invoice}/mark-sentMarca una factura com a enviada

En aquesta pàgina

Et donem un cop de mà?Contactar amb suport