Skip to content

Refunds and credit notes

A refund gives a card payment back and issues a credit note that corrects the original invoice at its original tax rates. Support refunds up to a limit; finance above it.

A refund gives money back to the card (or other method) a customer paid with. Every refund issues a credit note: a tax document that corrects the original invoice and reverses its tax.

Refund a payment from the console (the invoice's page, or brand → Refunds → New refund) or with POST /api/v1/refunds. Name the payment (paymentId) or the invoice it paid (invoiceId), a type and your reason.

Types

TypeWhat is refunded
fullEverything still left on the invoice. Credit packs and top-ups only for their unused credits.
partialamount, tax included, spread over the invoice's lines in proportion to what each line still has.
unused_creditsThe unused, unreserved credits of the invoice's credit packs and top-ups, with their tax at the original rate.
subscription_proratedThe unused time of the invoice's subscription periods, from now to the end of each period, to the millisecond. subscriptions.cancel with mode: now and refund: true makes these.

A refund never gives back more than the payment took, less earlier refunds, and never credits more than the invoice still has. Credits already used aren't refunded, and promotional or bonus credits never are.

Original rates, always

A credit note shows the original invoice's number and date and reverses each line at the original tax rate, jurisdiction and regime, never at today's rates. If a rate changed since the sale, the credit note still uses the old one.

The credit note has its own number in the brand's credit note series (for example GEN-CN-2026-000004), gap-free per legal entity, mode and year, and its own tax point: the moment it's issued. Tax returns report it in the period it's issued in, as a correction of the original sale's period (originalTaxPoint). Its PDF is rendered right after it's issued, in the original invoice's language, and emailed to the customer. Credit notes never change; a further correction is another credit note.

An invoice with credit notes becomes partially_credited, or credited once every line is fully credited. The payment becomes partially_refunded or refunded.

What happens in the books

Everything happens in one transaction:

  1. The ledger reverses the sale at the credit note's tax point: revenue (and unearned deferred revenue) back, the tax back to the same tax accounts it was collected into, unused credits out of the wallet. The money is owed to the customer in refunds_payable until the processor confirms the refund.
  2. The threshold counters of the original sale's period go down by the credited amount, in that period's window and currency rules.
  3. If the customer paid part of the invoice from their credit balance, that part goes back to the credit balance.
  4. The refund is sent to the processor right after the transaction, with the refund's own idempotency key, so it's never sent twice.

A full or subscription_prorated refund of a subscription invoice ends its revenue recognition: what's still unearned leaves deferred revenue. A partial refund reduces revenue at once and recognition goes on.

Statuses and events

StatusWhat it means
pendingThe credit note is issued and the processor refund is on its way.
succeededThe processor confirmed the refund. processorRefundRef is its refund ID.
failedThe processor refused or failed the refund. The credit note stands and the amount stays owed in refunds_payable until it's resolved.

Webhook events: credit_note.issued when the credit note is issued, refund.succeeded and refund.failed when the processor answers. A failed refund also raises the REFUND_FAILED alert for the brand's support and finance members: retry the refund at the processor, or pay the customer back another way and clear refunds_payable with a ledger adjustment.

Who can refund

  • Support refunds up to the brand's limit per currency (100 of a currency by default, for example €100.00; set policies.supportRefundLimits with brands.update). Support refunds credit packs only within the brand's refund window when none of the credits were used.
  • Finance, owners and admins refund any amount (refunds:admin).
  • Agents and apps follow the organization's approval policies: refunds are financial operations, and a partial refund's amount is compared with the policy's limits. Dry-run a refund first (Ownrecord-Dry-Run: true) to see the credit note and the amounts without changing anything.

Payments still in dispute can't be refunded: the dispute settles them. Invoices paid by bank transfer or only from the credit balance have no card payment to refund.