跳到正文
DEV Community· Daniel Reed·· 4 小時前AI 評分50

如何把報價審核清單變成固定的 7 步流程,並用 AI 助手執行

I Turned My Quote-Audit Checklist Into a Fixed 7-Step Discipline (and Run It on My AI Assistant)

AI 導讀

作者把供應商報價審核清單改成固定次序的 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:

  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 stops the AI from treating "included" 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.

來源:DEV Community · dev.to