Meet Dian. She runs a distribution business with two warehouses and about thirty staff. For years, the company ran on spreadsheets, WhatsApp groups and a lot of goodwill. Last year, she finally decided to invest in proper business software.
She compared three vendors, picked the one with the best price per user, and signed. Twelve months later, she’d spent close to double what she budgeted.
Nothing went badly wrong. The software works. Her team uses it every day. She just hadn’t been told where the real costs sit.
Dian is a made-up example, but her story is a very common one. If you’re about to buy an ERP, accounting system, CRM or anything similar, here are the five costs that rarely show up on the quote.
A more useful way to look at any software purchase is total cost of ownership. That means everything you’ll spend over the first three years, not just the monthly subscription. The licence is the most visible line on the quote, but it’s often not the biggest one. There’s a simple worksheet at the end of this article you can use to map out your own numbers.
1. Getting it set up properly
The licence or subscription is what vendors advertise. But software doesn’t arrive ready to run your business. Someone has to configure it, set up user roles, build your chart of accounts, and decide how stock moves between locations.
Then there’s your data. Years of customer records, product lists and open invoices need to be cleaned up and moved across. For Dian, this turned out to be the slowest part. Half her product codes were duplicated across two spreadsheets, and nobody knew which version was right.
Where it shows up: implementation fees, consultant hours, and weeks of your own team’s time spent cleaning data.
How to plan for it: ask vendors for an implementation estimate that’s separate from the licence. Before you migrate anything, do a data clean-up first. It’s cheaper to fix a spreadsheet than a live system.
Setup tasks that often get left out of the quote:
- User roles and permissions (who can see costs, approve discounts, edit stock)
- Opening balances for accounts, stock and customer debts
- Tax settings and invoice numbering that match local rules
- Document templates: invoices, purchase orders, delivery orders, quotations
- Approval rules and email notifications
Red flags in a quote: implementation listed as «to be confirmed», data migration marked «by client» with no guidance, or a fixed number of consultant days with no rate stated for extra days.
2. Customization that keeps costing after go-live
Almost every business finds a few things the software doesn’t do quite the way they work. Dian needed purchase orders over a certain amount to be approved by her, and a stock report her sales team could actually read.
So she paid for customization. That part was expected. What she didn’t expect was the second bill a year later, when the software released a new version and her custom changes needed to be tested and adjusted to work with it.
Customization isn’t a one-time cost. Every custom feature becomes something that needs looking after. That’s why it’s worth understanding the real cost of customizing Odoo, or any ERP, before you commit. It often makes sense to check whether a standard setting or simple configuration can do the job first, and keep custom development for the processes that really need it.
Where it shows up: development fees, then testing and rework at every major upgrade.
How to plan for it: for each customization request, ask «what happens to this when we upgrade?» Keep a written list of every change, who built it, and why.
Run every customization request through three checks first:
- Could a standard feature do this if we changed our process slightly? Many requests are habits, not requirements.
- Can it be handled through settings or a no-code tool built into the software, without writing code?
- Does this process give us a real advantage? If yes, custom work may be worth it. If it’s just «how we’ve always done it», think twice.
If a request passes all three and still needs development, ask your provider for three things in writing: who owns the code, how it will be documented, and a rough estimate of the effort needed to keep it working through the next upgrade.
3. The productivity dip nobody budgets for
The first month after go-live was rough for Dian’s team. Orders that used to take five minutes took fifteen. Her warehouse supervisor kept a backup spreadsheet «just in case.» Two people asked if they could go back to the old way.
This is normal. Even good software slows people down while they learn it. Training sessions take staff away from their work, and early mistakes take time to fix.
Where it shows up: training fees, overtime, slower order processing, and the occasional customer who waits longer than usual.
How to plan for it: avoid going live during your busiest season. Pick one or two internal «champions» who learn the system first and help everyone else. Budget for refresher training a few months in, once people know what questions to ask.
Another cost that catches people out is parallel running. Many businesses keep the old system going for a few weeks alongside the new one, so they can compare numbers before switching off. It’s a sensible safety net, but it means entering the same data twice. Plan who will do that extra work, and set a clear end date so it doesn’t drag on for months.
It also helps to measure a few simple things before go-live, such as how long it takes to process an order or close the month. Then you’ll know when the dip is really over, instead of guessing.
4. Connecting it to everything else
Dian’s new system handled orders and stock well. But her online store, her payment gateway and her courier’s tracking system all lived elsewhere. Getting them to share data meant paying for add-ons, connectors, or a developer to build the link.
And integrations aren’t «build once and forget.» When a marketplace changes its system, the connection can break, usually at the worst possible moment.
Where it shows up: paid add-ons, integration development, and monitoring time when connections fail.
How to plan for it: list every tool the new software needs to talk to before you choose a vendor. Ask which connections are built in, which are paid extras, and who fixes them when they break.
Common connections for businesses in Indonesia include:
- Marketplaces: Shopee, Tokopedia/TikTok Shop, Lazada
- Payment gateways: Midtrans, Xendit and similar providers
- Couriers: JNE, J&T, SiCepat and others
- Bank statements and payment reconciliation
- Tax reporting through DJP’s Coretax system
For marketplace connections in particular, ask whether stock syncs in real time or in batches. If it updates every few hours, you can sell an item online that’s already gone from the shelf.
5. Growing into a bigger bill
Per-user pricing looks friendly when you’re small. Then you hire five new salespeople, open a third warehouse, and add a module for HR. Each step makes sense on its own. Together, they can change your yearly bill a lot.
On top of that come the ongoing costs of keeping the system healthy: hosting, backups, security updates and someone to call when things go wrong.
Where it shows up: higher subscription tiers, extra user licences, new modules, support contracts and hosting.
How to plan for it: ask for pricing at your expected size in two or three years, not just today. Check what’s included in support, and what costs extra.
And don’t forget the exit cost. Few people think about leaving a system on the day they buy it. But if the software stops fitting in a few years, how easy is it to move? Check whether you can export all your data in a standard format, how much notice the contract needs, and whether it renews automatically. A cheap system that’s hard to leave can end up being the expensive one.
Before you sign: questions worth asking
None of these costs mean you shouldn’t invest in business software. For Dian, it was still the right decision. Her team spends less time chasing numbers, and she finally trusts her stock reports. She just wishes someone had walked her through the full picture beforehand.
If you’re comparing vendors, take this list into your next meeting:
- What does implementation cost, separately from the licence?
- Who handles data migration, and what do you need from us?
- Which of our requirements need customization, and what happens to them during upgrades?
- How much training is included, and what does extra training cost?
- Which integrations are built in, and which are paid or custom?
- What will we pay with double the users or an extra location?
- What does support cover, and how fast do you respond?
The answers won’t make the software cheaper. But they’ll make sure the number you budget is the number you actually pay.





Users Today : 409
Total Users : 35561591
Views Today : 1431
Total views : 3844408