Four offers for one trade, made comparable
Sample residential project, twelve units. Trade: windows and external doors, BKP 221. Four offers arrived as PDFs in four different structures. They are read, mapped onto the cost estimate line by line, and set against each other. The column that matters is not the total. It is what each total does and does not contain.
All amounts CHF. Adjustments are the value of positions a bidder left out, priced at the estimate, so that the last column compares the same building.
| Position | Estimate CHF | Bidder A CHF | Bidder B CHF | Bidder C CHF | Bidder D CHF |
|---|---|---|---|---|---|
| 221.1 Windows, timber-metal, 96 units | 268,000 | 259,300 | 271,500 | 248,900 | 264,100 |
| 221.2 External doors, 14 units | 52,000 | 50,400 | 53,800 | 49,100 | 51,600 |
| 221.3 Sun shading, external blinds | 58,000 | 57,100 | 0 not offered | 56,200 | 57,900 |
| 221.4 Sills and flashings | 19,000 | 18,700 | 19,400 | 0 excluded | 18,900 |
| 221.5 Assembly, sealing, disposal | 15,000 | 11,300 | 14,900 | 25,200 package | 14,400 |
| Total as offered | 412,000 | 396,800 | 359,600 | 379,400 | 406,900 |
| Adjustment for missing scope | n/a | 0 | +58,000 | +19,000 | 0 |
| Comparable total, equal scope | 412,000 | 396,800 | 417,600 | 398,400 | 406,900 |
What the reading found
Ready for the call before the award
Per bidder, what has to be clarified, in the order you would ask it. Compare cleanly, do not squeeze.
- Price the sun shading, or confirm in writing that it is out and who is carrying it.
- Confirm what "by others" covers on the sills, and get the package split so the final account can be checked.
- Delivery is quoted at fourteen weeks against the ten in the tender. Ask whether ten is possible and at what price.
- Nothing outstanding. Award-ready.
Nothing is sent from here. The comparison, the questions and the award recommendation are prepared; the call, the negotiation and the decision stay with you.
One contractor invoice, checked before it reaches you
Invoice 4 from the awarded window contractor arrived by email this morning. It is read, filed in the project folder, and checked against the works contract, the payment plan, the variations register and what has actually been built. What comes to you is the four things that did not match, each with the reason and the document it came from.
The four findings
Everything checked is recorded, including what matched. The journal is what makes the check defensible six months later.
Your decision
The check is prepared. Releasing it is a person's job, and it is yours. Release it here and watch the cost control on the next tab move.
Recommendation: release CHF 109,650, query CHF 2,280 with the contractor, hold CHF 5,920 as retention, correct the total by CHF 550.
Released. The cost control has been updated and the log has the entry. In the real thing the payment file would now be prepared for your bank, and it would still be you who signs it.
The clarification email, drafted for you
The query does not become an email you have to write. It is drafted from the finding, in your own wording, with the clause and the site report it rests on already in it. Nothing is sent by the system: it sits in your drafts, you change what you want, and it goes from your own mailbox.
- To
- m.keller@bidder-a.example
- Cc
- bauleitung@your-practice.example
- Subject
- Residential project, twelve units · BKP 221 windows and external doors · interim invoice 4
Dear Mr Keller,
Thank you for interim invoice 4 of 28 August, CHF 118,400. We have checked it against the works contract, the payment plan, the variations register and last week's site report. Three points need settling, and none of them holds up the rest of the payment.
- Position 221.3, progress ahead of the site record. The position is invoiced at ninety percent complete. The site report of last week records the external blinds fitted on two of the four facades. Could you confirm the progress you are billing and the facades it covers? We have queried CHF 2,280 pending that confirmation. It is not a deduction: it is released with the next invoice as soon as the progress is confirmed.
- Retention, clause 8.2. The works contract provides for five percent retention until the final account, and it is not deducted on this invoice. We have deducted CHF 5,920. It is held, not lost, and it is released with the final account against your warranty security.
- Total. The sum of the positions is CHF 550 below the invoice total. We have taken the positions as correct and certified CHF 117,850. Please correct the total on your next invoice.
We are therefore releasing CHF 109,650 for payment within the contractual term. The variation for the two additional roof lights is included at the agreed price and is not in question.
Kind regards
The project management
The cost control, as of this morning
Your own structure, not ours. It moves when an invoice is released, which is why the figure you give the client on the telephone is the figure that is true when you say it. Release the invoice on the previous tab and the window line moves in four columns at once: what is invoiced, what is held back, what is queried, and what has actually been paid. An invoiced franc has exactly those three destinations, so the row still adds up after the release: invoiced less retention less queried is paid.
All amounts CHF. Invoiced is what the contractor has billed and you have certified. An invoiced amount is then retained, queried or paid, and nothing else, so invoiced less retention less queried equals paid on every row and on the total, in both states of this table. Retention is what the works contract lets you hold to the final account: it is invoiced work that is not yet payable, and it is not an overrun. Queried is invoiced work whose evidence does not yet support it: it is neither retained nor paid until the query is settled, and it stays visible against the trade rather than being quietly written off. Paid is what has left the account. The two finished trades carry no retention because their final accounts are settled and it has been released. The reserve is a block of its own and is never netted against a trade, because a reserve quietly absorbing an overrun is how an overrun stays invisible until the final account.
| BKP | Estimate CHF | Awarded CHF | Invoiced CHF | Retention CHF | Queried CHF | Paid CHF | Difference CHF |
|---|---|---|---|---|---|---|---|
| 112 Demolition | 96,000 | 91,400 | 91,400 | 0 | 0 | 91,400 | +4,600 |
| 201 Excavation | 284,000 | 279,600 | 279,600 | 0 | 0 | 279,600 | +4,400 |
| 211 Structure, shell | 1,940,000 | 1,928,700 | 1,720,000 | 86,000 | 0 | 1,634,000 | +11,300 |
| 221 Windows, external doors | 412,000 | 396,800 | 156,000 | 7,800 | 0 | 148,200 | +15,200 |
| 230 Electrical | 386,000 | 391,200 | 223,000 | 11,150 | 0 | 211,850 | −5,200 |
| 240 Heating, ventilation | 452,000 | 449,800 | 209,000 | 10,450 | 0 | 198,550 | +2,200 |
| 250 Sanitary | 298,000 | 295,000 | 142,000 | 7,100 | 0 | 134,900 | +3,000 |
| 271 Plaster, internal | 214,000 | 216,900 | 0 | 0 | 0 | 0 | −2,900 |
| 281 Floor coverings | 268,000 | 264,000 | 0 | 0 | 0 | 0 | +4,000 |
| Remaining trades, not yet awarded | 364,000 | n/a | 0 | 0 | 0 | 0 | n/a |
| Reserve | 146,000 | n/a | 0 | 0 | 0 | 0 | n/a |
| Total | 4,860,000 | 4,313,400 | 2,821,000 | 122,500 | 0 | 2,698,500 | +36,600 |
Every figure on this table can be opened back to the document it came from: the award, the contract, the invoice, the release. Calculation stays in the spreadsheet, so anyone can re-derive it without being in the room when it was built.
Two pictures of the same table
Neither chart carries a figure the table does not. They exist because the two questions a client asks on the telephone are answered faster by a shape than by a row: how far through the money are we, and is anything awarded above what was budgeted for it. Every bar prints its own amount, so the charts read the same in greyscale, on a printout and to a screen reader.
How far through the money, against the estimate
The whole bar is the approved estimate of CHF 4,860,000. It moves when you release the invoice on the previous tab.
Held back is retention plus anything queried. It is invoiced work that is not payable yet, so it sits between paid and not yet invoiced rather than inside either.
Awarded against the budget, by trade
The bar is what the trade was awarded for. The upright mark is what it was budgeted at, so a bar past its mark is a trade awarded above budget. Nine trades are awarded; the rest of the estimate is not let yet and has no bar.
Two trades are above budget, electrical and internal plaster, and the awards elsewhere carry them: the awarded total is CHF 4,313,400 against CHF 4,350,000 budgeted for the same nine trades, which is the CHF 36,600 under that the table shows. The reserve is untouched and is not netted against any of them.
What was done, when, and by whom
The log is the part that makes this defensible rather than merely fast. Every entry links to the file it touched in your own cloud folder. A person's name against an entry means a person did it.
- System read invoice 4 from the window contractor out of the project mailbox and filed it under Project / 04 Invoices / BKP 221.
- System checked it against the works contract, the payment plan, the variations register and the last site report. Four findings, one of them positive.
- System stopped and asked rather than assuming: progress on position 221.3 could not be grounded in a site report, so it is queried, not deducted.
- System completed the comparison of four offers for BKP 221 and prepared the clarification list per bidder.
- The project manager confirmed the award recommendation for BKP 221 and asked for the delivery date to be raised with Bidder D.