Invoice

An invoice is a document that creates a legally enforceable obligation for a buyer to pay a seller a stated amount by a stated date.

Also called Bill · Tax invoice · Sales invoice · Receivable

Why it exists

Because a promise to pay needs to be recorded in a form both parties and a court would recognise, at a specific moment, for a specific amount.

What it means to the business

The invoice is where a commercial relationship becomes a number in the accounts. Everything before it is intention; everything after it is collection. That is why the rules around it are stricter than anywhere else in the system — and why "just edit it" is the most expensive shortcut available in an ERP.

01Lifecycle — walk the states

Draft. Editable. No ledger impact, no legal force.

State 1 of 5

02Relationships — walk the chain

Invoice issued to Customer.

Open Customer
03What goes wrong — and why
  • It breaks the audit trail and, once e-invoicing is on, desynchronises you from the IRP — which has already recorded the original. The credit note exists precisely for this.

Rules that must hold

  • An invoice must post to the general ledger; an unposted invoice is a draft, not an invoice.
  • An invoice's total must equal the sum of its lines plus taxes, always — no rounding plug.
  • A posted invoice is immutable. Corrections happen via credit note, never by editing.
  • In India, a tax invoice must carry a GSTIN, a place of supply and an unbroken serial number.

What commonly goes wrong

The recurring failure is treating the invoice as a document rather than a ledger event. Teams edit it, delete it, or recreate it, and then cannot explain why the receivables ledger disagrees with the bank. Under Indian e-invoicing the same habit becomes a compliance problem, because the IRP already has the original.

Edge cases

  • Partial delivery: invoicing 100 units when 80 shipped creates a dispute the system should have prevented.
  • Advance received before invoice — the payment exists with nothing to settle, and must sit against the customer, not an invoice.
  • Credit note issued in a later tax period than the invoice it reverses, which changes which return each lands in.
  • Foreign-currency invoices, where the receivable revalues but the invoice does not.

How ERPNext models it

DocTypeNote
Sales Invoice`docstatus` 0 draft / 1 submitted / 2 cancelled — the immutability boundary is 0→1.
GL EntryWritten on submit. Never edited directly; a GL Entry you can edit is a corrupted ledger.
Payment EntrySettles via Payment Reference rows, which is what allows part-payment.

Last reviewed 2026-08-13

Machine-readable version

We implement this for a living — that’s where the mistakes above come from. See the service or request a discovery briefing