Sales

Create a Sale in Posnic POS

The detailed counter workflow: find or scan items, add quick lines, choose customer, edit cart, take payment, print and verify the sale.

Menu path
Home -> New Sale
Verified from
Posnic demo and current POS source reviewed on 2026-09-08
Technical source evidence

frontend/modules/sales_write.html New Sale, customer picker, cart, tender and completed-sale card, frontend/static/script/js/modules/js/sales.js addByBarcode, quickSale, lineEdit, openTenderModel, cartOrderSubmit and renderTenderReceiptPreview, frontend/modules/settings_write.html Features, Sale, Payments and Receipt Print tabs, demo.posnic.io New Sale workflow captured on 2026-09-04

New Sale workspaceThe live sale screen shows item search, product tiles, Quick Sale, Walk-in customer and the empty cart before checkout starts.
Search result with stockTyping an item name returns sale suggestions with product context, price and live stock status.
Cart review with real linesCatalog items and instant Quick Sale lines are reviewed together before payment.
Line edit decisionThe line editor can fix only this sale, or also update the item record for future sales when permitted.
Customer pickerCashiers can keep Walk-in, pick a recent customer, search by name or phone, or add a new customer.
Tender drawerTender confirms pay amount, payment method, Paid/Unpaid state, cash denominations and receipt preview before Save.
Completed sale actionsAfter saving, the cashier can start a new sale, print, choose Thermal/A4, or send SMS/WhatsApp when configured.

New Sale Screen Map

Use the New Sale screen as the cashier's main counter surface. The left side finds products and customers; the right side is the bill being built. The current live screen was verified from the demo and from `frontend/modules/sales_write.html`.

  • Find item name, sku or barcode: accepts typed product names, SKU values and barcode input in the same field.
  • Camera scan: appears only when the browser or desktop runtime supports BarcodeDetector and camera permission.
  • Quick Sale: opens the amount-only modal when the Quick Sale feature and the user's POS permission allow it.
  • Customer button: starts as Walk-in and opens the picker with recent customers, search by name or phone, Add new customer and Walk-in reset.
  • Items tab: shows product tiles with name, unit, price and live stock count; clicking a tile adds the product to the cart.
  • Categories tab: lets the cashier browse by catalog category instead of typing.
  • Parked tab: returns to held bills when a customer pauses before paying.
  • Recent Sales tab: helps staff find the last transactions without leaving the counter workflow.
  • Cart action bar: Payment note, Sale note, Discount note, Add discount and Add charge sit beside the totals.
  • Final actions: Hold, Save as quote, Clear and PAY appear according to sale state, feature settings and permissions.

Visible Controls and What They Mean

ControlUse it forOperator warning
Item searchFind catalog items by name, SKU or barcode.If no match appears, do not guess; use the missing-item rule.
Product tileTap a visible item with price and stock count.Check stock warning before adding more quantity.
Quick SaleSell a one-off amount line.It is not a substitute for a reusable stock item.
Customer pickerAttach a customer for credit, wallet, history, SMS or WhatsApp.Walk-in is correct for ordinary anonymous sales.
Line edit pencilChange price, quantity, discount or tax for a cart line.The operator must decide whether the change is only this sale or updates the item too.
Add discountApply bill-level discount with note and approval controls.Wrong-price fixes belong in item/line edit, not hidden as discounts.
Add chargeAdd parcel, delivery or service charges when Custom charges is enabled.Name the charge clearly for receipts and reports.
PAYOpen tender after cart, customer, notes and total are correct.After Save, corrections become sales-history work.

Create a Normal Sale

  1. Confirm the register if requiredIf Cash Register is enabled, make sure the correct branch register is open for this user before saving the sale.
  2. Open New SaleFrom the dashboard or sidebar choose Home -> New Sale. Confirm the screen title is New Sale and the customer chip says Walk-in unless you already selected an account customer.
  3. Find the productType product name, SKU or barcode in Find item name, sku or barcode. A USB/Bluetooth scanner should type into that field and send Enter.
  4. Choose the correct itemUse the suggestion row or product tile. Check the name, unit, price and stock badge before the line enters the cart.
  5. Repeat for all productsAdd each physical item. The live cart should match the items on the counter before you touch payment.
  6. Handle missing items deliberatelyIf search shows Sell as a quick sale and Create item, choose based on the business rule: reusable stock product becomes an item; one-off amount becomes Quick Sale.
  7. Set quantitiesUse the cart quantity control or the line editor. Do not use quantity changes to hide missing stock.
  8. Edit the line if allowedOpen the line edit pencil when Quick line edit is enabled. Use Only this sale for a one-off correction, or Sale + update item when the item record itself must change for future sales.
  9. Select customer when neededKeep Walk-in for anonymous paid sales. Pick or add a customer when the sale needs credit, wallet, receipt messaging, GST/customer identity or account history.
  10. Add notes, discount or chargesUse Payment note, Sale note, Discount note, Add discount and Add charge before tender. Discount and price changes may require manager approval depending on POS permissions.
  11. Open PAYClick PAY only after subtotal, discount, tax, charges and Pay Total match the customer conversation.
  12. Complete tenderConfirm Paid/Unpaid, Pay amount, due amount, wallet checkbox where available, payment method label, denomination count and receipt preview.
  13. SaveClick Save once. Do not double-submit while the sale is saving.
  14. Print or sendUse New sale for the next customer, Print receipt for the default paper choice, Thermal or A4 for one-off paper override, and SMS/WhatsApp only when configured.

What the Sale Save Records

The current save path in `cartOrderSubmit` sends more than item totals. That is why the cashier should finish setup and review before pressing Save.

Saved evidenceWhere the cashier controls itWhy it matters later
Item rowsSearch, tile click, scanner, Quick Sale or Quick Item Add.Stock movement, margin, tax and receipt lines.
Customer fieldsWalk-in or customer picker.Credit, wallet, pending payments, messaging and customer history.
Payment labelsTender payment buttons or split-payment inputs.Cash drawer, bank/wallet reconciliation and payment reports.
Paid/Unpaid and partial balanceTender Paid switch and Pay amount.Outstanding customer balances and pending payment follow-up.
Register sessionCash Register open/resume state.Till close, payment tally, cash in/out and register reports.
NotesPayment note, Sale note and Discount note.Audit trail for collections, customer promises and approvals.
Discount, coupon, loyalty, tip and chargesCart controls and tender state.Revenue review, staff tips, promotions and taxable charge totals.
DenominationsTender denomination panel.Physical cash count and close variance investigation.
Receipt behaviorReceipt Print settings and completed-sale buttons.Customer proof and reprint path.

When the Item Is Not in the Catalog

Do not use one path for every missing product. The live app offers two fallback actions when a typed search has no match: Sell as a quick sale and Create item.

For a real product that will be sold again, create the item from the fallback or in Inventory -> Items -> New. Then return to New Sale and search or scan the saved item.

SituationUseResult
Stock item sold regularlyCreate ItemA reusable product with SKU, barcode, price, tax and inventory controls.
Small one-off amountQuick SaleA sale line for the amount; use a clear name so Sales History is understandable.
Item exists but scan failsFix SKU or BarcodeUpdate the item barcode or alternate barcode before relying on scanning.
Wrong price at counterLine edit or item editOnly this sale fixes the current bill; Sale + update item or Item edit fixes future sales.
Customer wants quotationSave as quoteKeeps a quote path instead of recording a paid sale.

Barcode-Ready Sales

A scanner only works when Posnic can match what it scans. For reliable checkout, every scannable product should have a unique Barcode or alternate barcode on the item record. SKU is also searchable; the Same as SKU option can make SKU and Barcode identical.

  • Click inside the New Sale search box before using a keyboard-wedge scanner.
  • Keep barcode values unique. Duplicate barcodes create cashier confusion.
  • Use Inventory -> Items -> SKU and Barcodes to set Quick code, SKU, Barcode, Same as SKU and GTIN/EAN.
  • Use alternate barcodes on the Details tab for products with more than one package barcode.
  • Hardware scanner input is treated as barcode only when the characters arrive quickly and end with Enter.
  • Camera scan uses the browser BarcodeDetector path and then calls the same add-by-barcode function.
  • If Track inventory is on and Negative Stock is off, barcode add refuses out-of-stock items instead of silently overselling.
  • If scanning says the item was not found, open the item record and verify Barcode and Extra barcodes, not only the item name.

Payment Methods and Split Payment

The payment method chosen at checkout is the label Posnic stores for reconciliation. It does not prove that an external bank, wallet or terminal accepted money.

  • Cash and configured payment modes appear in the tender drawer.
  • Create new method labels under Settings -> Core Settings -> Payments -> Payment Modes -> New.
  • Enable Split Payment in the Payments tab when one sale can be paid across multiple methods.
  • The Paid switch controls whether payment fields are active. Unpaid hides/locks payment controls and leaves a due balance.
  • For partial payment, Pay amount must be less than the total and the sale must be tied to the right customer account.
  • Use the tender denomination panel when the customer pays cash and the cashier needs a note/coin count.
  • At close, compare Posnic payment labels with cash count and external provider settlement.

Printing and Auto Print

Manual print buttons remain visible on the completed-sale screen. Auto Print is controlled separately in receipt settings and uses the selected print type.

  • Check the tender receipt preview before Save; it mirrors the selected Thermal/standard or A4 print type.
  • Use Print receipt for the default receipt action after saving.
  • Use Thermal for compact receipt paper and A4 for full-page output.
  • Set default Print Type and Auto Print in Settings -> Core Settings -> Receipt Print.
  • SMS and WhatsApp buttons appear only when the sale response says those receipt channels are enabled.
  • Test the exact printer from the same device before go-live.
  • If printing fails, the saved sale still exists. Reprint from Sales History after fixing the printer.

Common Cashier Mistakes

ProblemLikely causeFix
Barcode does not add itemItem has no matching Barcode or alternate barcode.Edit the item and set a unique barcode, or use Same as SKU when appropriate.
PAY button should not be used yetCart quantity, customer, discount or note has not been reviewed.Stop at cart review and compare with physical items.
Wrong payment modeCashier selected a label that does not match the money received.Correct before Save, or follow the shop correction policy from Sales History.
Receipt did not printPrinter or Auto Print setting is not ready.Use manual print buttons or reprint from Sales History after printer setup.
Open price abusedCashier used editable price without approval.Restrict Price override and discount permissions; use Item settings for normal prices.
Quick Sale used for stockCashier sold a product as an instant amount line.Create the item with SKU/barcode and sell the catalog item instead.
Register totals missingSale was made without the intended register session.Open/resume the correct register before selling when Cash Register is enabled.