Who this is for
Operations manager or developer at a distributor whose nightly supplier fetch sometimes imports half a file, nothing, or yesterday's file again.
Some mornings the stock import has a truncated file, runs on yesterday's data, imports twice, or stopped altogether after the supplier's server changed.
The result
Against a synthetic SFTP server you control, the scheduled fetch downloads only a complete file that matches the agreed completeness rule, imports each file once, refuses a server whose host key has changed, and raises a visible failure when no new file appears by the agreed time.
What is included
- One existing scheduled fetch from one supplier's SFTP location, up to one file pattern
- Reproduce the faults on a synthetic SFTP server with partial, repeated, missing and renamed files
- Add an agreed completeness rule, such as a file that stops changing size for a set time, a companion marker or manifest, or a final rename by the supplier
- Record each imported file's name, size and checksum so a repeat is skipped, take a lock so a second run that starts before the first has finished exits without importing, and fail visibly when no new file arrives or the host key changes
- Add tests against the synthetic server, including a second run that starts before the first has finished, and write down the schedule, time zone and overlap rule
You receive
- A change to the fetch job and its tests against the synthetic server
- A run log format that shows fetched, skipped, repeated and failed files, and runs that exited because another run was in progress
- A note on the completeness rule, schedule, time zone and failure alerts agreed
- Steps to revert the change
What is not included
- Holding or storing the supplier's SFTP credentials; you keep the secret and the key
- Asking the supplier to change how it uploads
- Connections to Google Merchant Center, which has its own fetch rules
- Moving the job to a new server or scheduler
- Processing the file's contents, which is the importer's job
What we need from you first
- How the supplier names its files and how often they appear, as text
- What went wrong and when, in one or two sentences, without credentials or hostnames you consider private
- How the job is scheduled today and where it runs. No keys, passwords, supplier addresses or code in the first enquiry
Never send passwords, keys, customer records or confidential code in the first enquiry. Secure handover is agreed after scoping.
How we check it is done
- On the synthetic server, a file still being written is not fetched, and the complete file is fetched and imported exactly once on the next run.
- Running the job again with the same complete file present imports nothing and logs the file as already imported.
- With a second run started while the first is still fetching the same complete file, only one run fetches and imports it: the other exits without importing and logs that a run is already in progress, and the file appears once in the record of imported files.
- When the synthetic server's host key is changed, the job refuses to connect and raises the agreed failure alert, and no file is fetched.
- When no new file appears by the agreed time, the job raises the agreed alert instead of finishing silently.
You inspect the test logs and sign off in writing. Payment follows sign-off; applying the change to the live job with your own credentials stays with your maintainer.
When we would stop or decline
- The only way to test is with the supplier's real credentials or a live supplier server
- The supplier overwrites the file in place, with no marker, rename or manifest, and uploads pause for longer than any settle time you would accept, or files arrive more often than a settle time allows, so no completeness rule can be trusted: we show the evidence and stop
- The fetch runs inside a hosted tool that cannot be changed
Questions
Do you need my SFTP password?
No. We test against a synthetic server with invented files. You apply the change with your own credentials.
What if the supplier cannot give a finished-file signal?
A size that stops changing for a set time can work but is weaker. We say so in the written rule and test a paused upload.
Does it cover the file's contents?
No. It makes sure only a complete, new file reaches the importer. Checks on the content are separate.
Price and terms
From £445 · untested offer price. Paid after the agreed tests pass on the synthetic server and you sign off. No payment before sign-off.
This is a new service with no published client results. The price is a starting point we have not yet tested with buyers. Nothing is ordered or charged by the enquiry. The full specification is on the Synthetic Industry catalogue.