System
The System section provides advanced configuration for receipt formatting, job processing, event-driven integrations, remote access, and license management.
Receipt Templates
Customize the format and content of printed receipts using a simple templating language.
Templates control:
- Header — business name, address, contact info
- Line items — how items, quantities, and prices are displayed
- Totals — subtotal, tax breakdown, grand total
- Footer — custom messages, M-PESA till number, feedback requests
- Fiscal fields — tax authority signature data placement (KRA, URA, etc.)
Edit templates directly in the dashboard. Changes take effect immediately for all subsequent prints — no restart needed.
Queue Monitor
View and manage the system's internal job queues. Queues provide lossless, guaranteed delivery for background tasks like printing, fiscal receipt submission, and integrations.
Summary Cards
| Card | Description |
|---|---|
| Total Queues | Number of queues in the system |
| Active (Depth > 0) | Queues with pending messages |
| Total Messages | All-time message count across all queues |
| DLQ Messages | Messages in dead-letter queues (failed processing) |
Queue List
| Column | Description |
|---|---|
| Queue | Queue name |
| Depth | Current number of pending messages |
| Visible | Messages available for processing |
| Oldest Msg | Age of the oldest message (indicates backlog) |
| P50 (ms) | Median processing latency |
| P95 (ms) | 95th percentile latency |
| Err% | Error rate |
| Total | All-time messages processed |
| Actions | Peek, Replay, Purge |
Queue Types
| Queue | Purpose |
|---|---|
| events | Central event bus — all system events flow through here |
| *.print.all | Print jobs for all configured printers |
| *.esd.auto | Automatic fiscal receipt submissions (sampled) |
| *.esd.priority | Priority fiscal submissions (100% rate, no delay) |
| *.dlq | Dead-letter queues for failed messages |
Dead Letter Queues (DLQ)
Messages that fail processing repeatedly are moved to a DLQ rather than being lost. DLQ queues are highlighted in red when they contain messages.
Actions for DLQ messages:
- Peek — view the message content without consuming it
- Replay — move messages back to the main queue for reprocessing
- Purge — permanently delete all messages (use with caution)
TIP
Check DLQ queues regularly. A growing DLQ often indicates a configuration issue (e.g., printer offline, fiscal API unreachable) rather than a bug.
Auto-Refresh
Toggle Auto (10s) to poll queue depths automatically, useful for monitoring during service or after restarting workers.
Event Routing
Configure how system events are routed to processing queues. Event routing powers the integration layer — printing, fiscal compliance, notifications, and custom workflows.
Summary Cards
| Card | Description |
|---|---|
| Total Subscriptions | Number of routing rules |
| Active | Currently enabled rules |
| Events Routed | All-time count of events processed |
| Disabled | Inactive rules |
Subscriptions
Each subscription defines a routing rule:
| Column | Description |
|---|---|
| Name | Descriptive name for the rule |
| Event Types | Which events trigger this rule (e.g., print.job, order.paid, fiscal.submit) |
| Target Queue | Where matched events are routed |
| Sample Rate | Percentage of events to process (100% = all, 40% = sampled) |
| Delay | Time to wait before processing (e.g., 10m for batching) |
| Events | Count of events received |
| Status | Toggle on/off |
| Actions | Edit, Delete |
Built-in Subscriptions
| Subscription | Event Types | Purpose |
|---|---|---|
| All Printers | print.job, print.receipt | Routes all print events to the print worker |
| ESD Auto Submit | order.paid | Samples paid orders for automatic fiscal submission (configurable rate and delay) |
| ESD Priority | fiscal.submit | Immediate fiscal submission at 100% rate for manually triggered fiscal receipts |
Custom Routing Rules
Click + New Subscription to create custom routing:
- Print high-value orders to head office — route
order.paidevents where total > 10,000 to a separate queue consumed by a remote printer - SMS notification after purchase — route
order.paidto an SMS integration queue - Backup fiscal submissions — route
fiscal.submitto a secondary queue for redundancy
Sample Rate and Delay
- Sample Rate — controls what percentage of events are processed by the rule. For fiscal compliance, this should always be set to 100% to ensure every receipt is submitted to the tax authority
- Delay — wait before processing. Used to allow time for voids and corrections before submitting (e.g., delay fiscal submissions by 20 minutes so cashiers can void incorrect orders before they reach the tax authority)
Remote Access
A licensed add-on providing secure VPN access to your POS server from anywhere in the world.
For full details, see the Remote Access feature page.
Key Capabilities
- Secure WireGuard tunnel to the Moneta Pay network
- Access your dashboard from any device with an internet connection
- Add up to 30 devices (laptops, phones, auditors) to your private subnet
- Private DNS — access via
your-slug.wg.moneta-pay.app
Dashboard Controls
- Register — connect to the VPN network (one-time setup)
- Toggle — start/stop the WireGuard tunnel
- Add Device — generate QR codes for new devices
- Status — view tunnel health, handshake times, and transfer stats
License & Hardware
View your subscription status, licensed features, and hardware binding information.
License Status
The header banner shows:
- License status — Valid (green) or Expired (red)
- Business name — registered business
- Expiry date — when the license expires
- Renew / Manage License — link to the Moneta Pay Portal
Upload License
Upload a renewed license file downloaded from the Moneta Pay Portal. The server validates and hot-reloads the license without requiring a restart.
Capacity Cards
| Card | Description |
|---|---|
| Active Terminals | Current / maximum POS terminals allowed |
| Max Waiters | Maximum waiter accounts |
| Grace Days Left | Days remaining in grace period (after expiry) |
| Features | Number of licensed features |
Licensed Features
Each feature shows its status (Enabled or Not Licensed). Features marked Not Licensed show an Unlock button linking to the portal to purchase the add-on.
| Feature | Description |
|---|---|
| Basic | Core POS functionality |
| Analytics | Full dashboard analytics and reporting |
| ESD / Fiscal | Tax authority fiscal compliance via Digitax (KRA, URA, etc.) |
| M-PESA | Mobile money payment integration |
| Credit Accounts | Customer tab and unpaid bill tracking |
| Smart Stock Engine | Hierarchical ingredient tracking with regex pattern matching |
| CCTV Overlay | Link camera feeds to transactions |
| Remote Access | WireGuard VPN tunnel for remote management |
| Unlimited Printers | No limit on connected thermal printers |
| Multi-Branch | Multi-location support under a single organization |
| Backup | Automated data backup |
| Market Intelligence | Competitive insights and benchmarking |
Hardware Information
Displays the Hardware ID — a unique fingerprint of the server hardware. This ID is used to bind licenses to specific machines, preventing unauthorized copying.
TIP
The Hardware ID is needed when requesting a hardware-locked license from the portal. Use the copy button to copy it to your clipboard.