Sales Invoices
Product version: 1.0.0+1 Last updated: 2026-08-03 Audience: Tenant users with
sales:invoice:read(mark paid / void needsales:invoice:update)
A. What is a Sales Invoice?
A sales invoice is created automatically when you confirm a sale. It snapshots customer and line details, totals, and optional cost/profit fields for reporting.
Numbers look like INV-202608-0001.
Do not confuse these with Billing subscription invoices under the Billing module.
There is no “create invoice” button — confirm a sale instead.
B. Viewing invoices
- Open Sales > Invoices.
- Open a row for detail.
- Or open an invoice from a confirmed sale detail after confirm.
C. Print / share
Required permission:
sales:invoice:read
On invoice detail, use Print / share actions. The app loads a print payload from the API and produces a PDF for sharing or printing (language/RTL quality may improve in later releases).
D. Mark paid
Required permission:
sales:invoice:update
Available when the invoice is not paid and not void.
- Tap Mark paid.
- Choose a payment method: Cash, Card, Transfer, or Other.
- Status becomes paid; payment status paid.
There is no partial payment UI — full invoice amount only.
E. Void
Required permission:
sales:invoice:update
Available when the invoice is issued (unpaid) and not already void.
- Tap Void and confirm.
- Invoice status becomes void.
Critical rule
Voiding does not restore inventory stock in the current product. The related sale typically stays confirmed. To attempt stock restore, cancel the sale after void (when your role allows and reverse succeeds).
Paid invoices cannot be voided in the app.
F. Status reference
| Field | Values |
|---|---|
| Status | issued, paid, void |
| Payment status | unpaid, paid |
Previous: Sales
Related: Overview · Customers · Billing invoices (subscription billing — different module)