E-commerce case study

Refunds cut. Catalogue repaired. Stock synced daily.

Parts4Sail supplies marine fittings and boat parts to customers across the UK. A faulty product import had left inventory tracking disabled across tens of thousands of products, so the majority of orders ended in refunds. We repaired the catalogue and built a pipeline that now syncs accurate stock from suppliers every day.

Client
Parts4Sail
Sector
Marine parts e-commerce
Platform
Shopify
Work
Data repair, stock sync, API integration
Under 10%refund rate, down from over 60% of orders
50%+ revenueno longer handed back to customers as refunds
Tens of thousandsof products repaired across the catalogue
Dailyautomated stock sync from supplier feeds

A broken import was quietly costing most of the revenue.

01

No inventory tracking

Products were imported with inventory tracking disabled, so Shopify treated every item as having unlimited stock, regardless of what suppliers could actually deliver.

02

Constant refunds

Customers found items listed as available, placed an order, then had to be refunded when the item turned out to be out of stock or discontinued. Most orders ended this way.

03

Five disconnected data sources

Product information was spread across Shopify, vendor Excel catalogues, CSV price lists, daily stock feeds and thousands of historical SKU mappings from a previous system. None of it was connected.

04

Broken SKU mapping

The store used manufacturer part numbers as SKUs, but supplier feeds used their own product codes. Without a reliable mapping between the two, automated stock sync was impossible.

What we built

Understand the data, fix it, then keep it fixed.

The work ran in stages against a live store with real customers: audit first, repair in tested batches, then automate the sync so the problem cannot come back.

01

Full product audit

Every product was checked against supplier data before anything changed: missing descriptions, wrong SKUs, disabled tracking and discontinued items still on sale. The report gave Parts4Sail full visibility of the problem for the first time.

02

Bulk catalogue repair

A repair tool corrected SKUs, filled in missing descriptions, enabled inventory tracking, set accurate stock levels and removed discontinued items from sale. Tens of thousands of products were fixed, tested in small batches with zero downtime.

03

SKU matching across systems

The hardest technical problem. A matching system resolved thousands of mappings between manufacturer part numbers and supplier product codes using multiple strategies, connecting products that could never be synced before.

04

Daily supplier stock sync

Automated daily feeds now update stock across the entire catalogue. If something sells out or is discontinued at the supplier, the store reflects it within 24 hours with no manual work.

05

Shopify API integration

A custom integration with Shopify’s admin API handles bulk stock, product and status updates across thousands of items without hitting rate limits or disrupting the live store.

06

Safe, careful rollout

Every change was previewed before going live, run in small batches and fully tracked, so work could be paused or rolled back at any point. Storefront layout and mobile UX improvements were delivered alongside the data work.

Automation

The daily sync pipeline.

Stock levels update automatically every day. No manual intervention, no spreadsheet exports, no guesswork.

Download feed

Fresh stock data collected from suppliers over a secure connection.

Load and parse

Feeds parsed, status codes mapped and quantities extracted.

Compare

The local database is checked for genuine changes in stock or status.

Batch push

Only changed items are sent to Shopify, in rate-limit-safe batches.

Live on store

Accurate stock levels published; discontinued items moved to draft.

Because the pipeline only pushes what has changed, a full daily run across tens of thousands of stock entries completes without disturbing the live store.

Technology

Practical tools, nothing added unless it earns its place.

Python 3

All data processing, API integration and sync logic, chosen for speed of development and strong Excel, CSV and API library support.

Shopify API

Direct GraphQL admin API integration for bulk product updates, inventory management and stock changes across thousands of products.

Local database

Tracks every product, its match status and sync history, so the system resumes where it left off and only pushes real changes.

Secure feeds

An automated SFTP connection downloads tens of thousands of stock entries daily: product codes, availability and quantities.

Data loaders

Excel catalogues, CSV price lists and stock feeds each have their own loader that handles variations and data quality issues.

AI-accelerated

AI tooling used for data profiling, architecture planning and building the matching logic, keeping a complex data project moving quickly.

Why it matters

The store keeps the money it earns.

Customers can now only order what suppliers genuinely have. Refunds have fallen from the majority of orders to a small fraction, the admin work of processing them has largely disappeared, and the catalogue finally matches what suppliers can actually deliver, updated every day without anyone touching it.

60% → under 10%refund rate after accurate stock went live
50%+ revenue recoveredpreviously returned to customers as refunds
Hours back every weekno more manual refunds, emails and call-backs
Whole catalogue cleanedSKUs, descriptions, prices and discontinued items fixed
We were spending hours every week processing refunds for items that were out of stock. Scott identified the root cause, built the tools to fix it, and now the stock updates itself every day from our suppliers. It’s saved us a huge amount of time and the refund issues have basically stopped.

Thomas, Owner, Parts4Sail

Got a similar problem?

If bad data is costing you orders, it can be fixed.

We build custom tools and integrations for e-commerce, data and automation, and we make sure the fix stays fixed.

Talk through your problem