Budget for custom software development in South Africa in two parts: the build, and the cost of owning it for at least the next two years. Before you ask for a price, write down the outcome you need at launch, the assumptions behind the quote and a phased plan, and include maintenance, hosting and framework upgrades in the number.
I have worked in IT and development since 1998. A price means little without a scope, so ask every supplier to price the same written launch scope and compare like with like.
What determines custom software development costs?
The price depends on what the system must do at launch, who uses it, which systems it connects to and what data it holds. You decide the outcome; agree the details with the supplier during discovery, including any technical limits. Two businesses can ask for “a client portal” and need very different builds.
Overruns are well documented in large projects. In a study of 1,471 IT projects published in Harvard Business Review in 2011, Bent Flyvbjerg and Alexander Budzier found an average cost overrun of 27%, and one project in six overran by 200% on average. Their sample was mostly large public-sector projects, with an average cost of US$167 million, so the figures do not transfer to a small business system. The authors recommend smaller projects and contingency planning for risks that cannot be removed, and both apply at any size.
Mistake 1: what happens when you buy a wishlist?
Without priorities, a supplier cannot tell which features to defer when the estimate exceeds your budget. When every feature is essential, the first release tries to build everything at once, and cost and risk grow together.
Separate the outcome you need at launch from the improvements that can follow. A good first release does one job well and is used for real. The next phase then builds on what people actually did with it, not on what everyone guessed at the start.
Mistake 2: why do unwritten assumptions cost money?
An unwritten assumption can become a scope dispute, and if resolving it means rebuilding finished work, the change adds cost. Ask for the assumptions in writing, and answer these before you accept a quote:
- Who supplies the data, and in what state is it?
- Which systems must the software connect to, and do their interfaces allow it?
- Who signs off each stage, and how quickly?
- Which roles use the system, and what may each one see and change?
- If the system holds personal information, which safeguards does it need? POPIA requires “appropriate, reasonable technical and organisational measures” to protect it (section 19 of the Act).
A quote that lists its assumptions and exclusions is easier to compare, and it shows you where a change becomes new scope.
Mistake 3: what does it cost to own software after launch?
Software keeps costing money after it goes live, and the framework it is built on sets part of the timetable. Laravel gives every release 18 months of bug fixes and 2 years of security fixes. Laravel 13, released on 17 March 2026, gets security fixes until 17 March 2028. The language underneath has its own clock: each PHP branch is fully supported for two years, then receives critical security fixes for two more. PHP 8.2’s security support ends on 31 December 2026.
So an application that is never upgraded leaves security support on a known date. Budget for:
- framework and language upgrades on that timetable;
- hosting, backups and monitoring;
- fixes and small improvements once people use the system;
- the people or provider who do that work, and how quickly they respond.
Maintenance is a long game. Rizonesoft, our open-source division, has published 34 releases of Notepad3 on GitHub, from April 2018 to June 2026, each with its own notes. Software that people rely on needs that kind of steady upkeep.
Ownership also means you can leave. When we hand over a custom software project, these are fixed:
| What you own | How it is handed over |
|---|---|
| Source code | In your repository |
| Your data | Exportable in plain formats |
| Hosting account | In your business’s name |
| Running costs | Written down |
| Notes | In plain words |
How do you put the budget together?
List every cost on one sheet, then total it over the period you plan to own the system, for example two years. For each line, write the estimate, the assumption behind it, who pays and when it falls due.
| Line | What it covers | When it is paid |
|---|---|---|
| Discovery | Process map, roles, integrations, the smallest useful launch | Before the build |
| Build | Design, development, testing and security work in the agreed scope | By milestone |
| Data migration | Cleaning and moving existing records | Before launch |
| Your staff time | Answering questions, testing, signing off | Throughout |
| Training | Teaching the people who will use it | At launch |
| Recurring services | Hosting, backups, email or SMS services, paid interfaces | Monthly or yearly |
| Upkeep and upgrades | Fixes, small improvements, framework and language upgrades | Monthly or per upgrade |
| Risk allowance | A set amount for what cannot be known yet | Only when released |
Record whether VAT applies to each line and show the full amount payable, so every quote is compared on the same basis. Your accountant can confirm what VAT you may claim back, which is separate from the cash you need to pay the invoices. Agree in advance who may release the risk allowance, and what it may be spent on. Some recurring services charge by use, such as messages sent, so estimate them from your expected volume.
What does a phased build look like?
A phase one is a complete, working tool with a narrower scope, not half a system. Take an example: a business wants a client portal with billing, documents, support tickets and reporting. Phase one could be the secure login and the one workflow that causes the most daily work, such as clients submitting and tracking requests. It ships and is used. Billing, documents and reporting follow as funded phases, shaped by what the first phase showed.
Phasing helps with cash flow, and it puts later spending where real users point it.
How should you compare two quotes?
Compare the scope, not only the total. Put the quotes side by side on discovery, data design, integrations, testing, security, documentation and support, and on their assumptions, exclusions and acceptance criteria. If one quote leaves out an item the other includes, ask whether that work is excluded, covered elsewhere or simply not needed for your project.
Then compare what you own at the end: the source code, the data, the accounts and the notes.
How do you start a custom software project?
With a small, paid discovery. Map the process, name the roles and integrations, and define the smallest useful launch. Discovery turns a wishlist into a scope you can price, and it can also show that an off-the-shelf tool would serve you better, which is a good outcome too.
Read when a business needs more than a website to decide whether custom software is the right call, and our whitepaper on when a business has outgrown off-the-shelf for the architecture side.
FAQ
Should a software quote be fixed or open-ended?
Either can work. A fixed price needs a written scope, assumptions and exclusions, so both sides know what is included. Time and materials suits work whose scope will change, with a cap and regular reporting so the spend stays visible. Agree what happens at the cap: work stops, the scope is reduced, or more spending needs written approval. A cap limits the spend; it does not promise every feature.
How long does Laravel support each version?
Laravel’s support runs from the framework release’s own date: 18 months of bug fixes and 2 years of security fixes in total, according to its release notes. Your application’s launch does not restart that clock, so plan upgrades against the published end dates.
What should I own when the build is finished?
The source code in your repository, your data in formats you can export, the hosting account in your business’s name, the running costs in writing and notes in plain words.
What should you do next?
Write down what must be true on launch day, list the roles, integrations and data, and ask for a discovery before a full quote. Our free IT health check asks ten plain questions about backups, sign-ins and devices and shows what to fix first. When you are ready, see how we build Laravel systems for South African businesses.
Published 16 June 2026. Last updated 11 October 2026.