eTIMS VSCU Offline Compliance Bridge¶
The Virtual Sales Control Unit (VSCU) integration is designed for retail counters, field sales teams, and distribution depots that operate in environments with unstable internet.
Standard eTIMS OSCU integrations fail when internet connectivity drops because they require synchronous communication with KRA servers to validate every sale. The JengaStack VSCU module eliminates this bottleneck through local transaction signing and offline batch queueing.
How It Works¶
- Local Monotonic Sequencing: Every sale confirmed during offline mode is assigned a strictly incrementing, tamper-evident local sequence number.
- Local Security Storage: Invoices are signed using local cryptographic security credentials stored on the POS terminal or local server.
- Receipt Generation: Customer receipts and invoices render valid offline compliance metadata, allowing businesses to continue sales legally without delay.
- Managed Batch Transmission: Once connectivity returns, the background worker automatically flushes pending invoices in controlled batches of 20 to 50 records.
- Serial Reconciliation: When KRA returns the final Control Unit numbers, the module matches them back to the original local invoices and logs the transaction.
Configuration¶
Navigate to Accounting -> Configuration -> Settings -> KRA eTIMS VSCU.
Key Parameters¶
| Setting | Description | Recommended Default |
|---|---|---|
| VSCU Mode | Switch between Hybrid (attempt online first, fallback to offline) and Pure Offline | Hybrid |
| Batch Size | Number of transactions sent per sync request to KRA | 25 |
| Flush Interval | Time in minutes between automatic batch sync attempts | 15 minutes |
| Maximum Offline Retention | Number of days records may remain unsynced before raising an administrative alert | 3 days |
Operations & Monitoring¶
The VSCU Sync Queue¶
To view pending, synced, or failed batches, navigate to:
Accounting -> eTIMS Compliance -> VSCU Batch Queue.
From here, you can:
- Monitor batch transmission progress and timestamps.
- Trigger an immediate manual batch flush by clicking Flush Batch Now.
- Inspect detailed KRA error payloads for transactions flagged for correction.
Handling Network Reconnection¶
When your internet connection restores: 1. The scheduled cron job detects network availability. 2. The oldest queued transactions are assembled into a signed JSON batch payload. 3. The batch is posted to KRA's VSCU batch ingestion API endpoint. 4. If a transaction fails validation due to an invalid buyer PIN, it is separated into an exception table for manual review, while valid transactions proceed.