Description
Website Guy Retail Cash Manager helps retailers manage daily cash-ups, till discrepancies, cash drops, safe balances, expenses and financial accountability directly inside WordPress.
It is built around practical retail routines. Staff and managers can record what should be in the till, what was physically counted, the resulting discrepancy, denomination counts, expenses paid from the till, where physical cash moved, and who completed each step. Branch dashboards, reports and audit history keep the day-to-day position clear without turning WordPress into a point-of-sale system.
Daily Cash-Ups
Create a Cash-Up for each branch and business day. Record expected and actual amounts for Cash, Card and other enabled payment channels, with a clear discrepancy for each channel and the overall day. Where a value is not yet known it can remain pending rather than being mistaken for zero.
For cash channels, staff can enter a manual total or count the full drawer by denomination. A branch standard till float helps distinguish the cash retained for trading from cash that has been removed. Staff Signoff records who completed the operational step.
Cash Control
Cash Control gives each branch a structured record of physical cash after a Cash-Up. It tracks the Shared Till, Banking Safe – Available Cash and Sealed Cash Drops, alongside an immutable movement history for important posted actions.
Staff can review proposed drops, confirm sealed cash, reconcile Safe Counts against the expected ledger balance and, where permitted, record a correction through an explicit new movement. The system is designed to preserve a traceable operational history instead of silently changing financial records.
Cash Drops and Recounts
Cash Drops can be proposed from a Cash-Up and formally confirmed as sealed cash. A whole-bag recount lets authorised staff count a sealed drop by denomination, compare it with the recorded value and document any shortage or overage. This gives managers a clear chain from Cash-Up to sealed bag, recount and safe position.
Expenses and Reporting
Record branch expenses, including expenses paid from the till. Cancelled expenses remain visible in history but are excluded from active totals rather than being silently deleted.
The dashboard provides a quick daily position. Reports include daily and date-range summaries, the Daily Cash-Up Breakdown, branch totals and discrepancy information. The audit log provides a read-only history of important operational actions.
Branches, Staff and Permissions
RCM is branch-scoped. Configure each branch with its payment channels, expense types, Staff Signoff names, cash locations, denominations and standard till float.
Staff Signoff names are operational accountability records; they do not create WordPress logins. WordPress users control access, and authorised managers can assign branch-specific permissions without granting global administrator capabilities.
Safe Adoption for Existing Businesses
Businesses with existing RCM history do not need to rewrite or delete that history just to begin using the current Cash Control workflow. Fresh Operational Cutover allows an administrator to preserve historical Cash-Ups, Expenses and Reports, physically verify the opening balances, and establish a new audited Cash Control starting point for future operations.
Protected Operational Reset
Where a genuine clean restart is required, an administrator can deliberately reset the operational RCM history for one selected branch while preserving its configuration. This action is branch-scoped, confirmation-gated, audited and restricted to administrators. It is not the normal choice for an established business that needs to retain history; Fresh Operational Cutover is the safer route in that situation.
Setup Transfer
Setup Transfer helps administrators move RCM setup between sites. It can transfer supported configuration such as currencies, branches, payment channels, expense types, Staff Signoff names, denominations, cash locations, branch permissions and selected notification settings.
It does not transfer cash-ups, expenses, cash movements, cash drops, safe counts, audit history, WooCommerce data, passwords, credentials or other WordPress settings. Uploading a setup package always begins with a checksum-validated dry-run. Applying it is administrator-only, merge-only and confirmation-gated.
Interface Choices
Classic is the default RCM interface. Modern is an optional application-style interface, and each signed-in user can choose Comfortable or Compact display density. Both interfaces use the same underlying records, permissions, calculations and operational handlers.
Performance and Day-to-Day Use
Recent releases include substantial performance work to keep Branch Settings, Reports and in-app navigation responsive as operational data grows. Normal links and forms still retain their ordinary full-page WordPress behaviour when JavaScript is unavailable.
Auditability
Important operational actions are recorded in the audit history. Posted cash movements are immutable where applicable, and corrections or reversals are used in preference to silently rewriting financial history. Staff Signoff supports day-to-day accountability.
Current Scope
RCM is not a POS system and does not include Lodgement Preparation, bank handover, change deliveries, generic transfers, denomination exchanges, advanced Cash Control reporting or multi-till Cash-Ups yet.
Installation
- Install Website Guy Retail Cash Manager from WordPress.org, or upload the plugin ZIP through Plugins > Add New > Upload Plugin.
- Activate the plugin.
- On activation, RCM creates a Cash Management page when one does not already exist. The page uses
[websiteguy_retail_cash_manager]. - Open Retail Cash Manager in WordPress admin and create or configure your branch.
- Add Staff Signoff names, payment channels, expense types, cash locations, denomination settings and the branch standard till float as needed.
- Assign branch permissions to the appropriate WordPress users.
- Open the Cash Management page, select a branch and begin entering Cash-Ups.
If your site already has a suitable page, place [websiteguy_retail_cash_manager] on that page. The shortcode requires a signed-in user with the relevant RCM access.
FAQ
-
What is Retail Cash Manager for?
-
It helps retail teams record daily cash-ups, physical cash counts, discrepancies, cash movement, expenses, reports and audit history inside WordPress.
-
Is Retail Cash Manager a point-of-sale system?
-
No. RCM records and reconciles the operational results of trading; it does not replace a POS system.
-
Does RCM require WooCommerce?
-
No. RCM does not require WooCommerce.
-
Can RCM be used alongside WooCommerce?
-
Yes. It can be used on a WordPress site that also uses WooCommerce, but Setup Transfer does not move WooCommerce or order data.
-
Does RCM support multiple branches?
-
Yes. Records, staff signoff names, payment channels, cash locations and permissions can be scoped to individual branches.
-
How do daily Cash-Ups work?
-
Select a branch and business date, enter expected and actual payment-channel amounts, add any same-day till expenses and save the Cash-Up. RCM calculates channel and overall discrepancies from the saved data.
-
Can I count cash by denomination?
-
Yes. Enabled cash channels can be counted by denomination in Cash-Ups. Denomination counts are also available for Safe Counts and Cash Drop recounts where configured.
-
Can RCM track card discrepancies as well as cash?
-
Yes. Card and other enabled payment channels can have expected and actual/provider values, with their own discrepancies. Values can remain pending when they are not yet known.
-
What is Cash Control?
-
Cash Control records the branch’s Shared Till, Banking Safe – Available Cash, Sealed Cash Drops and the important movements between them.
-
How do Cash Drops and recounts work?
-
An authorised user can confirm a proposed Cash-Up drop as sealed cash. A later whole-bag recount records the counted value and any variance without rewriting the original history.
-
Can I record expenses paid from the till?
-
Yes. Expenses can be recorded for a branch and business date, including from the Cash-Up workflow. Active expense totals are included in the relevant reconciliation and reports.
-
What happens if I start using RCM after my business is already operating?
-
You can keep historical RCM records and use Fresh Operational Cutover to create a verified, audited starting point for current Cash Control operations.
-
What is Fresh Operational Cutover?
-
It is an administrator-controlled process for preserving existing history while physically checking opening balances and beginning the current Cash Control workflow from a trusted point forward.
-
Can I reset a branch and start again?
-
Administrators can use the protected, branch-scoped operational reset where a genuine clean restart is required. It is confirmation-gated and audited. Use Fresh Operational Cutover instead when historical records should remain available.
-
Does RCM rewrite or delete historical financial records?
-
Posted movement history is immutable where applicable. RCM uses new corrections or reversals rather than silently rewriting those records. The protected reset is a separate administrator-only, deliberate operation.
-
Can staff have different permissions?
-
Yes. RCM permissions are assigned to WordPress users and can be granted per branch. Staff Signoff names do not themselves grant login access.
-
Does RCM create WordPress users?
-
No. WordPress users are managed by WordPress. RCM only uses them for access control and can maintain separate Staff Signoff names for operational accountability.
-
What does Setup Transfer move?
-
It transfers supported RCM configuration, including branches, currencies, payment channels, expense types, Staff Signoff names, denominations, cash locations, permissions and selected settings.
-
What does Setup Transfer deliberately not move?
-
It does not move transactional history, WooCommerce data, passwords, credentials or unrelated WordPress settings.
-
What is the difference between Classic and Modern?
-
Classic is RCM’s default interface. Modern is an optional application-style presentation. Both work with the same RCM data, permissions, calculations and handlers.
-
Is an external cash-management service required?
-
No. RCM works inside your WordPress installation.
-
What features are planned next?
-
Planned work includes Lodgement Preparation, bank handover, change deliveries, generic transfers, denomination exchanges, advanced Cash Control reporting and multi-till Cash-Ups.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Website Guy Retail Cash Manager” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Website Guy Retail Cash Manager” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
0.4.3
- Completely refreshed the WordPress.org description, installation guide and FAQ.
- Normalized release versioning so sites running earlier 0.4.2 development snapshots can receive the finalized stable code through normal WordPress updates.
- Includes the finalized Branch Settings response fix, performance improvements, protected branch operational reset, Fresh Operational Cutover and WordPress.org compliance hardening present in the current stable codebase.
0.4.2
- Added an optional Modern application interface while retaining Classic as the default fallback.
- Added a per-user Classic/Modern preference, safe preview, responsive desktop sidebar, and mobile navigation drawer.
- Added independent Comfortable and Compact display-density preferences, context-preserving interface switching, and dirty-form protection.
- Improved dashboard and shared application presentation, Cash-Up semantic columns and field alignment, Compact nested content/control density, accessibility, and button-state contrast.
- Fixed Classic Compact Cash-Up column overlap and inconsistent Modern action-button and field widths.
- Hardened WordPress.org identifiers and verified every active translation call uses the literal
website-guy-retail-cash-managertext domain. - Removed the generic legacy shortcode; use
[websiteguy_retail_cash_manager]. - Isolated the configurable Classic accent from the fixed blue Modern interface palette.
- No database schema migration is required; both interfaces use the same operational data and handlers.
0.4.1
- Added whole-bag Cash Drop recount drafts with exclusive bag reservations and denomination snapshots.
- Matching recounts transfer recorded value to Banking Safe Available; shortages and overages use an explicit variance movement.
- Added Staff Signoff completion, manager variance review, stale-draft warnings, cancellation, immutable history, and reversal.
- Added recount permissions, audit/ledger integration, Setup Transfer exclusions, and dependency-safe Danger Zone ordering.
- Added provider-agnostic zero-, one-, and two-value card modes, staged provider-total completion after cash is closed, and audited card corrections.
- Added an authorised branch picker that preserves allowlisted view context, protects unsaved forms, and retains Cash Control fragments.
- Extended Compact density to populated Cash-Up, Cash Drop, recount, Safe Count, movement, and history detail components.
- Cash-side correction is blocked when downstream recount evidence exists; no bag, movement, or recount history is rewritten.
- Hardened Setup Transfer, streamed import validation, localisation, and release packaging for WordPress.org review.
- Lodgement Preparation remains future work.
- This version is a release candidate undergoing final local package review.
0.4.0
- Added Cash Control V2 Phase 1 stable references, branch migration state, and guarded legacy Cash Drop reclassification.
- Banking Safe now represents available loose cash; confirmed V2 drops are tracked separately as Sealed Cash Drops.
- Added idempotent Cash-Up Clearing so the Shared Till ledger closes to standard float plus retained carried-forward cash.
- Added an authorised correction workflow that reverses a finalised Cash-Up cash-position operation before a replacement revision is posted.
- Historical Safe Counts remain visible as Legacy / scope unknown and are excluded from authoritative V2 latest-count selection.
- Submitted V2 Safe Counts require active branch Staff Signoff and reconcile expected balance to physical count through one idempotent movement when variance is non-zero.
- Added Sealed Cash Drops to Safe Overview and clarified first-live Shared Till cutover.
- Manual and denomination Cash-Up modes now share the full physical drawer basis without reinterpreting historical manual records.
- Setup Transfer format 2 carries V2 location definitions only; Danger Zone understands V2 transactional dependencies.
- Movement references use concise MOV-00001 display codes while retaining stable UUIDs and technical references internally.
- Fixed guarded Shared Till cutover confirmation handling and preserved form state after rejected requests.
- Cash Drop recount, lodgement, delivery, transfer, exchange, and full transactional transfer workflows remain out of scope.
0.3.26.2
- Added a shared Comfortable / Compact display preference per user.
- Added collapsible Cash Control sections and per-denomination bundle-counting controls.
- Improved compact Cash-Up and report layouts, Safe Count cards, history links, and Setup Transfer handling of disabled bundle overrides.
- Fixed Setup Transfer dry-run feedback, Safe Count first-save persistence, Safe Count History deep links, and required Staff Signoff validation when submitting a Safe Count.
0.3.26.1
- Added administrator-only RCM Setup Transfer for setup/configuration JSON export and merge-only import dry-runs.
- Added checksum validation, stable-key configuration matching, guarded apply confirmation, optional local test-user creation, and notification-recipient safety controls.
- Setup exports exclude cash-ups, expenses, movements, counts, audit history, WooCommerce data, passwords, and credentials.
0.3.26
- Added Safe Counts under Cash Control with manual or denomination count methods.
- Added explicit safe opening balance movements and reviewed safe variance adjustments.
- Added safe count history, corrected-count drafts, and branch permissions for safe workflows.
- Danger Zone now clears safe count transactional data while preserving safe definitions.
0.3.25.2
- Cash-Up now explains how active same-day cash expenses affect cash discrepancy.
- Saved Cash-Up view shows expense-adjusted cash reconciliation details.
- Cash-up notification emails now show the cash expense component of cash discrepancy.
- No discrepancy calculation behaviour changed.
0.3.25.1
- Cash Movement Ledger now defaults to Month to Date and includes Today, Yesterday, This Week, Last Week, This Month, Last Month, Year to Date, and All Time shortcuts.
- Cash-Up Total Sales and Expenses summary cards now show hover/focus breakdowns.
- Existing saved cash-ups now open in read-only view mode before editing.
- Simplified cash-drop confirmation wording for retail staff.
- Cash-up notification emails now include cash-drop status and details.
0.3.25
- Added an immutable general cash movement ledger and formal cash drop workflow.
- Added explicit Cash-Up confirmation for posting a Shared Till Group to Banking Safe movement.
- Added non-binding suggested drop guidance, optional bag/reference and notes, posted-drop display, and reason-required reversal/cancellation.
- Added a minimal Cash Control drop list and permission-gated read-only movement ledger.
- Existing/imported cash-ups are not converted into formal drops or historical movements.
0.3.24
- Added the authoritative branch cash-location foundation.
- Added one default Shared Till Group and Banking Safe per branch.
- Added opt-in Change Float Safe configuration with a branch-specific target.
- Associated existing and new cash-ups with the default till group without enabling multiple cash-ups per date.
- Kept dormant till, safe, and safe-ledger tables as non-authoritative compatibility placeholders.
- Added no cash movements, formal drops, safe counts, lodgements, deliveries, or transfers.
0.3.23
- Added controlled compact-mode line wrapping for Daily Cash-Up Breakdown headers.
- Added accessible collapsible Branch Settings sections.
- Added inclusive From/To date filtering and quick ranges to Expenses.
- Added standard-float helper values inside the denomination counter.
- Corrected historical Shop cash mapping so actual cash is Drop value plus Float carried over.
0.3.22
- Added a synced top horizontal scrollbar for the Daily Cash-Up Breakdown table.
- Added branch shared/default till standard float setting.
- Added cash-up cash drop and float carried-over fields with Cash-Up helper display.
- Added Cash drop and Float carried over report columns.
- Added converter and Import Tools support for historical cash drop and carried-forward values.
0.3.21
- Added a dedicated horizontal scroll wrapper for the Daily Cash-Up Breakdown report table.
- Added a compact table display toggle for large report ranges.
- Kept Date and Staff Signoff visible with sticky report-table columns where supported.
0.3.20
- Added client-side sortable headers to the Daily Cash-Up Breakdown report table.
- Added accessible sort direction states and visual indicators for sortable report columns.
- Clarified System / Maintenance audit visibility for WordPress admins in the frontend Audit Log.
0.3.19
- Fixed imported range report aggregates by adding an all-reportable-branches scope and summing active expenses directly for the inclusive date range.
- Added Week to Date, Month to Date, and Year to Date report shortcuts.
- Added Cash-Up Previous Day and Next Day navigation relative to the selected date.
- Renamed the historical import expense type Cafe supplies to Coffee / Juice Bar Supplies with a narrow upgrade rename for exact existing rows.
0.3.18
- Fixed historical converter expense branch assignment so daily B:C expense rows map to Shop by source position rather than raw label text.
- Added Import Tools branch assignment reasons to admin dry-run samples.
- Added an admin System / Maintenance audit filter so import/reset audit entries are easier to find.
0.3.17
- Added explicit Import Tools support for historical expense-only cash-up candidates, with separate dry-run/apply counts and no invented payment channel values.
0.3.16
- Fixed Import Tools dry-run validation so expenses without matching imported branch/date cash-up candidates are reported as blocking errors before apply.
0.3.15
- Improved historical import staff matching with accent-insensitive normalisation, first-component handling, unique cross-branch fallback, and ambiguous match reporting.
- Added an admin-only Users tab utility to copy missing staff signoff names between branches without copying users or permissions.
0.3.14
- Fixed an Import Tools admin fatal caused by an invalid PHP filter constant.
0.3.13
- Added guarded admin-only apply mode for historical cashbook CSV imports after a clean dry-run, with backup acknowledgement, exact confirmation phrase, no overwrite behaviour, email suppression, and one maintenance audit entry.
0.3.12
- Fixed Import Tools dry-run expense type warning consistency and clarified staff matching/non-blocking handling before future apply mode.
0.3.11
- Improved Import Tools dry-run matching for historical payment channel aliases, branch-aware expense types, and old workbook staff signoff variants.
0.3.10
- Added an admin-only Import Tools screen for dry-run validation of normalised historical import CSVs against the installed RCM database. No database writes or apply/import action are available.
0.3.9
- Made the admin Danger Zone reset safer by leaving audit-entry removal unchecked by default, adding a stronger irreversible warning, requiring backup/export acknowledgement, and styling the reset button as destructive.
0.3.8
- Added an admin-only Danger Zone reset for clearing test cash-ups, expenses, and related cash-up count data while preserving setup/configuration records.
0.3.7
- Moved Cash-Up Staff Signoff to the bottom of the form.
- Collapsed inline expense rows by default behind an Add expense button.
- Kept multiple inline expense rows inside the main Save Cash-Up flow.
0.3.6
- Added repeatable Cash-Up inline expense rows.
- Added Cash-Up same-day expenses list after the save form.
- Blank inline expense rows are ignored; partially started rows are validated.
0.3.5
- Folded Cash-Up inline expense entry into the main Save Cash-Up flow.
- Widened dashboard hover breakdown panels on desktop while preserving narrow-screen scrolling fallback.
- Added optional inline expense validation so blank fields do not create empty expenses.
0.3.4
- Added Today and Yesterday shortcuts to Cash-Up.
- Hid scoped numeric input spinner controls in the RCM app.
- Added a non-blocking all-zero denomination count warning.
- Improved dashboard hover breakdowns with low-height horizontal scrolling.
0.3.3
- Added pending expected/actual flags for cash-up channel values so blanks no longer create false zero discrepancies.
- Added an internal normalized cash-up save path for future CSV/Excel import tooling.
0.3.2
- Cleaned up the branch denomination query so the enabled-only condition is handled with explicit prepared SQL.
0.3.1
- Fixed a Cash-Up fatal error caused by an unavailable readonly helper.
- Added a QA guard to prevent the same helper call being reintroduced.
0.3.0
- Added EUR currency and denomination schema defaults.
- Added branch denomination settings and cash count mode.
- Added denomination counting to Cash-Up cash channels with live totals and saved count snapshots.
- Existing manual cash-up entry remains valid.
0.2.0
- Updated WordPress.org metadata, text domain, prefixes, and version consistency.
- Added Daily Cash-Up Breakdown, safe expense cancellation, improved notification settings, and branch-specific notification recipients.
0.1.9
- Added Expenses Yesterday shortcut, configurable email notifications, branch notification recipients, and Users tab layout polish.
0.1.8
- Added Phase 2.5 workflow polish for button contrast, staff signoff management, expense type deactivation, cash-up expense entry, and yesterday dashboard cards.
- Documented a safe CSV-first historical import pathway.
0.1.7
- Coding standards cleanup for metadata, request handling, escaping annotations, and readme structure.
0.1.6
- Added user-to-staff-signoff pathway and global accent colour reset.
0.1.5
- Phase 2 polish and dashboard/email improvements.
