如何把報價審核清單變成固定的 7 步流程,並用 AI 助手執行
I Turned My Quote-Audit Checklist Into a Fixed 7-Step Discipline (and Run It on My AI Assistant)
作者把供應商報價審核清單改成固定次序的 7 步流程,並用 AI 助手逐項檢查,避免審核因提問方式或人工疏漏而不一致。流程為每項資料標示 VERIFIED、UNKNOWN、CLAIMED 或 ASSUMED,並按固定次序掃描 14 類陷阱;範例中,首年最低已知費用為 $9,000,但因設置費頻率及税項未知,無法判定是否符合 $10,000 預算上限。
I Turned My Quote-Audit Checklist Into a Fixed 7-Step Discipline (and Run It on My AI Assistant)
Disclosure: this article was written with the assistance of an AI writing program.
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 on the AI assistant I already use. Here's the design.
Why freeform AI checking fails
Ask an AI "is this quote fair?" and you get improvisation: it notices whatever is salient, skips whatever isn't, and its 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:
- 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.
- Evidence statuses. Paste the four statuses with their definitions and the two hard sentences. This is the part that stops the AI from treating "included" as proof.
- Trap scan list. Your closed list of traps, in fixed order. Mine has the fourteen above, tuned for vendor/software quotes.
- 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.
來源:DEV Community · dev.to