Sales — Overview

Product version: 1.0.0+1 Last updated: 2026-08-03 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, confirm a sale (which issues stock and 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.

Who is this for?

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


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)

Shell Sales access requires at least one of the sales read permissions (customer, sale, invoice, or stats).

Confirming a sale also needs working inventory permissions to issue stock (inventory service).


D. End-to-end workflow

  1. (Optional) Create customers.
  2. Ensure products and inventory stock items exist for the stock pool you will sell from.
  3. Create a draft sale: choose inventory (stock pool), optional customer, add lines (qty, price, discount %, tax %).
  4. Confirm the draft → stock is issued → a sales invoice is created (issued).
  5. Open the invoice → Mark paid (cash / card / transfer / other) or Void if it should not be collected.
  6. 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 draftconfirmed or cancelled; confirmed may cancel only under rules below
Invoice issuedpaid or void
Payment status unpaid / paid

Important business rules

  • Only draft sales can be edited or soft-deleted.
  • Confirm requires at least one line and sufficient available stock.
  • 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 (then cancel may restore stock if reverse succeeds).
  • 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
  • Returns / credit memos
  • Point-of-sale (POS) terminal (the nav icon is decorative only)
  • Partial payments / payment ledgers
  • 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