Skip to main content

SOP-003: Sales Order Process

Standard Operating Procedure for the Order-to-Cash Cycle

FieldDetail
SOP NumberSOP-003
Version1.0
Effective Date2026-07-26
Prepared ByLofty Golden Oil Ltd — IT & Operations
SystemLofty Golden Oil ERP
URLhttps://loftygoldenoil.com

1. Purpose

To standardize the end-to-end order-to-cash cycle for all sales transactions at Lofty Golden Oil Ltd. This SOP ensures accurate order processing, timely invoicing, proper payment collection, and maintenance of accurate accounts receivable records.

2. Scope

This SOP applies to all sales transactions processed through the ERP system, including:

  • Cash sales
  • Credit sales
  • Customer returns and cancellations
  • Invoice generation and management
  • Payment recording and reconciliation
  • Accounts receivable management

3. Definitions

TermDefinition
Order-to-CashThe complete business process from receiving a customer order to collecting payment
ARAccounts Receivable — amounts owed by customers to the company
WaybillA document accompanying delivered goods listing contents and destination
POSPoint of Sale — electronic card payment terminal
Credit LimitMaximum outstanding balance a customer is allowed
Aging ReportReport showing outstanding invoices grouped by how overdue they are

4. Order-to-Cash Flowchart

┌─────────────────────────────────────────────────────────────┐
│ ORDER-TO-CASH PROCESS │
│ Lofty Golden Oil ERP │
└─────────────────────────────────────────────────────────────┘

┌──────────────┐
│ 1. RECEIVE │ Customer places order (phone/in-person/other)
│ CUSTOMER │
│ ORDER │
└──────┬───────┘


┌──────────────┐
│ 2. VERIFY │ Check customer account status
│ CUSTOMER │ ─ Active?
│ ACCOUNT │ ─ Credit limit sufficient? (for credit sales)
└──────┬───────┘


┌──────────────┐
│ 3. CHECK │ Verify product availability in inventory
│ PRODUCT │ ─ Sufficient stock?
│ AVAILABILITY │ ─ Any low stock alerts?
└──────┬───────┘


┌──────────────┐
│ 4. CREATE │ Sales → + New Sale
│ SALES RECORD │ ─ Select customer
│ IN ERP │ ─ Select product(s)
└──────┬───────┘ ─ Enter quantity & verify price
│ ─ Set status: "Pending"

┌──────────────┐
│ 5. PICK AND │ Warehouse picks items from stock
│ PACK ORDER │ Pack for delivery
└──────┬───────┘


┌──────────────┐
│ 6. COMPLETE │ Change sale status to "Completed"
│ SALE │ (Inventory auto-decremented)
└──────┬───────┘


┌──────────────┐
│ 7. GENERATE │ Create AR Invoice linked to sale
│ INVOICE │ Send to customer (email/physical)
└──────┬───────┘


┌──────────────┐
│ 8. PRINT │ Thermal or standard printer
│ RECEIPT │ Attach to delivery documentation
└──────┬───────┘


┌──────────────┐
│ 9. DELIVER │ Ship/deliver to customer
│ TO CUSTOMER │ With waybill documentation
└──────┬───────┘


┌──────────────┐
│ 10. RECORD │ Customer makes payment
│ PAYMENT │ Record: Cash/Transfer/POS/Cheque
└──────┬───────┘


┌──────────────┐
│ 11. UPDATE │ Invoice status auto-updates:
│ AR │ Pending → Partial → Paid
└──────────────┘

5. Detailed Procedures

5.1 Receive Customer Order

  1. Accept the customer order through any channel:
    • Phone — record the order details during the call.
    • In-person — take the order at the office or point of sale.
    • Other — email, WhatsApp, delivery agent, etc.
  2. Record the following information:
    • Customer name and account number
    • Products requested (name, quantity, size)
    • Preferred delivery date and address
    • Payment method (cash, credit, transfer)
    • Any special instructions

5.2 Verify Customer Account Status

  1. Navigate to Customers → [Select Customer] or search by name/phone.
  2. Check the following:
    • Account Status: Must be Active. If inactive, do not proceed — escalate to Sales Manager.
    • Credit Limit (for credit sales only):
      • Current outstanding balance must be below the credit limit.
      • If the new order would exceed the credit limit:
        • Do not proceed with credit terms.
        • Offer cash/transfer payment instead.
        • Or escalate to Manager for credit limit increase.
    • Payment History: Review for any overdue payments.
  3. If the customer is new, create a new customer record first:
    • Navigate to Customers → + New Customer.
    • Enter: Name, Phone, Email, Address, Business Type.
    • Set initial credit limit (default: ₦0 — cash only until creditworthiness is established).
    • Save the record.

5.3 Check Product Availability

  1. Navigate to Inventory → Finished Goods.
  2. Search for the requested product(s).
  3. Verify:
    • Current Stock Level is sufficient for the order quantity.
    • No Low Stock or Expiring Soon alerts that would affect the order.
  4. If stock is insufficient:
    • Inform the customer of the expected availability date.
    • Offer alternative products if available.
    • Create a Requisition if the shortage is critical (see SOP-002).

5.4 Create Sales Record in ERP

  1. Navigate to Sales → + New Sale.

  2. Fill in the following fields:

    FieldAction
    CustomerSelect from dropdown (search by name or phone)
    Sale DateAuto-fills with today's date; adjust if needed
    ProductSelect product from dropdown
    QuantityEnter the ordered quantity
    Unit PriceAuto-fills from product master; adjust only if authorized
    TotalAuto-calculated (Quantity × Unit Price)
    StatusSet to "Pending"
    NotesAdd delivery instructions, special requirements
  3. For multiple products, click + Add Line for each additional item.

  4. Review the order summary for accuracy.

  5. Click Save.

5.5 Pick and Pack Order

  1. Print or view the sales order from Sales → [Select Sale] → Print.
  2. Warehouse/operations team picks the items from storage.
  3. Verify each item against the order:
    • Correct product and SKU
    • Correct quantity
    • Products are in good condition (no damage, within expiry)
  4. Pack the items securely.
  5. Attach the printed order summary to the packed goods.

5.6 Complete Sale

  1. Navigate to Sales → [Select Sale].
  2. Change the status from "Pending" to "Completed".
  3. The system will:
    • Automatically decrement inventory for the sold products.
    • Record the transaction in the sales table.
    • Generate an entry in the audit_log.
  4. Verify that inventory levels have been updated correctly in Inventory → Finished Goods.

5.7 Generate Invoice

  1. Navigate to Sales → Invoices → Create Invoice.
  2. Link the invoice to the completed sales record.
  3. Verify the invoice details:
    • Customer details
    • Product list with quantities and prices
    • Subtotal, VAT (7.5%), and total amount
    • Payment terms (due date for credit sales)
  4. Save the invoice.
  5. Send the invoice to the customer:
    • Email — use the Send Invoice function (auto-attaches PDF).
    • Physical — print and include with delivery.
    • WhatsApp — export as PDF and share.

5.8 Print Receipt

  1. Navigate to Sales → Payments → [Select Payment] → Print Receipt.
  2. Select the appropriate printer:
    • Thermal Printer — for 80mm receipt rolls (quick receipts).
    • Standard Printer — for A4 invoices and formal receipts.
  3. Review the receipt preview for accuracy.
  4. Print and provide to the customer or attach to delivery documentation.

5.9 Deliver to Customer

  1. Prepare the delivery with the following documentation:
    • Waybill — lists items, quantities, and delivery address.
    • Delivery Note — signed by the receiving customer.
    • Invoice copy — for the customer's records.
  2. Dispatch via company vehicle or third-party logistics.
  3. Obtain the customer's signature on the delivery note.
  4. Return the signed delivery note to the office for filing.
  5. Update the sale record with delivery confirmation if not auto-updated.

5.10 Record Payment

When: Payment is received from the customer (at time of sale or later).

  1. Navigate to Sales → Payments → Record Payment.

  2. Fill in the following:

    FieldAction
    CustomerSelect the customer from dropdown
    InvoiceSelect the related invoice (if applicable)
    AmountEnter the payment amount received
    Payment MethodSelect: Cash, Bank Transfer, POS, Cheque
    Reference NumberEnter transaction/reference ID (transfer ref, cheque number, POS slip number)
    Payment DateAuto-fills with today; adjust if needed
    NotesAdd any relevant notes
  3. Attach supporting documentation:

    • Cash: internal cash receipt
    • Bank Transfer: transfer confirmation/screenshot
    • POS: POS terminal receipt
    • Cheque: scan/photo of cheque
  4. Click Save.

5.11 Update AR

The system automatically updates the invoice status based on payments recorded:

Payment StatusInvoice Status
No payment recordedPending
Partial payment receivedPartial
Full payment receivedPaid
  • Monitor the AR Aging Report (Sales → Invoices → Aging Report) regularly.
  • Follow up on overdue invoices per Section 8 (Credit Sales Procedures).

6. Invoice Management

6.1 Creating Invoices

  • Invoices are created from completed sales records.
  • Each invoice is uniquely numbered by the system.
  • Invoices include: customer details, line items, VAT, and total.

6.2 Sending Invoices

MethodProcedure
EmailOpen invoice → Send → Confirm email address → Send
PhysicalOpen invoice → Print → Include with delivery
WhatsAppOpen invoice → Export PDF → Share via WhatsApp

6.3 Tracking Status

  • Navigate to Sales → Invoices to view all invoices.
  • Filter by status: Pending, Partial, Paid, Overdue.
  • Use the Aging Report for overdue analysis.

7. Payment Processing

7.1 Recording Payments

See Section 5.10 for detailed payment recording steps.

7.2 Handling Partial Payments

  1. When a customer makes a partial payment:
    • Record the payment as usual (Section 5.10).
    • The invoice status will automatically change to "Partial".
  2. The remaining balance continues to accrue in AR.
  3. Continue following up for the outstanding balance.

7.3 Reconciliation

  1. At the end of each business day:
    • Total all cash received and compare to the system total.
    • Verify all bank transfers match bank statement entries.
    • Reconcile POS transactions with terminal reports.
  2. Report any discrepancies to the Accountant immediately.
  3. Bank reconciliation is performed monthly per SOP-005 (Financial Operations).

8. Credit Sales Procedures

8.1 Verify Credit Limit

  1. Before processing a credit sale:
    • Check the customer's current outstanding balance.
    • Verify the new sale + outstanding balance does not exceed the credit limit.
    • If the limit would be exceeded, require partial payment or full cash payment.

8.2 Monitor Outstanding Balance

  1. Review the AR Aging Report weekly.
  2. Send payment reminders:
    • 7 days before due date — friendly reminder.
    • On due date — formal payment request.
    • 7 days overdue — follow-up call.
    • 30 days overdue — written demand letter.
    • 60 days overdue — escalation to Manager.
    • 90+ days overdue — escalation to MD; consider legal action.

8.3 Escalation for Overdue Accounts

Days OverdueActionResponsible
1–30Phone call reminderSales
31–60Written demand + Manager notificationSales + Manager
61–90Suspension of credit; MD notificationManager + MD
90+Legal action consideration; bad debt provisionMD + Accountant

9. Returns and Cancellations

9.1 Process Returns

  1. Receive the returned goods and inspect condition.
  2. Navigate to Inventory → Stock Adjustments → New Adjustment.
  3. Select the product being returned.
  4. Enter the quantity as a positive number (adding back to stock).
  5. Select reason: Return.
  6. Add notes: customer name, original sale reference, reason for return.
  7. Submit for approval.

9.2 Update Sale Status

  1. Navigate to Sales → [Original Sale].
  2. Add a note documenting the return.
  3. If the sale was fully returned, update status to "Returned".

9.3 Adjust AR if Invoiced

  1. If an invoice was issued and payment received:
    • Create a credit note or adjust the invoice amount.
    • Record a refund payment if cash was originally paid.
    • Or apply the credit to future purchases.
  2. Navigate to Sales → Invoices → [Select Invoice] → Adjust.
  3. Document the reason for adjustment.
  4. Save changes.

10. Dispute Resolution

10.1 Document Disputes

  1. When a customer raises a dispute (quantity, quality, pricing):
    • Record the dispute in the sale/invoice notes.
    • Include: customer claim, date, products involved, amount in dispute.
    • Attach any evidence (photos, correspondence).

10.2 Investigation

  1. Sales team investigates the claim:
    • Verify original order details.
    • Check delivery records and signed waybills.
    • Confirm inventory records.
    • Consult with warehouse/operations.

10.3 Resolution

Dispute TypeResolution Process
Quantity discrepancyVerify with waybill; adjust if valid
Quality issueArrange replacement or credit note
Pricing errorCorrect the invoice; issue credit/debit note
Non-deliveryVerify delivery; arrange redelivery

10.4 Write-Offs

  • Write-offs require management approval:
    • Up to ₦100,000: Manager approval.
    • ₦100,000 – ₦500,000: MD approval.
    • Above ₦500,000: Board/Owner approval.
  • All write-offs must have documented justification.
  • The Accountant records the write-off as a bad debt expense.

11. Document Control

VersionDateAuthorChanges
1.02026-07-26Lofty Golden Oil IT & OperationsInitial release

End of SOP-003