What is a price comparison table, and what goes into it?
A price comparison table sets quotes side by side, item by item: one row per item, one column per supplier. It shows what each quote costs for exactly the required work and how the quotes differ beyond price. This information belongs in it:
- Item, quantity and unit: the same item with the same quantity for all suppliers
- Net unit and total price: converted to a common unit
- Extra costs: freight, packaging, installation, disposal and surcharges
- Discounts and early payment discounts: shown separately, with their conditions
- Payment terms: payment period, down payment, progress payments
- Delivery time or completion date
- Warranty: duration and any deviating rules in the quote or terms and conditions
- Validity period: how long the quote is valid
- Exclusions and assumptions: what is not included or is assumed
- Source reference: file and page for every value
In planning offices, drawing up a price comparison table is part of work stage 7, assisting with the award of contracts, under HOAI, Annex 10.1 (the German fee structure for architects and engineers); in property management, it is often the basis of a proposed resolution for the owners' association. How both sectors work with AI is covered in AI for architects and engineers and AI for property management.
What does a price comparison table look like?
Here is a price comparison table that you can recreate in Excel. The values are invented. They show how the ranking changes once units, extra costs and early payment discounts are factored in: here, the lowest unit price belongs to the most expensive quote.
| Supplier A | Supplier B | Supplier C | |
|---|---|---|---|
| Quoted price | €180.00 per unit | €165.00 per unit | €700.00 per box of 4 units |
| Converted per unit | €180.00 | €165.00 | €175.00 |
| Shelving total (40 units) | €7,200.00 | €6,600.00 | €7,000.00 |
| Installation | €900.00 | €1,300.00 | €800.00 |
| Freight and packaging | free delivery | €280.00 | €150.00 |
| Net total | €8,100.00 | €8,180.00 | €7,950.00 |
| Early payment discount | 2% if paid within 10 days | none | 3% if paid within 14 days |
| Net after discount | €7,938.00 | €8,180.00 | €7,711.50 |
| Difference from cheapest | +2.9% | +6.1% | cheapest |
| Delivery time | 3 weeks | 6 weeks | 4 weeks |
| Warranty | 2 years | 2 years | 12 months under T&Cs |
| Validity period | 31 October 2026 | 15 October 2026 | 30 November 2026 |
| Exclusions | none stated | Disposal of packaging | Installation on working days only |
| Reference | angebot-a.pdf, pp. 1–2 | angebot-b.pdf, p. 2 | angebot-c.pdf, p. 1; T&Cs p. 3 |
In Excel, the suppliers sit side by side in columns. If the net prices after discount are in row 9, =MIN(B9:D9) finds the lowest value, =B9/MIN($B9:$D9)-1 calculates supplier A's difference from the cheapest, and conditional formatting highlights the best value. If you have an AI capture the values, the long format with one row per supplier and item works better; you then use a PivotTable to bring it into the side-by-side view. As a template, this header row of a CSV file is enough:
Anbieter;
How do you make quotes comparable?
Quotes become comparable when each row describes the same item in the same quantity and unit. These six steps take care of most of it.
- Align units
Convert box, pack and tiered prices to one unit, such as euros per unit or per square metre, and check whether minimum order quantities change your quantity.
- Add extra costs
Freight, packaging, installation, disposal and surcharges sometimes only appear in the terms and conditions. Enter them in separate rows; “free delivery” is a value, “not stated” is a question to ask.
- Record gaps as gaps
If an item is missing, enter “missing”, not zero, and ask the supplier. A zero makes an incomplete quote look like the cheapest.
- Apply trade and early payment discounts correctly
Deduct trade discounts; deduct early payment discounts only if you will reliably meet the deadline. The rule of thumb discount rate ÷ (100 − discount rate) × 360 ÷ (payment period − discount period) estimates the value of an early payment discount as an annual interest rate: a 2% discount for paying in 10 instead of 30 days equals around 36.7% a year.
- Compare net with net
If you are entitled to deduct input VAT, compare net prices. Make sure no gross price sits next to net prices.
- Record validity period and warranty
A quote binds the supplier unless they have excluded this (§ 145 BGB, German Civil Code); if they have set a deadline, you can only accept within it (§ 148 BGB). By law, claims for defects in a purchase generally become time-barred after two years, and after five for buildings (§ 438 BGB); the same applies to work such as installation (§ 634a BGB). If a quote deviates from this, it belongs in the price comparison table.
How do you weight price, delivery time and warranty?
If more than price matters, a weighted scoring analysis helps: you set criteria and weights before comparing the quotes, award points and calculate the weighted total score. Public contracting authorities are bound in a similar way for awards above the EU thresholds: the contract goes to the most economically advantageous tender, and criteria and weighting are published in advance in the contract notice or tender documents (§ 127 GWB, Act against Restraints of Competition; § 58 VgV, Public Procurement Ordinance). For private companies this is generally not mandatory, but it is good protection against gut decisions.
The most economically advantageous tender is determined on the basis of the best price-quality ratio.
- Set criteria
Three to five criteria are enough, such as price, delivery time, warranty and service.
- Distribute weights in advance
Distribute 100 per cent across the criteria and record this in writing before you put the quotes side by side.
- Award points
Score each quote per criterion from 0 to 10. For price, the cheapest gets 10 points and the others 10 × cheapest price ÷ own price; for delivery time likewise with the shortest; for warranty, 10 × own ÷ longest duration.
- Calculate the score
Multiply points by weight and add them up per quote. In Excel,
=SUMPRODUCT($B$2:$B$4,C2:C4)does this if column B holds the weights and column C one supplier's points. - Cross-check the result
Shift one weight by ten percentage points. If the ranking flips, the decision is close and deserves a second opinion.
| Criterion (weight) | Supplier A | Supplier B | Supplier C |
|---|---|---|---|
| Price after discount (50%) | 9.7 | 9.4 | 10.0 |
| Delivery time (20%) | 10.0 | 5.0 | 7.5 |
| Warranty (30%) | 10.0 | 10.0 | 5.0 |
| Score | 9.85 | 8.70 | 8.00 |
With this weighting, supplier A comes out ahead even though C is the cheapest: compared with A, the shorter warranty and slightly longer delivery time cost C more points than its price advantage earns. Which weights are right depends on your needs, not on the table.
Transfer values, don't assess them: what an AI agent should do for the price comparison
When comparing quotes, much of the work lies in transferring: finding values in differently structured PDFs, converting units, spotting extra costs in the terms and conditions. An AI agent can take this on if it names the source for every value and marks missing values as missing. In Biwak, this use case is called “Quotes: folder → overview”: the quotes sit in a working folder, and the price comparison table is created next to them as a CSV file.
Read all quotes in the folder “Angebote Regale 2026”. Create preisspiegel.csv with one row per supplier and item and the columns supplier, item, quantity, unit, net unit price, price per unit, net total price, extra costs, discount, early payment discount with deadline, payment period, delivery time, warranty, validity period, exclusions, file and page. Convert box and tiered prices to euros per unit and show the conversion. If a detail is missing, write “missing”, not 0. Also create rueckfragen.csv with all missing or unclear details per supplier. Do not assess the quotes.
- Input
- Quote PDFs from several suppliers with a text layer, each structured differently
- Result
- A price comparison table in long format, which you put side by side in Excel with a PivotTable, and a list of follow-up questions per supplier.
- Check
- For each supplier, check the sum of the items against the quote total in the PDF, recalculate each conversion once, look up five values at the stated source and compare the list of questions with the quotes.
- No text recognition: Biwak does not read faxed or scanned quotes; make them searchable first, for example with Adobe Acrobat.
- Table as CSV: You build totals, PivotTable and weighting in Excel. We do not promise finished .xlsx files for the desktop app.
- No decision: The results are drafts for you to check; weighting and award remain with you.
- Data path: The quotes stay in the folder on your computer; their contents go to the language model for the task. For public procurement, clarify beforehand whether quotes may be processed this way.
How do you check the price comparison table before deciding?
Check the price comparison table before you decide, whether you created it by hand or with AI. This list covers the typical sources of error:
- Sum of the items per supplier checked against the quote total in the PDF; differences clarified before you compare.
- Same quantity and unit in every row, conversions recalculated.
- Extra costs, discounts and early payment discounts complete and applied only once.
- Every value with a source reference, five of them checked against the original.
- Exclusions and terms and conditions read, deviating warranty noted.
- Validity periods not yet expired.
- Questions asked in writing and the answers added.
- Weighting fixed and documented before the comparison, decision reviewed by a second person.
How to get tables from quote PDFs into Excel without AI is explained under Converting PDF to Excel; how to analyse the finished price comparison further, under Analysing Excel with AI.
Frequently asked questions
What is a price comparison table?
A price comparison table sets several quotes for the same work side by side in one table: one row per item, one column per supplier. It shows unit and total prices on the same basis, as well as extra costs, early payment discounts, delivery time, warranty and exclusions. In tenders with a bill of quantities, each row corresponds to an item in the bill.
How do I factor in early payment discounts when comparing quotes?
Only deduct an early payment discount if you will reliably meet the discount period; otherwise compare without it. The rule of thumb discount rate ÷ (100 − discount rate) × 360 ÷ (payment period − discount period) estimates its value as an annual interest rate. For a 2% discount when paying in 10 instead of 30 days, that comes to around 36.7% a year.
Is the cheapest quote always the best?
No. What matters is the total price for the required work including extra costs, and delivery time, warranty or service often count too. Public contracting authorities also award EU-wide procedures on the best price-quality ratio (§ 127 GWB). Set criteria and weights before you compare the quotes.
Can AI read quotes from PDFs?
Yes, if the PDFs have a text layer. An AI agent can transfer items, prices and conditions into a table and state the file and page for every value. Scanned or faxed quotes need text recognition first, and every transferred value remains a draft that you spot-check against the original.
What should you do if items are missing from a quote?
Enter “missing”, not zero, and ask the supplier in writing. Until the answer arrives, you can keep an estimate in a separate column marked as an estimate. That way an incomplete quote does not accidentally become the cheapest.
How long is a quote binding?
A quote binds the supplier unless they have excluded this (§ 145 BGB). If it states a deadline, you can only accept within it (§ 148 BGB). Without a deadline, § 147(2) BGB applies: the point until which the supplier could expect your reply under normal circumstances.
Sources
- § 145 BGB: Binding effect of an offer
- § 148 BGB: Setting a period for acceptance
- § 438 BGB: Limitation of claims for defects in purchases
- § 634a BGB: Limitation of claims for defects in contracts for work
- § 127 GWB: Award to the most economically advantageous tender
- § 58 VgV: Award, award criteria and weighting
- Microsoft Support: SUMPRODUCT function
- Claude Docs: Claude for Excel (section “Prompt injection risk”)
