Logo Lanfrica

MainaE677/-etims-integration-platform

Domaine:

digital infrastructure

Type de record:

software
Créateur:
Mai
Hôte:
A multi-tenant backend that integrates with Kenya Revenue Authority's eTIMS (Electronic Tax Invoice Management System) via its OSCU/VSCU system-to-system API. ## Demo A full walkthrough: onboard a tenant, submit an invoice, watch it fail safely when it can't reach a real KRA sandbox, and see that failure surface at every layer of the system. **1. Onboard a tenant** ```powershell Invoke-RestMethod -Uri "localhost" -Method Post ` -ContentType "application/json" ` -Body '{"kraPin": "P000123456A", "businessName": "Test Traders Ltd"}' ``` ``` id : 3c2c8ea0-7656-419d-a602-40b43ba0e9b4 kraPin : P000123456A businessName : Test Traders Ltd apiKey : etk_AeNsdI98hszHBFwyRxPNHD1K3bDs4sM-ksgjibiTiLY status : PENDING_ONBOARDING ``` **2. Submit an invoice** — accepted and queued immediately: ```powershell Invoke-RestMethod -Uri "localhost" -Method Post ` -ContentType "application/json" ` -Headers @{"X-API-Key"="etk_..."} ` -Body '{"externalReference": "ORDER-1001", "totalAmount": 1160.00, "vatAmount": 160.00}' ``` ``` id : b8b83b14-ebe9-4f29-95a6-03e03f341187 externalReference : ORDER-1001 status : PENDING totalAmount : 1160.00 vatAmount : 160.00 submissionAttempts : 0 ``` **3. It fails safely** — since no real KRA sandbox is configured, the worker retries with backoff, exhausts its attempts, and the message lands on the dead-letter queue instead of being lost: **4. The dashboard confirms it** — the same failure is visible through the platform's own API, not just buried in a queue: ```powershell Invoke-RestMethod -Uri "localhost" ` -Headers @{"X-API-Key"="etk_..."} ``` ``` countsByStatus failedInvoiceIds -------------- ---------------- @{FAILED=1} {b8b83b14-ebe9-4f29-95a6-03e03f341187} ``` This is the behavior the retry/DLQ design exists for: a tax-compliance system should never silently lose an invoice, even when the downstream API is unreachable.