No price list here - rates vary too much to be useful. What does transfer is the five factors that move an estimate by multiples, and the questions that turn an unpriceable request into a priceable one.
Key takeaways
- Anyone quoting an integration before seeing the installation is guessing. The same two systems at two clients can differ by a multiple because of customised fields nobody documented.
- Identity matching is usually the largest line and the one nobody budgets. Deciding when two records are the same customer is business logic, not code.
- Whether the flow creates a real-world commitment changes the price. Reading data is cheap; issuing a tax document or ordering a courier requires duplicate protection, reconciliation and an error queue.
- Budget ongoing maintenance separately. An integration is not a delivered object - it depends on systems that change without telling you.
I am not publishing a price list here, and not out of evasion. Integration rates vary by the systems, the specific installation, and who does the work - any range I wrote would be wrong for most readers, and somebody would build a quote on it. What does transfer between projects is what moves the number, and that is what lets you ask the right questions and recognise an estimate resting on a guess.
The rule that precedes everything else
You cannot price an integration without seeing the installation.
That sounds like a supplier's hedge, and it is a fact: the same two systems at two clients can require entirely different code. In Priority, in SAP Business One and in a CRM - each accumulates customised fields and forms over years.
What that means practically: a quote given after a phone call alone is an estimate, not a price. The gap between an estimate from documentation and one after seeing the schema is a multiple, not a percentage.
What is possible: pricing a short discovery day, at the end of which there is a real number. A supplier offering that is working properly; one giving a number immediately is taking a risk you will pay for later.
The five factors that move the number
1. How many flows, and in which direction
"Connect the systems" is not one project. It decomposes into one-way flows, each with its own cost.
A flow that reads data is cheap. A flow that writes is dearer. Two-way sync of the same field is the most expensive - and usually the wrong solution.
What to ask: "how many separate flows are there, and in which direction?" If the answer is "everything should update both ways", that is not a requirement - it is a request that needs decomposing.
2. Identity matching - the line nobody budgets
This is usually the largest piece of work, and it is invisible in the project description.
One system identifies a customer by email. The other by a numbered card. Deciding when two records are the same customer is business logic, and sometimes it has no clean answer.
What affects the price:
- Is there a shared key? A company registration number on both sides reduces it dramatically.
- Is the existing data clean? Duplicates in the base mean cleanup work before the integration - not instead of it.
- What happens without a confident match? A human review queue costs more to build and less to fix.
The question worth asking first: "is there a shared field that identifies a customer with certainty in both systems?" A negative answer doubles the estimate.
3. Whether it creates a real-world commitment
This is the difference that most surprises clients.
| The flow | What is required |
|---|---|
| Reading data for a report | Basic |
| Updating a field in a system | + error handling |
| Issuing a tax document | + duplicate protection, reconciliation, error queue |
| Ordering a courier, charging a card | The same |
The reason: a tax document is not deleted, and a courier ordered twice arrives twice. Such operations require idempotency, a daily reconciliation job and an error queue a human sees - and that is a third to half the work, not an extra.
A supplier pricing an invoicing flow the same as a read flow either does not understand this or will not build it.
4. Urgency
"Real-time" costs more. Scheduled polling is simple and cheap; event push needs a public endpoint, authentication, a queue and duplicate handling.
And in most cases only one flow is genuinely urgent. Recognising that reduces cost without harming the outcome - and it is a question worth asking: "what genuinely must be immediate, and what can wait an hour?"
5. Who maintains it, and what happens when it breaks
The line most often omitted - and an integration is not a delivered object.
It depends on systems that change: a version that changes a limit, a token that expires, a user who leaves. These are not bugs - they are reality.
What should be defined in advance: who handles it when it breaks, within what time, and who pays.
What makes a request priceable
These are the questions I ask, and each one moves the number:
- Which systems, and at which version and installation?
- Is there access to a test environment? If not, that raises cost and slows delivery.
- How many flows, and in which direction?
- Is there a shared key identifying a customer?
- How clean is the existing data?
- Is there an operation here that creates a commitment?
- What must be immediate?
- Who maintains it after delivery?
A request without answers to these is not priceable - and saying so is a legitimate answer from a supplier.
What raises cost without anyone intending it
- No test environment. Developing against production means more careful work and repairing real mistakes.
- Nobody to answer. If questions to the system vendor take a week, the timeline follows from that.
- A module that must be purchased. Discovered mid-project, and then it is a purchasing decision that halts everything.
- "Real-time" that is not genuinely needed.
- A requirement discovered late because nobody described the process fully.
And what lowers it
- A shared key in both systems.
- Dropping two-way sync in favour of one handover point.
- Accepting polling instead of real-time where possible.
- Starting with one flow that produces value, then extending.
- Cleaning data first rather than asking code to compensate.
Six interfaces, six different jobs
Before anyone talks about hours, establish what was actually handed over. This is the first and largest distinction:
| Interface | What it gives you | Where the effort concentrates |
|---|---|---|
| Documented REST with a spec | Defined resources, status codes, pagination rules | Field mapping and business rules |
| SOAP with a WSDL | A strict contract and a generated client | Envelope and namespaces, XML types, fault parsing |
| Vendor-supported file drop, SFTP or a folder | A flat file on a fixed schedule | Write-completion detection, ordering, encoding, reprocessing, archive |
| Database view or read replica | Direct SQL over real data | Schema drift, no change notification, a read-only ceiling |
| Emailed report or attachment | Whatever the sender chose to attach | Sender verification, format variance, duplicate detection |
| Screen only | Nothing programmatic | Continuous maintenance. The effort never becomes one-time |
Two rows in that table mislead if you read them quickly. A file looks like the simplest option, and there really is almost no authentication work in it - but everything an HTTP interface gives you for free becomes yours: how you know the write finished, what happens when two files arrive out of order, and what you do when a day already loaded has to be loaded again. A database view looks very cheap, and it is genuinely fast to start, but a closed system's schema is not a contract: a version upgrade can rename a table or change what a field means without notice, because to the vendor that is internal.
Why does authentication move the estimate more than the payload does?
Because payload work is bounded - a finite number of fields and rules - while authentication work recurs. A mechanism that expires takes down an integration that ran for months, usually silently:
| Mechanism | What it adds to the work |
|---|---|
| Static key in a header | Secure storage and a rotation schedule, nothing more |
| Basic over TLS | The same, plus a real user account that actions get attributed to |
| Token endpoint with a short lifetime | Refresh scheduling, clock skew, retry-on-401 without looping |
| OAuth 2.0 authorization code with a refresh token | A consent step a human must perform, refresh-token storage and rotation, and re-consent when access is revoked |
| Mutual TLS or signed requests | Certificate and key lifecycle, a keystore, and an expiry that takes everything down with no warning |
| IP allowlist or VPN | A request to an infrastructure team per environment and per address change, on a timeline you do not control |
The bottom two rows are the ones that surprise people. They add almost no code and add a third-party dependency to every change, which is what turns a small change into a week.
Does a sandbox exist, and what does its absence add?
A sandbox is a separate tenant with its own data, where a failed call leaves no damage. When there is none, the work does not disappear - it moves:
- Every test that changes data needs a reversal plan written before it runs.
- Test records land in real reports, so they need a marker field and a cleanup pass.
- Reproducing a fault means waiting for a real occurrence instead of creating one.
- Rate-limit behaviour cannot be probed, so the limit is discovered in production.
- Some tests can only run outside business hours.
And a sandbox whose data does not resemble production is half a sandbox. It will not surface the duplicate customer, the record with an empty identifier, or the name with an unsupported character - which are precisely the cases that break a go-live.
Who owns the far side
This is the only driver on the list that is not measured in development hours at all:
- A vendor with a support contract and a ticket queue. An answer will arrive, on their schedule.
- A vendor with a professional-services team or a certified partner. An answer costs money and arrives.
- An internal team. The fastest, if they have capacity.
- Nobody. A developer who left, a discontinued product. Every unknown becomes an experiment.
Two projects with identical scope can finish months apart because of this line alone, which is why it belongs in the estimate explicitly rather than as a footnote.
The question worth asking before any of it
How many hours a month does this manual work take?
That is the number turning the conversation from "what does it cost" into "is it worth it". Two hours a month almost never justifies an integration with maintenance. Twenty hours does.
And sometimes the honest answer is that it is not worth it - which is an answer a good supplier should be willing to give.
Frequently asked questions
How much does a systems integration cost in Israel?
There is no useful published figure, because the cost depends on the specific installation, the number and direction of flows, and whether the flow creates a real-world commitment. Anyone quoting before seeing the installation is estimating rather than pricing - the same two systems at two clients can differ by a multiple because of customised fields nobody documented.
What is usually the biggest hidden cost in an integration?
Identity matching - deciding when two records in different systems are the same customer. It is business logic rather than code, it is invisible in the project description, and it doubles an estimate when there is no shared key such as a company registration number on both sides. Existing duplicate data adds cleanup work before the integration rather than instead of it.
Why does an invoicing integration cost more than a reporting one?
Because issuing a tax document is a real-world commitment that cannot be undone - the same is true of ordering a courier or charging a card. Those flows need idempotency, a daily reconciliation job and an error queue a human monitors, which together are a third to half the work. A supplier pricing them the same as a read flow either does not understand that or will not build it.
What questions make an integration request priceable?
Which systems and at which version and installation; whether there is access to a test environment; how many flows and in which direction; whether a shared key identifies a customer in both; how clean the existing data is; whether any operation creates a commitment; what must be immediate; and who maintains it after delivery. A request without those answers is not priceable, and saying so is legitimate.
Should integration maintenance be budgeted separately?
Yes, because an integration is not a delivered object - it depends on systems that change without notifying you. A version that changes a batch limit, a token that expires, a user account that gets deactivated: these are reality rather than bugs. Define in advance who handles a break, within what time, and who pays.
Why not publish a price per interface type?
Because two installations of the same product at two clients differ: customised fields, different versions, and historical data at different levels of cleanliness. The drivers transfer between projects; the number does not. A number published without seeing an installation becomes somebody's quote basis and is wrong.
Is SOAP always more expensive than REST?
No. A WSDL generates a client automatically and saves manual mapping work, which is a genuine advantage. The cost in SOAP services comes from elsewhere: parsing the fault structure, XML types that do not map cleanly onto your language, and a sandbox that older systems usually do not offer.
Which single answer changes the estimate most?
Whether a sandbox exists with data that resembles production. A yes shortens every test cycle and makes faults reproducible on demand. A no adds work at every stage, confines testing to particular hours, and pushes the discovery of system limits into production.
Keep reading
Related service
Integrations
Make the systems you already pay for talk to each other.
About the author
Yehonatan Saadia
Freelance automation, web & MVP developer
I'm Yehonatan Saadia, a senior developer who builds business automation, custom websites, and MVPs for small and mid-sized companies across the US, Europe, and Israel. These guides come from real client work, not theory.
Work with meHave a project like this?
Tell me what you're trying to automate or build. I reply within 24 business hours with a few targeted questions, then we walk through it on a free 30-minute call, with no commitment. You come away with a scope, a timeline and a fixed price - or a straight answer that it isn't worth building.
