Queue Processing System
The eTIMS Queue Processing System is responsible for managing how transactions are submitted from ERPNext to KRA eTIMS through Slade360 Advantage. It ensures that all submissions are processed in a controlled, sequential, and reliable manner without blocking ERPNext user workflows or overloading external APIs.
How the Queue Works
When a transaction becomes eligible for eTIMS submission, it is not sent immediately. Instead, it is placed into a managed processing queue.
The queue operates as follows:
- Each eligible transaction is added as a queue entry
- A background worker processes transactions one at a time
- Each request must complete (success or failure) before the next one begins
- This ensures controlled API usage and prevents system overload
This sequential processing guarantees stability when handling high transaction volumes and reduces the risk of API throttling or submission failures.
Daily Transaction Sync
To ensure full accuracy between ERPNext and eTIMS, the system performs a daily background synchronization.
During this process:
- All relevant transactions are fetched and reviewed
- Missing or unprocessed entries are identified
- The eTIMS Ledger is updated to reflect the latest state
- Any discrepancies between ERPNext and eTIMS are flagged for correction
This ensures that the ledger always reflects a complete and up-to-date view of compliance activity.
Automatic Retry of Failed Transactions
The queue system includes an automated retry mechanism for failed submissions.
If a transaction fails due to:
- Network issues
- Validation errors
- Temporary API downtime
- Processing delays from Slade or eTIMS
It is automatically re-queued based on the configured retry schedule (hourly or daily).
The retry system ensures:
- Failed transactions are not lost
- No manual intervention is required for temporary issues
- Stable recovery from intermittent system failures