Search your own problem
SolvedFrom the firm's own write-upReceipt no. 9823
What sucked

A railcar services roll-up had bought 35 businesses across 14 locations and left each on its own Sage 300 CRE instance.

Work orders sat in RailcarRX, labor hours in ADP, and invoices and payments in Sage, with cash spread across about 90 bank accounts. No shared ID joined a service order across those systems, so management could see margins falling but could not say which jobs, shops or car types were behind it. Reporting ran through 35 Excel workbooks linked by lookup formulas and refreshed a few times a year for board meetings. On that view, paint and blast and rubber linings looked unprofitable, and management planned to cut both.

Transportation & LogisticsFinance & Accounting
What they built

ProSights created a shared work-order ID across RailcarRX, ADP and 35 Sage 300 CRE instances, tagged every service order with location, car type, car age, customer, supplier and parts, and built a four-group operating scorecard that management and the PE sponsor read from the same numbers.

What changed
About $9M of gross profit kept

Management kept paint and blast and rubber linings (about $31M a year at about 30% blended margin) instead of cutting them while most shop cost stayed

About $1.5M of EBITDA run-rate

A materials surcharge for cars over 25 years old and a price floor by car type take about $12M of older-car work from 22% to about 35% margin

40% vs 22% margin gap surfaced

The same service, rubber linings, earned about 40% outside the Northeast and 22% inside it; finance now reports margin by job across all locations

More solutions like this

See all 28 solutions for finance teams

Proof of Work, weekly

New solutions every week, and the case studies behind them.

The Pluris newsletter. What got built, what it changed, who did it. No pitches.