Skip to content
biwak

Guides

Tasks

Comparing quotes: how do you build a price comparison table?

Compare quotes in a price comparison table: align units, record extra costs, discounts, delivery times and warranty, weight them and fill it from PDFs with AI.

Responsible:

Published

10 min read

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:

Required fields of a price comparison table
  • 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.

Price comparison for 40 shelving units with installation (example with invented values)
Supplier ASupplier BSupplier 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 packagingfree delivery€280.00€150.00
Net total€8,100.00€8,180.00€7,950.00
Early payment discount2% if paid within 10 daysnone3% 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 time3 weeks6 weeks4 weeks
Warranty2 years2 years12 months under T&Cs
Validity period31 October 202615 October 202630 November 2026
Exclusionsnone statedDisposal of packagingInstallation on working days only
Referenceangebot-a.pdf, pp. 1–2angebot-b.pdf, p. 2angebot-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;Position;Menge;Einheit;Einzelpreis netto;Preis je Einheit;Gesamtpreis netto;Nebenkosten;Rabatt;Skonto;Zahlungsziel;Lieferzeit;Gewährleistung;Bindefrist;Ausschlüsse;Datei;Seite

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.
§ 127(1) sentence 3 GWB
  1. Set criteria

    Three to five criteria are enough, such as price, delivery time, warranty and service.

  2. Distribute weights in advance

    Distribute 100 per cent across the criteria and record this in writing before you put the quotes side by side.

  3. 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.

  4. 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.

  5. Cross-check the result

    Shift one weight by ten percentage points. If the ranking flips, the decision is close and deserves a second opinion.

Weighted scoring for the example above (points rounded to one decimal place)
Criterion (weight)Supplier ASupplier BSupplier C
Price after discount (50%)9.79.410.0
Delivery time (20%)10.05.07.5
Warranty (30%)10.010.05.0
Score9.858.708.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.

Task

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:

Checklist before awarding
  • 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

  1. § 145 BGB: Binding effect of an offer
  2. § 148 BGB: Setting a period for acceptance
  3. § 438 BGB: Limitation of claims for defects in purchases
  4. § 634a BGB: Limitation of claims for defects in contracts for work
  5. § 127 GWB: Award to the most economically advantageous tender
  6. § 58 VgV: Award, award criteria and weighting
  7. Microsoft Support: SUMPRODUCT function
  8. Claude Docs: Claude for Excel (section “Prompt injection risk”)

Further reading

All articles