Website development cost: what a quote must include
How to compare website development costs: separate one-off and recurring fees, total them over three years, then check the quote, domain and accounts before paying a deposit.

Table of Contents
A website price means little until you know two things: what work it includes, and what you will still pay after launch. So first make sure every quote covers the same scope, total each one over the same period, then check who holds the domain and accounts.
Our price list gives you a rough starting point; then ask for a written breakdown of the work you actually need. All figures in this article are made up so you can practise the calculation. They are not Aksara Karya Digital prices or market averages.
Three kinds of cost to keep apart
A quote can mix costs that are paid once, costs that recur and costs that depend on usage. Separate the three before you compare quotes.
| Kind of cost | Examples and what to ask |
|---|---|
| One-off | Planning, design, development, content entry, testing. Ask what is included and what the revision limit is. |
| Recurring | Domain, hosting, licences, third-party services, maintenance contract. Ask the renewal price, the period and who sends the invoice. |
| Usage-based | Payment processing, messages sent through certain services. Ask what triggers the charge, who bills it and how to monitor it. |
The formula: total cost over the evaluation period = initial build cost + every recurring cost in that period + any extra work you have approved. Use the same period for every quote. If you total one quote with its monthly fees and another with only its launch cost, the results cannot be compared.
Example: totalling two quotes over three years
The two made-up quotes below assume the same scope and costs that do not change. Tax, transaction fees and feature changes are left out.
| Cost | A | B |
|---|---|---|
| Build | IDR 3 million | IDR 6 million |
| Domain and hosting | IDR 600,000 a year from the first year | Included in the first year, then IDR 800,000 a year |
| Maintenance | IDR 150,000 a month | IDR 50,000 a month |
For quote A, a year of maintenance is IDR 150,000 x 12 = IDR 1,800,000. The first year comes to IDR 3,000,000 + IDR 600,000 + IDR 1,800,000 = IDR 5,400,000, and each later year adds IDR 2,400,000.
For quote B, a year of maintenance is IDR 50,000 x 12 = IDR 600,000. The first year comes to IDR 6,000,000 + IDR 600,000 = IDR 6,600,000, and each later year adds IDR 800,000 + IDR 600,000 = IDR 1,400,000.
| End of period | Total A | Total B |
|---|---|---|
| Year 1 | IDR 5.4 million | IDR 6.6 million |
| Year 2 | IDR 7.8 million | IDR 8.0 million |
| Year 3 | IDR 10.2 million | IDR 9.4 million |

A is IDR 1,200,000 lower in year one and IDR 200,000 lower in year two, then B is IDR 800,000 lower in year three. A costs half as much to build, yet the two swap places. If the website will only be used for two years, A stays lower, so decide how long you will use the site before you choose the period.
A lower total does not prove the scope is equal, either. Maintenance at IDR 50,000 that covers only backups is not comparable with maintenance at IDR 150,000 that covers fixes. For your own quotes, replace every figure above and add any renewal price increases that are actually written down.
Components a quote must put in writing
Each row gives a question to check, then an example of wording too vague to base a payment on.
| Component | Questions and an example of vague wording |
|---|---|
| Pages and design | Which pages will be built? Is the design based on a template or made to order? Vague: "Up to 10 pages", with no page names. |
| Content | Who writes, edits, uploads and translates the content? Vague: "Content from the client", with no deadline. |
| Features | Which flows are built, and how are they tested? Vague: "Contact form", with no destination for submissions. |
| Basic SEO | Are page titles, descriptions, the sitemap and indexing settings part of the work? Vague: "SEO friendly". |
| Accounts and licences | Who holds the accounts, who receives the invoices, and who may change the settings? Vague: "Domain included", with no holder named. |
| Revisions | What is the revision limit, when is feedback given, and what are the terms for changing features? Vague: "Revisions until you are happy". |
| Handover | Which access, guides, training and files are handed over? Vague: "Website handed over after full payment", with no list of the logins and access you receive. |
| Maintenance | What is checked, how often, and how are problems reported? Vague: "Full support". |
| Payment | What are the stages, what proof of delivery comes with each stage, and what happens if the project is delayed because content is not ready? Vague: "Deposit, then the balance", with no conditions for the final payment. |
Before paying the deposit, also check how long the quote is valid and the terms for ending the work. Any extra cost should have your approval before the work starts.
Why two five-page websites can have different prices
Page count explains only part of the work. Picture two made-up websites with five pages each. The first uses text and photos the business owner has already prepared. The second needs content written, two languages and a catalogue filled in from a spreadsheet. The task lists differ, so different prices are reasonable.
Features with the same name can also differ. A simple contact form is not comparable with a quote request form that stores attachments, routes requests by branch and needs staff access. Ask each provider to describe the flow, or use a website brief template so every provider prices the same flow.
For a catalogue or online shop, ask how many products are entered at the start, how many variants they have and who tidies up the data. Product photos and product information are real work, and writing that work into the quote from the start lets you choose which parts to do yourself.
What to confirm about domain and account control
Ask who is recorded as the domain holder, which email address receives the renewal reminders and how renewal works. Your business also needs an account recovery route that still works when staff or providers change.
For generic domains such as .com registered through an ICANN-accredited registrar (ICANN coordinates the global domain name system), registrants' rights and responsibilities include access to prices and terms, and instructions for managing, transferring and renewing the domain. Registrants must also keep their contact details accurate and answer registrar enquiries within 15 days.
ICANN's policy on expired domains requires registrars to send at least two reminders before expiry, about one month and about one week ahead, plus one notice within five days after expiry. The reminders go to the registered domain holder. If the recorded details belong to the provider or a former employee, you may not receive them.
These rules do not automatically apply to .id domains. Those are managed by PANDI, the Indonesian registry for .id, under its own registration policy. For .id, ask your registrar about the registration period and renewal. Whatever the extension, keep the agreement and the renewal date with the project documents.
Fixing a problem versus changing the requirements
A feature that does not work as agreed needs a fix. Adding a payment method or a campaign page after launch is a new request. Put this split in writing so both sides agree when a piece of work needs an extra quote.
A promise of "lifetime support" needs its scope spelled out. Ask whether it means help with using the site, system updates, adding content or technical work. Ask also about service hours, the reporting channel and how priorities are set, then pick the scope that fits your team's ability to run the website day to day.
Checklist before paying the deposit
- Send the same requirements to every provider you compare.
- Mark each piece of work as included, not included or unclear.
- Separate one-off, recurring and usage-based costs.
- Use the same calculation period, and the same tax treatment where tax applies.
- Check the payment stages and the proof of delivery you receive at each stage.
- Make sure the acceptance criteria, account access and handover process are written down.
To discuss the scope of a new website, see our web development service. If you already have a website and only need upkeep, start with our website maintenance service and the maintenance checklist, so the cost of a rebuild does not automatically become the starting point of the discussion.
Author
Dzaki Fauzaan











