Credit notes & credit balance
Credit notes & credit balance
A customer’s credit balance is money you owe them, held against their account. PaymentKit applies it automatically when their next invoice is collected. Each adjustment to the balance is recorded as a credit note — an immutable ledger entry — so the balance is always the running sum of every note.
Balances are tracked per currency. A customer can hold credit in USD and EUR independently.
Credit balance vs. credit notes
You can work at either level:
- Set a balance directly with
PATCH credit-balance— PaymentKit computes the difference and issues or voids credit to reach your target. - Append a specific credit note with
POST credit-notes— useful when you want a reason and memo on record, or to link the credit to a specific invoice.
Set a customer’s credit balance
PATCH credit-balance sets the balance to an absolute target, not a delta. PaymentKit
compares your target against the current balance and issues credit (if higher) or voids credit (if
lower) to match.
Dashboard
API
- Open the Customer
- Open the Credit balance panel
- Enter the new balance and currency
- Click Save
The response is the resulting balance:
Issue a credit note
POST credit-notes appends a credit to the customer’s balance with a reason and optional memo.
API
Send an Idempotency-Key header so a retried request doesn’t issue the credit twice.
The credit note object
List a customer’s credit notes
Pass an optional currency filter; results are paginated and sorted newest-first.
How credit is applied
When an invoice is collected, PaymentKit automatically draws down any available credit in the
invoice’s currency. Each application writes an applied credit note with a negative amount, and
the balance falls accordingly. You don’t need to apply credit manually — issuing it is enough.
The current balances are also exposed on the customer object:
credit_balances lists every non-zero balance by currency and is the field to read. The legacy
singular credit_balance is retained for backward compatibility and reflects only the largest
balance.
Webhook events
The subscribable webhook for credit activity is customer.updated, which fires whenever a
customer’s cached credit balance is refreshed (after credit is issued, applied, or voided).
Credit-note ledger writes emit an internal credit_note.created event, but credit_note.*
events are not currently exposed as subscribable webhooks. Track credit changes via
customer.updated or by reading credit_balances on the customer.