Off-the-shelf software or custom? When SaaS stops adding up
Author:
Paweł Matusiak
·
A 200 PLN subscription looks cheap until you add three tools, a spreadsheet beside them and a cut of every transaction. Sometimes a package is enough. Sometimes it is cheaper to order an app that does your process — and grow it as the business grows.
This is the question we hear most from restaurant, salon, wholesale and clinic owners. We do not answer “always custom”. We answer with criteria: does the package cover 80% of the process, what it costs over 24 months, and whether you can take your data with you when you leave. A 200 PLN subscription looks cheap until you add a second and third tool, a spreadsheet beside them and a cut of every booking.
When ready-made SaaS is reasonable
SaaS wins at the start when the process is textbook and you are not building advantage on it. One stylist’s calendar, simple invoices in a bookkeeping app, a shop with a national courier — there is no sense writing that from scratch. The condition: you can export clients and documents, the price is predictable, and “you cannot do that” does not appear every month.
- You are starting out, the process is simple, the team is 1–3 people.
- The tool does exactly what you need (a calendar, invoices, a simple shop).
- The subscription is predictable and there is no cut of turnover or bookings.
- You can export data (customers, slots, invoices) without an “exit fee”.
- You are not building advantage on it — it is plumbing, not the product.
When SaaS starts to get expensive
Cost is not only the subscription. It is the sum of: licences × people, transaction cuts, plugins, people-time spent around limits, the risk of a price hike and lock-in. Public TCO comparisons (SaaS vs custom) repeat the same shape: SaaS wins up front, custom often comes out cheaper over 18–36 months when user count or volume grows and the process is not standard. We do not paste someone else’s dollar table onto your firm — you run your own 24 months.
- You pay a commission on bookings / orders / payments — at volume that beats a custom system in a year.
- You have three subscriptions and a spreadsheet because none covers the process to the end.
- A “you cannot do that” plugin appears every quarter, and workarounds eat people.
- Customer data sits with the vendor, and the terms (or the price) can change.
- You want a feature that sets you apart — the package will give it to everyone.
A simple 24-month sum
Add up on the SaaS side: subscriptions, commissions, people-time spent around limits, the risk of a price hike. On the custom side: an MVP quote + running cost (hosting, SMS, gateway, optional care). If after two years SaaS is dearer or blocks growth — it is time for your own system. Ranges and a brief are in how much an app costs. We do not hard-sell a framework: sometimes the recommendation is stay on your current tool and we will build only the missing piece.
An example, not a price list: a 150 PLN calendar + a 2 PLN cut per booking × 400 bookings + a second site + SMS = several thousand a year and still no packs. A wholesaler: three price lists in Excel and 20 office hours a week retyping orders. Field service: 4 crews × a foreign-currency field licence. Plug in your numbers, not ours.
Vendor lock-in: data, price, a feature they switch off tomorrow
Lock-in does not hurt in month one. It hurts when you want to leave. Questions we ask the vendor (and ourselves when we build): is there an export of clients, history and documents in an open format? Can the price jump from quarter to quarter? Is the feature your weekend stands on (a deposit, a B2B list, an offline protocol) in the contract, or on a “roadmap”? Does the data sit in the EU with a processing agreement? If any answer is “no” — count the exit cost before you count the subscription.
Integrations SaaS “was going to ship”: KSeF as an example
A bookkeeping tool with a KSeF certificate is often enough. The problem starts when your panel issues the invoice: B2B, CRM, field service, property. From 2026 an invoice between VAT payers goes through Poland’s National e-Invoice System. The timetable on ksef.podatki.gov.pl: 1 February 2026 for businesses whose sales (including VAT) in 2024 exceeded PLN 200 million; 1 April 2026 for the rest. Consumer invoices in KSeF are optional. Receiving invoices in KSeF is a topic from 1 February 2026.
If SaaS promises “KSeF is coming” and has no date on your process (credit notes, deposits, many price lists) — that is not an integration, it is a slide. A custom app can hand the document to the accounts tool or send FA(3) itself. We describe that in KSeF in a company app. We do not advise till exemptions or the PLN 10,000 limit here — that is your accountant and the current Ministry texts.
A process the package does not know
A 10-massage pack shared across salons, a B2B list with breaks and a credit limit, an offline service protocol in a basement, a flat hold that returns to stock by itself — these are not “settings”. They are how you earn. The closer a product is to that, the weaker the case for custom. The more spreadsheet sits beside SaaS, the closer you are to your own app. Industry examples: booking, B2B portal, field service.
WordPress with plugins is not a free third way
A theme + 15 plugins looks like a compromise. With a non-standard price list, roles and a warehouse integration it ends as the same spreadsheet, only on PHP. When WP is enough and when Laravel is not — in WordPress vs Laravel. A stack another developer can take over: Laravel + Vue.
What stays yours when you order from us
- Source code and a Git repo — you are not trapped in someone else’s cloud.
- Data on a server you name (EU, backups, GDPR).
- 6 months of warranty and a clear path to the next features.
- Stages: the first slice removes the dearest pain and should start paying back.
You do not need to know if you need custom. Describe what you work in today and where it sticks. Within 24 hours you get a recommendation: stay on SaaS, build an MVP, or stage “site and calendar first”. No framework hard-sell.
A one-page decision checklist
- Does one package cover 80% of the working week — with no spreadsheet beside it?
- Is there a data export in the contract and a price for 24 months, not “until we change it”?
- Do you pay a cut per transaction or per user that grows faster than takings?
- Would the feature that sets you apart land with competitors on the same SaaS?
- Is the integration (KSeF, warehouse, SMS, payment) here today, or on a “Q4” slide?
- Will the team use the new tool on Monday, or go back to the notebook?
Three “no” answers usually mean: stay on SaaS and build the missing piece, or plan an MVP. Five “no”s — time for your own system, in stages. Zero “no”s — we will not write you an app, because there is no need. That last answer is a service too.
People, not only TCO: who will actually use it
The dearest system is the one the shop floor, reception or the rep will not open. Custom loses when you build a cockpit for the owner and not a button for the person at the counter. SaaS loses when the screen is in English and the field crew has 50 seconds for a protocol. A quote without an hour with the person who will click is a guess. That is why the brief asks who clicks, not only for a feature list.
A tool change is a habit change. A parallel week (old way + new entry) costs less than a Monday revolution. We do the same on booking and on the workshop floor: one truth first, decoration later.
Build, buy, or a mixed call — three honest ends to the conversation
Buy: you stay on SaaS because it covers the working week and you can leave with your data. Build: we write an MVP for one pain. Mixed: SaaS stays for accounts or the calendar, and we add the panel the package cannot do (a B2B list, an offline protocol, unit stock). The most common good answer in an SME is mixed. The worst: throw everything out on Monday and write “a system for the whole firm” for a year.
Outsourcing to a software house is not a third religion. It is a way to build without a hire. Same terms: your code, stages, a right to leave. Another team on Laravel + Vue should be able to take the repo. If the vendor will not hand over the code — that is SaaS in costume, only dearer up front.
What you count in TCO, and what we do not guess from someone else’s table
On the SaaS side: licences, commissions, plugins, training at every price hike, workaround time, export cost. On the custom side: stage quotes, hosting, backups, SMS, gateway, post-warranty fixes, your hours on acceptance. We do not paste a “custom is always 76% cheaper” table here, because those models count enterprise seats and hundreds of users. Your wholesale office of eight has a different threshold than a 200-person department. Commissions and a spreadsheet beside the tool lower the custom threshold — not login count alone.
When we say “stay on SaaS” and how we know after one call
We hear: one person, one site, a simple price list, no commission, a CSV export exists, no second site in the year plan. Then custom is a dearer toy. We recommend a tool type (calendar / accounts / shop) and maybe a site that links to it. We are not sorry about that recommendation — a badly chosen custom comes back as a complaint and an unfinished panel.
24-month TCO: what you count, and what you do not paste from someone else’s table
Public TCO comparisons (SaaS vs custom) repeat a shape: SaaS wins up front, custom often comes out cheaper over 18–36 months when user count or volume grows and the process is not standard. We do not paste a “custom is always 76% cheaper” table — those models count enterprise licences and hundreds of seats. A wholesale office of eight has a different threshold. Commissions and a spreadsheet beside the tool lower that threshold, not login count alone.
On the SaaS side: subscriptions, commissions, plugins, training at a price hike, workaround time, export cost. On the custom side: stage quotes, hosting, backups, SMS, gateway, post-warranty fixes, your hours on acceptance. Ranges and a brief: how much an app costs. Three subscriptions plus a cut per booking often beat a calendar MVP in a year — but only when you plug in your numbers, not a blog average.
Lock-in: data, price, a feature on a roadmap
Questions for the vendor (and for us when we build): is there an export of clients, history and documents in an open format? Can the price jump from quarter to quarter? Is the feature your weekend stands on (a deposit, a B2B list, an offline protocol) in the contract, or on a “Q4” slide? Does the data sit in the EU with a processing agreement? If any answer is “no” — count the exit cost before you count the subscription. Code and the repo on our side are yours from the start. If a vendor will not hand over the code, that is SaaS in costume, only dearer up front. A stack another team can take: Laravel + Vue.
- Buy — when one package covers 80% of the week and you can leave with a CSV.
- Build — an MVP for one pain, then stages that already earn.
- Mixed — the most common good SME answer: accounts in a package, the missing panel yours.
- The bad answer: throw everything out on Monday and write “a system for the whole firm” for a year.
KSeF as a test of whether SaaS will “ship” the integration
A bookkeeping tool with a KSeF certificate is often enough. The problem starts when your panel issues the invoice (B2B, CRM, field service, property). Timetable from ksef.podatki.gov.pl: 1 February 2026 for 2024 sales above PLN 200 million (including VAT); 1 April 2026 for the rest. Consumer invoices optional. Receiving in KSeF from 1 February 2026. If SaaS promises “KSeF is coming” with no date on your credit notes and deposits — that is a slide, not an integration. A custom app hands the document to accounts or sends FA(3). Path: KSeF in a company app. We do not interpret the PLN 10,000 limit or tills — that is the accountant and Ministry texts.
Frequently asked questions
- Do you always argue against packages?
- No. We often say “stay on your current tool and we will build only the missing piece”.
- What if I cannot afford a whole system?
- That is why we stage. The first slice should remove the dearest pain and start paying back.
- Who develops the app later?
- Us, as further work, or your developer — you have the code. It is deliberately not a forever subscription for permission to change.
- How long to decide?
- A call and a quote in 24 hours. “SaaS or custom” can often be settled on the first process list.
- Is custom always cheaper after 2 years?
- No. At low volume and a simple process SaaS wins. Custom wins with commissions, many roles, integrations and a rising user count.
- KSeF — SaaS or a custom panel?
- If invoices already leave a KSeF-ready accounts tool — stay on it. We build a custom integration when your panel is the issuer. Ministry dates: 1 February 2026 (2024 sales > PLN 200 million), 1 April 2026 for the rest. Source: ksef.podatki.gov.pl.
- Do I get the code at once?
- Yes, the repository is yours. We do not use a “code after the last instalment in three years” model.
- What does running it cost?
- Hosting, backups, SMS, gateway, optional care — usually a fraction of three SaaS tools plus commission. Detail after we see the stack and the volume.
Related service:
Custom software for companies
Describe your project