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ó | operationId | Eina MCP | Què canvia |
|---|---|---|---|
POST /v1/companies/{company}/invoices/{invoice}/mark-paid | public-api.v1.invoices.mark_paid | mark_invoice_as_paid | S'accepta un paid_on anterior a la data d'emissió. Un paid_on futur respon 422. |
POST /v1/companies/{company}/invoices/{invoice}/payments | public-api.v1.invoices.payments_create | register_invoice_payment | S'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-paid | public-api.v1.purchase_invoices.mark_paid | mark_purchase_invoice_paid | S'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}/payments | public-api.v1.purchase_invoices.register_payment | register_purchase_invoice_payment | S'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-paidipayments:error.codebusiness_rule_violation, senseerror.subcode,error.parampayment_date. - Despeses,
mark-paid:error.codeinvalid_payment_date, senseerror.subcode,error.parampayment_date. - Despeses,
payments:error.codebusiness_rule_violation,error.subcodeinvalid_payment_date,error.parampaid_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_onanterior 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-paidamb unpaid_onfutur responia500. Ara respon el mateix422que les altres operacions.
La mateixa regla a tot arreu
- Canvi d'estat en lot.
POST /v1/companies/{company}/invoices/bulk-statusiPOST /v1/companies/{company}/purchase-invoices/bulk-statusreben la data apayment_datei apliquen la mateixa regla. Unpayment_dateposterior a avui rebutja la crida sencera amb422(error.codeinvalid_param_value,parampayment_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:
- Envia a
paid_onla data real del pagament, encara que sigui anterior a la data d'emissió. - No enviïs una data futura. Si gestionaves el
500antic demark-paid, gestiona ara el422. - No donis per fet a les teves validacions o informes que
paid_onés igual o posterior aissued_on.
La taula següent llista les operacions d'aquesta versió.
Endpoints actualitzats4
| Endpoint | Descripció |
|---|---|
POST/v1/companies/{company}/invoices/{invoice}/mark-paid | Marca la factura com a pagada |
POST/v1/companies/{company}/invoices/{invoice}/payments | Registrar un pagament |
POST/v1/companies/{company}/purchase-invoices/{purchase_invoice}/mark-paid | Marca la despesa com a pagada |
POST/v1/companies/{company}/purchase-invoices/{purchase_invoice}/payments | Registrar un pagament de despesa |