How to Estimate Your Internal System Budget Before Asking for Quotes
- Problem: Businesses requesting internal software quotes get numbers 3-5x apart with no basis for comparison, because they never self-estimated the budget using the variables that actually create cost.
- Solution: A 5-variable cost framework (business flows + exceptions, integration level, data condition, permissions, operations commitment), plus a scope-cutting matrix and a pre-RFQ checklist.
- Result: Quotes become comparable on the same frame of reference, cheap quotes missing line items become visible, and scope gets cut deliberately instead of quality being cut silently.
An internal system's budget isn't determined by "screen count" or "feature count", but by 5 variables: business-flow complexity (including exceptions), integration level, data condition, permission complexity, and operations commitment. Estimate these 5 variables yourself before asking for quotes, and you'll compare proposals on a single frame of reference — instead of staring at numbers 3–5x apart.
TL;DR (Executive Summary)
- Problem: Internal software quotes come back 3–5x apart with no basis for comparison, because requirements are described in "screens" instead of the variables that actually create cost.
- Solution: The 5-variable cost framework + a scope-cutting matrix + a pre-RFQ checklist.
- Result: Apples-to-apples quote comparison, cheap quotes with missing line items exposed, and scope cut deliberately rather than quality cut silently.
I've spent 14 years as a Delivery Manager, sitting on both the quote-writing side and the quote-evaluating side. What few people say plainly: most quote gaps exist not because one vendor is pricier, but because each is pricing a different product — inferred from the same vague requirement.
"Software budget" — redefined from the delivery floor
The common definition: budget = the number in the build contract. The correct definition from the field:
Software budget = Total Cost of Ownership (TCO) over the system's life — build, operations, modifications as the business changes, and the exit cost when replacement becomes necessary.
Across projects I've delivered directly, operations + modification costs over the first 3–4 years typically equal the initial build cost. A quote that's cheap to build but locks you into expensive modifications (or into dependency on the single person who understands the system) is an expensive quote.
The 5-variable cost framework
| Variable | Question to answer yourself | Budget impact |
|---|---|---|
| ① Business flows + exceptions | How many flows? How many "happens occasionally" exceptions per flow? | Largest — exceptions are where cost hides |
| ② Integration level | Which running systems must it talk to? Do they have APIs? | Integrating with a legacy system without APIs can cost more than the main feature |
| ③ Data condition | Where does old data live (Excel, legacy software)? Is it clean? Must it migrate? | Migrating dirty data is the most-forgotten line item |
| ④ Permissions | How many roles? Multi-level approvals? Data only some people may see? | Every approval tier is a tier of logic + testing |
| ⑤ Operations commitment | What's the damage if it stops for a day? Who helps when it breaks at 8 PM? | Drives infrastructure, monitoring, SLA — the part cheap quotes ignore |
How to use it: answer these 5 questions in writing before meeting any vendor. That document becomes the appendix to your RFQ — and the yardstick every quote must be normalized against.
Why "screen count" is the wrong measure
Two systems with the same 10 screens can differ 5x in cost: one is CRUD data entry and viewing; the other has 3-level approval flows, real-time inventory sync, and 5 years of Excel data to migrate. A vendor that prices by screens — or accepts a screens-based description without asking about business exceptions — has already told you something about its process maturity.
The 3 cheap-quote traps
- Happy-path pricing — only the forward flow is counted; every business exception ("what if the customer returns part of an order?") becomes billable extras later. Exceptions typically make up 30–50% of the real workload.
- The empty data line — "load in the old data" sounds simple, but 5 years of unstandardized Excel is a sub-project. A quote with no data-migration line item is a time bomb set for the final month.
- Nothing after handover — silence on warranty, response times when things break, and the cost of small modifications. A cheap build price buys the vendor a monopoly position at the operations stage.
The scope-cutting matrix — when the estimate exceeds budget
When estimates exceed budget, most businesses cut wrong: keep the feature count, squeeze the price — and quality gets cut silently (testing dropped, exception handling dropped). The right way to cut follows a matrix:
| Core business | Supporting business | |
|---|---|---|
| High frequency | Build to full depth (incl. exceptions) | Build a minimal version |
| Low frequency | Semi-automate (human + tool) | Cut — keep it outside the system |
The principle: cut breadth (number of processes), keep depth (completeness of core processes). A system that does 3 things properly creates real value; a system that does 10 things halfway creates 10 places for work to jam. Before cutting, also ask the root question: does this process need custom software at all, or is an off-the-shelf SaaS enough?
Pre-RFQ checklist
- The 5 cost variables written down (including the "only happens sometimes" exceptions)
- Processes classified on the core/supporting × frequency matrix
- Systems requiring integration identified, with their API status
- Legacy data inventoried (sources, volume, cleanliness)
- Operations commitment defined (cost of downtime, support hours needed)
- Every vendor required to list in writing what is NOT included in the price
Frequently asked questions
How can a business with no IT staff estimate this?
The 5-variable framework is designed to be answered in business language, no programming knowledge needed: you describe workflows, exceptions, and where data lives. Converting that into technical complexity is the vendor's job — your job is making sure every vendor receives the same description, detailed enough that nobody gets to "interpret it the cheapest way".
How much budget should go to contingency?
For internal systems involving legacy data migration or integration with running systems, a reasonable contingency in my experience is 15–25% of the build cost. More important than the number is the rule of use: contingency is spent only on late-discovered exceptions, never on features invented mid-project — new features must pass through their own prioritization round.
If you're holding several quotes that differ by multiples and don't know which to trust, or want to pressure-test whether your requirement description is tight enough, you can see how I approach web apps and internal systems, or share your case. I typically respond to cases that fit my expertise and current availability.