Sales — Overview

Product version: 1.0.0+1 Last updated: 2026-10-07 Audience: Tenant Owners, Tenant Employees, and Regular Users with sales permissions


A. What is Sales?

Sales is the Simple Sale area of SanadiqCloud: keep a customer list, build draft sales from inventory stock items (each draft creates a pick list for warehouse fulfillment), confirm a sale after the pick list is done (creates a sales invoice), then mark invoices paid or void them when needed.

Sales invoices here are not the same as Billing (subscription) invoices under Billing. Ledger effects of sales invoices and payment records are posted by Finance — see Finance overview.

Who is this for?

Tenant Owners, Employees, and other members whose role includes sales permissions (for example Sales Manager). See Roles & Permissions.


Phase 3 — Sales & Invoicing Customers, Draft Sales, Pick-List Fulfillment & Invoices

Follow the complete Phase 3 sales lifecycle: managing customer profiles, creating draft sales that reserve stock via warehouse pick lists, confirming sales into issued invoices, and recording full or partial payments.


B. Navigation

Open Sales from the side navigation rail (merchant shell). Entry screen: Sales hub (/sales).

Section Route Description
Hub /sales Explore tiles for Customers, Sales, Invoices
Customers /sales/customers Customer list, form, detail
Sales /sales/list Draft / confirmed / cancelled sales
Sale form /sales/form Create or edit a draft sale
Sale detail /sales/:id Confirm, cancel, open invoice
Invoices /sales/invoices Sales invoices list
Invoice detail /sales/invoices/:id Print/share, mark paid, void

There is no sales setup wizard or roadmap page in the current app.


C. Permissions

Permission Allows
sales:customer:read / create / update / delete Customers
sales:sale:read / create / update / delete Sales list and drafts; confirm and cancel require sales:sale:update
sales:invoice:read View and print sales invoices
sales:invoice:update Mark paid, void
sales:stats:read Sales summary API (no dedicated stats screen in the app yet)
sales:sale:own Sales representatives: only their own sales from the stock they hold — see Sales representatives

Shell Sales access requires at least one of the sales read permissions (customer, sale, invoice, or stats). Sales representatives (sales:sale:own without sales:sale:read / create) work from Custody → My sales instead.

Warehouse staff need inventory pick-list permissions to fulfill the sale; confirming the sale itself uses sales:sale:update.


D. End-to-end workflow

  1. (Optional) Create customers.
  2. Ensure products and inventory stock items exist for the inventory you will sell from.
  3. Create a draft sale: choose inventory, optional customer, add lines (qty, price, discount %, tax %). Saving creates a pick list and reserves stock.
  4. Complete the pick list in Inventory (stock is issued there).
  5. Confirm the draft sale → a sales invoice is created (issued).
  6. Open the invoice → Mark paid (full or partial amount; cash / card / transfer / other) or Void if it should not be collected.
  7. To cancel a confirmed sale after voiding the invoice (when allowed), use Cancel on the sale detail.

Document numbers: sales SALE-YYYYMM-####, invoices INV-YYYYMM-####.


E. Status summary

Entity Statuses
Sale draft → confirmed or cancelled; confirmed may cancel only under rules below
Invoice issued → paid or void
Payment status unpaid / partial / paid

Important business rules

  • Only draft sales can be edited or soft-deleted.
  • Confirm requires at least one line and a completed pick list (issued qty must match). Availability is checked when the sale/pick list is created, not again on confirm.
  • Voiding an invoice does not put stock back in the current product. The related sale usually stays confirmed.
  • You cannot cancel a confirmed sale while its invoice is issued or paid — void first. Cancelling then opens an Inventory customer return for the goods its pick list issued.
  • Paid or partially paid invoices cannot be voided in the app.

F. What Sales is not

These are not available in the current Sales module:

  • Quotes / estimates, delivery notes
  • Credit memo documents (item returns are available from the invoice — see Invoices)
  • Point-of-sale (POS) terminal (the nav icon is decorative only)
  • A payment history list or payment reversal screen (partial payments are recorded through Mark paid)
  • Full reporting dashboards inside Sales (API summary exists for integrations)

Next: Customers

Related: Sales · Invoices · Stock Items · Products

See also: Tenant Owner Manual · Employee Manual