DEV Community

Cover image for I Turned My Quote-Audit Checklist Into a Fixed 7-Step Discipline
Daniel Reed
Daniel Reed

Posted on

I Turned My Quote-Audit Checklist Into a Fixed 7-Step Discipline

I Turned My Quote-Audit Checklist Into a Fixed 7-Step Discipline

I published a 7-trap vendor-quote checklist earlier this month. It did fine. But checklists have a failure mode nobody talks about: you are the enforcement mechanism. On a busy Tuesday, you skim trap 4, skip trap 6 because "this vendor seems honest," and the whole thing quietly becomes decoration.

The fix isn't a better checklist. It's removing yourself from the enforcement loop — a fixed audit discipline that runs the same checks, in the same order, every single quote, whether you're tired or not. I run mine as a fixed prompt routine — the same checks, in the same order, every single quote. Here's the design.

Why freeform checking fails

Ask a one-off question — "is this quote fair?" — and you get improvisation: you notice whatever is salient, skip whatever isn't, and thoroughness varies with how you phrased the question. Ask the same question twice, get two different audits. That's not an audit — that's an opinion with good formatting.

A real audit needs three properties: deterministic order (same checks every time), explicit evidence statuses (what's proven vs. what's merely claimed), and a closed trap list (you check for traps you know about, not traps you happen to remember).

The evidence-status taxonomy

The core of the discipline is refusing to treat all quote text as equally true. Every material attribute gets one of four statuses:

  • VERIFIED — explicitly supported by sufficient evidence in the quote.
  • UNKNOWN — the supplier provides no information about the attribute.
  • CLAIMED [X] / VERIFICATION REQUIRED — the supplier makes a claim, but sufficient numeric, contractual, or documentary evidence is not provided.
  • ASSUMED — inferred value or condition. Forbidden unless explicitly permitted.

Two sentences do most of the work: CLAIMED is not VERIFIED. UNKNOWN is not VERIFIED. A currency symbol alone does not establish a named currency. "Included," "waived," "fixed," and "unlimited" are supplier claims — they do not by themselves verify scope, conditions, duration, or economics. Never infer fee frequency (one-time, monthly, annual) unless it's explicit.

The vendor-trap scan

After attribute-level verification, the discipline runs a fixed trap scan in fixed order: usage pricing, starting-from pricing, conditional discounts, tax ambiguity, fee frequency, renewal pricing, minimum commitments, auto-renewal, cancellation notice, support scope, implementation, volume tiers, price locks, and scope-change mechanics. Same traps, same order, every quote. That's what makes it a discipline instead of a mood.

A worked example

Quote: Annual subscription $8,000. Setup fee: starting from $1,000. Support: included. Taxes: excluded. Budget cap: $10,000 first year.

The discipline outputs:

  • Subscription = VERIFIED ($8,000, explicit).
  • Setup amount = CLAIMED [≥$1,000] / VERIFICATION REQUIRED — "starting from" is a floor, not a price.
  • Setup frequency = UNKNOWN — one-time? annual? Not stated.
  • Support = CLAIMED [INCLUDED] / VERIFICATION REQUIRED — "included" verifies nothing about scope or duration.
  • Taxes = UNKNOWN.
  • Minimum documented first-year subtotal = DERIVED CALCULATION $9,000 (a calculation from verified evidence, labeled as such — not supplier-stated).

Verdict: INDETERMINATE against the $10,000 cap, because setup + taxes + other mandatory charges must fit in the remaining $2,000 and two of those are UNKNOWN. That's the honest output. A freeform "looks fine" would have said $9,000 < $10,000 and moved on.

How to build your own

The structure is simple enough to replicate:

  1. Role + inputs block. Declare the auditor role and the exact inputs: buyer requirements, budget, the supplier quote, any additional evidence. Everything the audit may use must be in the inputs — nothing from memory.
  2. Evidence statuses. Paste the four statuses with their definitions and the two hard sentences. This is the part that keeps "included" from being treated as proof.
  3. Trap scan list. Your closed list of traps, in fixed order. Mine has the fourteen above, tuned for vendor/software quotes.
  4. Output format. Force the verdict vocabulary: VERIFIED / UNKNOWN / CLAIMED / VERIFICATION REQUIRED / DERIVED CALCULATION / INDETERMINATE, then a per-attribute table, then the trap findings, then the verdict against the stated requirements.

Run it on two competing quotes and normalize them to the same line items before comparing prices — comparison is your only leverage, and you can't compare what you haven't normalized.

I packaged mine

I got tired of pasting this structure from a notes file, so I packaged the exact discipline — the prompt, the trap library, four worked examples like the one above, and an integrity checklist — as QuoteGuard ($19 one-time, 30-day guarantee): https://www.getly.store/product/quoteguard-quote-analysis-verification

Disclosure: I made it. The discipline above is the whole method — if you audit quotes rarely, build your own from these four steps and it's probably all you need.

What's the worst thing a vendor quote ever hid from you? The "starting from" pricing got me once — curious what got everyone else.

Top comments (0)