Learning contextDemo Retail Group LLC12 stores · 2 distribution centres · AED/SAR/USD · omnichannel replenishmentChange scenario details →
Skip to content

Sales lifecycle field guide ​

This is the operating reference for a complete OSERP sales process. The backbone has 14 stages. A company may use a shorter flow template, but it never changes the meaning of a stage. A quotation is not an invoice, a delivery is not a payment, and saving a draft is not posting.

The 14-stage map ​

#StageWhat the operator is decidingStock effectAccounting effect
1LeadIs this enquiry real and owned?NoneNone
2OpportunityIs it worth pursuing and at what value?Optional ATP checkNone
3QuotationWhat exactly are we offering and for how long?Soft availabilityNone
4Sales OrderHas the customer committed?Reserve / promiseCommitment if configured
5ApprovalCan the exception be authorised?Reservation heldPosting blocked
6FulfillmentAre goods or services ready?Pick allocationNo final posting
7DeliveryWhat quantity was actually handed over?Goods outAccrual if configured
8ShipmentWhich carrier and tracking event applies?In transitFreight accrual if configured
9InvoiceWhat legal amount is due?Final impact confirmationAR, revenue, tax, COGS
10PaymentWhat receipt clears which invoice?NoneBank/cash and AR clearing
11ReturnsWhat came back and why?Return receiptReverse COGS/revenue as configured
12Credit NoteWhat commercial or tax adjustment is granted?OptionalAR/revenue/tax reversal
13CollectionsWhat is overdue, disputed, or promised?NoneProvision/write-off if configured
14ClosureIs the lifecycle complete and auditable?No open movementNo open event

Header fields: enter once, control everything ​

The header describes the transaction as a whole. Header values are inherited by new lines, printed documents, approval policies, numbering, tax, and reports. Change them before adding lines whenever possible.

Header fieldPurpose and exampleValidation / operational rule
Process typeSALES; selects the sales backbone and permissionsDo not change process type after lines exist
Document type / stageQuotation, order, delivery, invoice, etc.Stage controls posting and available fields
Document numberHuman-readable number such as SO-DXB-2026-00421Generated by numbering policy; never reuse
CompanyLegal entity issuing the documentMust match the selected branch and books
BranchOperating location responsible for saleControls local defaults, tax registration, and reporting
CustomerLegal customer / accountSelect the customer record; do not type a name into remarks
Customer addressBill-to and ship-to destinationConfirm tax jurisdiction and delivery destination
Customer PO no. / dateCustomer’s reference at order stageOptional for sales order; preserve exact reference for matching
Document dateCommercial date shown to customerUsed for validity, ageing context, and audit trail
Posting dateAccounting dateMust be in an open period; period locks can refuse posting
Expected deliveryPromise date used by fulfilmentIt is not the invoice due date
Due date / payment termsWhen the customer must pay, e.g. Net 30Drives ageing and collections; never substitute delivery date
CurrencyTransaction currency, e.g. AED, USD, EURCustomer and company currency must be compatible with an FX rate
Exchange rateRate to company base currencyEffective on posting/document date; stale or missing rates must be resolved
Price basisTax-inclusive or tax-exclusive entryDetermines how unit price is converted to net and tax
Tax regime / place of supplyDetermines GST/VAT componentsConfirm domestic, inter-state, export, or exempt treatment
Salesperson / ownerAccountability and commission attributionDrives pipeline, target, and follow-up reports
WarehouseDefault fulfilment sourceEvery stock line must resolve to a warehouse
Shipping method / carrierDelivery promise and freight ownershipRequired by logistics policy when shipment is enabled
Project / cost centre / segmentManagement dimensionsUse the dimension that owns the margin, not a generic default
RemarksHuman context not represented by a fieldNever hide a required reference, tax fact, or approval reason here

Detail-row fields: each item or service has its own truth ​

Line fieldPurpose and exampleWhat OSERP does with it
Line no.Stable sequence 1, 2, 3Preserves print, fulfilment, and audit order
Item / serviceSelect SKU-CHAIR-001 or a serviceSupplies description, UOM, tax defaults, and price history
DescriptionCustomer-facing wordingPrinted on quote, delivery note, and invoice
Quantity12 chairs or 40 service hoursDrives stock, revenue quantity, and open quantity
Open quantityRemaining quantity after partial deliveryPrevents delivery above the approved order
UOMPCS, BOX, KG, HOUR, etc.Must match the item’s conversion rules
Warehouse / binExact stock source and binControls availability, picking, and goods-out location
Batch / serialTraceability identity where requiredRequired by item tracking policy at fulfilment/delivery
Manufacture / expiry dateLot quality and shelf-life evidenceTravels with the batch and supports recalls/FEFO
MRP / selling pricePrinted or regulated selling priceSupports retail pricing and label generation
Unit priceNet or tax-inclusive according to price basisNever use floating-point assumptions; OSERP calculates decimal money
Discount % / amountLine concession, e.g. 10%Can trigger approval thresholds and changes taxable base
Tax code / rateVAT/GST/exempt classificationSplits output tax components and tax reporting
Line totalQuantity × price − discount + tax as applicableMust reconcile to the header totals
Project / cost centreLine-level margin ownershipAllows one invoice to serve multiple projects
Line remarksInstallation note, colour, serial requestOperational note for pick/pack/service teams

Stage-by-stage operating procedure ​

1. Lead ​

Create the customer/contact, enquiry source, owner, industry, need, estimated value, and next action. Do not add a fake SKU merely to record interest. Exit as qualified or rejected, with a reason and follow-up date. No stock or ledger entry is created.

2. Opportunity ​

Record expected value, probability, expected close date, competitors, products, decision-maker, and next step. Use availability as a question, not a reservation. A probability of 70% is a forecast input—not revenue.

3. Quotation ​

Set customer, validity dates, currency/rate, price basis, payment terms, delivery promise, tax regime, and salesperson in the header. Add one line per item/service with quantity, UOM, warehouse, unit price, discount, and tax. Review subtotal, discount, tax components, round-off, and total. Send the quotation; do not post it.

4. Sales Order ​

Convert the accepted quotation or create an order from an approved customer PO. Confirm delivery date, warehouse, quantities, payment terms, and credit exposure. OSERP can reserve / promise stock here, but the order is still not an AR invoice.

5. Approval ​

The approver sees the exception: discount above threshold, margin below policy, credit limit, unusual payment terms, export risk, or delivery override. Approve or reject with a note. The stage gate blocks the downstream posting until the required role acts.

6. Fulfillment ​

The warehouse or service lead turns open quantities into a pick/pack task. Select bins, batches, and serials; record substitutions or shortages. A partial pick leaves an open quantity. Never edit the customer’s ordered quantity to hide a shortage.

7. Delivery ​

Create the delivery note from the fulfilled lines. Enter delivered quantity, transporter, vehicle, e-way bill where applicable, and proof-of-delivery reference. OSERP prevents delivery above approved/open quantity. Goods-out or delivery accrual occurs only according to the configured posting rule.

8. Shipment ​

Record carrier, tracking number, freight terms, dispatch date, destination, package count, and in-transit status. This stage explains where goods are while they are between warehouses or with a carrier; it is not a second invoice.

9. Invoice ​

Invoice delivered quantities or completed services. Recheck legal company/address, tax registration, place of supply, currency, exchange rate, payment terms, due date, and period. Posting creates AR, revenue, output tax, and configured COGS effects. Print/export only after the posted number is assigned.

10. Payment ​

Select payment mode (bank transfer, cheque, cash, UPI, or card), receipt date, bank/cash account, instrument/reference number, and allocation to one or more invoices. A cheque requires its number; an unallocated receipt is not the same as a cleared invoice.

11. Returns ​

Create a return against the delivered quantity. Capture return note number/date, reason, condition, batch/serial, inspection result, and receiving warehouse. Returned quantity cannot exceed delivered quantity. Quarantine damaged stock instead of returning it to saleable inventory.

12. Credit Note ​

Select the source invoice, reason, affected lines/amount, tax treatment, and allocation. A credit note reverses AR/revenue/tax as configured; it is not a deletion of the original invoice. Manual credits should pass the configured approval policy.

13. Collections ​

Use ageing, promise-to-pay date, dispute reason, contact log, collector, escalation, and next action. A collection activity does not reduce AR until a payment is posted. Provision or write-off is a controlled accounting action, not a note on the customer.

14. Closure ​

Confirm delivered or cancelled quantities, posted invoice or documented non-billable outcome, allocated receipts, completed returns/credits, and resolved disputes. Close only when no open stage, stock movement, approval, or accounting event remains. The audit timeline remains read-only evidence.

Worked example: Lulu-style multi-country sale ​

Lulu’s UAE company sells 100 units from the Dubai warehouse to a Saudi customer in SAR. The quotation keeps the customer’s SAR price; the invoice stores the SAR amount and the dated SAR→AED rate. The order reserves Dubai stock, fulfilment allocates batches, delivery records the carrier and e-way/transport reference, and invoice posting books AR in the company books with the configured export tax treatment. The Saudi receipt is recorded in SAR and cleared against the invoice; any rate difference is recognised by the FX policy. A return receives stock into the nominated warehouse and the credit note reverses only the returned taxable lines.

Troubleshooting checklist ​

  • Cannot submit: open Stage details; required party document, payment mode, or cheque reference is missing.
  • Wrong tax: check company registration, branch, place of supply, customer country, and price basis before changing the rate manually.
  • No stock: check item, warehouse, bin, batch, open quantity, and reservations—not just the item name.
  • Invoice will not post: check period lock, numbering, posting template, missing ledger account, FX rate, and approval state.
  • Ageing is wrong: correct due date and payment terms; never use delivery date as due date.

For exact screen controls and verified field limits, use OSERP Atlas, field limits, and coverage notes. Where a field is configurable, this guide describes its business meaning; the tenant’s policy is the final validation authority.

Sales implementation worksheet ​

Use one repeatable transaction while configuring and training. For Demo Retail Group LLC, the consultant should complete the following evidence for each stage.

StageMinimum evidenceExample valueWhy it matters
LeadContact, source, owner, next actionSaudi wholesale enquiryOwnership and forecast
OpportunityValue, probability, close dateSAR 85,000 / 70%Pipeline only, no revenue
QuotationCurrency, validity, tax, linesSAR, 14 days, exportCommercial offer
OrderCustomer PO, warehouse, reservationPO-SA-8842 / DubaiCommitment and ATP
ApprovalException, approver, decision12% discount / Sales DirectorSegregation of duties
FulfillmentPick list, bin, batch, shortageDXB-A-04 / lot APhysical readiness
DeliveryActual quantity, carrier, proof96 units / POD-901Goods-out evidence
ShipmentTracking, packages, in-transit stateDHL / 4 cartonsCustody location
InvoiceLegal party, tax, rate, due dateSAR / dated rateAR and tax posting
PaymentBank, reference, allocationSAR transfer / bank refAR clearing
ReturnQuantity, condition, inspection4 damaged unitsStock and claim
CreditSource invoice, reason, tax4-unit creditControlled reversal
CollectionPromise, dispute, next action15-day promiseReceivable ownership
ClosureNo open quantity or eventClosed with auditComplete lifecycle

Fourteen-stage test script ​

Run a happy path and a refusal path for every stage. The happy path should create one quotation for 100 chairs, convert it to an order, reserve stock, pick 100, deliver 96, invoice 96, receive a partial payment, return four damaged units, issue a credit, and close. The refusal path should attempt delivery above open quantity, invoice before approval, post in a locked period, allocate an expired batch, create a duplicate receipt, and issue a credit without a source. Capture the response, message, user, timestamp, and absence of an unwanted journal.

At each stage ask five questions: what is the business decision, what field proves it, what quantity or value changes, which permission allows it, and which audit event records it? If any answer is “remarks only,” the process is under-modelled and should be reviewed with the product owner.

Amount and date reconciliation ​

For a 100-unit order at SAR 125 each with a 5% discount, net is SAR 11,875 before tax. If tax is 15%, tax is SAR 1,781.25 and total is SAR 13,656.25. Delivery of 96 units leaves four open units; invoice only 96 unless the policy allows advance billing. The payment allocation must show whether it clears total, tax, or a partial amount. Document date, posting date, delivery date, tax date, due date, and service period may differ; each report must state which one it uses.

API and integration handover ​

For every converted document retain source quotation ID, order ID, delivery ID, invoice ID, receipt ID, external reference, tenant/company scope, and idempotency key. A retry of the same order or receipt must return the original result. A changed payload with the same key is an idempotency conflict. Integration tests should verify decimal money, cursor pagination, permission scope, webhook signature, duplicate events, and period-lock refusal.

OSERP™ Atlas · Understand every field. Master every workflow.