Back to All Case Studies
constructionFull Access Unlocked

From the Official Price List to the Client Quote, Without Losing the Code

An Italian construction estimate has to cite published price-list codes. Copy those lines into a spreadsheet and the link to the source is gone — which is exactly when someone asks where a number came from.

Construction firms and surveyors · Italy

construction
3
chain Stages
preserved
price Codes
0
spreadsheets

!The Need

Estimating a building job in Italy is not free-form pricing. Line items are drawn from published price lists, each with a code, a description, a unit of measure and a unit price, and the estimate is expected to cite them. The working method is usually a spreadsheet: copy the relevant lines out of the price list, add quantities, total it up, and reformat the result into a client quote. Every one of those copies severs the line from its source. When the price list is revised, nobody knows which estimates are now stale. When a client or an authority queries a figure, the answer is a number in a cell with no provenance. And because the measured bill of quantities and the client-facing quote are separate documents, they drift — the quote says one thing, the measurement behind it says another, and the difference is discovered during the job.

The Approach

We modelled the whole chain as one linked structure rather than three documents. Price lists are held as first-class data — each item carrying its code, description, unit of measure and unit price — and a measured bill of quantities is built by drawing on them, so a line keeps its origin instead of arriving as pasted text. Bills are organised into chapters with explicit ordering, because a construction estimate is read section by section and the order carries meaning. Each line stores its quantity, unit price and resulting amount, so the arithmetic is recorded rather than recomputed differently in each place it appears. The client quote is then derived from the same underlying lines rather than retyped, which is what keeps the measurement and the quote from disagreeing. The whole thing is multi-tenant: organisations own their price lists, projects and clients, and membership decides who sees what, so a firm can work across several projects without material leaking between them.

Technologies Used

Next.jsTypeScriptSupabaseMulti-tenant row-level securityAstro

The Output

Price lists held as structured data — code, description, unit of measure and unit price per item
Measured bills of quantities built by drawing on those items, so each line keeps its origin
Chapters with explicit ordering, because an estimate is read section by section
Quantity, unit price and resulting amount stored per line rather than recomputed downstream
Client quotes derived from the same underlying lines instead of retyped into a separate document
Multi-tenant organisations owning their own price lists, projects and clients, with membership deciding visibility

The Impact

A figure in a quote can be traced back to the price-list item it came from, which a spreadsheet cell cannot
When a price list is revised, the estimates built on it are identifiable rather than unknown
The measured quantities and the client quote cannot drift apart, because they are the same lines seen twice
The arithmetic is recorded once, so the total does not depend on which copy of the document you opened
Estimating moves off spreadsheets without asking the estimator to abandon how the work is actually structured — price list, chapters, lines, quote

Ready to achieve similar results?

Contact Us
Supalabs AI solutions