In 2024, some of Nigeria’s biggest banks decided unanimously to change core software that powered their banking activities. In the newsroom, we embarked on a project in response, to demystify these core banking software to our audience and to explain the implications of the change.
It was after the project I encountered Albert Iloh, who had spent the five years prior selling Union Systems, Nigeria’s first indigenous core banking software, to fintechs and banks alike. I was intrigued by the idea of a local alternative to international software like Finacle and Finastra because local alternatives rarely came up in my earlier conversations with banking experts.
Union Systems’ CEO, Chuks Onyebuchi, is my guest on the Day 1-1000 column. He shares with me how the company, which was first established in 1994 as a local partner to international core banking software providers, morphed into Nigeria’s first finance trade system.
This is the story of Union Systems as told to .
Day 1: Emerging from the shadows
For more than two decades, Union Systems lived in the shadows.
We were the local face of a global software giant, installing and implementing core banking systems for Nigerian banks. We had no product of our own. Every pitch, every integration, every bank knew us by our partner’s name, not ours. If they ever dropped us, we’d be erased.
But in 2017, we finally got a shot by solving a problem nobody else could solve. That piece of uncertainty gave us the chance to become a company with a name, a product, and a future. The journey would nearly break us. But it also saved us.
Earlier in 2016 we had helped our foreign partner close a $30 million core banking deal with one of Nigeria’s biggest banks, Zenith Bank.
The scope was massive: every layer from trade finance (financial services and products—like letters of credit and guarantees—that help companies buy and sell goods internationally) to treasury, risk, and corporate channels (digital and physical platforms that allow business clients to access banking services and manage their accounts).
As Union Systems, we were tasked with implementing the International Trade Finance (specialised banking services and tools that support cross-border trade) and Corporate Channels modules. But when we reached user acceptance testing, the bank said something we didn’t expect: the Trade Finance module failed. Not just in a few places but across more than half of their requirements.
The problem was structural. The bank had previously cobbled together six siloed applications to handle the unique requirements of Nigerian trade finance: form M compliance, bidding processes for FX access, local regulatory reporting. These nuances don’t exist in Europe or Asia. The software we were deploying, built for international trade finance, didn’t speak the language of Nigerian regulation.
So the bank came to us: could we unify those six legacy systems into one Nigerian Trade Finance solution and then integrate it with the foreign software?
We said yes.
We didn’t even know how we were going to achieve it. We had no product or roadmap. But we said yes anyway.
Day 730: From Zero to TradeX
We called it TradeX, short for Trade Extra. It wasn’t yet a product, just a bridge. Our team began meeting with the silo owners, many of whom saw us as a threat to their jobs. They fed us half-truths, vague specs, and occasional sabotage. Still, we kept asking questions, diagramming workflows, writing code.
We worked under an impossibly tight deadline. Zenith Bank, the client, wouldn’t shift their go-live date because it had been approved by the board. Our consultants moved into nearby hotels, working night and day to reverse-engineer local operations and write them into a single platform. We were about 30 employees at the time.
TradeX wasn’t just a plug-in for the bank, it was a survival plan. At that point, our entire revenue came from our foreign partner. But we knew if we nailed this, we’d no longer be “the guys implementing someone else’s software.”
Two years later, Zenith went live. Our foreign partner protested. They sent a formal letter to the bank urging them not to deploy without their approval. But we were on the ground, and the CIO trusted us. The system launched and stabilised. That was the first day we felt like we owned something real. That was one of the happiest moments of my life; I was so relieved.
But our partners weren’t happy. The scope creep, the growing independence, the fact that a Nigerian company had pulled off what they couldn’t, it strained our relationship.
After we fulfilled all contractual obligations for the Zenith Bank deal, we walked away.
We then productised TradeX. Not just as a patch for foreign systems, but as a modular solution that could plug into any bank’s core, local or global. Our pitch was simple: “Tell us what trade module your core banking uses, we’ll plug Nigeria into it.”
That pitch won us a bid with FCMB in 2020. Our foreign partners also submitted a proposal but we won. Then Coronation Merchant Bank signed on. Again, we went head-to-head with our former principals. And we won again.
FCMB pushed us further. Rather than integrating TradeX into their existing system, they asked: “Can you write everything that’s missing in TradeX and make this a standalone trade finance product?”
So we did. What began as a plugin was now a full-fledged end-to-end application.
Day 1096: The Birth of Kachasi
But we had one more evolution to go. The truth is, TradeX was still written on top of someone else’s foundation. Its architecture wasn’t ours. So we paused. We split our teams. While one team supported existing clients, the other began writing from scratch. The result was Kachasi.
Kachasi was built to be fully independent, process-driven, and modular. It wasn’t just compliant with Nigerian requirements, it was global, service-oriented, multilingual, and front-end configurable. You could initiate a transaction from your home, through any channel, and track every step.
Fidelity Bank became its first major user. They stressed it, scaled it, and renewed after five years. That renewal was everything. It said: this works.
We didn’t stop at trade finance. Today, Union Systems builds specialist banking infrastructure, products no Nigerian company had dared touch.
We launched: Egora, a treasury management platform for bonds, derivatives, fixed income, and money markets; Sakobia, a Swift messaging engine that converts between legacy MT formats and the new ISO 20022 standard; Tentacles, a middleware layer that connects any of our systems to any core banking software; ISURA, a real-time support portal and issue tracking knowledge base; Courier, a full-stack judiciary management platform that digitizes court operations, transcribes live hearings, and provides judges with searchable records.
But trade finance remains our beating heart. We now run trade systems for seven Nigerian banks. It’s still our biggest revenue driver and our greatest proof of relevance.
Present day: breaking the bias
Despite our success, we still walk into meetings where clients ask: “Which part of your software is really yours?” or “Did you just customise someone else’s product?”
For years, no indigenous company had written enterprise software in these spaces. Trade finance, treasury management, these were domains reserved for foreign vendors. But we knew the local market better. We understood the form M process, (the official Nigerian procedure where importers must submit detailed documents through a bank to get government approval before bringing goods into the country). the FX bidding rituals, the end-to-end regulatory flow. No foreign software does.
Eventually, the market came around. Two banks have now renewed their licenses after five years, one of them citing a direct increase in LC commission revenue (the fees banks charge for handling letters of credit, which are documents that guarantee payment in international trade) due to our system.
We still get pushback. But now we have case studies, references, and metrics. What we no longer need is permission.
The biggest lesson? Don’t give up. I chased that $30 million deal for over two years. When we got the TradeX letter of award, I didn’t know how we’d pull it off. Even midway through development, when early demos were full of bugs, I thought about quitting. But something told me: if we back down, we lose our chance at identity. Half the time, we were debugging systems full of holes. The other half, we were managing egos, navigating office politics, and pacifying foreign partners who wanted us to stay small.
But we kept moving.
When you’ve been renting your whole life, and someone offers you a sliver of land, you put everything into building on it. We spent every kobo we earned from the $30 million deal reinvesting in TradeX. We bet the house. And it worked. Today, when we enter a bank’s boardroom, they know our name. Not our partner’s. Ours.
Mark your calendars! Moonshot by is back in Lagos on October 15–16! Join Africa’s top founders, creatives & tech leaders for 2 days of keynotes, mixers & future-forward ideas. Early bird tickets now 20% off—don’t snooze! moonshot..com