Sales Orders
Create, approve, send, and track sales orders through delivery.
Sales Orders#
A sales order (SO) is your internal commercial record of a customer's purchase order. It captures what they asked for, what you agreed to supply, at what prices, with what delivery commitment — and becomes the reference for dispatch, invoicing, and return handling.
Overview#
Every SO has:
- A customer (approved) and their contact
- Header terms: payment terms, delivery terms, customer PO number and date
- Billing and shipping addresses (picked from the customer's addresses)
- One or more line items — each with its own item, quantity, rate, tax, delivery date, and shipping location
- Optional liquidated damages (LD) clauses
- Two independent statuses: lifecycle (approval) and delivery (fulfillment)
Sales orders go through the approval workflow — Draft → Pending → Approved → (Cancelled) — before you can ship against them.
Typical workflow#
- Customer sends you a PO (the document they issue to you)
- Create a draft SO in Neriyam referencing their PO
- Add each line item with quantity, rate, tax, and expected delivery date
- Review — correct taxes, correct total
- Submit for approval
- Approver reviews and approves
- As material ships, create Sales Delivery Notes that reference this SO's lines
- As deliveries happen, the SO's delivery status automatically updates from Not Delivered → Partially Delivered → Fully Delivered
- (Optional) Handle Sales Returns if the customer returns anything
- (Optional) Short-close the SO if the customer cancels the remaining balance
Creating a sales order#
- Navigate to Sales › Sales Orders
- Click + New Sales Order
- Fill in the header fields
- Add line items
- Click Save → SO lands in
Draft
Header fields#
| Field | Required | Notes |
|---|---|---|
| Customer | Yes | Searchable picker — only approved customers |
| Customer Contact | No | Their spoc for this order; loaded from the customer's contacts |
| Customer PO Number | No | Their PO reference (useful to search by later) |
| Customer PO Date | No | Date of their PO |
| Payment Terms | No | Picked from your organization's configured terms |
| Delivery Terms | No | Free text (e.g., "Ex-works", "CIF Chennai") |
| Billing Address | No | Pre-filled from the customer's default billing address |
| Shipping Address | No | Pre-filled from the customer's default shipping address |
| Remarks | No | Free text — any commercial notes |
Always fill in Customer PO Number even if it is optional. When a customer calls asking about their PO 4321, that is how you find the SO — not by your SO code.
Line items#
Each line captures one SKU on the order. Add lines with + Add Line.
| Field | Required | Notes |
|---|---|---|
| Item | Yes | Searchable picker — only approved items. Price suggestion pulled from item master. |
| UOM | Yes | Defaults to the item's stock UOM; change only if selling in a different unit |
| Quantity | Yes | Positive number |
| Rate | Yes | Unit price in your base currency |
| Tax Rate | No | Looked up from the item's tax code; editable override |
| Tax Amount | — | Calculated |
| Expected Delivery Date | No | Per line — each line can have its own committed date |
| Shipping Location | No | Per line — one of your warehouses/locations; overrides header shipping for this line |
| Customer PO Line No. | No | Their line number on the PO (helpful for long orders) |
| Line Remarks | No | Free text |
Expected Delivery Date and Shipping Location are per line on a sales order — not a single date or location at the header. This accommodates multi-phase and multi-site delivery commitments.
Liquidated Damages (LD)#
Optional per-SO penalty clause for late delivery:
- LD Applicable — tick to enable
- LD % — penalty percentage per period
- LD Period — Per Day, Per Week, or Per Month
- Max LD % — cap on total LD
LD fields are record-keeping only — Neriyam does not auto-deduct LD from amounts. They capture what the contract says so it appears on the printed PO and is available for downstream reporting.
Tax calculation#
Each line independently looks up its tax rate from the tax code on the item (usually the HSN/SAC on the item master). The place of supply — determined from your GSTIN's state vs. the line's shipping location state — decides whether CGST+SGST or IGST apply.
See Tax determination for the full mechanics. One thing to note on SOs specifically: taxes are calculated per line, so one SO can legitimately have intra-state tax on some lines and inter-state tax on others if you are shipping them to different states.
Statuses#
Sales orders use the dual-status model. Both badges appear on the list and detail page.
Lifecycle status (approval)#
| Badge | Code | Meaning |
|---|---|---|
| Gray | D | Draft — editable, can delete |
| Amber | P | Pending Approval — awaiting approver, read-only |
| Green | A | Approved — ready to ship |
| Red | R | Rejected — can edit and resubmit |
| Red | CN | Cancelled — voided |
Delivery status (fulfillment)#
| Badge | Code | Meaning |
|---|---|---|
| Gray | ND | Not Delivered — no SDN yet |
| Purple | PD | Partially Delivered — some SDNs posted, more to go |
| Emerald | FD | Fully Delivered — everything shipped |
| Slate | SC | Short Closed — remaining qty voided |
Delivery status moves automatically as you post sales delivery notes against the SO.
Workflow actions#
| Action | From lifecycle status | Permission |
|---|---|---|
| Submit for Approval | Draft, Rejected | SALES.MANAGE_SALES_ORDER |
| Approve | Pending | SALES.APPROVE_SALES_ORDER |
| Reject | Pending | SALES.APPROVE_SALES_ORDER |
| Recall to Draft | Pending | SALES.MANAGE_SALES_ORDER |
| Delete | Draft, Rejected | SALES.MANAGE_SALES_ORDER |
| Cancel | Approved | SALES.MANAGE_SALES_ORDER |
| Short Close | Approved with partial delivery | SALES.MANAGE_SALES_ORDER |
| View PDF | Any | SALES.VIEW_SALES_ORDER |
Short close vs. cancel#
- Cancel an SO when the customer scraps the whole order — no deliveries, or you void the book
- Short close an SO when the customer has accepted what was delivered and cancels the balance. Fulfillment status becomes
SCand no more SDNs can be posted against it.
Cancel and short-close do not reverse deliveries that already happened. They only affect the undelivered balance.
Line-level fulfillment#
Each SO line carries its own delivery/return counters, visible in the line grid:
- Ordered Qty — what you agreed to supply
- Delivered Qty — summed from all submitted SDNs referencing this line
- Returned Qty — summed from all submitted SRNs referencing this line
- Pending Qty —
Ordered − Delivered + Returned - Line Status — Not Delivered / Partial / Fully Delivered / Closed
Line status rolls up into the SO's overall delivery status.
Editing after approval#
Once an SO is Approved, most fields are locked. Remarks and attachments stay editable. If you need to change quantities, rates, or tax, you typically have to:
- Cancel the SO
- Re-create it correctly
Or, for small corrections, negotiate a variation — record it in the remarks and proceed with the updated understanding (this is what most shops do in practice).
List page#
The sales orders list has:
- Search by SO code or customer PO
- Filters: Lifecycle Status and Delivery Status (independent)
- Columns: Ref, Customer, Amount, Customer PO No., Lifecycle, Delivery, Created
- Row menu with all workflow actions
- Click a row to open
Find a specific customer's PO#
- Open Sales › Sales Orders
- Type their PO number into the search box
- The list filters to SOs that match
Related#
- Customers — create before any SO
- Sales Delivery Notes — the follow-up dispatch document
- Sales Returns — if goods come back
- Lifecycle and fulfillment status
- Approval workflow
- Tax determination
FAQ#
Can I create an SO before the customer has a PO from my end?
Yes — you can keep it in Draft without a customer PO number. Fill it in when you have it. Many shops use Draft SOs as quotes-under-finalization.
What if the customer's PO has an item we have not set up yet?
Set up the item first (Master Data › Items), get it approved, then add it to the SO. Items must be approved to appear in the SO line picker.
Can the same SO ship from different warehouses?
Yes — pick a Shipping Location per line. Each line is fulfilled from its own warehouse.
What if the tax rate in the system is wrong for this specific deal?
On the line, manually override the tax rate. This sets the isTaxOverride flag on the line and uses your rate instead of the looked-up one. Audit trail keeps both values.
Can I print the SO?
Yes — View PDF in the row menu or on the detail page.
Last updated