MTN · Telecommunications

Omni-channel sales and commerce platform

Point of sale, consumer e-commerce, marketplace, promotions, logistics, inventory and field sales on one shared platform of around forty services and user interfaces.

Scope~40 services and UIs
ChannelsPOS, web, mobile, marketplace, field
RoleDesign, build, operate
StatusLive and evolving

The challenge

The client sells products and services through a large indirect channel of distributors, retailers and service centres, directly to consumers online, through a marketplace of third-party vendors, and through field staff. Each channel had grown its own systems and integrations. They needed a single platform every channel could transact on, with the regulatory controls, financial rigour and integration depth their market demands.

What we built

A shared microservice platform reached through a gateway and backend-for-frontend layers, surrounded by the channel products:

  • Digital point of sale for the full partner hierarchy: sales, customer registration with identity verification, post-sale services, wallets, commissions and a partner loyalty club.
  • Consumer e-commerce on web and mobile with a back-office console for order operations.
  • Multi-vendor marketplace with customer, vendor and admin panels, also embedded inside the point of sale.
  • Promotions engine with a single validate, redeem and revert contract used by every channel.
  • Logistics and inventory: last-mile delivery through post, couriers and on-demand partners, and a serial-level stock ledger with distributor ordering.
  • Field sales application for merchandising visits with GPS and photo evidence.

The gateway isolates channels from provisioning and billing systems, the national identity-verification service, five payment gateways and a national payment switch, a buy-now-pay-later provider, an Oracle-based ERP and messaging platforms.

Engineering decisions that mattered

  • A strict storage split: documents in MongoDB, money and audit in PostgreSQL, Redis for cache and queues, object storage for files, Elasticsearch for search.
  • Orchestrator services that fan out to domain services, keeping channel apps thin.
  • Event streaming on Kafka where ordering and fan-out matter (marketplace orders, logistics).
  • Observability everywhere, so a failed transaction is traceable across the platform.

The platform is live and in continuous evolution; our team operates it and runs the modernisation programme replacing its oldest components.

We'd love to hear from you!

Whether you have a question about our services and solutions or want to discuss a potential project, feel free to reach out.