Settings

Count Payments, Denominations and Close a Register

Close is the proof step: compare each expected payment total with physical cash or provider evidence, save the real counted values, explain every difference, optionally save a denomination breakdown, and preserve the automatically generated Register Summary.

Menu path
Manage -> Cash Register -> open session
Verified from
Posnic demo and current POS source reviewed on 2026-09-08
Technical source evidence

Live local Posnic open, counted-variance and close-summary workflow audited 2026-09-10, frontend/modules/settings_write.html payment_tally_tbody register_add_payment_description register_render_amount register_cloeButton, frontend/modals/registers.html printable Register Summary, frontend/static/script/js/modules/js/registers.js cashReportRegister registerCountedAmount registercloseFormSubmit printRegisterscreen saveDenominationData, api/src/middleware/registers.validation.js close and counted-amount validation, api/src/controllers/registers.controller.js close audit event, api/src/repositories/register.repository.js expected-cash formula, immutable close values and session lock

Open session before countingThis live 2026-09-10 capture shows Opening Float included in Expected Cash. Zero Counted produces a negative Difference until the operator records the real drawer count.
Record and explain the varianceClick the Counted value to enter the verified amount. Difference is Counted minus Expected; this controlled example is 25.00 over.
Preserve the close summaryClose Register automatically builds this printable summary. It includes tally and session totals, but the current print layout does not include Payment Note.

Read Payment Tally

Payment Tally is built from the register's saved sales. Expected is what Posnic recorded. Counted is what the cashier verifies. Difference is counted minus expected.

ColumnMeaningOperator work
Payment TypeCash, card, UPI, wallet or other configured payment label.Verify each payment label separately.
ExpectedFor Cash: opening float + cash sale tender + Cash In - Cash Out. Other rows come from their saved payment labels.Treat it as Posnic's session expectation, not proof of money received.
CountedAmount physically counted or confirmed from external settlement.Enter the real counted amount.
DifferenceCounted minus expected.Investigate non-zero differences before close.

How Posnic Calculates Expected Cash

The close repository recomputes Cash from the saved register session. For split payments it adds only the Cash slice; for a normal sale it adds the amount only when the saved payment mode is Cash.

ComponentEffect on expected cashWhere to verify
Opening FloatAdds the starting drawer cash.Register Details and Cash Details.
Cash sale or Cash split-payment sliceAdds cash tender attached to saved sales.Sales History and Payment Tally.
Cash InAdds approved non-sale drawer money.Cash Details -> Cash In.
Cash OutSubtracts approved money removed from the drawer.Cash Details -> Cash Out.
Card, QR, UPI or other non-cash methodDoes not add physical drawer cash; it receives its own tally row.Provider/terminal evidence and the matching payment row.

Count Each Payment Method

  1. Open Manage -> Cash Register while the session is open.
  2. Read the register name and open date.
  3. For Cash, count the physical drawer cash.
  4. For card, QR, UPI, wallet or bank labels, compare with the external terminal/provider report.
  5. Enter Counted amount for each payment type.
  6. Watch Difference after each counted value changes.
  7. Write and save a Payment Note for any mismatch or unusual event. Keep separate evidence because the current printed Register Summary omits this note.
  8. Do not close until manager-required checks are complete.

Interpret Difference Correctly

DifferenceMeaningRequired review
0.00Counted equals Expected.Still verify the count and provider report; matching numbers alone do not prove correct tender labels.
PositiveCounted is greater than Expected: the drawer or provider total is over.Recount, check opening float, payment labels and unrecorded Cash In.
NegativeCounted is less than Expected: the drawer or provider total is short.Recount, check refunds, payment labels, Cash Out and missing cash.
Counted remains zeroNo verified amount has been entered, or the real verified total is genuinely zero.Do not treat the displayed Difference as a completed close until the count is intentionally saved.

Use Payment Summary

Payment Summary gives the session totals: Payment Received, Refunds and Net Receipts. Use it as the high-level check before the physical count.

  • Payment Received should match the payment methods expected for the session.
  • Refunds should be reviewed against return/refund approvals.
  • Net Receipts should make sense for the shift volume.
  • If totals look wrong, inspect Sales History before closing.
  • External settlement evidence still lives outside Posnic for many payment providers.

Count Denominations

The Denomination card uses note/coin buttons from shop settings or currency defaults. It helps the cashier explain the physical cash total.

  1. Scroll to Denomination.
  2. Click each cash value button for every note or coin counted.
  3. Watch Total update.
  4. Use Save when first entering denomination data.
  5. Use Update Denomination when revising saved denomination data.
  6. Delete denomination only when the count was entered for the wrong session or owner policy allows a reset.
  7. Compare the denomination total with the Cash counted amount.
  8. When Total Sales is zero, Posnic disables denomination access even if an opening float exists; enter the Cash counted amount directly and retain outside count evidence if needed.

Close the Register

Close Register immediately finalizes the open session and starts the printable Register Summary. There is no confirmation dialog in the current screen, so finish every check before selecting it.

  • Normal users can close only their own user/device session. Backend override roles are manager, admin and super_admin.
  • The close stores who performed it and emits a register_close audit event.
  • The saved close figures are Expected, Counted and Over/Short. Later report viewing should use those stored values rather than recomputing today's screen.
  • The printable summary includes branch, user, register, open/close times, payment tally, payment totals, sales totals, Opening Float, Cash In and Cash Out.
  • The printable summary currently omits Payment Note, denomination breakdown and the explicit label Over/Short; retain those separately when required.
  1. Stop sales on this physical drawer and confirm the branch, register name, open date and signed-in user.
  2. Save Counted for every payment row and investigate each non-zero Difference.
  3. Save the Payment Note and denomination breakdown where used.
  4. Review Payment Received, Refunds, Net Receipts, Total Sales, transaction count, Opening Float, Cash In and Cash Out.
  5. Select Close Register once. Posnic closes immediately; it does not ask for confirmation.
  6. When the print window opens, print or save the Register Summary according to owner policy.
  7. Verify the register now shows Closed and review its saved session in Register Reports.

Do Not Blind Close

The current close API requires only the active cash-register session ID. Posnic therefore allows a session to close without a saved Cash counted value. In that case it preserves Expected but stores Counted and Over/Short as blank rather than proving reconciliation.

  • A successful Close message does not prove the drawer was counted.
  • Always click each Counted value and save the verified number before Close Register.
  • If Counted is intentionally zero, save zero and explain why according to policy.
  • Review Register Reports after close and escalate any session with missing Counted or Over/Short evidence.

Common Differences

Difference sourceWhere to checkFix
Wrong opening floatRegister Details and Opening Float table.Add a note; correct process next session.
Cash sale marked as Card/UPISales History payment method.Correct according to sale edit policy or explain in note.
Cash removed without recordCash In/Out tables.Record approved cash out before close if policy allows.
Refund missedReturns and Sales History.Review original sale and refund method.
External terminal settlement differsProvider report.Explain in Payment Note and reconcile externally.
Register closed with no countRegister Reports: Counted and Over/Short are blank.Escalate as an unreconciled close; do not invent a count afterward.
Payment Note missing from printoutCurrent Register Summary layout.Retain a separate note/export or approved close record with the printed summary.