Anul·lació de cobraments
Anul·la un cobrament conservant el registre original i la seva traçabilitat. El saldo de la factura reflecteix l’anul·lació i les integracions reben l’esdeveniment corresponent.
Un pagament que s'ha retornat — un rebut SEPA retornat, una retrocessió de
targeta, un efecte impagat — ja té una via pròpia per registrar-se, i la
factura que pagava torna al circuit de cobrament en lloc de quedar-se paid
per sempre. Consulta Registrar pagaments.
- Operació nova —
POST /v1/invoices/{id}/payments/{payment_id}/reversalanul·la un pagament d'una factura de venda indicant unreasond'un catàleg tancat (direct_debit_return,card_dispute,misapplied_payment,bounced_effect,recording_error) i unanoteopcional. Retorna200amb el pagament ja anul·lat. Scope:invoices:write— no existeix una família de scopespayments:*. - El pagament no s'esborra mai — conserva el seu import, data, mètode i
referència, i guanya
is_reversed,reversed_at,reversal_reason,reversal_reason_textireversal_note, els cinc publicats ja a tots els pagaments d'una factura. Un pagament anul·lat continua al ledger: llegeixis_reversed, no dedueixis l'anul·lació del fet que una entrada desaparegui. - La factura torna al circuit de cobrament — un import anul·lat deixa de
computar a
paid_amountipending_amount, així que una facturapaidpassa aoverduesi el seu venciment ja ha passat i asentaltrament, i torna a admetre un pagament. Només el ledger pot produir aquesta transició: l'endpoint genèric de canvi d'estat continua sense poder treure una factura depaid. - Esdeveniment nou
payment.reversed— tanca el cicle quepayment.receiveddeixava explicat a mitges. El seudata.reversalporta elreasoni unorigin(gatewayquan va ser la passarel·la la que va informar de la devolució,manualquan ho va registrar una persona). Consulta Esdeveniments. - Tool MCP nova
revert_invoice_payment— el mirall de la ruta per a agents, amb el mateix scopeinvoices:write. Consulta el catàleg de tools. - Tres codis d'error nous, tots tres
422:payment_already_reversed,payment_reversal_reason_invalidipayment_reversal_invalid.
Anul·lar no és rectificar. Un rebut retornat significa que el client va recuperar els seus diners sense que l'operació es minori: el deute continua viu i no hi ha res a rectificar. Un reemborsament genuí sí que baixa els ingressos i conserva la seva rectificativa. Un rebut retornat tampoc no és el supòsit de crèdit incobrable de l'art. 80.Cuatro LIVA, que té els seus propis requisits formals. Consulta Anul·lació o rectificativa?.
Correcció de contracte (clients generats). POST /v1/invoices/{id}/payments
i GET /v1/invoices/{id}/payments publicaven a l'spec OpenAPI el schema de
factura, heretat del prefix del path, quan l'API retorna un
cobrament — i el llistat anunciava a més un objecte singular en lloc d'un
array. Totes dues publiquen ja InvoicePaymentDetail (un array al llistat).
Cap resposta no ha canviat pel cable: és una correcció de documentació, no un
canvi que trenca, perquè cap integració tipada no podia funcionar contra el
tipus anterior. Si uses un SDK generat o el CLI, torna a generar-lo: el teu
model d'aquestes dues operacions canviarà.
Nous endpoints1
| Endpoint | Descripció |
|---|---|
POST/v1/invoices/{invoice}/payments/{payment}/reversal | Anul·lar un pagament d'una factura |