Factuarea APIDevelopers

Anul·lar un pagament d'una factura

Anul·la un pagament registrat contra una factura, indicant-ne el motiu.

  • El pagament conserva el seu import, data, mètode i referència, i queda marcat com a anul·lat (is_reversed: true) juntament amb el motiu, l'instant i l'autor — mai no s'esborra, perquè un pagament que va existir i va deixar de tenir efecte és informació comptable.

  • reason és obligatori i pertany a un catàleg tancat: direct_debit_return (devolució de rebut SEPA), card_dispute (disputa o retrocessió de targeta), misapplied_payment (imputat a la factura equivocada), bounced_effect (efecte impagat) i recording_error.

  • Un valor fora del catàleg retorna 422 payment_reversal_reason_invalid.

  • note és una nota lliure opcional de fins a 500 caràcters; superar-los retorna 422 payment_reversal_invalid.

  • Anul·lar un pagament que ja està anul·lat retorna 422 payment_already_reversed.

  • Un pagament anul·lat deixa de computar en paid_amount, pending_amount i en qualsevol agregat de tresoreria, així que la factura torna al circuit de cobrament: overdue si la seva data de venciment ja ha passat, sent altrament, i torna a admetre un pagament nou.

  • Aquesta transició es deriva del registre de pagaments i només pot originar-se aquí — l'endpoint genèric de canvi d'estat no pot treure una factura de paid.

  • Reemborsament o anul·lació? Anul·la quan el client va recuperar els seus diners sense que l'operació es minori (devolució de rebut, retrocessió, error d'imputació): el deute continua viu i el vols cobrar.

  • Emet una factura rectificativa (POST /v1/invoices/{id}/corrective) quan el que es minora és l'operació mateixa — aquí és on els ingressos baixen de debò.

  • Anul·lar mai no emet una rectificativa, i un rebut retornat no és un crèdit incobrable (l'art. 80.Cuatro LIVA té els seus propis requisits formals).

  • Irreversible: no hi ha des-anul·lació.

  • Per refer el cobrament, registra un pagament nou.

POST
/invoices/{invoice}/payments/{payment}/reversal
AuthorizationBearer <token>

A: header

Paràmetres de ruta

invoice*string
payment*string

Headers

Idempotency-Key*string

Clau opaca generada pel client (fins a 255 caràcters; es recomana UUID v7) que permet reintents segurs: la primera resposta s'emmagatzema i es reprodueix en les repeticions sense tornar a executar la mutació. Reutilitzar una clau amb un cos diferent retorna 409 idempotency_key_reused. Consulta la guia d'idempotència. Obligatòria en aquesta operació: repetir-la produeix un efecte irreversible (un correu enviat, un fitxer generat, una crida a un tercer o un càrrec), per la qual cosa una petició sense aquesta capçalera es rebutja amb 422 idempotency_key_required abans d'executar lògica de negoci.

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