Invoicing
Credit notes
Reduce or cancel what a client owes on a sent invoice. Credit all of it or part of it, then refund the money or keep it as client credit.
A credit note is the proper way to correct an invoice after it was sent. It is its own document, with its own number, linked to the original invoice, and it lowers that invoice's balance. Use it when you overcharged, when work was cancelled after the invoice went out, or when a client was paid back. If an invoice has recorded payments, a credit note is the only way to correct it, because an invoice with payments cannot be voided.
When to use a credit note or a void
| Situation | Use |
|---|---|
| Invoice sent by mistake, nothing paid | Void the invoice |
| Invoice sent, nothing paid, but the amount was too high | Credit note for the difference, or void and issue a new invoice |
| Invoice paid in full or in part, and you need to give money back | Credit note with refund |
| Invoice paid, and the client will buy from you again | Credit note kept as client credit |
| An order was refunded in your Shopify or WooCommerce store | A credit note is created for you automatically when the store app is installed |
How credit notes work
- Own type, own sequence. Credit notes have a gap-free sequence of their own in each business, by default
CN-2027-0001,CN-2027-0002and so on. The number is allocated when the credit note is created. See Document numbering. - Linked to one invoice. Every credit note points to the invoice it credits, and the invoice lists its credit notes. The credit note's PDF uses the "CREDIT NOTE" variant and shows the original invoice number.
- Full or partial. Credit the whole invoice, pick the lines to credit, or enter an amount.
- Lowers the balance. The invoice's
amount_credited_minorgoes up and its balance goes down by the same amount. A full credit note brings the balance to exactly 0. - Never more than the invoice. The sum of all credit notes on an invoice can never exceed the invoice total.
When the invoice was already paid
If money has been received, you choose what happens to the credited amount:
The money goes back to the client. When the payment rail supports refunds, such as Stripe, the refund is made through it on your own connected account and recorded when Stripe confirms it. For rails without refunds, such as bank transfer, you pay the client back yourself and record the refund manually; it is written to the audit log. See Refunds.
The amount stays with you as a credit for that client, in that currency. It is applied to the client's next invoice. You can see the balance on the client's page. See Client credit.
Issue a credit note in the web app
Open the invoice
Find the invoice in Invoices and open it. Credit notes can be issued only for an invoice that was sent.
Choose what to credit
Credit the full invoice, select the lines to credit, or type an amount. The preview shows the new balance.
Choose refund or client credit
This choice appears only when the invoice has payments.
Confirm
A confirmation dialog shows exactly what will happen. Once confirmed, the credit note is numbered, linked to the invoice and audited.
Your client sees the credit note clearly: the invoice's pay page shows it with the reduced balance, and from the week of 11 January 2027 it also appears in the client portal.
Through the API and MCP
Creating a credit note is a destructive, money-moving action. Over the API and MCP you must send "confirm": true; without it you get the preview and the confirmation_required error, so nothing changes by accident.
curl -X POST "https://api.freeinvoiceautomation.com/v1/documents/0193f2b4-5a6b-7c8d-9e0f-1a2b3c4d5e6f/credit-notes" \
-H "Authorization: Bearer $FIA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 2f8a6c41-credit-inv-0007" \
-d '{
"amount_minor": "30000",
"settlement": "client_credit",
"confirm": true
}'- Send
settlementonly when the invoice has payments:"refund"or"client_credit". - Credit specific lines instead of an amount by listing them; each credit note line can point to the invoice line it credits.
- An
Idempotency-Keyis required, so a retried request never creates two credit notes.
| Task | Endpoint | MCP tool |
|---|---|---|
| Create a credit note | Create a credit note | create_credit_note |
| Apply client credit to an invoice | Apply client credit | none |
| Check a client's credit | Get client credit | none |
| Refund a payment directly | Refund a payment | none |
Your systems are told through the credit_note.created webhook event, and payment.refunded when a refund completes.
Credit note statuses
| Status | Meaning |
|---|---|
draft | Being prepared. |
issued | Numbered and in effect. |
applied | The credit was used against an invoice. |
refunded | The credited amount was paid back to the client. |
These are the proposed values in the status registry. See Document statuses.
Rules and edge cases
- Credit notes are permanent records. Like every document they are soft-deleted only, and once issued they keep their number forever.
- A credit note does not void the invoice. The invoice keeps its number and history; its balance changes.
- Reminders stop when credit notes cover the whole balance (reminders arrive in the week of 11 January 2027).
- Store refunds mirror automatically. When the Shopify or WooCommerce app receives a verified refund from your store, it issues the credit note without asking, because it records something that already happened. It is audited with the store connector as the actor.
- Credit notes travel everywhere. They appear in reports, accounting sync and the ledger as those features ship.
- AI and integrations ask first. An MCP client or the AI agent can prepare a credit note, but a person confirms it.
Permissions
| Action | Permission key |
|---|---|
| Issue a credit note | documents.credit |
| Apply client credit to an invoice | documents.edit |
| Refund through the rail | payments.refund |
| View | documents.view |
By default only Owners and Admins can issue credit notes.
Errors you may see
| Code | Meaning |
|---|---|
confirmation_required | Send "confirm": true. The response includes the preview. |
credit_exceeds_balance | The credit is larger than what can still be credited on this invoice. |
rail_capability_missing | The rail cannot refund. Record the refund manually instead. |
rail_not_connected | The rail used for the payment has no active connection. |
document_voided | The invoice is void, so there is nothing to credit. |
permission_denied | Your role lacks documents.credit. |