The Short Answer
Most custom software projects cost between $10,000 and $49,999, according to Clutch's pricing data drawn from verified client reviews. The average reviewed project is $132,480 and runs about 13 months.
Both of those numbers are true, and neither one will help you budget — because they describe a population that mostly is not you. A 13-month average belongs to multi-department systems with stakeholders and committees. What a small business usually needs is one workflow done properly: bookings with deposits, inquiry to estimate to invoice, a lead tracker, a client portal. That is a different size of thing entirely.
The honest answer to "how much does custom software cost" is that scope sets the price and almost nothing else does. A quote is a function of how many workflows are in it, whether it touches money, how many outside systems it has to talk to, and how well you can describe what currently happens. This page walks through each of those, so you can read a quote — or estimate one — without needing a rate card.
Two concrete anchors from our own published pricing, for scale. The lowest entry point is the Scale plan at $499 a month, which includes one custom data tool — a simple CRM, lead tracker, booking or quote database — built and maintained as part of the plan, on top of the $1,500 site build. Anything larger is a fixed quote, and a focused system typically lands around what one to two years of the subscriptions it replaces would have cost.
What the Industry Averages Actually Describe
Here is the Clutch data in full, because it is the most-cited source on this question and it is worth seeing what it does and does not say.
| Clutch metric | Figure |
|---|---|
| Typical project cost | $10,000 – $49,999 |
| Average project cost (all reviews) | $132,480 |
| Average monthly project cost | $10,209 |
| Average project duration | About 13 months |
| Hourly rate, United States | $50 – $99 |
| Hourly rate, Canada and Australia | $100 – $149 |
| Hourly rate, India / Philippines / Ukraine / Mexico | $25 – $49 |
The hourly rates are the part most buyers fixate on and the part that matters least. A rate is a cost model, not a price: $50 an hour against a scope nobody pinned down produces a bigger invoice than $150 an hour against a scope that somebody did. The question that controls your total is how many hours the thing takes, and that is a scope question.
It is also why we quote fixed. A fixed price puts the risk of a sloppy estimate on us, which is where it belongs, and it gives you a number you can hold against your subscription bill instead of a range you can only hope about.
Scope Sets the Price: Seven Things That Move It
In rough order of impact.
1. How many distinct workflows are in scope. The dominant variable, and it is not linear. The first workflow carries the foundation — logins, roles, the data model, deployment, notifications — so the second costs less than the first and the fourth costs less than the second. The consequence runs the other way too: cutting three workflows down to one saves less than two thirds of the price, because the foundation is still there.
2. Whether it takes money. Payments change the shape of a build. Taking a charge is the easy part. What costs is everything around it: authorizations versus captures, partial refunds, deposits with a balance due later, failed cards, disputes, receipts that have to be correct, and records that reconcile with your accounting. Our custom booking systems price higher than an equivalent system that only books, for exactly this reason.
3. Integrations with systems you do not control. Each one is a dependency on someone else's API, rate limits, auth model and breaking changes. A calendar sync, an accounting push, an SMS provider, a payment processor — every connection is real work on day one and a maintenance commitment afterward. Two integrations is ordinary. Six is a different project.
4. Roles and permissions. "Everyone sees everything" is cheap. An office manager, field crews, subcontractors and customers each seeing a different slice of the same job is not, because now every screen and every route has to be correct about who is asking. If your business genuinely needs that separation, it is worth paying for. If it does not, do not buy it.
5. Data migration. Moving records out of a current product, or out of a decade of spreadsheets, is its own project — and its cost is set by how clean the data is, not how much of it there is. Duplicate customers, three address formats, two conventions for job status: that is the expensive kind. The cleanup worth doing beforehand is in CRM vs. spreadsheet.
6. Customer-facing or internal only. An internal tool can be plain and your team will learn it. Anything a customer touches has to work on their phone, survive their browser, tolerate their mistakes and look like your brand — so a client portal costs more than the same data on an admin screen.
7. Whether your process is written down. The one variable you control completely. A business that can say "a lead arrives here, we qualify it like this, these three things happen next, and here is what we do when the customer cancels" gets a tighter scope and a smaller number. A business that discovers its own rules during the build pays for the discovery. You do not need a specification. You need the sequence, the exceptions, and the paperwork it produces.
The Screens Are Cheap. The Exceptions Are the Build.
The most common reason a quote lands higher than expected is that the buyer priced the screens and the builder priced the rules.
"A booking page" is a form and a calendar. What makes it software is the part nobody describes in the first conversation: showing only slots that are genuinely free against a real calendar, holding one while the card clears, charging a deposit and billing the balance later, enforcing a cancellation window without a phone call, handling the no-show, issuing a refund that reconciles, and never double-booking two people who hit submit in the same second.
That is the honest explanation for why two quotes for "the same" system can differ by a factor of three. One of them scoped the exceptions. The other will find them later, when they cost more.
So when you send a quote request, the most useful thing you can include is a list of what goes wrong in your business today and what you currently do about it.
The Costs That Sit Outside Any Quote
These exist whichever route you take. SaaS does not avoid them — it bundles them into a price you cannot see.
- Card processing. If the system takes money, you pay a processor. Stripe's published US rate is 2.9% + 30¢ per successful domestic card charge, with no monthly fee and $15 per dispute. We build on Stripe under your own account, so the money lands in your bank and the rate is between you and Stripe. The same percentage applies on booking platforms that handle payments for you; it is just further down their pricing page.
- Metered third-party services. SMS reminders, address lookup, mapping, high-volume email, document generation. Each has its own meter and each is a real monthly line.
- Your time. The largest uncosted item in every build: discovery, reviewing the first working version, migrating and checking data, training your team. A build where the owner is reachable moves fast. One where nobody can answer a question stalls, and a stalled project is the most expensive kind.
- What you keep buying. You should still subscribe to your commodity software — accounting, payroll, email. Custom software replaces the workflow layer between those tools, not the tools themselves. The five tests for drawing that line are in our build vs. buy software guide.
What It Costs After Launch
Ongoing cost is the part people under-plan, and the pricing model matters more here than the number does.
A running system needs hosting, support and changes. We publish those as flat monthly plans — $20 Host, $99 Maintain, $249 Grow, $499 Scale — with change requests beyond your plan's monthly allowance at $49 each, always confirmed before we do one. Nothing in that structure is priced per user, because users are not what makes a system cost money. Hire three people and the bill does not move. The full reasoning, including the honest caveat about genuine load growth, is in pay for usage, not users.
Changes are the line people most consistently underestimate. Software that runs your operations will need changing: a new service type, a new tax rule, a field your team keeps writing into the notes box. Settle before you sign what a change costs and how long it takes. On our plans, changes are described in plain language by text or voice and ship within hours, and anything that repeats can run on a schedule through website automation instead of being requested every time.
The other half of ongoing cost is leverage, and it never appears on an invoice. If you own the code and the database, canceling your support plan does not switch the software off — it keeps running, and any competent developer can take it over. With a subscription, the same decision ends your access. Settle ownership in writing before you commission anything. What that ownership model looks like in practice is on our custom business software page, and the CRM-specific version is custom CRM development.
How to Make the Number Smaller
Five levers that work, in the order we would use them.
- Launch one workflow, not the system. Pick the flow closest to revenue, ship it, then extend it while it is already earning. This is the single biggest saving available, and it also shows you what you actually needed before you pay for the rest.
- Write down what happens today, including the exceptions. An afternoon with a notepad reliably takes more off a quote than any negotiation does.
- Keep the commodity layer. Do not rebuild accounting, payroll or password management. Build the part that encodes how you make money.
- Clean your data before migration, not during. Deduplicate, pick one format per field, delete what you will never look at again.
- Skip the reporting suite at first. Owners usually want three numbers, not a dashboard. Ask for the three, then add more once you know which ones you check.
Reading a Quote: Five Questions
Ask these of anyone quoting you, including us.
- Is it fixed or hourly, and what happens when scope changes? A fixed price with a written change process beats a low hourly rate with neither.
- Who owns the code and the database? In writing. If the answer is vague, that is the answer.
- Is there a per-user fee anywhere in the ongoing plan? A per-seat charge on software you paid to build is the SaaS model with extra steps.
- What does a change cost after launch, and how fast does it ship? A number and a turnaround, not a promise to be responsive.
- What happens if I stop paying the monthly plan? With ownership, the software keeps running. Any other answer means you are renting.
If You Only Do One Thing
Open your card statement and add up 24 months of every subscription a built system would replace: the CRM seats, the booking tool, the invoicing app, the forms plugin, the portal add-on. Then add a conservative estimate of the hours your team spends each month working around those tools.
That total is the number to hold a quote against — not the industry average, and not what a competitor paid for something that only sounds similar. If the quote comes in under it, ownership is probably worth it. If it comes in well over, the honest answer is to keep subscribing. Bring us the list and that is the answer you will get if it is the right one: our free consultation ends with either a fixed quote or a recommendation not to build, and we have given plenty of the second.