Architecture

Information system


The complete map of the system — its channels, its users, its six module families, its service core, its data, its security and its infrastructure.

An architecture describes components. An information system describes how they hold together: where you enter, who does what, what is computed at the centre, what is retained, and what flows out. That is the view an auditor, a regulator or a future successor asks for — and it is the one most often missing.

Access channels

  • WebWeb application
  • Mobile AndroidMobile app
  • Mobile iOSMobile app
  • Branch portalDedicated space
  • Customer portalLookup & tracking
  • Admin interfaceSystem administration

System users

  • Platform administrator
  • Chief executive
  • Chief financial officer
  • RBT manager
  • Compliance officer
  • Branch manager
  • Supervisor / Teller
  • Accountant
  • Auditor
  • IT support

AiO information system

01 · Financial operations

  • Money transfers
  • Mobile Money
  • Bill payment
  • Airtime top-up
  • Bureau de change
  • Visa cards
  • Other services

Western Union · MoneyGram · Ria · JUBA · KORI · Small World

02 · Network & treasury

  • Branch management
  • Till management
  • Multi-currency treasury
  • Bank accounts
  • Reconciliations
  • Liquidity & position
  • Internal transfers

Tills: open / close, in / out, discrepancies & approvals

03 · Finance & accounting

  • Chart of accounts
  • Accounting journals
  • General ledger
  • Customer & partner accounts
  • Financial statements
  • Budgets & forecasts
  • Accounting export & integration

04 · Risk, compliance & security

  • KYC (Know Your Customer)
  • AML/CFT
  • Transaction monitoring
  • Risk engine & scoring
  • Alerts & cases
  • Audit logs
  • Fraud management
  • Regulatory compliance

05 · Data & intelligence

  • Document management
  • Business intelligence
  • Custom reports
  • Advanced analytics
  • Forecasting
  • Anomaly detection
  • Assisted recommendations
  • Data warehouse

06 · Configuration & administration

  • General settings
  • Users & roles
  • Partner management
  • Exchange rates & currencies
  • Limits & commissions
  • Workflows & approvals
  • Logs & journaling
  • Maintenance & updates

Shared services layer — core

  • Business rules engine
  • Transaction management (ACID)
  • Workflows & automation
  • Notifications & alerts
  • Documents & files
  • Messaging & communication
  • Reporting & export engine
  • Cache & optimisation

Data persistence

  • Relational databasePostgreSQL
  • Data warehouseAnalytics
  • Document storageSecured
  • Backups & replicationWAL · PITR
  • Archiving & historyLegal retention

Security & control

  • Strong authentication (MFA)
  • Role management (RBAC)
  • Encryption in transit and at rest
  • Audit & traceability (immutable logs)
  • Monitoring & supervision
  • Sessions & permissions
  • Continuity & recovery (BCP/DRP)
  • Compliance (GDPR, AML-CFT)

Infrastructure & deployment

  • On-premise
  • Private cloud
  • Public cloud
  • Hybrid
  • Containers
  • Orchestration
  • High availability
  • Infra & app monitoring

Steering & governance

Revenue
84 256 480XAF+24,6 %
Transactions
12 842+18,2 %
Commissions
3 256 780XAF+15,3 %
Active branches
42 / 4887 %

Illustrative values, unrelated to real data.

  • Executive dashboards
  • Alerts & notifications
  • Command centre
  • Reports & statistics

Integrations & ecosystem

Transfer partners

  • Western Union
  • MoneyGram
  • Ria
  • JUBA
  • KORI
  • Small World

Banks & partners

  • Local banks
  • International banks
  • Financial partners

Mobile Money

  • Orange Money
  • Wave
  • MTN Mobile Money

Other services

  • Bill payment
  • Telecoms
  • Cards & payments

APIs & connectors

  • API REST
  • Webhooks
  • SFTP
  • MQ

Main flows

  • User flows
  • Integration & partner flows
  • Financial data flows
  • Control & compliance flows
  • Cross-cutting flows (services)

Access channels

Six ways in, a single system behind them. The web application and the two mobile applications serve the counter; the branch portal gives each point of sale its own space; the customer portal opens lookup and tracking; the administration interface stays separate from the other three.

None of these doors owns its data. They all read and write into the same foundation — which is what makes any gap between what a teller sees and what their director sees impossible.

System users

Your specification defines eleven roles. The map above shows the ten profiles that access the system directly; the table below sets out, for the main ones, the data responsibility attached to them — not merely screen rights.

RoleData it answers for
Super Administrator (publisher)Cross-cutting reference data: countries, currencies, partner catalogues. No access to a client's business data.
General AdministratorBranches, users, roles, partner configuration for its organisation
Finance DirectorChart of accounts, entries, trial balances
Compliance OfficerCustomer files, alerts, decisions and filings
RBT ManagerOperations, statements, reconciliations, incidents
Branch ManagerTill sessions, discrepancies, approvals within its perimeter
AuditorRead-only across everything, with no exception and no blind spot

The rule that binds them: whoever enters never approves. Above a configurable threshold, a second signature is required — and it is recorded.

The six module families

They cut the system into clean boundaries: financial operations, network and treasury, finance and accounting, risk and compliance, data and intelligence, configuration and administration.

This split is not a presentation convenience — these are the internal boundaries of the code and the layout of the repository you will receive. Each module is detailed on its own page.

The core: the shared services layer

This is the level diagrams most often omit, and the one that decides the coherence of the whole. Business rules engine, ACID transaction management, workflows, notifications, documents, messaging, reporting, cache.

Each of these services is written once and called by the six families. A commission rule therefore exists in a single place: changing it changes it everywhere, with no need to remember which modules used it.

Data: written once, read many

Not all AiO data is alike. Confusing the kinds is the mistake that produces those systems where the dashboard shows one figure and the accounts another.

We distinguish four natures, each with its own rules:

Master dataEditable, versioned, never deleted

Countries, currencies, rates

A country carries its currency, compliance reference and thresholds. FX rates are versioned: yesterday's operation reads back at yesterday's rate.

Super Adminpermanent · historised

Software clients, branches

Each AiO client is a sealed space in the database. Its branches attach to a country and a currency.

Admin Généralpermanent

Users, roles, rights

The 11 roles from the specification. A right is always a triple: role × branch × ceiling.

Admin Généralpermanent · every change logged

Partners and their rate cards

One file per partner: reference format, corridors, commission tiers, splits, ceilings, import method. Versioned — a six-month-old commission stays explainable.

Admin Généralpermanent · versioned

Chart of accounts

The accounting backbone. One account per branch, currency and partner. An account is deactivated, never deleted.

Directeur Financierpermanent
TransactionalWritten once, never modified

End customers & KYC

Identity, secondary identifiers, supporting documents. Corrections create a version, they do not overwrite.

Conformité10 years after last operation

Operations

The business event: send, payout, FX, bill, top-up. Carries its idempotency key and entry origin — API, import or manual.

RBT10 years

Ledger entries

The source of truth. Two postings minimum, summing to zero, no modification possible. A correction is a reversal linked to the original.

Directeur Financierpermanent

Till sessions

Opening, physical count, variance, close. A closed session cannot be reopened.

Chef d'Agence10 years

Statements & matches

Imported partner files, their lines, and the three-way match. The raw statement is kept exactly as received.

RBT10 years · source file archived
LogsAppend-only, chained, retained

Audit trail

Each row seals the previous one by cryptographic hash. Any tampering becomes detectable by a third party.

Auditeur10 years · tamper-evident

Compliance alerts & decisions

Sanctions matches, structuring detected, filings. A dismissed alert is documented as carefully as a confirmed one.

Conformité10 years · reason mandatory

Technical log

Application errors, sync failures, integration incidents. Never contains customer data in clear.

Support IT90 days
DerivedRecomputable, disposable, never a source

Aggregates & reports

Balances, trial balances, statistics, dashboards. Fully recomputable from the entries: if all were lost, nothing would be lost.

recomputed · not backed up

Liquidity forecasts

Cash and float needs at D+1 and D+3, computed from history per branch and weekday.

continuously recomputed

The rule that governs the whole system — Only transactional data is written, and only once. Master data is versioned, logs are appended, and everything derived is recomputable. A report is never a source: if the entire reporting database were lost, a single rebuild from the ledger would restore it identically.

Reference data changes, but is versioned. A commission rate card changes; the one from six months ago must remain readable, otherwise an old commission becomes inexplicable. An exchange rate is updated; yesterday's operation is read back at yesterday's rate. Reference data is never modified — a new version is created.

Transactional data is written once and never moves. This is the core. An accounting entry, a closed till session, a validated operation: none of these is modifiable. A correction creates new data linked to the old.

Logs only ever append. The audit log is cryptographically chained: each row carries the fingerprint of the previous one. Any alteration of history breaks the chain and becomes detectable — by you, or by an external auditor who does not have to trust you.

Derived data is disposable. Balances, trial balances, statistics, dashboards, projections: everything recomputes from the entries. That is what makes the classic gap between what the screen shows and what the accounts say impossible — since the screen is the accounts, read differently.

The test that validates the architecture. If the entire reporting database were destroyed — every report, every aggregate, every dashboard — a single rebuild from the ledger would restore them identically. Nothing would be lost. No system in which reporting is a source of truth can say the same.

Retention and purging

The periods are not decorative: they answer regulatory obligations that vary from country to country.

  • Accounting entries: kept permanently. They are never purged.
  • Operations, customer files, supporting documents: ten years after the last operation, adjustable per country.
  • Audit log: ten years, unalterable.
  • Technical log: ninety days. It never contains customer data in clear.
  • Derived data: no retention. It recomputes.

A purge never erases an entry: it archives the peripheral data whose legal period has expired, while keeping the record of the purge itself.

Security & control

Strong authentication, roles, encryption in transit and at rest, immutable traceability, monitoring, continuity. The detail is on the Security & compliance page.

One point deserves to be isolated here, because it conditions reselling the product.

Isolation is set in the database, not in the application code. AiO is intended to be deployed at several organisations: isolation is therefore not a precaution, it is the product itself. Each row carries its owning organisation, and a security rule at engine level filters systematically. Even if the application code contained a flaw, the database would not return another organisation's rows.

That is what makes a multi-tenant deployment defensible before a third party — a partner, an auditor, or the organisation itself.

Infrastructure & deployment

The software is containerised, therefore indifferent to where it is hosted: local server, private cloud, public cloud or hybrid. That decision is yours and is taken at framing, because it commits both cost and data residency.

Integrations & ecosystem

Six transfer partners, banks, Mobile Money, ancillary services — all reached through a single configured module, not six separate developments. Feed levels and access conditions are detailed on the Partner integration page.

Steering & governance

Executive dashboards, alerts, reports and statistics are not a separate layer: they are readings of the ledger and of operations. They hold no truth of their own, and that is precisely what guarantees they cannot diverge from reality.

What this gives you on inspection day

A regulator, a partner bank or an auditor never asks "show me your software". They ask for a reconstitution: that day, that operation, that customer. Who did what, when, on which machine, approved by whom, and under which rule in force at that time.

That is precisely what this information system makes possible — and what no spreadsheet, and no database whose rows can be edited, will ever produce.