Getting Started
What the system is, who uses it, and the quickest way to begin.
Web portal
Flutter POS
Offline sync
What Soko POS does
Soko POS combines a mobile point-of-sale app and a browser-based backoffice. Cashiers sell items on the mobile app, while managers use the portal for stock, pricing, reports, customers, fiscal controls, and administration.
Who should use the guide
- Cashiers and supervisors using the POS app.
- Managers responsible for stock and reporting.
- Administrators managing users, devices, and settings.
If you are new to the system, start with the dashboard and sidebar navigation, then review the sales and inventory sections before changing settings.
Dashboard
A comprehensive at-a-glance overview of store performance, revenue analytics, and operational alerts.
KPI cards — row 1
- Today’s Revenue — total sales for today with a percentage delta vs yesterday (green = up, red = down).
- Month Revenue — month-to-date total with a delta vs the same full calendar month last month.
- Transactions — number of sales today and the average transaction value.
- Expenses — today’s recorded expenses alongside today’s net revenue.
KPI cards — row 2
- Products — count of active products in the catalogue.
- Customers — count of active customer accounts.
- Low Stock — items at or below their reorder threshold.
- Open Shifts — number of cashier shifts currently open.
7-day revenue bar chart
Shows daily sales totals for the last 7 days so you can spot trends and day-of-week patterns. Hover any bar to see the exact total and transaction count for that day.
Payment method donut
Breaks down today’s revenue by payment type — Cash, EcoCash, ZIPIT, Card, Credit, and others. Helps you monitor the split between cash and digital payments.
Top 5 products
Best-selling items by revenue over the last 7 days, shown with inline progress bars. Use this to identify your best performers and keep them well stocked.
Recent sales feed
The 6 most recent transactions across all devices, showing cashier, total, and payment method. Voided sales are marked so unusual activity is immediately visible.
Conditional panels — the Active Shifts table and Low Stock grid appear automatically when there are open shifts or items below threshold. They collapse when there is nothing to action, keeping the dashboard clean.
Inventory
Receive stock, count stock, correct mistakes, and monitor movement.
| Task | What to use | When to use it |
| Goods receipt | GRN entry screen | When new stock arrives from a supplier. |
| Stock take | Stock take workflow | When physically counting stock in the store. |
| Adjustment | Inventory adjustment screen | When correcting damaged, missing, or miscounted stock. |
| Returns | Supplier return workflow | When goods are sent back to the supplier. |
| Movements | Inventory movement history | When reviewing stock changes over time. |
Keep stock updates disciplined. Use receipts, returns, and stock takes instead of manually changing stock unless the adjustment is authorised.
Flutter POS App
How the mobile app behaves on the shop floor.
- 1
Sign in on the deviceUse the assigned user account. The app supports offline login when the server is temporarily unavailable.
- 2
Start or resume a shiftOpen a shift before taking sales so cash movement is tracked properly. Always close the shift at the end of the day to keep records accurate.
- 3
Scan or search productsAdd items to the cart, apply prices, and complete the sale. The app is designed for quick cashier flow.
- 4
Print the receiptReceipt layout and printing depend on the configured printer and device setup. If ZIMRA fiscal is enabled in the backoffice, the receipt also includes the fiscal QR code and counter.
- 5
Stay in syncSales and documents sync back to the portal automatically when the connection is available.
Automatic shift closure — if a shift is left open for more than 24 hours, the app will close it automatically on next launch and sync the closed shift to the portal. This prevents stale open shifts from appearing in the backoffice dashboard.
Offline mode is normal. The app stores actions locally and syncs them later, so cashiers can continue working even if connectivity drops.