E-commerce to ERP
Web orders written straight into the system that actually fulfils them.
Enter it once. Let the systems tell each other.
Orders in one system, stock in another, invoices in a third, and a person in the middle re-typing all of it. Integration removes that person from the loop — not from the payroll, but from the copying.
Nobody set out to build a business where the same order is typed three times. It happened one purchase at a time, and now a person spends their morning being an integration layer.
Integration is worth doing wherever the same fact has to exist in more than one place, and a human is currently responsible for making sure it does.
Web orders written straight into the system that actually fulfils them.
Gateway settlements matched to invoices without a manual bank comparison.
Consignments booked and tracking numbers returned without leaving your system.
Branch sales and stock movements consolidated instead of collected weekly.
Invoices raised once and posted to accounts with the fields the tax authority expects.
An interface published from your own system so partners can connect to you.
The first question is always whether the other side has an API. Modern platforms do, and those projects are predictable. Older ERPs sometimes offer only a database connection or a scheduled file drop, which still works but changes the design and the cost.
If both systems are mainstream and a ready-made connector already exists, use it. We are worth paying when the connector does not exist, does not cover your fields, or when the mapping between the two systems needs judgement rather than a checkbox.
Six steps. Steps five and six are what separate an integration that survives from a script that quietly stopped working in March.
An event happens — an order placed, a payment cleared, a status changed.
Fields translated between the two systems, including the codes that never match.
Checked before sending, so bad data is caught here rather than in the other system.
Delivered by API, webhook or scheduled file, whichever the other side supports.
Failures retried on a backoff, and duplicates prevented when the same message arrives twice.
Every exchange logged, with an alert to a person when something stays stuck.
Integrations fail silently by default, and that is the danger. The one that matters is not the happy path — it is what happens at 2am when the other system returns an error, and whether anyone finds out before the next working day.
An integration is more than a connection. Most of the work is in the parts that handle everything not going to plan.
Authenticated connections to each system by API, webhook, database or scheduled file transfer.
The translation table between systems — product codes, tax codes, units, currencies, customer IDs.
Real-time on events or scheduled in batches, one-way or two-way, with a defined source of truth.
Business rules applied in transit, so an order missing a tax code never reaches accounts.
Messages queued when the other side is down, retried on a backoff, never sent twice.
Every exchange stored with its payload, so a failed record can be inspected and re-sent.
A named person told when something is stuck, rather than a dashboard nobody opens.
Keys held properly, rotated, and scoped to the minimum each connection actually needs.
A daily comparison proving both systems hold the same records, which is how you sleep.
For this kind of work the useful evidence is not a screenshot — it is the list of platforms we have connected to in production. More detail on the API integration service page.
Six stages. Most of the risk sits outside our control, in whether the other system's documentation matches how it actually behaves.
What has to move, in which direction, how often, and which system wins when the two disagree.
Output: data flows and source of truthGetting credentials and a test environment from every party involved. This stage takes longer than anyone expects, and it is why we start it first.
Output: working test connectionsField-by-field mapping agreed on paper, including what to do with codes that exist in one system and not the other.
Output: signed mapping documentOne flow end to end first — usually orders — so you can see a real record land before the rest is built.
Output: first flow live in testWe break it deliberately: the other system offline, a malformed record, a duplicate message, a half-finished batch.
Output: tested failure behaviourSwitched on with manual entry still running alongside for a fortnight, and reconciliation checked daily until it is boring.
Output: live integration, runbook, alertsA single well-documented API at the short end. An older ERP with no API, or a partner whose test environment has to be requested through a support ticket, at the long one.
Note the second bar. Waiting for credentials and a test environment routinely takes longer than writing the integration, and it is entirely outside our hands, so raise those requests with your other vendors the day the project starts.
UNO.com.my is there for our web developing needs — from major website revamps to minor page updates. The CMS built for our companies’ websites are user-friendly, especially for IT newbies. Their Web Consultant is accommodating, consistently hands-on, and able to respond to our requests via HelpDesk. All in all, a pleasant experience working with UNO.com.my.