Organize information

Normalize vendor quotes into a comparison table

Put differently structured offers on a common scope, quantity, term, currency, tax, and risk basis

10 min setupTested with:ChatGPTReviewed: 2026-08-28
1

Add your context

Your text stays in this browser. AILesson Prompts does not send it to a model or server.

2

Your prompt

Unfilled fields remain visible as placeholders, so you can still copy and edit the prompt

Normalize the supplied vendor quotes into a comparable, auditable table.

Vendor, date, validity, line items, quantities, units, currency, tax, discounts, terms, scope, exclusions, and locators:
[quotes]

Required scope, quantity, usage, term, locations, currency, exchange rate, tax, inflation, implementation, support, exit, and options:
[basis]

Rounding, missing data, scenarios, sensitivity, columns, reviewers, and decision limits:
[rules]

Preserve each quoted amount and condition before normalization. Create a field map linking every table cell to its vendor document locator. Align scope, units, quantities, contract years, billing timing, currency, tax basis, discount prerequisites, implementation, migration, training, required support, usage overage, price increases, renewal, termination, export, travel, and other mandatory costs. Calculate only with supplied values; show formulas, units, exchange-rate source/date, rounding, and whether totals are quoted, calculated, assumed, unknown, or not applicable. Never treat blank as zero, optional as included, discount as unconditional, annual as term total, or tax-inclusive as tax-exclusive. Do not compare totals until material scope gaps are visible. Provide base, low, and high scenarios only from approved assumptions. Separate commercial comparison from quality scoring. End with contradictions, expired quotes, clarification questions by vendor, sensitivity drivers, finance/procurement review, and a statement that lowest known total is not necessarily best value.
Private by defaultPrompt assembly happens locally in your browser. Avoid placing confidential information into any AI service unless your organization allows it.

From input to outcome

A worked example

See how concrete context turns this recipe into a usable result

Actual input

Vendor quotes
Vendor A quote A-44, Aug 15, valid to Sep 15: GBP 58/user/month for 38 users, billed annually; implementation GBP 8,000; admin training GBP 1,500; Premium Support required at GBP 4,000/year; 5% annual license increase from year 2; prices exclude VAT. Data export on termination included. Vendor B quote B-19, Aug 12, valid to Sep 5: EUR 2,250/month platform fee up to 40 users; implementation and migration EUR 12,000; training included; Standard Support included but required response SLA not stated; export fee blank; price fixed for initial 3-year term; prices include German VAT 19%. Both quote email/chat and SSO. Source line locators supplied as A lines 3-12 and B pages 2-4.
Comparison basis
38 users, 3 years, GBP comparison, UK buyer recovers VAT so compare net of VAT, subject to Finance confirmation. Approved rate Aug 20: GBP 1 = EUR 1.17. Required: implementation, migration if stated, admin training, support meeting required SLA, and exit export. No usage overage assumption. Round line items to nearest GBP, totals to GBP 10. Vendor B VAT-inclusive values should be divided by 1.19 before currency conversion. Export fee and SLA gap remain unknown, not zero.
Analysis rules
Columns: scope item, A quoted, B quoted, normalized A GBP, normalized B GBP, status, locator, note. Missing mandatory costs make total incomplete. One base scenario only; no low/high assumptions approved. Finance validates VAT and exchange rate; Procurement validates scope and validity. Do not recommend a winner.

Example output

Comparison basis: 38 users, 36 months, net of recoverable VAT pending Finance confirmation, GBP 1 = EUR 1.17 on Aug 20.

Scope itemVendor A quotedVendor B quotedA normalized GBPB normalized GBPStatus / locatorNote
License/platform year 1GBP 58 × 38 × 12EUR 2,250 × 12 incl. VAT26,44819,393Calculated; A lines 3-4, B p2B: 27,000 / 1.19 / 1.17
Year 2+5%Fixed27,77019,393CalculatedA 26,448 × 1.05
Year 3+5% againFixed29,15919,393CalculatedA 27,770 × 1.05
Implementation/migrationGBP 8,000EUR 12,000 incl. VAT8,0008,621Quoted/calculated; A l6, B p3B includes migration
Admin trainingGBP 1,500Included1,5000 includedQuoted; A l7, B p3Included is not blank
Required supportGBP 4,000/yearStandard included; SLA unknown12,000UnknownA quoted; B p4 gapB fit to required SLA unconfirmed
Exit exportIncludedFee blank0 includedUnknownA l12; B p4Blank is not zero

Vendor A known three-year total = 26,448 + 27,770 + 29,159 + 8,000 + 1,500 + 12,000 = GBP 104,877, rounded total GBP 104,880. Vendor B known subtotal = 19,393 × 3 + 8,621 = GBP 66,800 before unknown compliant-support and export costs. B therefore has no comparable complete total.

Clarify with B: response SLA and any tier required to meet it; termination export format and fee; whether German VAT applies to this UK transaction. Both quotes require Procurement validity review because B expires Sep 5. Finance must validate VAT recovery and the approved exchange rate. These are commercial figures only; no quality score or recommendation follows from the lower known subtotal.

Why this works

  1. 1

    Source-linked normalization exposes cheap totals created by missing scope rather than real savings.

  2. 2

    Status labels prevent calculated and assumed values from looking vendor-quoted.

Check the result

  • Can every amount, condition, and formula be traced to a quote or approved basis?

  • Are blanks, options, discounts, taxes, terms, and scope gaps treated correctly?

  • Are commercial totals kept separate from quality and risk evaluation?

More ways to explore

Where this recipe fits

Keep the work moving