Opening: Three quotes — NT$80K, NT$180K, NT$250K
A restaurant owner requesting an online-ordering system sent his needs to three vendors and got back NT$80K, NT$180K, NT$250K. His first instinct: "the NT$80K one is the best deal." In reality, the NT$80K quote was "a page that takes orders," while the NT$250K one included payments, an admin backend, kitchen management, LINE notifications, and a three-month warranty. The 3x spread existed because his brief was two sentences, so each vendor had to guess. An RFP (Request for Proposal) turns "apples and oranges" into "side-by-side comparable."
Myths to break
- Myth 1: "I'm not technical, I can't write an RFP." Reality: a good RFP doesn't need you to be technical — it needs you to state the business goal and constraints clearly. The technical solution is the vendor's job; the requirement is yours.
- Myth 2: "Too much detail locks vendors in and raises quotes." Reality: vagueness raises quotes — vendors price uncertainty as risk. Clarity yields more precise, often lower, quotes.
- Myth 3: "Just pick the cheapest." Reality: the cheapest usually has the most omissions. Without a shared RFP baseline, you don't know what you're comparing.
- Myth 4: "RFPs are only for big companies." Reality: a one-page RFP dramatically improves quote quality on small projects. Structure matters, not length.
Core framework: the 7 required sections of an RFP
- 1. Background & goals: who you are, why, what success looks like (quantify if possible, e.g. "online orders from 0 to 30%").
- 2. Feature scope: three columns — Must have / Nice to have / Not this time ([MoSCoW method](https://en.wikipedia.org/wiki/MoSCoW_method)); this is your scope-creep clamp.
- 3. Non-functional requirements: expected traffic, load speed (e.g. [LCP < 2.5s](https://web.dev/articles/lcp)), devices (RWD/App), languages, accessibility.
- 4. Integrations & constraints: existing systems to connect (payments, POS, LINE, CRM), mandated tech or hosting.
- 5. Delivery & timeline: target launch, milestones, acceptance method.
- 6. Budget range: give a range (not blank). A range lets vendors propose the right solution within your budget.
- 7. Response format: require itemized quotes by feature, warranty and maintenance stated, owners and timeline listed — so three replies are actually comparable.
Three typical scenarios
- Micro shop (single store, < NT$150K): one page suffices; focus on the "three-column features" and "budget range" to avoid omission-driven lowballs.
- Growing SMB (multi-store, NT$300–800K): include the integration section (POS/CRM/membership); the traps live in the wiring, not single features.
- Has IT but short-staffed (NT$800K+): include non-functional and delivery specs; the focus is "handover and documentation" to avoid vendor lock-in.
Hidden costs (not in the RFP = surprise invoice)
- Payment fees: ECPay ~2.8%, Stripe ~3.4% (ongoing, often ignored).
- Third-party API / SMS / LINE push (usage-based).
- SSL, domain, hosting/CDN annual fees.
- Post-launch maintenance and bug warranty (unstated = nonexistent).
- Content/data entry labor (product uploads, images, copy — often underestimated by clients themselves).
- Change/scope-creep cost: without change control, every "just add this" is a hidden invoice.
KPI scorecard for evaluating vendors (use on replies)
- Quote transparency: itemized by feature? (1–5)
- Requirement understanding: tailored to your RFP or a canned template? (1–5)
- Technical soundness: does the tech choice explain the why? (1–5)
- Timeline credibility: concrete milestones? (1–5)
- Warranty & maintenance: explicit period and plan? (1–5)
- Communication quality: speed and clarity? (1–5)
- Delivery & IP: source code and account ownership spelled out? (1–5)
- Case evidence: relevant industry cases? (1–5)
ScriptWalker's options + where we're not a fit
We offer four models: one-off project, monthly retainer, technical advisory, dedicated remote team. On receiving an RFP we produce a side-by-side quote and proactively flag items your RFP missed that would later become add-ons.
Honestly, we're not a fit when:
- Budget and scope are severely mismatched and you won't adjust scope.
- You only want "the cheapest hands," indifferent to delivery quality and maintenance.
- Requirements are undefinable, you expect to figure it out as you go, and you reject change control.
Kickoff playbook
- Week 1: run one alignment meeting off your RFP; confirm and sign off "must have / not this time" line by line.
- Weeks 2–4: deliver wireframes and tech plan; lock scope and milestone payments.
- Day 90: review the first milestone actual vs expected; adjust cadence.
Decision checklist
- ☐ Can I state this project's success metric in one sentence?
- ☐ Have I split features into Must / Nice / Not-this-time?
- ☐ Have I listed existing systems to integrate?
- ☐ Did I give a budget range (not blank)?
- ☐ Did I require itemized quotes by feature?
- ☐ Did I ask about warranty, maintenance, source-code ownership?
- ☐ Did I send the same RFP to every vendor (comparable)?
FAQ
Do I really have to put a budget in the RFP? Won't vendors just quote to my ceiling?
Write a "range," not a "ceiling." A range lets vendors propose the right solution within budget, instead of a luxury build you can't afford or a lowball missing pieces. Without a budget, vendors guess, and quotes get less accurate.
How long should an RFP be?
Structure beats length. For small projects, one page with the 7 sections in a few sentences each is very useful; for large ones, expand non-functional and integration detail. The point is every vendor gets the same comparable baseline.
I'm not technical — how do I write the non-functional section?
Use business language: "500 simultaneous orders at peak must not crash," "mobile must show content within 3 seconds," "must support English and Chinese." Leave the how to the vendor; you just state the business floor.
Call to action
Need an RFP template, or want us to run a "side-by-side quote + omission audit" on your existing brief? We offer a free 30-minute consult to put the choice back in your hands.
- Email: [email protected]
- Phone: 0916-224-047
- LINE: @ufv9089p