Quoting Software for a Roofing Contractor That Outgrew Excel

A European roofing and assembly contractor priced every project in spreadsheets that had grown for years and that only their author could safely touch. Today a quote is assembled from the latest purchase prices, locked the moment it is approved, and turns into the live project with one click — material orders, assembly tracking and the legally required site diary included.

NDA

This client operates under a strict NDA. We respect their privacy and protect their business secrets, so we can’t share details about the project.

Quoting Software for a Roofing Contractor That Outgrew Excel
Business DigitalizationCustom Software DevelopmentConsultations & AnalysesProduct Development

Who we built it for

A European roofing and assembly contractor that delivers construction and assembly projects with its own site crews. Orders, resources and pricing were managed by the owner in Excel, alongside the Pohoda accounting system.

What they asked us to fix

Pricing lived in spreadsheets nobody else could touch. The spreadsheets were not built by a data engineer. They were built the way every company builds them — one column at a time, over years, by the person who needed the answer that day. They worked. Somehow. But every quote meant copying purchase prices out of the accounting system by hand, estimating labour from memory, and adding site costs on top. Delete one character in the wrong column and the total quietly changes.

The crews were paid by the hour, and the owner wanted to pay per project. That switch never happened. Pricing work that way needs one number — how many hours a finished project actually took — and that number was nowhere anyone could trust it. The hours were written down. They just sat somewhere other than the quote that had promised them.

After the win, the quote and the site went their separate ways. The quote lived in one file, the site lived in reality, and nothing connected them. Orders, deliveries and worked hours were tracked separately from the numbers the company had promised the customer.

Before the first line of code

We analysed the spreadsheets, documented the real processes behind them and built a backlog together with the owner.

Our position from day one: the job is to find the solution, not just to write code — if the right first step had been to clean up the data in the existing spreadsheets without a single line of code, that is what we would have done. The first thing the client got from us was not software. It was an understanding of their own process, written down.

Our developers sat with the people who used the spreadsheets

Delivery was coordinated, but the business logic did not have to travel through layers. The client could discuss the tricky parts of the process directly with the developers who were turning it into software. The build was carried by two developers — Michal Blažek and Aleksey Andruschenko — and when a question could not be settled over a call, the developer drove out to the client's office to sit with them and watch the process happen.

Those visits made the difference. They showed us what the spreadsheets could not: which column the person actually typed into, which one they quietly ignored, and where the real decision points were. That gave the developer enough business context to propose the right solution in the room, instead of sending the question back and forth for another sprint.

What the system does

A custom internal system whose spine is the price quotation:

  • Quote module. Materials plus labour, site-setup cost, warranty retention percentage, transport of materials priced by distance and weight, discounts, and PDF export where the user chooses the detail level — full line items or main groups only.

  • Daily import from Pohoda. Material names, EAN codes and the last purchase price sync automatically every day, and suppliers are auto-paired by IČO. Pohoda stays the source of truth for materials and accounting — nothing is replaced.

  • Labour with three skill levels. Each level carries its own hourly rate, plus an overhead rate, so the labour side of a quote is calculated, not guessed.

  • Quote lock and transfer. An approved quote is frozen so it cannot drift, and becomes the delivery project — with material orders, assembly tracking and performance reports attached to the same numbers the customer approved.

  • Warehouse. Deliveries are paired with orders; any mismatch in price or quantity raises an alert instead of hiding in a column.

  • Timesheets. Daily reports (work, vacation, sick leave) with hours and travel time, per site.

  • Schedule. Worker allocation that accounts for absences and recalculates the predicted completion date.

  • Site diary. Generated automatically from the timesheets, with manual entries on top — the legally required document, produced as a by-product of work already recorded.

  • Address book and access. Suppliers and customers load from the ARES state register by IČO; users sign in with their Microsoft accounts.

Stack: React, Next.js, TypeScript, Node.js. No black-box maths — every number in a quote can be traced back to the price and the rate that produced it.

What it took off their desk

  • Re-typing purchase prices into quotes — prices now arrive from Pohoda every day.

  • Arithmetic living in fragile formulas — totals, retention, transport and discounts are calculated by the system.

  • The gap between the approved quote and the site — the locked quote is the delivery project.

  • The site diary as a separate evening chore — it is generated from timesheets.

  • Silent delivery discrepancies — price and quantity mismatches are flagged.

What we learned

The spreadsheets were never the real problem — the missing data design was. The most valuable step was the least glamorous one: getting the data right and writing the process down before automating it. We also learned that a quote is only as trustworthy as the prices behind it, which is why the Pohoda sync runs daily instead of a one-off import that slowly goes stale.

Ready to take your quoting process out of Excel?

Running your company on spreadsheets only one person can safely touch? Write to us and we will run a strategy session with you — we map your process first, and only then decide what needs to be built. Start with product configurators and quoting, or look at the wider picture: workflow automation, business digitalization and business software development. Book a call with the Moravio team.

These images were modified to comply with the client's NDA. The software interface remains unchanged.

Jakub Bílý

Jakub Bílý

Head of Business Development

Let's Drive Results Together!

Fill out the form, and we'll respond within 8 business hours.
We are happy to answer all your questions!
We'll analyze your project and discuss the details.

Get in Touch