Factuarea APIDevelopers
Millora

Pagaments anticipats i validació de la data de pagament

Una data de pagament anterior a la d'emissió s'accepta ara com a pagament anticipat, i una data de pagament posterior a avui respon 422. Afecta vendes i despeses, marcar com a pagada i registrar un pagament.

30 d'octubre de 2026 — La data d'un pagament ja no ha de ser igual o posterior a la data d'emissió del document. Un pagament fet abans d'emetre el document és un pagament anticipat i s'accepta. Una data de pagament posterior a avui es rebutja amb un error de domini 422.

Operacions d'aquesta versió

OperacióoperationIdEina MCPQuè canvia
POST /v1/companies/{company}/invoices/{invoice}/mark-paidpublic-api.v1.invoices.mark_paidmark_invoice_as_paidS'accepta un paid_on anterior a la data d'emissió. Un paid_on futur respon 422.
POST /v1/companies/{company}/invoices/{invoice}/paymentspublic-api.v1.invoices.payments_createregister_invoice_paymentS'accepta un paid_on anterior a la data d'emissió. Un paid_on futur respon 422.
POST /v1/companies/{company}/purchase-invoices/{purchase_invoice}/mark-paidpublic-api.v1.purchase_invoices.mark_paidmark_purchase_invoice_paidS'accepta un paid_on anterior a la data d'emissió del document del proveïdor. Un paid_on futur respon 422.
POST /v1/companies/{company}/purchase-invoices/{purchase_invoice}/paymentspublic-api.v1.purchase_invoices.register_paymentregister_purchase_invoice_paymentS'accepta un paid_on anterior a la data d'emissió del document del proveïdor. Un paid_on futur respon 422.

La regla

La data d'un pagament no pot ser posterior a avui (dia d'Europe/Madrid). Res més la limita.

  • Anterior a l'emissió: s'accepta. Un client pot pagar abans que s'emeti la factura, i tu pots pagar un proveïdor abans que arribi el seu document. Registra la data real: és la que fan servir el cicle de cobrament, els informes d'antiguitat i la conciliació bancària. No la canviïs per ajustar-la a l'emissió.
  • Posterior a avui: 422. Registrar un pagament confirma una cosa que ja ha passat. Un pagament que només està previst és el venciment del document.

La resposta és 422. L'error sempre assenyala la data, però el seu code, subcode i param depenen de l'operació:

  • Vendes, mark-paid i payments: error.code business_rule_violation, sense error.subcode, error.param payment_date.
  • Despeses, mark-paid: error.code invalid_payment_date, sense error.subcode, error.param payment_date.
  • Despeses, payments: error.code business_rule_violation, error.subcode invalid_payment_date, error.param paid_on.

En tres de les quatre operacions param porta el nom que té la data al domini (payment_date), tot i que el camp de la petició sigui paid_on. Per distingir aquest error d'altres 422, comprova aquests valors a l'operació que has cridat. No et basis en message.

Què fallava abans

  • Un paid_on anterior a la data d'emissió es rebutjava, així que un pagament anticipat no es podia registrar amb la seva data real.
  • POST /v1/companies/{company}/invoices/{invoice}/mark-paid amb un paid_on futur responia 500. Ara respon el mateix 422 que les altres operacions.

La mateixa regla a tot arreu

  • Canvi d'estat en lot. POST /v1/companies/{company}/invoices/bulk-status i POST /v1/companies/{company}/purchase-invoices/bulk-status reben la data a payment_date i apliquen la mateixa regla. Un payment_date posterior a avui rebutja la crida sencera amb 422 (error.code invalid_param_value, param payment_date) abans de processar cap document. Una data anterior a l'emissió d'un document s'accepta. failures[] només informa dels documents que no poden rebre el pagament per un altre motiu, com un id desconegut o un estat que no l'admet.
  • MCP. Les quatre eines anteriors segueixen la mateixa regla i responen amb el mateix error que la seva operació REST.
  • Passarel·les de pagament. Els cobraments de Stripe sobre una factura existent es registren amb la data real del càrrec, mai posterior a avui. Ja no s'avancen a la data d'emissió de la factura.

Què fer:

  1. Envia a paid_on la data real del pagament, encara que sigui anterior a la data d'emissió.
  2. No enviïs una data futura. Si gestionaves el 500 antic de mark-paid, gestiona ara el 422.
  3. No donis per fet a les teves validacions o informes que paid_on és igual o posterior a issued_on.

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

En aquesta pàgina

Et donem un cop de mà?Contactar amb suport