---
title: Delivery Note
order: 13
updated: 2026-07-21
---

# Delivery Note

A *delivery note* records goods you hand to a customer **immediately** — before any sales order exists. You give the goods on the spot, raise the delivery note, and **later** create the sales order and link the delivery note to it. Once the link is approved, the order's delivery accounting counts the delivery note's quantities, so you never deliver the same items twice.

While a delivery note is *Approved* (or linked), its quantity **leaves your sellable stock** at the godown/room/rack it went out from — exactly like a normal delivery — so the same pieces can't accidentally be sold or delivered again. Stock is never touched at create time; the quantity only leaves inventory the moment the note is approved, effective on the *note date*.

The page's web address still uses an older internal name for this feature — that is why the route reads `delivery-challan`. Every label in the app, and every document it prints, says *Delivery Note*.

## Open the Delivery Note page

Two ways reach the list:

- Open the *Delivery Receipt* page and use its top-right actions menu (⋮) → *Delivery Note*. This entry is always present as long as you can view delivery notes; it does not depend on which delivery-receipt tab you are on.
- Go directly to the delivery-note list route (`/inventory/stock/delivery-challan`).

Both land on the *Delivery Note* list. A third, related entry point lives on a sales order's *View* page — *Attach Delivery Note* — but that opens the linking flow described in [Link a delivery note to a sales order](#link-a-delivery-note-to-a-sales-order), not the full list.

You need the *View Delivery Notes* permission to open the page at all.

## The lifecycle

Every delivery note moves through this set of statuses:

- *Pending* — created, but no delivery proof has been uploaded yet. Stock is not affected.
- *Delivered* — a delivery proof file has been uploaded. It is waiting for a senior to approve. Stock is still not affected.
- *Approved* — a senior with the right permission has approved it. The quantity now **leaves sellable stock** at the location it was dispatched from, effective on the *note date*. It shows in the product's Stock Ledger as an outbound movement.
- *Link Pending* — the delivery note has been attached to a sales order and is waiting for the link to be approved. Stock stays out; the order's delivered quantities do **not** count it yet.
- *Linked* — the link has been approved. The delivery note now **counts toward the sales order's delivered quantities**.

Stock accounting treats a delivery note as an outbound movement whenever its status is *Approved*, *Link Pending*, or *Linked* — so attaching or linking never changes the stock effect, only whether the order counts it.

*Detach* removes a link (from either *Link Pending* or *Linked*) and returns the delivery note to *Approved*. If it was already *Linked*, the order's delivery figures are recalculated and the order may fall back to not-delivered.

## Search and filter the list

The top of the page carries filters:

- *Customer* — pick a customer to narrow the list.
- *Contact Person* — enabled only after a customer is chosen; lists that customer's contacts.
- *Product Head* — filter by product category.
- *Product Code* — enabled only after a product head is chosen; lists that head's codes.
- *Status* — a multi-select beside the actions menu. Choose any combination of statuses, or leave it on *All statuses*. Your chosen set is **remembered** as your default view: the next time you open the page it re-applies the same statuses. Clear it (or use the *Reset* button in the *Default Status* submenu) to go back to showing all.

The list is paginated at `20` rows per page. Each row shows the note number, customer + contact person, the first couple of product names (with a `+N` overflow badge), total quantity, note date, who created it, and a colour-coded status chip. Click any row to open the full delivery note.

## Create a delivery note

Click *Create Delivery Note* (top-right of the list; shown only if you have *Create Delivery Note* permission). This opens the *Add Delivery Note* page — a full page, not a modal, because each product row carries a rich-text description editor.

### Customer and contact person

- *Customer Name* — required. Search and pick the customer.
- *Contact Person Name* — required, and enabled only after a customer is picked. The list is scoped to that customer's contacts. The server re-checks that the contact person actually belongs to the chosen customer, and rejects the save if it doesn't — you cannot smuggle in another customer's contact.

Both fields are **locked once the note exists** — the edit screen shows them disabled, and the edit endpoint ignores any change to them. Pick the right customer and contact person before you save.

### Delivery note date

- *Delivery Note Date* — required. Defaults to today. You can **back-date** to any day up to today; there is no separate back-date permission. Future dates are not allowed in the picker, and the server additionally **clamps any future date to now**, so the effective date can never be later than the moment of save.

The note date is what the stock movement is dated on once the note is approved — approval writes no separate "delivered on" date.

### Product rows

Add one or more product rows with *Add Product*; remove any with *Remove*. Each row has:

- *Product Category* (product head) — required.
- *Product Code* — required, enabled only after a category is chosen. The server verifies the code actually belongs to the chosen category.
- *Quantity* — required, must be greater than `0`.
- *Make* — optional. When a category restricts its makes, the make you pick must be one of the category's allowed makes; the server re-checks this.
- *Unit* — the unit of measure. When the product allows exactly one unit it is auto-selected and locked; otherwise the list is filtered to the product's allowed units.
- *Price / unit* — **optional**, and **display/print only**. It never affects stock or the sales order's money math. Leave it blank to omit it entirely. If you do enter a price, note it becomes relevant when you later link the note to an order — see the price rule in [The fit check](#the-fit-check).
- *Godown → Room → Rack* — all three are required. This is where the goods leave from. The three dropdowns cascade (changing the godown clears the room and rack). Each option shows how much of the selected product sits there, and picking a product code auto-fills the row to the location holding the most stock. You can only choose locations you have manage-scope on (admins see all); the server re-verifies both the rack → room → godown hierarchy and your scope on save.
- *Description* — each row shows the product's default description (read-only, on the left) plus your own rich-text note (on the right). On save the two are merged into the stored description. Your custom note is capped at `20000` characters and is sanitised server-side.

### Delivery note number

How the number is set depends on your firm's numbering mode (see [Delivery note numbering](#delivery-note-numbering)):

- **Automatic** — the number is assigned server-side from the firm's running counter and format when you save. No number field appears on the form; any number sent by the client is ignored.
- **Manual** — a required *Delivery Note Number* field appears at the top of the form. Type any number up to `100` characters. In manual mode numbers are **not** checked for uniqueness — two notes can share a number if you type the same thing.

A non-admin creating a note in a manual-numbering firm still sees the manual field; if the app can't read the firm's mode it falls back to auto (field hidden).

Press *Save Delivery Note*. If any file was attached during create the note is born *Delivered*; otherwise it starts *Pending*.

## Upload delivery proof

Proof of delivery is uploaded after the note is created:

1. Open the delivery note and choose *Upload Delivery Proof* from the actions menu.
2. Drag in (or browse for) the proof file(s). Each file may be up to `50 MB`. Add an optional *Note* (transport, remarks, etc.) up to `2000` characters.
3. Save. The note moves to *Delivered* and records who uploaded it and when.
4. While the note is *Pending* or *Delivered* you can add more files or remove existing ones. **Removing every file drops the note back to *Pending*** and clears the "delivered by" stamp.

Proof files can only be changed before approval — once a note is *Approved* (or linked) the files are frozen. Requires the *Upload Delivery Proof* permission.

## Approve a delivery note

A senior with *Approve Delivery Note* permission opens a *Delivered* note and chooses *Approve Delivery Note*. A confirmation reminds you that approving deducts the quantities from sellable stock at the note date. On confirm:

- The status becomes *Approved*.
- The quantity is subtracted from stock at each row's from-location, dated the *note date*.
- The approver and time are recorded.

Only a note in *Delivered* status can be approved. In addition to the permission, a non-admin approver must hold **manage-scope on at least one** of the note's from-locations — the server rejects the approval otherwise.

## Edit a delivery note

*Edit* is available only while the note is *Pending* (stricter than a sample delivery — once a proof is uploaded, the note is frozen). Choose *Edit* from the actions menu; it reopens the add page in edit mode. You can change the product rows, the note date, and — in manual numbering mode only — the note number. Customer and contact person stay locked.

Editing is **creator-only**: only the person who created the note can edit it (admins bypass this). Requires the *Edit Delivery Note* permission.

## Print the delivery note

From the actions menu inside any delivery note (in any status), choose *Print Delivery Note*. A PDF is generated and opens in the in-app viewer — nothing is emailed; simply view, print, or close it.

- If **no** line carries a price, the note prints as quantity-only (no money columns).
- If **at least one** line carries a price, the *Price* and *Amount* columns appear. Unpriced lines in a partly-priced note show `0.00` in the money cells.
- The **grand total** is shown **only when every line is priced** — a partly-priced note gets per-line amounts but no total, to avoid an understated sum.

The note's logo, subject line, opening paragraph, closing text, and terms come from your firm's *Delivery Note* template — see [Customising the printed note](#customising-the-printed-note).

## Link a delivery note to a sales order

Once the sales order exists, you connect the (approved) delivery note to it so the order knows those goods are already delivered.

### Request the link (attach)

Two ways to start:

- From the order's *View* page, choose *Attach Delivery Note*. This lists the *approved* delivery notes for the **same customer and contact person** that fully fit the order; open one and choose *Request link with this sales order*.
- Equivalently, open an approved delivery note from within that flow and use its *Request link with this sales order* action.

Only an *Approved*, not-yet-linked note can be attached, and only to an order of the **same customer and contact person**. On success the note moves to *Link Pending*; the order's delivered math is **not** touched yet. Requires the *Attach Delivery Note to Order* permission.

### The fit check

**Only fully-fitting delivery notes can link — "block, must fit fully".** At attach time the system checks every note line against the order:

- Every note line must map to an order line of the **same product code** with enough **remaining deliverable quantity**. Remaining = ordered − already-delivered (approved stock deliveries) − quantity from other *linked* delivery notes. A line with no matching product code on the order, or that exceeds what's still undeliverable, blocks the whole link.
- **Price match:** if a note line carries a price greater than `0`, it must match that order line's per-unit price. A blank or zero price on the note means "not entered" and is ignored. A mismatch blocks the link and tells you to clear or correct the note's price.

When a link is blocked you get a detailed message listing exactly which lines don't fit — the products with no matching order line, the lines short on quantity (ordered / already-accounted / this-note), and any price mismatches.

### Approve or reject the link

A senior with *Approve Delivery Note-Order Link* permission opens the *Link Pending* note and chooses:

- *Approve link request* — the note becomes *Linked* and its quantities now count toward the order's delivered figures; the order's delivered flag is recomputed. The fit check is **re-run at approval** (another delivery may have consumed quantity since the request), so a link can't over-deliver a line even in a race — it stays *Link Pending* for retry or detach if it no longer fits.
- *Reject link request* — the note returns to *Approved*, unattached. Rejecting is allowed for holders of either *Approve Delivery Note-Order Link* **or** *Detach Delivery Note from Order*.

### Detach

*Detach from sales order* (on a *Linked* note) removes the link and returns the note to *Approved*. Because a linked note counted toward the order's delivered math, detaching recomputes the order's delivered flag — the order may fall back to not-delivered. Detaching a *Linked* note requires the *Detach Delivery Note from Order* permission.

A *Link Pending* or *Linked* note **cannot be deleted** — detach (or reject) it first.

## Delete a delivery note

*Delete* permanently removes a delivery note (a snapshot is recorded first for audit). The permission required and the stock effect depend on status:

- *Pending* / *Delivered* — needs *Delete Pending Delivery Note*. No stock impact (the quantity never left inventory).
- *Approved* — needs *Delete Approved Delivery Note*. The dispatched stock is **re-added** to inventory when the note disappears.
- *Link Pending* / *Linked* — **blocked.** Detach from the sales order first, then delete.

## Delivery note numbering

Your firm chooses how delivery-note numbers are assigned in *Settings → Firm Customisation → Communication & Templates → Sales Communication → Delivery Note → Delivery Note Number → Configure*. Numbering used to live under *Misc Settings*; it now sits on the same screen as the rest of the delivery-note settings. See [Delivery note number format](/docs/settings/document-templates#delivery-note-number-format).

The *Delivery Note Number* card is **firm-administrator only** — a non-admin who can open the *Delivery Note* screen still sees the PDF wording fields, but not the numbering card. The modal has two tabs, *Format* and *Reset Numbering*.

### Format

- *Numbering mode* — *Automatic* (default) or *Manual*.
- **Automatic** uses a firm-wide running counter rendered through a format you set:
  - *Prefix* — a date-based lead, using the same date options as the quotation number (default `YYYY`, e.g. `2026`). See [Quotation number format](/docs/settings/document-templates#quotation-number-format) for the full list of prefix patterns.
  - *Number padding* — how many digits the counter is zero-padded to. Range `1`–`10`, default `5` (so counter `1` prints as `00001`).
  - *Joiner* — the separator between parts: `Dash "-"`, `Slash "/"`, `Space " "`, or `None`. Default `-`.
  - *Suffix (optional)* — your own free text, added at the very end of the number. It is glued straight on with **no dash and no joiner**: prefix `2026`, padding `5`, joiner `-`, suffix `GST` prints `2026-00042GST`. Leave it empty for no suffix (the default — formats saved before this field existed are unchanged). Spaces are ignored entirely, so a space-only value counts as empty and `A B` becomes `AB`. Maximum `12` characters.
  - Delivery notes have **no revision suffix** — the `R01`/`R02` style suffix belongs to quotations and purchase orders and is a different setting from the typed *Suffix* above. A typical auto number reads `2026-00042`. A live *Preview (next note)* shows how the next number will read.
- **Manual** hides the format fields; staff type any number (up to `100` characters) on each create, with no uniqueness check.

### Reset Numbering

The second tab shows the *Current counter value* and lets an administrator set it to any value from `0` to `999,999,999`, behind a confirmation. The next automatic number is that value `+ 1`. Delivery notes that **already carry a number keep it** — only newly created ones start from the new value. Resetting does nothing while the firm is in *Manual* mode.

A failed save can "burn" a number (leaving a gap), which is expected and harmless.

## Customising the printed note

The printed note is styled from a firm-wide template. Open *Settings → Firm Customisation → Communication & Templates → Sales Communication → Delivery Note* (the entry directly below *Sample Delivery Note*) to set its PDF subject line, opening paragraph, closing text, and default terms. This template is **PDF-only — nothing is emailed** — and is quantity-first by design (money columns appear only when the note's lines carry prices, as described in [Print the delivery note](#print-the-delivery-note), so there is no column picker on the screen). Managing it needs the *Manage Quotation Personalisation* permission (or firm-admin). The same screen carries the [Delivery Note Number](#delivery-note-numbering) card for administrators. See [Delivery note](/docs/settings/document-templates#delivery-note) for the full field-by-field reference.

Available tokens: `{customerName}`, `{contactPerson}`, `{date}`, `{companyName}`, `{deliveryNoteNo}` (the note's own number), and `{products}`. All six work in the *PDF subject line*, the *Opening paragraph*, **and** the *Closing text*, and each of those three fields has a row of quick-insert token buttons under it — click one and the token lands at your cursor. (Templates saved before the token was renamed still print correctly.)

`{products}` prints a comma-separated list of the products on that note, using each product head's **external display name** (the customer-facing name you set on the head) and falling back to the internal head name when none is set. It is de-duplicated ignoring case **and** spaces, so `Ball Valve`, `ball valve`, and `BallValve` print once — in whichever spelling came first on the note. If nothing resolves, the token prints nothing.

The defaults, if you never change them:

- *PDF subject line* — `Delivery Note`.
- *Opening paragraph* — `Please find below the details of the goods delivered vide this delivery note. Kindly acknowledge receipt.`
- *Closing text* — `For {companyName}` / `Authorized Signatory` (the firm name is filled in automatically).
- *Default Terms* — a three-line starter you can edit or clear:
  - `1. Goods listed above have been delivered in good condition.`
  - `2. Any discrepancy must be reported within 48 hours of receipt.`
  - `3. This delivery note is a delivery document and does not constitute a tax invoice.`

## Permissions

Delivery-note permissions live in the *Delivery* tab of a user's permissions. Every one below (except viewing) requires *View Delivery Notes* as its base.

- *View Delivery Notes* — open the page, view notes, download proofs, and print the note. Required for everything else.
- *Create Delivery Note* — record a new delivery note.
- *Edit Delivery Note* — change a delivery note while it is still *Pending* (creator-only; admins bypass).
- *Upload Delivery Proof* — add or remove the proof files (moves *Pending* ↔ *Delivered*).
- *Approve Delivery Note* — approve a delivered note so stock leaves the warehouse. A non-admin also needs manage-scope on at least one from-location.
- *Attach Delivery Note to Order* — request a link between an approved note and a sales order.
- *Approve Delivery Note-Order Link* — approve (or reject) a pending link so the note becomes *Linked*.
- *Detach Delivery Note from Order* — detach a *Linked* note (or reject a *Link Pending* one) and return it to *Approved*.
- *Delete Pending Delivery Note* — delete a *Pending* or *Delivered* note (no stock impact).
- *Delete Approved Delivery Note* — delete an *Approved* note (its stock is added back). Depends on *Approve Delivery Note*.

## Common questions

### Why doesn't my delivery note affect stock right after I create it?

Creating (and even uploading proof) never touches inventory. The quantity only leaves sellable stock when a senior *approves* the note, effective on the note date. This keeps unapproved paperwork from moving real stock.

### Can I change the customer or contact person after saving?

No. Both are locked once the note exists — the edit screen disables them and the server ignores any change. Delete and recreate the note if you picked the wrong one.

### The Delivery Note number field isn't showing on the create form — why?

Your firm is in *Automatic* numbering mode, so the number is assigned by the system on save. The manual field only appears when an administrator switches the firm to *Manual* numbering under *Sales Communication → Delivery Note → Delivery Note Number*.

### Why is the app blocking my link to a sales order?

The delivery note must fit the order **fully**: every line has to match an order line of the same product code with enough remaining quantity, and any price you put on a note line must equal the order's price for that line. The block message lists exactly which lines are unmatched, short on quantity, or price-mismatched. Clear the note's optional price, or pick an order that actually covers these goods.

### I can't delete this delivery note.

If it is *Link Pending* or *Linked*, detach (or reject) it from its sales order first. Otherwise you may simply lack the right delete permission — *Pending*/*Delivered* needs *Delete Pending Delivery Note*, and *Approved* needs *Delete Approved Delivery Note*.

### Does the price I enter on a line get billed to the customer?

No. The per-line *Price / unit* is display/print only — it shows on the printed note and is used solely to sanity-check a later order link. It never changes stock valuation or the sales order's amounts.

### How is this different from a sample delivery?

A sample delivery is goods lent for evaluation and expected back — it has a return leg that adds stock back. A delivery note is a real hand-over of goods before the order exists, with no return leg; instead you later *link* it to the sales order so the delivery counts. See [Sample Delivery](/docs/inventory/sample-delivery).
