Project feed-rebuild-supplier-feed-pipeline · revised 11 October 2026
Project
Rebuild one supplier feed pipeline with checks at every step
Replace one fragile supplier-to-store import with a tested pipeline: fetch, check, compare with the last file, then hold or release, with category and image stages if your feed needs them.
This asks for a proposal by email. Nothing is charged, and nothing starts, until you have agreed the stages, the price and the terms in writing.
The result you are buying
A supplier import grew by accretion. File delivery, decoding, parsing, category rules, image checks and publishing live in different scripts and manual steps, with no place where a bad file is stopped and explained. Each new fault is fixed in one place and breaks another.
Who it’s for: Operations owner or technical lead at a distributor whose supplier import is a tangle of scripts and spreadsheet steps that nobody trusts.
Usually starts when: The import has failed or corrupted data more than once, only one person understands it, or a new supplier cannot be added without copying the same fragile steps again.
The result: You buy the finished pipeline, not its parts. For one supplier feed and one target import, a documented pipeline fetches the file, checks it, maps its categories and checks its images where the feed has them, compares it with the previous file and either holds it with reasons or releases it for your import, and it passes the agreed tests on synthetic and redacted files.
How the work fits together
The project is complete when the compare-and-hold stage and every other stage listed in your written proposal have been accepted by you, the pipeline passes the agreed tests and the run book has been handed over. You accept the finished pipeline, not each internal step.
Get a change report comparing two supplier feed versions before you import Job Included
For two named versions of one supplier feed you get a repeatable report of every added, removed and changed product, with price and stock moves over your thresholds and counts that reconcile.
One, as the compare-and-hold stage
Map a supplier's category names onto your store categories, with no silent defaults Job Optional
Every category value in a named supplier feed maps to exactly one of your store categories, or lands in a visible unmapped list. Nothing falls silently into a default category.
One mapping table and the unmapped list, if the feed carries supplier categories
Included only when the feed has categories to map.
Check every supplier image link before products go live in your store Job Optional
Each product in a named supplier feed gets an image result: working, redirected, missing, not an image, too small or unreachable. Products with bad images are held or flagged, not lost.
One check stage and report, if the feed carries image addresses
Included only when the feed has image addresses to check.
Make a supplier CSV import keep accented and special characters intact Job Included
A named supplier CSV with accents, symbols and a leading byte-order mark imports with every agreed test value unchanged and its first column recognised; before and after results attached.
If the feed is a text file
Included only when the feed is delimited text.
Stop supplier CSV rows splitting at commas, quotes and line breaks Job Included
A named supplier CSV with commas, quotes and line breaks in descriptions imports at the right column count on every row. Bad rows are listed by line, and a file with an unclosed quote is rejected.
If the feed is a text file
Read every item in a supplier XML feed, and reject a broken file cleanly Job Included
A named supplier XML sample imports every well-formed item, with namespaces, CDATA and escapes read correctly; a broken copy is rejected with its line and column and changes nothing.
If the feed is XML
Make a scheduled supplier file fetch import only complete, new files Job Optional
A scheduled job fetches the latest supplier file over SFTP, skips files still being uploaded, never imports the same file twice, and fails loudly on a changed host key, tested on a synthetic server.
If the supplier delivers by SFTP
Turn your ERP stock and price export into the exact file your store importer accepts Job Optional
A tested script converts one named ERP export layout into the exact import file your store needs, rejecting rows it cannot convert with reasons, so nobody re-formats it by hand.
If your own ERP export is the source
A separate transform that can feed the same pipeline.
How an engagement works
The price covers the agreed stages for one supplier feed and one target import. A second supplier, a new stage or extra fault classes are quoted separately.
How it starts
You describe the supplier feed, how it arrives and the faults you have seen.
We read the existing scripts and a redacted sample, then propose the stages your feed needs, with a fixed price.
You agree the stages, price and terms in writing. Nothing starts before then.
We build and test each stage on synthetic and redacted files, and send each for your acceptance.
We hand over the pipeline, tests and run book, and the final summary.
Who decides what
You decide what each stage must do, accept each stage and make any live switch-over. Your team applies and deploys on its own gates.
Handover
Code, tests, specification and run book arrive in a repository you own. Anything left unfinished is handed back with notes.
Sharing your product safely. Send a short description and the list of faults, never supplier files, keys or private code. After you agree the project, share the scripts through the agreed route and send redacted samples.
What is included, and what is not
- The specification, pipeline code and tests in a repository you own
- The test set and the hold-or-release report for an agreed sample run
- A run book covering scheduling, alerts and what to do when a file is held
- A final summary showing each stage and how it was accepted
Included
- One supplier feed and one target import path, in an environment you own
- A written specification of each stage, its input, output, checks and what happens to a failing file or row
- The pipeline code for the stages agreed, built from the outcomes listed below where your feed needs them. The fetch stage uses the scheduled-fetch outcome for SFTP delivery; for HTTP download or e-mail delivery it is specified in the proposal and tested on synthetic files
- A test set of synthetic files for each fault class, and a run book your maintainer can follow without us
- A hold-or-release report for each run, with row counts that reconcile
Not included
- Switching your live import to the pipeline, which stays with your team
- Holding supplier credentials, keys or live access
- Rebuilding your store, ERP or product database
- More than one supplier feed or target import, unless added in writing
- Cleaning or correcting product data already stored
How we know it’s done
Agreed with you before work starts. Each check produces evidence you keep.
For each fault class in the agreed test set, the pipeline holds or rejects the file or row as specified, with a reason, and releases the clean files.
Evidence: The test run output with each case's expected and actual result.
An end-to-end run on the agreed redacted sample produces a hold-or-release report whose counts reconcile: rows read equal rows released plus held plus rejected.
Evidence: The report and the three counts.
Every required stage has been accepted by you, and your maintainer has run the pipeline from the run book without our help.
Evidence: Your written acceptance and the maintainer's run record.
Sign-off. You accept each stage, then the finished pipeline, in writing. Applying and deploying it stay with your team.
If it fails. A stage we cannot complete is named with the reason and what it would take, and is taken out of the agreed list with a matching change to the price. Nothing is billed as delivered that you have not accepted.
When it fits, and when we stop
It fits when
- You can share the existing scripts and a redacted sample of the supplier file through an agreed route
- A person on your side owns the supplier relationship and can accept each stage
- The pipeline can run in an environment you control, with synthetic data for tests
We stop and tell you if
- Safe testing would need supplier credentials or production data that we would have to hold
- The feed contains personal data that cannot be removed from the samples
- Nobody can accept the specification on your side
What could go wrong
Your existing import is untouched while the pipeline is built, so you can keep using it. After handover, you can switch back to the earlier import at any time because the pipeline writes only to the output you choose.
Scroll the table sideways to read it all.
| Risk | How we handle it |
|---|---|
| The pipeline is more elaborate than the feed needs. | Only the stages your faults justify are built, and each maps to an outcome with its own acceptance test. |
| A stage passes synthetic tests but fails on a real file. | The final run uses a redacted real sample, and the run book says how to hold a file when a check fails. |
| The live switch-over causes wrong data to be published. | We do not switch over. Release stays held until your team accepts the report for each run. |
Each stage and the whole pipeline are reviewed separately from the work that produced them, and you accept every stage. No human supervisor is included unless your proposal names one. At launch the work is largely automated, and we say so.
Stays with a person
- You accept each stage and the finished pipeline
- You make any live switch-over on your own gates
Access we would need
- Read access to the existing scripts and redacted samples through a company-controlled route; no production access
Questions
Do I buy parts or a result?
A result. You agree the stages and a price, and you accept the finished pipeline. How we build each stage is our job.
Will you switch my live import over?
No. You make the live switch-over. We hand over tested code and a run book.
What if my feed needs only two of the stages?
Then the proposal lists only those, plus the compare-and-hold stage every pipeline has. Category mapping and image checks are included only when your feed has categories or image addresses. A smaller job may fit one of the single outcomes better.
Send an enquiry
Send us
- A short description of the supplier feed, how it arrives and what the current import does
- The faults you have seen, in a sentence each
- Who owns the supplier relationship and who would accept the result. No supplier files, credentials or private code in the first enquiry
Later, once you agree
- Read access to the existing import scripts through an agreed company-controlled route
- A redacted sample file and the matching expected import result
- A named person who accepts each stage and the finished pipeline
Your code, data, supplier accounts and credentials stay yours. We work on a copy with synthetic and redacted files, in a repository you own, and hand over code and a run book. You hold the supplier credentials and make any live switch-over.
Email fallback: open your mail app
If website submission is unavailable, review and send the fallback email yourself. An email fallback is not a website receipt. Or write to hello@syntheticindustry.ai with “feed-rebuild-supplier-feed-pipeline” as the subject.