Why there is no price list
If you have searched for the cost of a custom quoting system and found nothing but "book a call", there is a genuine reason, and it is not developers being coy. Two contractors can ask for "a quoting system" and describe builds that differ in size by a factor of ten. One wants a rate card, a margin, and a tidy PDF. The other wants supplier price feeds, an approval chain, CIS handling and ten years of historical quotes migrated in.
So instead of a fake price, here is something more useful: the specific things that move the cost up or down, so you can walk into any conversation with a builder knowing roughly where your project sits, and the questions that will expose a padded quote.
Driver 1: how bespoke your pricing logic really is
This is the biggest driver, and the one owners underestimate most. The core question is: can your pricing be written down as rules, and how many rules are there?
At the simple end: labour at day rates, materials from a rate card, a markup, VAT. A system like that is quick to build because the logic is shallow. At the deep end: the estimator prices differently for solid-wall properties, adds contingency based on which client it is, adjusts labour for access, and knows which supplier is cheapest for copper this month. None of that is in a spreadsheet. It is in a person.
Extracting that knowledge into rules is real work, and it is where a good builder earns their fee. It is also where the value is. A system that encodes fifteen years of estimating judgement means a decent quote no longer requires the one person who carries that judgement around. Before you talk to anyone, have your estimator write down how they actually price a job. The length of that document is the best cost estimate you will get for free.
Driver 2: integrations
Every system your quoting tool has to talk to adds cost, and they are not equal.
Accounting is usually the cheapest, because Xero and QuickBooks have mature, well-documented interfaces. Supplier price lists vary wildly: some merchants provide clean data feeds, some send a spreadsheet by email once a quarter, and some give you a PDF that needs parsing. The messier the source, the more the integration costs, and the more it is worth, because manually re-keying merchant price updates is exactly the work that causes mispriced quotes.
The question to ask yourself for each integration: what does it cost me when this data is stale or re-keyed wrong? If the answer is "a mispriced job", the integration pays for itself the first time it prevents one.
Driver 3: approval flows
A sole trader approves quotes by writing them. The moment more than one person can produce a quote, you need rules: quotes over a threshold need sign-off, discounts beyond a level need the owner, certain clients always get reviewed. Each rule is simple; the cost comes from the honesty required to define them. In many firms the real approval process is "Dave has a look if something feels off", and turning that into rules takes workshops, not code. Firms that already know their rules pay less, because discovery is shorter.
Driver 4: data migration
Where do your current quotes, rates and client details live? If the answer is one reasonably tidy spreadsheet, migration is cheap. If it is 400 Word documents, three spreadsheet versions and an old estimating package nobody has the password for, it is not. You do not have to migrate everything. A pragmatic scope brings across live clients, current rates and a year or two of history, and leaves the archive where it is. Builders who insist on migrating everything are adding cost you may not need.
The other side of the ledger: what not fixing it costs
Whatever a system costs, weigh it against what the current process is costing you, because that number is rarely zero.
Hours per quote. Count honestly: gathering measurements, chasing supplier prices, building the spreadsheet, formatting the document, and the second pass when something changes. Multiply by quotes per week, and price those hours at what the estimator's time is worth.
Error rates. A transposed figure, last quarter's timber prices, a forgotten prelims line. Mispriced quotes either lose the job or win it at a margin you only discover at the end. Most contractors can name a job from the last year that hurt for exactly this reason.
Lost bids. The quietest cost. When quoting takes hours of one person's week, quotes go out late, and some invitations to tender get declined because there is no capacity to price them. Jobs you never bid do not show up in any spreadsheet, which is why this cost gets ignored.
For a real reference point: one construction client of ours, Ducky Construction, was spending around 8 hours building each quote before we built their quoting and project platform. Quotes now take about 15 minutes, and the business reclaimed 38.75 hours a week across its admin. The full breakdown of what was built and what changed is in the construction case study. Your numbers will differ, but the shape of the arithmetic is the same: hours per quote, times quotes per week, plus the bids you never made.
How the buying should work
However the numbers land, the structure of the deal matters as much as the figure on it. Three things to insist on from any builder, ours included:
- A written scope, and a fixed price against it. Day-rate development with a vague scope is how small projects become large invoices. If the scope changes, the price can change, but in writing, against the scope.
- Milestones, not a big bang. Working software at defined stages: quoting engine first, then documents, then integrations. You see progress and can stop if it is not working out.
- See it working before you commit. The build should be demonstrated running against your real workflow, with your rates and one of your actual jobs, before serious money changes hands. A working demo answers questions no proposal document can.
If a builder resists all three, walk away. If the numbers from your own arithmetic above do not clearly beat the cost of a system, also walk away, and revisit when the quoting load grows. The point of counting honestly is that sometimes the honest answer is "not yet".
