[ Case Study ]
FIRS e-invoicing: two months, six teams, one statutory deadline
01[ Context ]
In 2025, FIRS mandated that large taxpayers integrate their billing systems with the FIRS platform before January 1, 2026. The deadline was statutory. No extensions, no phased options, no room to negotiate.
As hybrid BA and PM, I owned the delivery: coordinating six core teams across Finance, Tax, IT, Compliance, and Procurement, alongside Qucoon as the bank's external Access Point Provider, to stand up a working end-to-end e-invoicing solution in two months.
02[ Business Problem ]
Non-compliance on January 1 meant regulatory penalties for a Tier 1 bank, with no grace period. The compliance problem was straightforward to state and hard to deliver: get every in-scope invoice flowing from the bank's ERP source system to the FIRS platform, validated, auditable, and on time.
Two things made it hard. The gap between what the FIRS circular said and what the systems actually needed to do was wider than it looked on paper. And the organisation had no natural program owner for a mandate that cut across Finance, Tax, IT, Compliance, and Procurement at once.
03[ Constraints ]
- A statutory, immovable deadlineJanuary 1, 2026 was set by law. Every scoping, architecture, and testing decision was made against a date that could not move.
- No direct ERP integration in the windowEarly in requirements gathering it was clear a direct ERP integration could not be delivered in two months. The architecture had to work around the ERP, not through it.
- Auditability was non-negotiableWhatever interim mechanics moved the data, every transaction needed a defensible audit trail tied to FIRS validation rules and transaction types.
- Six teams, different reporting linesFinance, Tax, IT, Compliance, Procurement, and an external provider, none of whom reported to the same leadership chain, all on one critical path.
04[ Stakeholder Landscape ]
Six core stakeholder groups: Finance, Tax, IT, Compliance, Procurement, and Qucoon as the external Access Point Provider. With no natural program owner, I set up the governance structure from scratch: a cross-functional RACI and a delivery tracker that gave every team clarity on its dependencies and kept leadership informed without turning every update into a meeting.
The Qucoon relationship was its own workstream. I ran the technical alignment sessions between the bank's IT team and theirs to resolve ambiguities in the NRS Merchant Buyer Solution specs, agree error-handling behaviour, and lock down the data mapping before UAT started.
05[ Research ]
The first deliverable was regulatory interpretation: working with Tax and Compliance to translate the FIRS technical specification into requirements the IT team and Qucoon could actually build against. This was genuine analysis work, not transcription. The circular described obligations; the systems needed field-level mappings, validation rules, rejection-and-resubmission behaviour, and audit trail requirements per transaction type.
That interpretation document became the anchor for everything downstream: the BRD, the integration spec with Qucoon, the data mapping and field validation matrix, and the UAT scenarios mapped directly to FIRS validation rules.
06[ Strategy ]
Compliance first, elegance later. The strategy accepted an interim architecture that could be delivered inside the window, provided it was auditable end to end, and deliberately deferred the ideal long-term ERP integration to a later phase. The two-month plan ran regulatory interpretation, governance setup, integration build, and UAT as overlapping workstreams rather than sequential phases.
The final week of December 2025 was reserved for a full end-to-end simulation, so the statutory date arrived with the pipeline already proven rather than hopefully assembled.
07[ Options Considered ]
- option 01Direct ERP integrationThe correct long-term design: billing data flowing straight from the ERP into the transmission layer. Ruled out for launch because it could not be delivered inside the two-month window, and missing the window meant penalties.
- option 02Wait for clarity or negotiate timingNot an option. The deadline was statutory with no extensions or phased alternatives, and treating ambiguity in the specification as a reason to pause would have converted interpretation gaps into compliance gaps.
- option 03Interim automated pipeline around the ERPThe chosen path. A workflow automation tool pulling data from a file manually exported from the ERP, feeding the data reservoir for onward transmission to a downstream data warehouse and, through Qucoon, to FIRS. Not the ideal end-state, but deliverable, auditable, and on time.
08[ Trade-offs ]
- Interim architecture over ideal designThe file-export-and-automation workaround carried a manual export step and technical debt by design. The alternative was an elegant integration delivered after the deadline. On-time compliance with a documented migration path won.
- Overlapping workstreams over sequential certaintyRunning interpretation, build, and UAT preparation in parallel compressed the timeline but meant requirements were still firming while integration work started. The RACI and delivery tracker existed precisely to keep that compression from becoming chaos.
- Facilitated consensus over top-down mandateWith six teams and no shared reporting line, decisions like the workaround architecture were landed through structured working sessions rather than decree. Slower per decision, but every team owned the outcome, which is what held under deadline pressure.
09[ Delivery Process ]
- 01. Regulatory interpretationTranslated the FIRS technical specification into buildable requirements with Tax and Compliance, closing the gap between what the circular said and what the systems needed to do.
- 02. Governance from scratchStood up the cross-functional RACI and delivery tracker across six teams with different reporting lines and no natural program owner.
- 03. Workaround architectureFacilitated the sessions that landed the interim design: a workflow automation tool pulling from a manually exported file of ERP data into the data reservoir for onward transmission to a downstream data warehouse.
- 04. Qucoon integration workstreamRan technical alignment between bank IT and Qucoon to resolve NRS MBS spec ambiguities, agree error-handling behaviour, and lock the data mapping before UAT.
- 05. UAT across Finance and Tax OperationsMapped test scenarios directly to FIRS validation rules: edge-case invoice formats, rejection-and-resubmission flows, and audit trail requirements per transaction type.
- 06. Simulation and cutoverLed go-live readiness including a full end-to-end simulation in the last week of December 2025, then cutover on the statutory date with post-launch service monitoring.
10[ Technical Architecture ]
Invoice data originates in the ERP and is exported to a file staging store, where a workflow automation tool picks it up and feeds the data reservoir for onward transmission to a downstream data warehouse. From there, the transmission layer hands off to Qucoon as Access Point Provider, which submits through the NRS Merchant Buyer Solution to FIRS for validation.
The transmission layer earned its own post-go-live chapter. The original cron service pushed 100 transactions per second, but production volume running into the millions was more than it could sustain. The fix was parallelism: multiple microservices deployed to distribute the processing load and reach the throughput the business needed.
Access Point
Qucoon (APP)
Integration
NRS Merchant Buyer Solution (MBS)
ERP
Existing ERP platform (source system, not replaced)
Automation
Workflow automation tooling
Interim Data Layer
File staging store feeding a downstream data warehouse
Transmission
Microservices (parallel processing)
Project Tracking
Jira + Confluence
Collaboration
Microsoft Teams + SharePoint
11[ Outcomes ]
Full regulatory compliance on Day 1, with the first submission validated by FIRS on January 1, 2026, and zero penalties incurred. The workaround architecture got the bank there on time without compromising auditability. When the transmission bottleneck surfaced post go-live, it was caught, escalated, and resolved through parallel microservice deployment before it created a compliance gap.
The project ran to deadline with six teams aligned across Finance, Tax, IT, Compliance, Procurement, and a third-party Access Point Provider.
Artefacts delivered
12[ Metrics ]
13[ Lessons Learned ]
- A deadline you cannot move changes what "good architecture" means. The right design was the one that was compliant, auditable, and live on January 1, not the one that would look best in a diagram.
- When no one naturally owns a mandate, governance is the first deliverable. The RACI and delivery tracker did more for the timeline than any individual technical decision.
- Regulatory text is a starting point, not a specification. Budgeting real analysis time for interpretation is what kept the build aligned with what FIRS would actually validate.