ERP integration
Your ERP connected to banks, POS and every system around it
Integrations for SAP S/4HANA, Oracle NetSuite, Microsoft Dynamics 365, Odoo, Sage and others, monitored and reconciled.
Overview
Your ERP holds the orders, stock, invoices and ledger the business runs on. Most of the data it needs arrives from somewhere else: banks, stores, payment providers, carriers, CRM and tax platforms. When those connections are manual or fragile, people rekey data, totals drift apart and month-end takes longer than it should.
We connect your ERP to the systems around it, whether it is SAP S/4HANA, Oracle NetSuite, Oracle Fusion Cloud ERP, Microsoft Dynamics 365, Odoo, Sage or a custom system. We use the interfaces each product supports, such as SAP IDocs and BAPIs, NetSuite SuiteTalk and RESTlets, Dynamics 365 data entities and the Odoo API, through middleware where it helps and direct calls where it does not.
Every interface has a written contract, a test suite and an owner. Failed messages are kept, explained and replayed, never lost, and your team can see the state of each flow at any time. Naming a product here does not mean a partnership with its vendor.
What we deliver
System landscape and data ownership
A map of every system that exchanges data with the ERP, which system owns each record, and how often each flow runs.
Interface contracts
A written contract per interface: fields, formats, validation rules, volumes, timing and who to call when it fails.
Data mapping and master data rules
Field-level mapping between systems, with the rules for customers, items, prices, tax codes and chart of accounts.
Connectors and adapters
The code or middleware flows that move the data, built on the interfaces your ERP vendor supports and keeps stable.
Events and schedules
Real-time events where timing matters and scheduled batches where volume matters, with the reasons for each choice written down.
Error handling and replay
Retries for temporary faults, a queue for messages that still fail, and a way to correct and replay them without duplicates.
Monitoring and alerts
Dashboards that show each flow’s health, and alerts that reach the right team when a flow stops or slows.
Integration test suite
Automated tests for each interface, run against test copies of the connected systems before every release.
Runbook and handover
Documentation your team can operate from: how each flow works, how to recover it, and how to change it safely.
How we work
- 01
Assess the landscape
We map your systems, flows and manual steps, and agree with you which connections matter most.
- 02
Design the interfaces
We write the interface contracts and choose middleware, events or batches for each flow, with you.
- 03
Build and test
We build each connector with automated tests, working against test copies of your ERP and its partners.
- 04
Test end to end
We run full business scenarios across the systems with your users, from order to invoice to payment.
- 05
Cut over in steps
We switch flows over one at a time, with the current process kept ready until the new one is proven.
- 06
Run and improve
We monitor the flows, handle failed messages and adapt the interfaces when systems or rules change.
How it connects
Scroll sideways to see the whole drawing.
The ERP at the centre, every connection monitored
Banks, stores, payment networks and third parties connect to the ERP through one integration layer. Anything that fails lands in a queue with an alert, never in silence.
- Primary flow
- Asynchronous
- Exception path
The flow, step by step
- From ERP to Integration layer: Orders, invoices and payment runs, over REST/JSON · OData · IDoc (primary flow).
- From Integration layer to Banks: Payment files, over ISO 20022 pain.001 · SFTP H2H (primary flow).
- From Banks to Integration layer: Statements, over camt.053 · MT940 (asynchronous).
- From POS and stores to Integration layer: Sales and returns, through an event queue, over REST/JSON (asynchronous).
- From Integration layer to POS and stores: Prices and stock, over REST/JSON (primary flow).
- From POS and stores to Payment gateway and acquirer: Card authorisation, over ISO 8583 (primary flow).
- From Payment gateway and acquirer to Integration layer: Settlement files, over SFTP (asynchronous).
- From Integration layer to Third parties: Customers, shipments and tax documents, over REST · SOAP · webhook (primary flow).
- From Integration layer to Monitoring and exception queue: Failed messages, to a dead-letter queue (exception path).
- From Monitoring and exception queue to Your operations team: Alerts and breaks to resolve (exception path).
Scroll sideways to see the whole drawing.
ERP to third parties: one platform, many partners
Business events leave the ERP once and the integration platform delivers them to each partner in the format it expects. Callbacks come back the same way. A message that still fails after its retries goes to a dead-letter queue and raises an alert with the payload attached.
- Primary flow
- Asynchronous
- Exception path
The flow, step by step
- From ERP to Integration platform: Business events, over REST · OData · webhook (primary flow).
- From Integration platform to CRM: Customers and orders, over REST/JSON (primary flow).
- From Integration platform to Logistics and carriers: Shipments booked, over REST/JSON (primary flow).
- From Logistics and carriers to Integration platform: Tracking events, over webhook (asynchronous).
- From Integration platform to E-invoicing and tax platform: Invoices for clearance, over SOAP/XML · REST (primary flow).
- From Integration platform to KYC and identity provider: Identity checks, over REST/JSON (primary flow).
- From KYC and identity provider to Integration platform: Check results, over webhook (asynchronous).
- From Integration platform to Dead-letter queue and alerts: Failed after retries, to a dead-letter queue (exception path).
- From Dead-letter queue and alerts to Support team: Alert with the payload and the error (exception path).
Technologies
- Languages
- ABAP
- Data and analytics
- Apache Kafka
- ERP systems
- SAP S/4HANA
- SAP Business One
- Oracle NetSuite
- Oracle Fusion Cloud ERP
- Microsoft Dynamics 365 Finance and Supply Chain Management
- Microsoft Dynamics 365 Business Central
- Odoo
- Sage Intacct
- Sage X3
- Integration
- REST
- SOAP
- EDI (EDIFACT, ANSI X12)
- AS2
- MuleSoft
- Boomi
- Azure Logic Apps
- RabbitMQ
Ways to work with us
- Project-based deliveryXSIS delivers an agreed scope against written acceptance criteria, with a named delivery lead.
- Dedicated teamA complete team that works only on your product, run day to day by XSIS and directed by you.
- Staff augmentationEngineers and specialists who join your team, work in your tools and report to your managers.
Questions and answers
Which ERP systems do you integrate?
We work with SAP S/4HANA and SAP Business One, Oracle NetSuite, Oracle Fusion Cloud ERP, Microsoft Dynamics 365 Finance and Supply Chain Management, Dynamics 365 Business Central, Odoo, Sage Intacct and Sage X3, as well as custom and older systems. For each we use the interfaces the vendor supports, so upgrades do not break the integration. Naming a product does not mean a partnership with its vendor.
Link to this questionDo we need middleware or an iPaaS?
Not always. A few stable flows between two systems can be direct API calls. Once several systems exchange data, or you need mapping, queues and monitoring in one place, middleware such as MuleSoft, Boomi or Azure Logic Apps usually pays for itself. If you already own one, we build on it. We set out the trade-offs, including licence costs, before you decide.
Link to this questionWhat if our master data is not clean?
It rarely is, and it is the most common reason integrations fail. Early in the work we profile the customer, item, price and account data each flow depends on, and show you the duplicates, gaps and conflicts we find. We agree which system owns each record and add validation so bad data is stopped at the edge rather than copied everywhere.
Link to this questionHow long does an ERP integration take?
It depends on the number of systems and flows, how well each system’s interfaces are documented, the state of your master data, and how quickly test environments and access are ready. Partner approvals, such as a bank or a marketplace, can set the pace too. After the assessment we give you a plan flow by flow, so the most valuable connection goes live first.
Link to this questionWhat drives the cost?
The number of interfaces, the complexity of the mapping and business rules, the volumes and timing each flow needs, and whether middleware licences are involved. Data clean-up and testing with partners add effort. We estimate per interface after the assessment, so you can see the cost of each flow and decide the order.
Link to this questionWhat happens when our ERP is upgraded?
We build on the interfaces the vendor publishes and supports, not on database tables or screens, so most upgrades leave the integration untouched. Before an upgrade we review the vendor’s release notes against each interface, run the test suite on the upgraded test system, and fix anything that changed before production moves.
Link to this questionHow do you handle access to our ERP?
Each integration uses its own technical account with only the permissions its flows need, never a person’s login. Credentials live in your secrets store, not in code. Our engineers work in test systems with masked or sample data where possible, and their access is named, logged and removed when they leave the project.
Link to this questionWho owns the code and the work you produce?
Intellectual property in the work we build for you is yours from the first commit — no assignment step at the end. That covers the custom code, documentation and other deliverables made for you. Anything we bring that existed before, such as internal tools or libraries, stays ours, and you receive a licence to use it in your systems. Open-source components keep their own licences, and we list them for you.
Link to this questionTell us what you need to build or connect.
Describe the systems, the timeline and the constraints. The right engineers take it from there.
- Our team will call you within 24 hours during your preferred time slot
- Our team is available 24/7