G
Skip to main content

Sales & Point of Sale

The sales module handles counter sales — walk-in parts purchases, side jobs billed outside the workshop flow, and retail transactions. The Point of Sale (POS) terminal is purpose-built for fast checkout.

Sales orders

Sales → Sales lists all sales orders — both draft and confirmed.

A sales order carries:

  • Customer (optional — anonymous counter sales are supported).
  • Line items (products from inventory, with quantity and price).
  • Discount (per-line or order-level).
  • Payer type (cash / card / bank).
  • Delivery — confirmed orders can produce a delivery challan and a gate pass for vehicle collection.

Lifecycle

draft → confirmed → (challan / gate pass) → invoiced → paid
→ cancelled
  • Confirm — locks the order, decrements stock (if reserved).
  • Challan — generates a delivery challan (CH-{year}-{seq}).
  • Gate pass — generates a gate pass for vehicle collection.
  • Invoice — generates the sales invoice (INV-{year}-{seq}). Uses the same invoice pipeline as a job.
  • Receipt — PDF receipt for the customer.

Discount controls

Per-line and order-level discounts are configurable by role. Use custom roles (Settings → Roles) to lock down who can apply large discounts — the visibility is gated, but enforcement is server-side.

Point of Sale (POS)

Sales → POS Terminal is the fast-checkout screen.

Features:

  • Product search — SKU or name, real-time stock validation.
  • Customer search — by phone or name; create new on the fly.
  • Cart with quantity, line discount, and tax preview.
  • Payment account selection (cash / bank / card) — configured at Settings → Payment Accounts.
  • Atomic checkout — single transaction, no double-charge risk.
  • Receipt print — opens the receipt PDF immediately.

POS uses the same invoice pipeline as a job, so every counter sale:

  • Auto-numbers an invoice.
  • Decrements stock (with weighted-average cost).
  • Posts to the GL.
  • Updates the customer's purchase history.

Invoices

Sales → Invoices lists all invoices (sales + jobs).

Each invoice has:

  • Status: draftissuedpartial / paid / overdue / cancelled.
  • PDF download — branded per your document template.
  • Linked documents — credit notes, payments, source sale or job.

Returns

Sales → Returns handles product returns.

Lifecycle

pending → approved → (restock or scrap)
→ rejected
  • Pending — created from a sale or invoice. Optionally linked to a warranty claim.
  • Approve — choose restock (return to inventory at WAC) or scrap (write off).
  • Reject — with reason.

A restocked return automatically:

  • Adds stock back to inventory at the original weighted-average cost.
  • Posts the appropriate GL entries (inventory + COGS reversal).
  • Generates a credit note linked to the original invoice.

Payment accounts

Settings → Payment Accounts lists the cash, bank, and card accounts you accept. Each account has:

  • Type (cash / bank / card / mobile wallet / other).
  • Name and reference number.
  • Status (active / inactive).

Payments on jobs, sales, and POS all draw from this list — so every collection is tagged with the right account for reconciliation.

Tips

  • Counter vs. workshop — counter sales are independent of jobs. A customer buying four tires and a filter at the counter is a sale, not a job.
  • Mixed billing — a single customer can have both job invoices (for service work) and sale invoices (for parts), unified in their purchase history.
  • Stock awareness — the POS warns if you try to sell more than is in stock. You can override (for special orders) but the override is logged.

Next: CRM & Memberships, or Inventory & Vendors.