Dashboard
Understand the Dashboard Customer Dues Card
The current dashboard Customer Dues card follows the Customer Credit feature switch but does not load live balances; use the Outstanding Customers report for collection and credit decisions.
- Menu path
- Home -> Dashboard -> Customer Dues (money owed to you)
- Verified from
- Posnic demo and current POS source reviewed on 2026-09-08
Technical source evidence
frontend/modules/dashboard.html static Customer Dues empty state, frontend/static/script/js/core/PosnicPro.js Customer Credit feature-switch visibility, frontend/static/script/js/modules/js/dashboard.js pending-activity renderer and absent caller, api/src/models/dashboard.model.js getPendingActivitiesModel balance aggregation, frontend/modules/customersReport.html and report_customers.js functional Outstanding Customers report, demo.posnic.io dashboard card observed on 2026-09-08
Use the Correct Balance Surface
| Surface | Current purpose | Use for a collection decision? |
|---|---|---|
| Dashboard -> Customer Dues | A compact dashboard position reserved for customer balances when Customer Credit is enabled. | No. The current dashboard path does not invoke its balance loader. |
| Reports -> People -> Outstanding Customers | Current customer balance review with credit, debit, wallet, pending sale and overall due values. | Yes, after refreshing and confirming branch context. |
| Customer profile -> Transaction Details | Account-level evidence for one customer. | Yes, when reconciling the report to individual entries. |
| Reports -> Pending Payments | Sale-level unpaid and partially paid evidence. | Yes, when tracing a due amount to its sale. |
Current Dashboard Limitation
The dashboard markup starts with the message No customer owes money right now. A getDashboardPendingActivities renderer exists and can request dashboard/getPendingActivities, but the current frontend has no caller for that function. Dashboard period changes call loadOverview, and that overview response renders totals, profit and best sellers without customer-dues data.
- Do not treat the empty dashboard card as proof that every customer balance is zero.
- Changing Today, This Week, This Month or This Year does not currently refresh the card's customer balances.
- Reloading the dashboard does not make the placeholder authoritative because the missing step is the loader invocation, not a slow response.
- Use the separate Outstanding Customers report until the product connects the dashboard renderer to a live request and that behavior is retested.
- The public demo observed on 2026-09-08 displayed No customer owes money right now; that observation confirms the visible state, not the truth of its sample accounts.
When the Card Appears
- The dashboard card follows Settings -> Features -> Customer Credit. When module_credit_enable is off, Posnic hides the card and expands Best Selling Products across the row.
- A hidden card therefore means the Customer Credit feature is off for that shop context; it does not prove that historical customer transactions were deleted or reconciled.
- The card itself has no dashboard financial-access declaration in the current markup. Restrict dashboard and customer/report access according to the shop's privacy policy rather than relying on this card as a security boundary.
- The full Outstanding Customers report remains permission-controlled through report navigation and should be assigned only to roles responsible for balances or collections.
How the Dormant Loader Calculates Dues
The existing dashboard endpoint groups transaction records by customer within branch and licence context, then returns at most four groups whose calculated due is above zero. This describes the dormant dashboard path; it does not make the current placeholder live.
| Displayed field | Endpoint calculation | Operator caution |
|---|---|---|
| Wallet Balance | Transaction amount in minus transaction amount out. | Confirm the sign and underlying entries in the customer profile. |
| Partial Sales Balance | Sum of transaction pending values. | Trace it to unpaid or partially paid sales. |
| Overall Due Balance | Pending amount, with negative net transaction balance added in the model's due rule. | Use the functional report and source records before contacting the customer. |
| Customer list | Due-positive customer groups, limited to four for the dashboard endpoint. | A short dashboard list would never be a complete ledger. |
Verify Outstanding Balances
- Open Reports -> People and select Outstanding Customers.
- Confirm the branch selector when the business has multiple outlets.
- Refresh the report before beginning collection calls or approving more credit.
- Open the customer profile and compare Transaction Details, wallet activity and the sales that remain pending.
- Open Pending Payments when the balance must be tied to individual unpaid or partially paid bills.
- Record or correct payments only through the approved settlement workflow; never alter data merely to make the dashboard card look empty.
Troubleshoot the Customer Dues Card
| Symptom | Meaning | Action |
|---|---|---|
| Card says no customer owes money | This is the current static placeholder and is not sufficient evidence. | Run Outstanding Customers and Pending Payments. |
| Card is missing | Customer Credit is probably disabled for the active shop settings. | Check the feature switch only if the shop intentionally supports pay-later sales. |
| Period button changed but card did not | The current overview refresh does not load customer dues. | Use the current-balance report, whose purpose differs from dashboard periods. |
| Report shows dues while dashboard is empty | Expected under the current disconnected dashboard implementation. | Trust the refreshed report and reconcile customer transactions. |
| A customer disputes the balance | Dashboard and summary totals are insufficient evidence. | Review sale receipts, payments, returns, wallet entries and transaction history with authorized staff. |
| Credit feature was turned off | The card hides, but existing records can still require review. | Confirm outstanding balances before changing credit policy or retiring the workflow. |