Skip to content

Integration

Data entered once, and reconciled without anybody watching


Almost every business we meet has someone whose morning starts by moving data between two systems by hand. It is slow, it is where the errors come from, and it is usually the cheapest thing on the list to fix properly.

  • Service Layer, DI API and B1if
  • Failure handling designed in, not assumed
  • Reconciliation you can actually check

The situation

Where integrations go wrong


The difficulty in an integration is almost never the happy path. It is what happens on the day something is unavailable, duplicated or malformed.

It is a person, not an interface

Somebody exports a file from one system every morning and imports it into another. It works until they are on leave.

Failures are silent

The interface stops and nobody finds out until a customer asks where their order is, because nothing was built to notice.

Retries create duplicates

A timeout is retried, the original had already succeeded, and now there are two orders. Nobody designed for the message arriving twice.

Nothing reconciles

There is no way to answer the question everybody eventually asks: are the two systems actually saying the same thing today?

It bypasses business logic

Data is written straight into SAP tables, so stock does not update, the ledger does not post, and the numbers drift apart.

The other system changed

An API version was deprecated or a field was renamed, and the interface has been failing quietly for three weeks.

How we build them

We design for the bad day, not the demonstration


Any developer can move a record between two systems when everything is working. What you are paying for is the behaviour when it is not.

Every interface we build goes through SAP Business One business logic, using the Service Layer or the DI API rather than writing to tables directly. That matters because posting a sales order is not an insert — it affects stock, commitments, pricing and the ledger. An integration that bypasses that logic will appear to work and will quietly corrupt your numbers.

The design work is mostly about failure. What happens when the other system is unavailable, when a message arrives twice, when a field is missing, when a customer record does not exist yet, when a value fails validation. We agree the answer to each of those before building: what retries, what queues, what alerts a human, and what is safe to discard. Every interface gets monitoring and an exception route, because an integration nobody is told about when it breaks is worse than a manual process somebody is doing deliberately.

And every interface gets a reconciliation. There is always a way to ask whether the two systems agree — counts, totals, or a comparison report — and it is available to your team rather than only to us. That is what turns an integration from something you trust into something you can verify.

Every interface we build has

  • An agreed behaviour for each failure case
  • Monitoring and an alert when it stops
  • An exception queue a person can work
  • A reconciliation your team can run

What we connect

The integrations that come up most


E-commerce and marketplaces

Orders, customers, stock levels and pricing between SAP Business One and your web shop or marketplace channels, in both directions.

Warehouse and logistics

Picking, despatch, goods receipts and carrier integration, including handheld and scanning systems that need real stock positions.

CRM and sales tools

Customers, contacts, quotations and order status shared between SAP Business One and the system your sales team actually uses.

Payments and banking

Payment gateway settlements, bank statement import and automated allocation, so cash matching stops being a manual exercise.

Third-party and bespoke systems

Industry systems, supplier and customer EDI, portals and internal applications, connected through the Service Layer with proper authentication.

Monitoring and reconciliation

Failure alerting, an exception queue your team can work, and reconciliation reporting that proves the two systems agree.

How it works

How an interface gets built


Map

What data moves, in which direction, how often, and which system is authoritative for each field. Most integration problems are actually unresolved ownership questions.

  • Field-level mapping
  • System of record agreed
  • Volume and frequency

Design failure

Every failure case gets an agreed behaviour before any code is written: unavailable, duplicated, malformed, rejected, out of sequence.

  • Retry and idempotency rules
  • Exception routing
  • Alerting thresholds

Build

Built against the Service Layer, DI API or B1if as appropriate, under source control, in a test environment connected to a test instance of the other system.

  • Supported interfaces only
  • Test environment both ends
  • Source controlled

Test

Including the awkward cases: the other system offline, a duplicate message, a rejected record, and a realistic day of volume rather than three sample records.

  • Failure simulation
  • Volume testing
  • Duplicate handling verified

Reconcile

A reconciliation report built and handed to your team, so anyone can answer whether the systems currently agree.

  • Reconciliation report
  • Run by your team
  • Discrepancy investigation route

Run

Monitored in live use, with alerts to a named person and a documented route for reprocessing anything that failed.

  • Live monitoring
  • Failure alerts
  • Reprocessing procedure

Technical detail

How we connect things


SAP Business One interfaces

  • Service Layer (OData) for most integrations
  • DI API where client-side logic is needed
  • Integration framework (B1if) scenarios
  • User-defined fields for external identifiers
  • Never direct writes to SAP tables

Transport and protocol

  • REST and JSON, SOAP where required
  • Scheduled batch and event-driven patterns
  • Webhooks and polling
  • SFTP and file-based interfaces where unavoidable
  • EDI message handling

Reliability

  • Idempotency keys to prevent duplicates
  • Retry with backoff for transient failures
  • Dead-letter queue for messages needing a human
  • Sequence handling where order matters
  • Replay of failed messages after a fix

Security

  • Credentials in environment configuration, never in code
  • Least-privilege service accounts
  • Transport encryption end to end
  • Audit logging of what moved and when
  • Personal data minimised in transit

Observability

  • Interface health monitoring
  • Alerting to a named person on failure
  • Message-level logging with correlation
  • Volume and latency trends
  • Exception queue with a working procedure

Reconciliation

  • Count and value comparison reporting
  • Unmatched record identification
  • Period-end reconciliation to the ledger
  • Reports your team can run without us

What changes

What a properly built interface is worth



The morning re-keying stops

The hour somebody spends moving data between systems disappears, along with the transcription errors that came with it.


Failures are noticed immediately

An alert to a named person the moment something stops, rather than a customer telling you three days later.


Duplicates stop happening

Idempotent design means a retried message does not become a second order, which is the most common integration defect we are called in to fix.


You can prove it agrees

A reconciliation your own team runs, so the two systems agreeing is a verified fact rather than an assumption.


Stock and ledger stay correct

Data posted through SAP business logic, so inventory, commitments and the ledger update the way they are supposed to.

What to expect

The shape of an integration project


Simple, well-documented API

Two to four weeks per interface where the other system has a good API and clear documentation.

Poorly documented or legacy system

Four to eight weeks or more. Time goes into discovering how the other system behaves, not into the SAP Business One side.

Bidirectional with conflict handling

Longer again. When both systems can change the same record, the rules for who wins have to be designed and agreed.

The main dependency

The other system, and access to a test instance of it. Integration projects usually wait on that rather than on development.

Ongoing

Interfaces need monitoring and occasional change when the connected system changes. This is covered under support.

We will always ask whether the integration is necessary. Sometimes the better answer is to stop using the second system, and we would rather say that than build an interface to preserve it.

Fit

Whether this is the right conversation


A good fit if

  • Somebody re-keys data between systems as part of their daily routine
  • Your web shop and your ERP disagree about stock
  • An existing integration fails silently or creates duplicates
  • You are adding a system and want it connected properly from the start
  • You cannot currently prove that two systems hold the same data

Probably not us if

  • You need data written directly into SAP tables for speed
  • The other system has no API and no supported export
  • You want an interface with no monitoring or reconciliation to keep the cost down

Common questions

Questions we are asked before a project starts


Can you integrate SAP Business One with our e-commerce platform?

Usually, yes. Orders, customers, stock levels, pricing and despatch status are the common flows, and they can run in both directions. What determines the effort is the quality of the other platform’s API and whether we can get a test instance of it. We will tell you early if the constraint sits on that side.

What happens when an integration fails?

That is designed before anything is built. Transient failures retry with backoff. Messages that cannot be processed go to an exception queue that a person can work, and a named contact is alerted. Nothing is silently discarded, and anything held can be reprocessed once the cause is fixed.

Will an integration keep our stock accurate?

It will keep the systems consistent with each other, which is a different thing from accurate. If stock is wrong in SAP Business One because of process problems — unrecorded adjustments, goods received late, picking errors — an integration will faithfully propagate that. We usually look at the underlying stock process at the same time, because integrating bad data just spreads it faster.

Do you use the Service Layer or the DI API?

The Service Layer for most integrations: it is service-oriented, works over HTTP and suits anything running outside the client. The DI API where logic needs to run alongside the Windows client or where a specific object is better handled there. Both go through SAP business logic, which is the point. We do not write to SAP tables directly.

Can you fix an integration somebody else built?

Yes, starting with an investigation of how it currently behaves. Duplicates, silent failures and missing reconciliation are the three things we find most often, and all three are usually fixable without rebuilding the whole interface.

Related

Where to go next


Development & Add-ons

Bespoke work on supported interfaces, and remediation of customisations you inherited.

Read more

Data Migration

Moving master data and balances across with a reconciliation you can sign off.

Read more

Support

Monitoring, reprocessing and change when a connected system moves underneath you.

Read more

Which two systems are not talking?

Tell us what moves between them today and who moves it. We will tell you what integrating them properly involves — and whether it is worth doing.

Or call +44 7493 619245 — Monday to Friday, 09:00–17:30.