Customer Story · Accounting Software

An accounting software provider cuts its mainframe billing migration effort by more than half.

Industry Accounting Software Cloud Multi-Cloud Outcome Speed
2.2×
Less effort to move mainframe billing to Java — 56 engineer-weeks down to 25.5 — alongside 1.65× on a 28-year-old C++ engine and 8× on integration adapters, with CHAI™ working directly on the source.
At a glance
Challenge
2,160+ COBOL and Assembler programs on CICS, DB2 and VSAM with no automated tests, plus ~58K lines of Windows-only C++ MFC encoding statutory accounting rules.
Approach
CHAI™ derived 9 bounded contexts and a 4-wave plan, migrated waves 1–2 to Java, generated all 32 integration adapters from one pattern, and cleared the C++ engine for migration.
IBM z/OSCOBOLAssemblerCICSDB2
Result
2.2× less billing effort

Want the full success story?

The full success story — architecture details and measurable outcomes.

CHAI by CloudHedge — Agent View
/success-stories/accounting-software-mainframe-modernization/
# Accounting Software Customer Story — 2.2× less billing effort

**Industry:** Accounting Software
**Cloud:** Multi-Cloud
**Outcome:** 2.2× less billing effort

## Summary
Mainframe billing on z/OS and a 28-year-old C++ engine, each given a migration path and working Java, with 2.2× less effort on billing.

## The Challenge
A European tax and accounting software provider needed to modernize its legacy systems safely, without losing decades of embedded business rules. Two systems carried most of the risk.The first was billing: more than 2,160 COBOL and Assembler programs on z/OS, running on CICS, DB2 and VSAM, with no automated tests to prove that a migrated version behaved the same. The second was the balance-sheet engine: about 58,000 lines of Windows-only C++ MFC, 28 years old, encoding statutory accounting law that customers rely on being exactly right.A 43,000-line reactive Java service was also in scope. The question across all three was the same: what can be automated, what needs an engineer alongside the AI, and what should be left to an engineer entirely.

## The Solution
CHAI worked directly on the provider's source code and answered that question layer by layer, rather than with one estimate for the whole estate.Test harness first. Because the mainframe code had no tests, CHAI established that a golden-master regression harness had to come before any migration, so old and new outputs could be compared.Billing. CHAI derived 9 bounded contexts and a 4-wave plan from module structure and DB2 table ownership, then migrated waves 1 and 2: DB2 to PostgreSQL, MQ to Kafka, 3270 screens to REST, and a COBOL semaphore rebuilt as a Redis lock with the same semantics. It generated all 32 integration adapters from a single OpenAPI pattern — work that recurs about ten times a year.C++ engine. From the headers alone, CHAI confirmed there were no COM, MFC UI or third-party blockers, and showed that the statutory rules can be pulled out into a rule catalogue that accountants can review. The Java foundation for the engine was built.Reactive service. The 43K-line service moved to standard Spring MVC with 75% of the code untouched.

## The Outcome
Billing migration effort fell from 56 to 25.5 engineer-weeks (2.2×). The C++ engine went from 40 weeks to 24 (1.65×). Integration adapters dropped from 16 engineer-weeks to 2 (8×), a saving that repeats every time new adapters are needed. The reactive service now runs 2.1× faster on standard Spring MVC.Billing waves 1 and 2 are running in Java, the Java foundation for the C++ engine is in place, and both systems have a migration path the provider's engineers can follow.CHAI also flagged 18 of 21 statutory procedures that need encoding conversion — the kind of detail that, found mid-migration, would have put the correctness of regulated accounting output at risk. Each one is now on the plan rather than waiting to be discovered.


## Stack
- IBM z/OS
- COBOL
- Assembler
- CICS
- DB2
- VSAM
- C++ MFC
- Java 21
- Java 17
- Spring Boot
- PostgreSQL
- Apache Kafka
- Redis
- OpenAPI
- CHAI



## Contact
Book a demo: /contact/
Email: hello@cloudhedge.io