Sales

Park, Find and Resume a Sale

A parked sale remains an unfinished Hold record inside the current branch. It reserves tracked stock, takes no payment or rewards, and can be resumed from the Parked or Recent Sales tab.

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

demo.posnic.io New Sale and Parked tab reviewed 2026-09-08, frontend/modules/sales_write.html Parked tab and Hold control, frontend/static/script/js/modules/js/sales.js holdOrderSubmit, showHold, parkedAgo, recent and parked menus, api/src/controllers/sales.controller.js hold validation, permissions and reward exclusions, api/src/services/sale.service.js Hold status, branch-scoped 20-row list, stock reservation and payment state, api/src/repositories/sale.repository.js held-sale deletion stock behavior

Park an unfinished cartThe pause control beside Reset and Pay stores the current cart as a held bill instead of collecting payment.
Find parked sales without leaving billingThe Parked tab lists held bills for the current branch. The live demo had no parked bills when this screenshot was captured.
Verify the completed billAfter payment, confirm that the resumed hold is now a completed sale and no longer remains parked.

Choose Hold, Not Quote or Unpaid

Hold is for a cart that should wait at the counter and later continue as a sale. It is not a quotation, customer-credit transaction or completed unpaid invoice.

NeedCorrect actionResult
Customer will return shortly or the till is interruptedHold / ParkAn unfinished Hold record appears in Parked and Recent Sales.
Customer needs a formal price documentSave as quoteA quotation is managed in Quotes and is not a sale.
Goods leave now and the customer will pay laterComplete the sale using the approved unpaid or credit workflowA completed customer balance is recorded; this is not a parked cart.
Cashier only wants to empty a mistaken cartResetThe unsaved cart is cleared; no held bill is created.

Prepare the Cart Before Parking

  1. Open Home -> New Sale and add every item currently agreed with the customer.
  2. Check quantity, unit, price, discount, tax and any custom charge already entered.
  3. Choose the correct customer when identity matters. Posnic can fall back to the cached default walk-in customer, but a named customer makes a busy parked list safer to use.
  4. Add a Sale note explaining why the bill is waiting when another cashier may resume it.
  5. Do not enter or promise a payment result. A hold is stored as Unpaid with zero payment pending and no payment is collected.

Park the Sale

The pause icon beside Reset and Pay is the Hold action. It requires Sales write access and validates the cart before saving.

  1. Confirm that the cart has at least one item. Posnic rejects an empty hold.
  2. Confirm the customer field is populated. If no customer was chosen, the normal default walk-in customer is applied when available.
  3. Select the pause / Hold control. Keyboard users can use F4.
  4. Wait for the success message before starting another bill.
  5. Open the Parked tab and confirm the customer, item count and total appear.

Find the Correct Parked Bill

Parked bills stay inside New Sale so a cashier does not need to leave the billing workspace. The dedicated list is branch-scoped, newest first and limited to the latest 20 holds.

  • Open the Parked tab to see Customer, Items, Total, Parked age and Resume.
  • Recent Sales also includes holds among its latest six records and labels them Parked.
  • Use customer name, bill number, item count, total and parked age together; do not resume by total alone.
  • Hover or inspect the parked age when an exact time is needed.
  • A hold at least 24 hours old is visually marked stale. Stale is a review cue, not automatic cancellation or stock release.

Resume, Review and Complete

  1. Select the green Resume play control for the intended row, or retrieve the Parked record from Recent Sales.
  2. Posnic opens the held bill and switches to the Items tab so the cashier can continue adding or changing lines.
  3. Review the customer, every cart line, quantities, prices, discounts, tax, charges and notes. Do not assume an old cart still matches the customer's request.
  4. Check physical availability even though tracked stock was reserved when the hold was created.
  5. Choose Pay when the customer is ready. The resumed bill defaults back to Paid rather than inheriting the hold's stored Unpaid state.
  6. Confirm tender amounts and payment methods, then save the sale.
  7. Verify the completed bill in Recent Sales or Sales History and confirm it no longer appears in Parked.

Re-Park an Edited Hold

Opening a parked bill loads it as an editable transaction. Selecting Hold again updates that existing record rather than intentionally creating a second cart.

  • Use Hold again if the customer is still waiting after lines were changed.
  • Re-holding updates the parked timestamp, so the age reflects the latest hold activity.
  • Return to Parked and confirm there is one correct row, not two similar carts.
  • If duplicate-looking holds exist, compare bill numbers and contents before acting.

Money, Rewards and Stock Behavior

AreaWhile parkedOperator check
PaymentNo payment is taken; the record is Unpaid with zero payment pending.Collect tender only after resuming and reviewing the bill.
Loyalty, coupons and cashbackA held bill earns and spends nothing. Coupon and loyalty application are deferred until completion.Reconfirm eligibility and balances when the sale is completed.
Tracked stockA newly held sale reserves stock by deducting the held quantity.Include parked quantities when investigating low or unavailable stock.
Delete behaviorThe audited generic held-sale delete path skips stock restoration.Do not assume deletion releases inventory; reconcile Item quantity and Stock Log immediately.
ReportingHold remains a separate sale process, not ordinary completed revenue.Use the completed sale and payment reports after resumption, not the parked total, for cash reconciliation.

Permissions and Shift Control

  • Sales write access is required both to load the parked list endpoint and to create a hold.
  • Use named customers and useful sale notes when multiple people share a counter.
  • Review stale holds at shift close because they reserve stock and are not removed automatically.
  • Do not leave a parked bill as evidence that money was collected; it records no tender.
  • Escalate deletion and stock correction according to the shop's inventory permission policy.

Troubleshoot Parked Sales

SymptomLikely reasonAction
Enter a customer nameNo customer or default walk-in customer was available.Choose or create the correct customer, then hold again.
Add at least one itemThe cart is empty.Add a valid catalog or quick-sale line before holding.
You do not have permission to hold salesThe operator lacks Sales write access.Ask an authorized role to park the bill or correct role access.
Could not load parked salesThe Parked endpoint or connection failed.Reconnect, reopen New Sale and retry before creating another hold.
Expected hold is missingIt belongs to another branch, is older than the latest 20, or did not save.Check the branch, Recent Sales and Sales History; do not rebuild until the original is ruled out.
Wrong parked cart was openedSimilar customer names or totals were used as the only identifier.Stop before payment, compare bill number and lines, then reopen the correct row.
Stock stayed low after deleting a holdThe current delete path skips restoration for Hold sales.Count the item, review Stock Log and make an authorized stock adjustment with the held bill reference.
Hold is more than a day oldThe UI marks it stale but does not cancel it.Contact the customer or supervisor, resolve the cart and reconcile its reserved stock.