Mon – Sat: 9:00 AM – 7:00 PM IST

Storefronts, carriers & banks —
one ERP, zero re-keying

From Shopify order to shipping label to bank reconciliation — everything flows automatically.

We connect iDempiere to your storefronts, carriers, banks, tax portals and reporting tools — and we build every connector to be idempotent and replayable, so a dropped message or a duplicate webhook never corrupts your orders, stock or ledger.

Idempotent & replayable 24×7 interface monitoring Loud when something breaks
0
Platforms & Carriers Connected
0
Idempotent, Replayable Interfaces
0
Manual Re-Keying After Go-Live
24×7
Interface Monitoring & Alerting
What you get

One ledger, many systems, no double keying

Your storefront, your carriers, your bank and your tax portal all need to agree with iDempiere. The value of an integration is not that data moves — it is that the numbers reconcile at month-end without anyone re-keying an order or chasing a missing shipment.

Idempotent by design

A replayed webhook or re-sent file updates the same record instead of creating a second one.

Replayable from the log

Every inbound payload is stored, so you can safely re-run a bad batch after a fix.

Visible when it breaks

A monitoring dashboard and alerts, not a silent failure discovered at month-end close.

External events, native documents

We land external events on iDempiere's own document flow — a web order becomes a Sales Order, a dispatch becomes a Shipment, a settlement becomes a Payment against an Invoice — so integrated data behaves exactly like data keyed by hand. Connectors ship as upgrade-safe OSGi plugins that call iDempiere's REST API and web services, writing through staging tables rather than poking the live transactional data directly.

Web Store Order iDempiere Carrier & Tracking One Ledger
What we connect

The systems around your ERP

Most mid-market iDempiere sites run four to eight live integrations. These are the ones we are asked for most often, and where we already have working patterns.

eCommerce storefronts

Shopify, WooCommerce, BigCommerce and Magento. Orders and customers flow in as Business Partners and C_Order documents; products, prices and Storage On Hand flow back out so the shop never oversells.

Shipping carriers

DHL, FedEx and UPS for rating, labels and tracking. A confirmed M_InOut requests a label; tracking numbers and delivery events return against the shipment.

EDI trading partners

X12 and EDIFACT for retail and automotive supply chains — 850/855/856/810 or ORDERS/DESADV/INVOIC — over AS2 or SFTP, mapped to iDempiere orders, shipments and invoices.

Payment gateways

Card and wallet gateways for online capture, plus settlement files that reconcile against C_Payment, so the cash you banked matches the cash you recorded.

Bank statement import

MT940 and CAMT.053 files parsed into C_BankStatement lines and matched to open payments and receipts, speeding up daily reconciliation.

Tax & e-invoicing

India GST e-invoicing (IRN) and e-way bills via the IRP and NIC portals, plus third-party tax engines for cross-border rate determination on C_Invoice.

CRM & HRMS

Sync accounts, contacts and opportunities with an external CRM, and push employees and cost centres from an HRMS — useful, as iDempiere's out-of-the-box HR is deliberately thin.

BI & analytics

Read-only views or warehouse feeds for Power BI, Metabase and Superset, so analytics run off a reporting copy rather than the transactional database.

Anything with an API

WMS, PIM, marketplaces and legacy in-house systems. If it speaks REST, SOAP, files or a database, we bridge it with the same patterns described below.

Patterns

Four ways to move the data, chosen on merit

There is no single right integration pattern. We pick per interface based on how fresh the data must be, how much volume there is, and what the other system actually supports.

REST / web services

The default for anything interactive and low-latency. We use iDempiere's REST API to create and read documents, and consume partner REST or webhook endpoints. Chosen when you need near-real-time flow — a shop order appearing in the ERP within seconds, or a stock level pushed back the moment it changes. It carries structured JSON well but depends on both ends being online.

File drop (SFTP / CSV / XML)

The workhorse for batch and for partners who only exchange files — most EDI, many bank statements, and marketplace exports. Files land on an SFTP endpoint, a scheduled job picks them up, validates and stages them. Chosen when volume is high, timing is periodic, or the other side simply cannot offer an API. Robust and auditable, but inherently batch rather than instant.

Message queue

A broker such as RabbitMQ or Kafka sits between the systems and buffers events. Chosen for high volume, spiky traffic, or when several consumers need the same event. The queue decouples producer from consumer, so iDempiere can be down for maintenance and no orders are lost — they wait in the queue and process on recovery. It adds infrastructure to run and watch.

Database view

A read-only PostgreSQL view or a replicated reporting copy exposed to a BI tool or an internal system. Chosen for reporting and analytics, where you want current data without an API round-trip and without risking writes. It is outbound and read-only by nature; we never let an external tool write straight into iDempiere's tables.

The part that matters

Idempotent, replayable, and loud when it fails

Networks drop. Webhooks fire twice. A partner re-sends yesterday's file. The difference between a calm integration and a corrupted ledger is entirely in how these ordinary faults are handled.

Risk 01

Duplicate deliveries

A webhook fires twice, or a partner re-sends yesterday's bank file — and without protection each duplicate becomes a second order or a double-booked receipt in your ledger.

How we contain it

Every inbound event carries a stable external key — the storefront's order id, the EDI interchange control number, the gateway's transaction reference. Anything already processed is treated as a no-op, so a message delivered three times still produces exactly one Sales Order.

Risk 02

Bad data in the pipe

A malformed file or one poison message can block everything queued behind it — or worse, slip invalid data straight into your orders, stock and books.

How we contain it

Raw payloads land in staging tables first and are promoted into real documents through iDempiere's model layer only after validation, so business rules and workflow still run. A message that keeps failing is quarantined in a dead-letter table — an audit trail of exactly what was sent — while good data keeps flowing.

Risk 03

Silent failure

Networks drop, portals go down for maintenance — and an interface that fails quietly is discovered weeks later, at month-end close, as numbers that do not reconcile.

How we contain it

Transient faults retry automatically with increasing delays, and because every payload is stored with its key, a whole day can be replayed safely once the other system recovers. A dashboard tracks throughput, lag and dead-letter counts, and alerts fire by email or chat the moment a feed backs up.

Honest note. Not everything can be real-time. Some carriers and most EDI exchanges are batch by nature, and portals like the GST IRP have their own rate limits and downtime windows. We are clear per interface about whether it is near-real-time or scheduled, and we design the reconciliation to match.

At a glance

Direction, objects and frequency by system

A working summary of how each integration behaves. Frequencies are indicative and depend on volume, the partner's limits and your reconciliation needs — they are confirmed during discovery.

SystemDirectionTypical objects exchangedSync frequency (indicative)
Shopify / WooCommerce Bi-directional Orders and customers in; products, prices and stock out Orders real-time via webhook; stock every 5–15 minutes
Carriers — DHL / FedEx / UPS Bi-directional Shipment & rate requests out; labels and tracking events in Label on dispatch (real-time); tracking polled every 15–30 minutes or by webhook
EDI — X12 / EDIFACT Bi-directional 850/ORDERS and 855 in; 856/DESADV and 810/INVOIC out Batch — every 15–60 minutes or on file arrival
Payment gateway Bi-directional Capture/authorisation out; payment confirmations and settlement files in Authorisation real-time; settlement file nightly
Bank — MT940 / CAMT.053 Inbound Statement lines into C_BankStatement for matching Nightly, or intraday where the bank provides it
GST e-invoicing (India) Bi-directional Invoice payload out; IRN, signed QR and e-way bill number in On invoice completion (near-real-time, within portal limits)
CRM / HRMS Bi-directional Accounts, contacts, opportunities; employees and cost centres Every 15–60 minutes, or nightly for master data
BI tool Outbound (read-only) Curated views and extracts for dashboards Live view, or a scheduled nightly extract

Note. These frequencies are indicative ranges for planning. Real-time here means seconds, not milliseconds; batch interfaces are timed to your operational rhythm rather than pushed artificially fast.

What We Connect

Four families of integration, one discipline

Different endpoints, same engineering standard — every interface is idempotent, replayable and loud when it fails.

How we build one

From endpoint to operating, in five stages

Each connector follows the same path. We would rather spend an extra day on contracts and error cases up front than debug a silent data leak in production.

Discover endpoints & contracts

We document both sides: the partner's API or file spec, authentication, rate limits and sandbox access, and the matching iDempiere documents and fields. We agree the external identifier that will serve as the idempotency key, and what a success and a failure each look like.

Map fields & choose the pattern

A field-level mapping specification — order to C_Order, line to order line, partner to Business Partner, item to Product — including code translations and defaults. With volume and latency now understood, we choose REST, file drop, message queue or database view for that interface and write it down.

Build the connector — staging & idempotent

We develop the OSGi plugin: land payloads in staging tables, dedupe on the external id, promote validated rows into real documents through iDempiere's model layer, and wire up retry, dead-letter and logging. Outbound flows are built the same way in reverse.

Test with replay & error cases

Beyond the happy path, we test the awkward ones: duplicate webhooks, out-of-order messages, a malformed file, a portal timeout, a mid-batch failure. We prove that replaying a stored payload is safe and that a poison message dead-letters cleanly without blocking the rest.

Monitor & operate

We stand up the dashboard and alerts, hand over the error and replay runbook, and watch the first live cycles with you. Once it runs quietly, it moves into Application Management Services under an SLA.

Deliverables

What you receive per integration

The integration pack
6 deliverables — included with every integration

Connector plugin

An upgrade-safe OSGi plugin with its source in your Git repository and build scripts, deploying cleanly onto your iDempiere instance.

Mapping specification

The field-by-field contract between the external system and iDempiere, including code translations, defaults and the chosen integration pattern.

Monitoring dashboard

Live throughput, lag and dead-letter counts with alerts, so a stalled feed is visible immediately rather than discovered at close.

Error & retry runbook

A plain-language guide to what each failure means, what the automatic retries do, and when a human needs to step in.

Replay tooling

A safe way to reprocess a single dead-lettered message or a whole day's payloads after a fix, protected by idempotency so nothing double-applies.

Credentials & secrets doc

A record of endpoints, keys and certificates and where they are stored — held securely, never hard-coded in the plugin or committed to source.

"An interface that fails silently is worse than no interface at all. Ours are idempotent, replayable — and loud when something breaks."
Our integration discipline — SCM Software Lab
Common questions

Integrations, answered plainly

Nothing bad. The second delivery carries the same external order id as the first. Our connector checks that id against the staging table, sees it has already been processed, and returns success without creating anything. You end up with one C_Order, not two. This dedupe-on-external-id is the core of what we mean by idempotent, and it is built into every inbound interface as standard.
No, and we will not pretend otherwise. Storefront orders and card authorisations are genuinely near-real-time over webhooks and REST. But most EDI, many carrier tracking feeds and bank statements are batch by nature — the other side only exchanges files on a schedule. Portals such as the GST IRP also impose rate limits and maintenance windows. We tell you per interface whether it is near-real-time or scheduled, and design reconciliation to suit rather than forcing an unnatural cadence.
You replay. Because every inbound payload is stored with its idempotency key, we re-run the affected window against the originals once the system is back. Messages that already applied are skipped; only the missing ones take effect. If a queue was in front of the interface, the events simply waited there and drain on recovery. Either way there is no manual re-keying and no risk of duplicates.
It should not. Connectors are OSGi plugins that use iDempiere's REST API, web services and model layer rather than patching core code, and they read and write through their own staging tables. That keeps them on the supported side of the platform, so upgrades carry them forward. We cover the integrations in the same regression pass as the rest of your upgrade work.
Secrets are never hard-coded in the plugin or committed to Git. Endpoints, keys and certificates are held in secure configuration or a secrets store appropriate to your hosting, and documented in a credentials record that says what each one is for and where it lives. When a key rotates, there is one place to change it. For India GST and similar, we also record the portal registration details the interface depends on.
Related services

What usually sits alongside

Systems should talk to each other
so your team doesn't re-key a single line — ever. Orders, stock, invoices, payments and tracking flow both ways automatically, with monitoring that pages us before it bothers you.

Have a system that needs to talk to iDempiere?

Trusted worldwide for end-to-end iDempiere services — the best in the industry at what we do. Tell us the storefront, carrier, bank or partner and we will map the objects, pick the pattern, and show you how we make it idempotent and replayable — before any commitment.