Sales Orders and Invoices
Taking a bulk order, reserving the stock, turning it into a real sale, and issuing a billing invoice — plus an honest account of where Kassly stops.
8 min read · Updated 10 Sep 2026
On this page
- Where Kassly stops — read this before you plan around it
- The sales order flow
- Creating one
- Confirming — reserving the stock
- Recording the sale
- Cancelling
- Sales invoices
- Where invoices come from
- The invoice itself
- Working an invoice
- Recording a payment on an invoice does not collect the money
- Bill first, sell later — the banner to watch for
Sometimes a customer does not walk up to the counter — they send an order for forty cases, expect a price, and expect to be billed. A Sales Order is that order: it holds the lines and the prices, reserves the stock, and later becomes a real sale. A Sales Invoice is the piece of paper you send them.
Needs the B2B Sales Orders add-on (₱300 per branch each month), or any bundle that includes it. It also switches on Invoices and accounts receivable, because a B2B order is usually billed on terms — see Receivables. Owners and managers only.
Where Kassly stops — read this before you plan around it
Kassly is a point-of-sale system with light business-to-business selling bolted on. It is not a distribution system, and it is not an ERP. What it does:
- Take an order, hold negotiated prices on it, and reserve the stock.
- Turn that order into a real sale, on any tender including credit.
- Produce a numbered customer invoice with a VAT breakdown and a PDF.
- Track what is owed and collect it.
What it does not do, and will not pretend to:
| Not in Kassly | What that means in practice |
|---|---|
| Delivery and dispatch | No delivery notes, no drivers, no proof of delivery, no delivery status |
| Routes and van sales | No route planning, no van stock, no route settlement |
| Returns processing against an order | Goods coming back are handled as a normal sale return, not against the sales order |
| Partial shipment and backorders | An order is invoiced in full, once. There is no "ship 30 now, 10 next week" |
| Multiple invoices per order | One order, one invoice |
| Customer price lists or contract pricing | Prices are set line by line on each order |
| Purchase-order matching | No three-way match against the customer's PO |
If your business genuinely needs delivery routes, partial shipments or returns tracked against orders, you need a distribution or ERP system alongside Kassly, not a setting inside it.
The sales order flow
Four statuses, in one direction:
| Status | Means | Stock |
|---|---|---|
| Draft | Written down. Nothing committed | Untouched |
| Confirmed | Stock reserved for this customer | Reserved — available-to-sell drops, on hand does not |
| Invoiced | A real sale has been booked | Deducted, once |
| Cancelled | Abandoned. Any reservation released | Untouched |
Orders are numbered SO-000001 upward.
Creating one
Sales → Sales Orders → New Sales Order:
| Field | Required |
|---|---|
| Customer | Yes |
| Branch | Yes — the branch whose stock is reserved and sold |
| Notes | No |
Then the lines. Each line takes a product, a quantity, and a price:
| Price type | Where the price comes from |
|---|---|
| Retail | The product's or variant's selling price |
| Wholesale | The wholesale price, falling back to retail if none is set |
| Custom | Whatever you type — the negotiated figure |
A draft has no effect on anything. It is your quote.
There is no separate quote document, and no PDF for a sales order. The draft order is the quote. If the customer needs something on paper before they commit, generate the invoice as a draft (see below) and send that — its PDF is the only printable document in this flow.
Confirming — reserving the stock
Confirm on a draft order reserves every stock-tracked line and reports "Order confirmed — stock reserved".
Reserving lowers what the POS can sell without lowering what is on the shelf. The goods are physically still there; they are just spoken for. Non-stock-tracked products and services reserve nothing, because there is nothing to hold back.
If a line cannot be covered, the whole confirm is refused and names the shortfall: "Insufficient stock to reserve 40 of "Cooking Oil 1L" — only 22 available." Nothing is half-reserved. See Stock levels.
Recording the sale
Record Sale on a confirmed order is the moment it becomes real. The dialog says so plainly: "Recording this sale will finalise the order, deduct stock and book the revenue. Choose how the customer is paying."
Payment method is Cash, Card, GCash, Maya, Bank Transfer or Credit. Cash asks for Amount tendered and shows change; the digital methods ask for a Reference number; Credit shows the customer's Current balance and Credit limit and refuses the sale if it would push them over ("Exceeds credit limit"). With nobody attached, "No customer linked — credit unavailable."
In one step Kassly releases the reservation, deducts stock for real, books the revenue, records the payment, and generates a receipt — through exactly the same machinery as a counter sale, so the order lands in your sales reports, your readings and your books like any other sale. If the payment does not cover the total, the whole thing is rolled back rather than left half-converted.
Cancelling
Cancel works on a Draft or Confirmed order, and releases any reservation. An Invoiced order cannot be cancelled — the sale is already booked, and the way to undo a booked sale is to void it. See Returns and refunds.
Sales invoices
Sales → Invoices is a separate list of billing documents, numbered INV-000001 upward.
| Status | Means |
|---|---|
| Draft | Being prepared. Editable and deletable |
| Sent | Issued to the customer. Due date fixed |
| Partially Paid | Some of it has been recorded as paid |
| Paid | Fully paid |
| Void | Cancelled |
Overdue is not a status — it is a red flag Kassly works out from the due date, and it can sit on a Sent or Partially Paid invoice.
Where invoices come from
Two ways:
- Automatically. When you Record Sale on a sales order, Kassly creates a draft invoice for it. Cash actually collected at that moment is mirrored onto the document, so a cash-settled order does not sit there looking unpaid. A credit-invoiced order stays outstanding, which is correct — the money really is still owed.
- By hand. New Invoice builds one from nothing, with or without a customer attached.
The invoice itself
The Bill To block is where a business customer's billing identity is captured — name ("Customer or business name"), TIN, billing address and email. It lives on the invoice, not on the customer record, so each invoice can carry whatever the buyer's accountant needs.
Lines take a Description, quantity, unit price, discount, and a VAT treatment: Vatable, VAT-Exempt or Zero-Rated. Prices are treated as VAT-inclusive per Philippine practice, and the invoice carries the split — VATable sales, VAT-exempt sales, zero-rated sales — so it can be handed to an accountant as-is. See Tax configuration.
Payment terms (days) and Due date both appear. Enter terms and the due date is worked out from the issue date; enter a date and it is used as typed. If neither is given, the invoice has no due date and can never be flagged overdue.
Working an invoice
| Action | When | What it does |
|---|---|---|
| Issue | Draft only | Moves it to Sent, stamps the date, and guarantees a due date exists |
| Edit | Draft only | Once issued, an invoice is fixed |
| Record payment | Not void | Shows Balance due, then takes an Amount, Payment method, Reference and Paid on |
| Download PDF | Any | The printable document |
| Delete | Draft only | |
| Void | Not already void | "Voiding cancels this invoice. This action cannot be undone." A voided invoice takes no further payments |
Recording a payment on an invoice does not collect the money
This is the trap, and it is worth being blunt about:
An invoice is a document, not a ledger. Record payment advances the invoice's own paid amount and its status, and that is all it does. It does not reduce the customer's receivable balance, does not put cash in a shift, and does not post anything to your books.
If a sales order was invoiced on Credit, the money is collected on the Receivables page — Collect Payment on the customer's ledger. That is the action that actually reduces what they owe and reconciles the drawer. See Receivables.
Marking the document paid is for your own tracking of which bills the customer has settled. Do both, or you will either think you are owed money you have collected, or the reverse.
Bill first, sell later — the banner to watch for
Some merchants issue the invoice before the goods move. Kassly allows it, and then warns you, because a confirmed order with an invoice on it but no sale recorded is stock sitting reserved and revenue not booked:
"Invoice INV-000004 exists, but this sale hasn't been recorded" — "Stock is still reserved and no revenue is booked. Once payment is collected, use Record Sale to finalise this order."
Take that banner seriously. Until Record Sale runs, the order has not happened as far as your stock, your reports and your books are concerned.