
Integrations & Fiscalization
Connect Ustawi to the systems your lending operation depends on.
Send fiscalizable transactions to TRA through your configured fiscal path, match mobile-money repayments to loans, and track every webhook — each reconciled to the ledger, with failures you can retry.
- Fiscal receipts
- 99.1% accepted by TRA
- Mobile-money repayment
- Matched to the loan
- Webhook deliveries
- Logged with every retry
Receipts, payments and ledgers that stay in sync
Ustawi connects fiscalization, payment collection and external systems to the transaction that created them — with delivery status, reconciliation and audit history at every step. Three pillars, one source of truth: reconciliation ties them all back to the ledger.
Fiscal receipts for fiscalizable transactions
Repayments collected and matched
Events pushed to external systems
Before, and with, Ustawi
Drag the slider: the same repayment, reconciled in a spreadsheet versus reconciled in Ustawi.
| MP-4821 | LN-2318? | 250,000 | receipt? |
| MP-4823 | 250,000 | — | missing?? |
| MP-4824 | 220,000 | 200,000 | #REF! |
| PMT-7812 | unknown ref | — | ask finance |
Follow one transaction out and back
From loan transaction to fiscal receipt
A lender charging fees and interest has fiscalizable transactions too. Ustawi routes the transactions that require fiscalization through the connected fiscal service — a direct TRA API or an approved VFD/fiscal-service provider, configured per institution — and links the resulting fiscal record back to the transaction that created it.
Tap a stage to stop on it. Hover pauses the animation.
Only fiscalizable transactions are routed; the fiscal path (direct TRA API or VFD/provider) is configured per institution.
A fiscal receipt tied directly to the transaction
The fiscal receipt is not a separate document to chase — it is generated from the transaction and linked back to it, with its verification code on the record.
| Loan processing fee | TSh 100,000 |
| VAT (18%) | TSh 18,000 |
| Total | TSh 118,000 |
The verification code links to TRA's receipt-verification service; Ustawi does not display a TRA logo or imply certification.
From borrower payment to loan account
An incoming repayment flows from the payment channel into Ustawi, is matched to the borrower and loan, allocated across principal, interest and fees, applied to the balance and posted to the ledger — automatically where the reference matches.
Allocation follows the loan product and configured accounting.
Ustawi doesn't just receive payments — it reconciles them
Against what was expected, Ustawi shows what was received, what is missing and what came in short — so a payment discrepancy is a line on a reconciliation, not a surprise at month-end.
| Reference | Expected | Received | Status |
|---|---|---|---|
| MP-4821 | TSh 250K | TSh 250K | Matched |
| MP-4822 | TSh 180K | TSh 180K | Matched |
| MP-4823 | TSh 250K | — | Missing |
| MP-4824 | TSh 220K | TSh 200K | Difference |
Every webhook has a delivery record
Outbound integrations are not fire-and-forget. Every event is logged with its endpoint, status and attempts — so a failed delivery is visible and retried, not silently dropped.
| Event | Endpoint | Status | Attempts | Time |
|---|---|---|---|---|
| loan.disbursed | CRM | 200 | 1 | 18:42 |
| payment.received | Analytics | 200 | 1 | 18:44 |
| receipt.created | ERP | 200 | 1 | 18:45 |
| payment.posted | CRM | 200 | 3 | 18:46 |
- 18:46502
- 18:47502
- 18:49200
One transaction, one complete chain of events
Ustawi manages the whole integration lifecycle of a single transaction — received, validated, matched, allocated, posted and pushed onward — each step stamped to the second.
- Payment received
- Connector validated
- Borrower matched
- Loan allocation created
- GL posting created
- Webhook sent
- Webhook delivered
One transaction, one complete trail — through to the ledger
Fiscalization isn't a separate island from accounting. The same transaction ID runs from the fee, through the fiscal receipt and tax posting, into the general ledger and the audit history.
| Dr | Borrower receivable | TSh 118,000 |
| Cr | Fee income | TSh 100,000 |
| Cr | VAT payable | TSh 18,000 |
The exact accounts and VAT treatment match your configured accounting — see General Ledger & Finance.
See, investigate and recover
One control center for every integration
Above every connector sits a single view of the day's activity — fiscal transactions, payment events, webhook deliveries and the reconciliation exceptions that need a look — plus the live status of each connector.
| Connector | Status | Today | Failed | Last sync |
|---|---|---|---|---|
| TRA EFD/VFD | Connected | 1,842 | 5 | 18:54 |
| Mobile money (primary channel) | Connected | 2,840 | 3 | 18:53 |
| Mobile money (secondary channel) | Connected | 1,444 | 2 | 18:51 |
| CRM webhook | Connected | 1,240 | 0 | 18:54 |
The actual connector set is confirmed per institution; specific mobile-money providers are not listed until finalized.
Exceptions you can see, investigate and recover
When an external system times out, a payment can't be matched, or a webhook fails, it becomes an exception with a reason and an action — not a silent gap someone finds weeks later.
Connection timeout · 2 attempts
Unknown payment reference
502 Bad Gateway
Configure and monitor each connector's health
Each connector has its own settings and health — the environment, the identifiers, and the last successful exchange — so an integration problem is diagnosable from one screen.
The exact fields and connectors available are confirmed per institution.
Integration health, each layer distinct
Three different things, shown separately: Ustawi's own service status, each connector's status, and the external response status. Ustawi publishes an uptime target for its own service — it cannot guarantee an external authority's availability, so those are never conflated.
See your own connectors, receipts and exceptions in one control center.
APIs, webhooks and security
Connect Ustawi to your existing systems
For technical teams, Ustawi exposes documented APIs and webhooks with authenticated access — so you can integrate Ustawi with the systems you already run, and see exactly what was sent and whether it arrived.
Access Ustawi data and events through documented endpoints.
Receive real-time events when supported events occur.
Connect external payment and business systems.
Track delivery, attempts and failures.
Security around every integration
This app handles financial and payment data, so the controls are part of the design — authenticated connections, protected credentials, and an audit history on every event.
Connected across the Ustawi platform
Integrations & Fiscalization is the layer between Ustawi and the outside world — and it reconciles everything it handles back to the same ledger the rest of the platform runs on.
Fiscal and payment events reconcile to the ledger.
Explore app →Mobile money repayments post against the loan.
Explore app →The fees and transactions that get fiscalized.
Explore app →Tenant isolation across every connector.
Explore app →Getting live
How we get you live
A structured rollout, from mapping fiscalizable transactions to running connectors live with monitoring.

- 01Discover
Map fiscalizable transactions, payment channels and the systems to integrate.
- 02Configure
Set the fiscal path (TRA API or VFD/provider), connectors and webhooks.
- 03Connect
Establish authenticated connections and test each connector.
- 04Reconcile
Validate fiscal, payment and webhook flows against the ledger.
- 05Pilot
Run live transactions through the connectors with monitoring on.
- 06Go live
Operate at volume, with exception recovery and support on hand.
See Integrations & Fiscalization in a live demo
Request a DemoFrequently asked questions
The transactions that require fiscalization — fees, interest and other fiscalizable charges. Ustawi routes those (not every loan transaction) to the connected fiscal service.