InvoicingCredit notes

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

SituationUse
Invoice sent by mistake, nothing paidVoid the invoice
Invoice sent, nothing paid, but the amount was too highCredit note for the difference, or void and issue a new invoice
Invoice paid in full or in part, and you need to give money backCredit note with refund
Invoice paid, and the client will buy from you againCredit note kept as client credit
An order was refunded in your Shopify or WooCommerce storeA 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-0002 and 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_minor goes 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.

Issue a credit note in the web app

1

Open the invoice

Find the invoice in Invoices and open it. Credit notes can be issued only for an invoice that was sent.

2

Choose what to credit

Credit the full invoice, select the lines to credit, or type an amount. The preview shows the new balance.

3

Choose refund or client credit

This choice appears only when the invoice has payments.

4

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 settlement only 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-Key is required, so a retried request never creates two credit notes.
TaskEndpointMCP tool
Create a credit noteCreate a credit notecreate_credit_note
Apply client credit to an invoiceApply client creditnone
Check a client's creditGet client creditnone
Refund a payment directlyRefund a paymentnone

Your systems are told through the credit_note.created webhook event, and payment.refunded when a refund completes.

Credit note statuses

StatusMeaning
draftBeing prepared.
issuedNumbered and in effect.
appliedThe credit was used against an invoice.
refundedThe 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

ActionPermission key
Issue a credit notedocuments.credit
Apply client credit to an invoicedocuments.edit
Refund through the railpayments.refund
Viewdocuments.view

By default only Owners and Admins can issue credit notes.

Errors you may see

CodeMeaning
confirmation_requiredSend "confirm": true. The response includes the preview.
credit_exceeds_balanceThe credit is larger than what can still be credited on this invoice.
rail_capability_missingThe rail cannot refund. Record the refund manually instead.
rail_not_connectedThe rail used for the payment has no active connection.
document_voidedThe invoice is void, so there is nothing to credit.
permission_deniedYour role lacks documents.credit.