Your Website Is Not the System of Record — and the Trouble Starts There
Stock sits in a warehouse system. Prices live in an ERP, or a spreadsheet somebody guards. Orders end up in an accounts package that has opinions of its own. The website is the surface all of that is projected onto, and it is almost never the place any of it is decided. So the real build question is what happens when two of those systems disagree — which is not an edge case, it is Tuesday.
No credit card required · 30-minute call · No obligation to sign up
Six disagreements between your systems
Every one of these is a decision somebody has to make before the build starts. Left undecided, each one becomes whatever the integration happened to do first.
- The last one sold twiceTwo orders, one item · who gets it
- The price differs from the shop floorWhich one is honoured
- The feed is lateShow stale stock, or show nothing
- A product is discontinuedThe URL still has links pointing at it
- A refund happens in the accounts systemAnd the site never hears about it
- Two systems both think they own the customerAddress changed in one of them
The third row is the one that gets decided by accident most often. When the stock feed is twenty minutes stale, a site can show the last known figure, hide the number, or say “checking”. All three are defensible; the harm comes from nobody choosing, so the answer is whatever the developer’s default was on the day. These are business decisions being made in an integration file, and they should be made by the people who deal with the consequences.
The integration is not plumbing. It is policy.
Connecting a warehouse system to a shop is usually presented as a technical task with a fixed answer, and it is not. Almost every line of it encodes a decision about what the business does when reality and the database disagree, and almost none of those decisions gets written down. The result is a shop that behaves in ways nobody chose and nobody can quite explain, which is also why the eventual replatform is so painful: the rules are only recorded in code that is being thrown away.
The first thing worth deciding is direction. For each piece of data — stock, price, product description, customer address, order status — name the single system that is allowed to be right. Everything else reads. Where two systems both write, you have not built an integration, you have built an argument that runs every fifteen minutes and is settled by timing.
The second is what the shop does while it does not know. Feeds fail, endpoints time out, and a warehouse system goes down for maintenance on a Sunday night. Deciding in advance whether the site sells optimistically and apologises, or refuses to sell and loses the order, is a commercial choice with a real cost either way. Made deliberately, it is a policy. Made by default, it is a support ticket that arrives at a bad moment.
Third, discontinued products need a plan before they exist. Other sites link to them, customers bookmark them, and search engines hold them for a long time. Deleting the URL throws that away; leaving it up sells something that no longer exists. The answer is usually a page that stays, states the position plainly, and offers the nearest thing — and it costs almost nothing when it is designed in and a rebuild when it is not.
- ✓One writer per field — Stock, price, address, order status — name the system allowed to be right.
- ✓Decide the stale-data behaviour — Sell optimistically, or refuse and lose the order. Both are choices.
- ✓Discontinued needs a plan first — The URL outlives the product by years. Links and bookmarks point at it.
- ✓Write the rules outside the code — Otherwise the replatform throws away the only record of how you trade.
- ✓Test the failure, not the success — Every integration works on a good day. Rehearse the bad one.
Where two systems both write, you have not built an integration. You have built an argument that runs every fifteen minutes.
What an e-commerce build has to settle
Six things, and five of them are decisions rather than code.
The System-of-Record Map
Every field, and the one system allowed to write it. Produced before any integration is built, because it is the document the integration is an implementation of.
Sync With a Stated Policy
How often, in which direction, and what the shop shows while the answer is unknown. Written in plain language and agreed by whoever handles the complaint.
Oversell Handling
The last item sold twice is not an edge case. Who gets it, what the other customer is told, and whether that happens automatically or lands in somebody’s inbox.
A Plan for Dead Products
The URL outlives the product. A page that stays, says so plainly and points at the nearest alternative — designed in, because retrofitting it is a rebuild.
Payments and Their Failure Paths
The successful checkout is the easy half. Declines, timeouts, duplicate submissions and the customer who refreshes at the wrong moment are the half that gets skipped.
Rehearse the Bad Day
Feed down, endpoint slow, warehouse system in maintenance. Every integration works when everything is up; the build is judged by what it does when something is not.
What clients say
Real clients, quoted in their own words — published with their permission.
“We’re very thankful to Ghalib and his team for building a fully-functioning website for our business.”
“It was a pleasure working with Ghalib and his team.”
“Ghalib’s clear guidance has helped improve our website’s SEO performance.”
More of them, in full, on our reviews page.
— Our Proprietary Methodology —
The Visibility Framework™, applied in E-commerce
The method doesn’t change by market. What it’s pointed at does.
Audit & Discovery
What the current site earns, where it leaks, what your competitors do better, and what the new one must achieve. Ends in a written scope and a fixed price — not an estimate that grows.
Structure & Design
Sitemap, wireframes and user journeys agreed before decoration, then a design system applied consistently. You approve the shape before we make it beautiful.
Build & Test
Front end, back end, CMS and integrations, on a staging site you can see from day one. Tested on real devices, real screen readers and real slow connections.
Launch & Improve
Redirects verified, analytics connected, handover recorded — then we look at what real visitors actually do and fix what the design assumed wrongly.
Honest, No-Nonsense Commitment
The price we quote after discovery is the price you pay — if we underestimated the work, that is our problem, not a change request. And on any rebuild, if organic traffic drops because of something we did at migration, we fix it at our cost, however long it takes.
Website Development pricing for E-commerce, in USD
Quoted after the system-of-record map exists, because a shop quoted before anyone knows how many systems are involved is a quote for the easy half. That mapping is small, and it routinely finds one integration nobody had mentioned.
Standard Shop
One system of record, no ERP behind it.
- Platform build with payments and failure paths
- Stated policy for stock and price
- A plan for discontinued products
Integrated
The usual one. A shop plus the systems behind it.
- System-of-record map for every field
- Sync built to a written policy, not a default
- Bad-day rehearsal before launch
- Optional: bundle in SEO or Social Media
Multi-Channel
Shop, marketplaces and physical stock together.
- Channel-level allocation and oversell rules
- Reconciliation reporting you can actually read
- Documented rules kept outside the code
- Optional: combine all 4 services for full-funnel growth
Every plan is scoped around your market — get a free audit and we’ll recommend what fits, priced in USD.
What you’re actually committing to
Most agencies keep this in a contract you only see after the sales call. We would rather you knew now, because it is the question everyone asks second — right after the price.
- A fixed price, agreed before we startQuoted after discovery, not estimated on a call. If the work takes longer than we thought, that is our risk — the price does not move unless you change the scope.
- 50% to begin, 50% at launchNo large upfront payment held for months, and nothing owed until the site is live and you have seen it working.
- You own everythingDomain, hosting, code repository, design files and content — all in your name from day one, and still yours if we never work together again.
- No proprietary lock-inStandard, widely-used technology only. Any competent developer can take the site over, and nothing stops working because you stopped paying us.
- Two rounds of revisions per stageIncluded at wireframe and design stage, where changes are cheap. Beyond that, or after sign-off, changes are quoted before any work starts.
- 30 days of support after launchBugs and small tweaks included as standard. A care plan afterwards is optional, never automatic, and cancellable with 30 days’ notice.
These are the terms as they appear in the agreement itself — nothing here is softened for the website. The full wording lives in our terms and conditions, and you get the agreement to read before anything is signed or invoiced.
E-commerce Website Development questions, answered
Related Website Development pages
Same service, different angle — by market, by discipline and by platform.
Want the systems to stop arguing?
Free 30-minute audit · No obligation · Response within 24 hours
Get in touch with Ghalib Ashrafi HQ
Ghalib Ashrafi takes on work for brands in six markets — the UK, USA, UAE, Saudi Arabia, Australia and Pakistan. Every enquiry gets a reply within 24 hours.