Book a demo

Case studiesConstruction accounting

Financial reports without waiting on a developer

Every financial report was built by hand, and every new question waited on someone technical.

Client
Construction accounting software company
Scale
Large construction projects
Work
Financial reports from accounting data
Questions
Asked in plain English
Status
Delivered

Our client makes accounting software used on large construction projects. Its customers depend on standard financial reports, such as billings aged by customer, pulled from very large accounting databases.

Every report was written by hand as its own piece of code. If someone needed a number that wasn't in an existing report, they had to wait for a developer to write a query. The same work was redone over and over, it was slow, and every manual step was a chance for an error in the numbers.

We built one report engine that produces every report the same way. Each report is set up once, with a short description of which records it uses, what totals it calculates and what date range it covers, instead of being written as separate code.

On top of that, we added a way for staff to ask questions about the numbers in plain English and get answers from the same data.

Here's how it works, start to finish:

  1. A report is requested. For example, billings aged by customer for last quarter.
  2. The report's setup is looked up. Each report was set up once with the records it needs, the totals to calculate and the date range.
  3. The records are pulled. The engine pulls those records from the accounting database. No one has to write a query.
  4. The totals are calculated. Totals, days outstanding and date-range sums are calculated the same way every time, so everyone gets the same answer.
  5. The report is produced. The finished report comes out in the same layout every time, ready to send to the customer.
  6. Questions in plain English. For numbers that aren't in any report, staff type a question in plain English. It's turned into the right lookup against the same data, and the answer comes back with the numbers.

Reports are now set up in one place and refresh on a schedule. When someone needs a number that isn't in a report, they ask for it instead of waiting on a developer.

What this looks like for your business

This project was for a far larger operation than most Midwater customers, and the same idea scales down. For a contractor, it means the reports you check every week are built from your own records on a schedule, and you can ask a question about your numbers without digging through spreadsheets. That's a custom build, set up on your own records.

How it was built

This project was more involved than most Midwater setups. Most customers start with a single service and are live in a week.

What job would you hand to an agent?

More case studies