Sales & Revenue Management¶
The Sales module manages your entire revenue lifecycle, from order creation and fulfillment to invoicing and payment tracking. It includes multiple sales channels: Credit Sales (B2B orders), Cash Counter Sales (walk-in), and POS (retail terminal).
📍 Menu Location¶
Sidebar → Sales → redirects to /sales/orders
[!NOTE] The Sales module is subscription-gated (
salesmodule). Access is restricted toadmin,salesman, andmanagerroles.
📊 Sales Dashboard (/sales/dashboard)¶
The Sales Dashboard provides a real-time performance snapshot: - Sales This Month: Total value of confirmed and delivered orders - Open Orders: Orders confirmed but awaiting delivery or billing - Pending Invoices: Orders delivered but not yet fully billed or collected - Commission Summary: Current month earnings, pending, and YTD total (for salesmen)
Quick Actions: New Sales Order, Request Delivery, My Commissions
🔄 The Credit Sales Cycle (B2B Order-to-Cash)¶
1. Sales Orders (/sales/orders)¶
The Sales Orders page is the starting point for all B2B sales.
Creating a Sales Order (→ /sales/orders/new):
- Search for an existing Customer or create one on the fly with the [+] button.
- Select the Warehouse that will fulfill the goods.
- Set the Currency — defaults to base currency with real-time exchange rate conversion available.
- A unique reference number (e.g., SO/2026/0001) is auto-assigned upon save.
- Add Line Items by searching products — descriptions, UOMs, and Sales Prices auto-populate.
- The system performs a real-time stock check during item entry.
- Credit Limit Warnings: Automated alerts appear if the customer's outstanding balance exceeds their configured limit.
Searching & Filtering the order list: - Search by Customer Name, Reference Number, or internal notes. - Filter by status: Pending, Confirmed, Delivered.
Understanding Order Status Labels: Each order tracks three statuses simultaneously: 1. Order Status: Document authority (Pending → Confirmed) 2. Delivery Status: Fulfillment progress (Pending → Partial → Delivered) 3. Invoice Status: Billing completeness (Pending → Partial → Invoiced)
2. Confirming the Order¶
Click "Confirm Order" to lock the order: - The order becomes the binding commitment — line items are reserved for delivery. - Service-type products are automatically marked as "Delivered" upon confirmation (no physical dispatch needed).
3. Requesting Delivery¶
After confirmation, click "Request Delivery":
- This generates a Delivery Order visible to the warehouse team at /inventory/delivery.
- Warehouse staff pick, pack, and confirm the delivery, which deducts stock in real-time.
4. Sales Invoices (/sales/invoices or /accounting/invoices)¶
The Sales Invoices page transforms confirmed orders into legal tax invoices:
- UAE TRN Compliance: QR codes and Tax Registration details are auto-embedded.
- Auto-Sequencing: Every invoice is assigned a unique reference based on your document numbering settings.
- Debit Notes (/accounting/debit-notes): Issue to add charges to an existing invoice.
- Credit Notes (/accounting/credit-notes): Issue to reduce or reverse a billed amount.
5. Customer Receipts (/accounting/receipts)¶
Record payments received via Cash, Bank Transfer, or PDC. A receipt clears the receivable and updates your Bank/Cash balance.
💵 Cash Counter Sales (Shift-Based Walk-in) (/sales/cash-sales)¶
Cash Counter Sales are designed for walk-in retail environments where sales are recorded instantly within a managed shift.
The Shift Lifecycle¶
- Open a Shift: Navigate to Sales → Cash Sales, click "Open New Shift", select your warehouse and enter your Opening Balance (cash float).
- Record Sales: During an open shift, click "New Cash Sale", optionally select a customer (defaults to "Walk-in Customer"), choose a Payment Account (CASH, CARD, or BANK), add items, and click "Record Sale". Stock is deducted immediately and the invoice is instantly marked
PAID. - Close the Shift: Enter your Closing Balance (physical cash count). The shift moves to
CLOSEDstate and is locked for the salesperson. - Manager Reconciliation: A Manager or Accountant opens the closed shift, compares system revenue against physical counts, and clicks "Reconcile & Post to GL" to generate the consolidated journal entries (Revenue, VAT, COGS, discrepancies).
[!IMPORTANT] You cannot record a Cash Sale without an open shift. The system will redirect you to open one if none is active.
📊 Automated Accounting Integration¶
Every step in the sales process is intelligently linked to your ledger: - Invoice Posting: Creates a debit to Accounts Receivable and credit to Revenue accounts. - Receipt Recording: Clears the receivable and updates your Bank/Cash balance. - Cash Sales Shift Posting: Generates consolidated journal entries including Revenue, VAT, COGS, and any cash discrepancies.
🏆 Sales Commissions (/sales/my-commissions)¶
The My Commissions page is available to salesman role users to track their incentive earnings:
- This Month: Total commission calculated for the current period
- Pending: Earnings awaiting accountant verification
- Paid: Successfully settled and transferred amounts
- YTD Total: Year-to-date cumulative earnings
Commission notes can be filtered by Paid / Unpaid toggle. Payouts are processed either through monthly Payroll or as a separate Accounts Payable transfer.
[!NOTE] Commission rules and batch processing are managed by admins/managers at
/commissions/rulesand/payroll/commissionsrespectively.
✅ Sales Business Rules¶
- Tax Rules: VAT is automatically calculated based on the customer's tax classification (UAE Domestic Registered, Non-Registered, Overseas/GCC Export).
- Draft Mode: Documents can be edited in "Draft" state but become immutable once "Posted" to ensure audit integrity.
- Project Linking: Link every sale to a Project for detailed profitability reporting.
- AI-PO Extraction: Upload a customer's Purchase Order (PDF/Image) via the AI Office to automatically populate Sales Order lines.
For high-speed retail operations using a dedicated terminal, see the POS module.
For document numbering customization, see the Document Numbering Guide.