Synthetic Industry

Job etl-erp-export-to-store-import-transform · revised 11 October 2026

Turn your ERP stock and price export into the exact file your store importer accepts

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.

You might be seeing

  • The same export gives different import files depending on who prepared it
  • Prices or dates are wrong in the store only on days when a particular column held unusual values

No passwords, keys, card details or admin invites needed to start.

What usually happened

An ERP export follows its own conventions, such as decimal commas, thousands separators, day-first dates, trailing minus signs, zero-padded codes and status codes. A person converts it by hand, or a one-off macro converts it inconsistently, so the import file differs by day and by person and some errors reach the store.

Who it’s for: Operations manager or owner at a distributor or shop who exports stock and prices from an ERP and edits the file by hand before each webshop import.

Usually starts when: Someone reformats the ERP export in a spreadsheet every day, and mistakes appear: decimal commas, dates the wrong way round, lost leading zeros or negative stock.

The result: A script converts one named ERP export layout into one target import layout. For an agreed synthetic export of about thirty rows, its output equals the approved expected file exactly, rows that cannot be converted go to a reject file with the reason, and rows read equal rows converted plus rows rejected.

Check whether this job fits

Answer these without sending files or logins. Nothing is submitted unless you choose to contact us.

Does the ERP export keep the same columns in the same order each time?
Is this a one-off clean-up of a single file, or an export you convert again and again?
Can you list the changes someone makes by hand before the import?
Does the export contain only product, stock and price data?

Answer the questions to see whether this job fits.

Nothing is sent anywhere until you choose to email us.

Send an enquiry about this outcome

Checks you can run yourself

  1. Find the odd values

    In a copy of one export, sort each numeric column and look at the smallest, largest and any blanks. Look at each date column for day-first versus month-first.

    Look for: Decimal commas, a minus sign after the number, codes with leading zeros, status letters and blank cells. Each unusual form needs a rule.

What you get

  • The script with a written column-rule table
  • The synthetic export, the approved expected output and the reject file
  • Plain instructions to run it on a new export
  • Steps to stop using it

Included

  • One ERP export layout and one target import layout, up to 40 columns
  • Write down every column rule. One rule is the conversion applied to one column, and a column copied through unchanged needs no rule. The kinds of rule: text codes kept as text, numbers parsed with an explicit separator rule and exact decimal arithmetic, dates parsed with an explicit format, status codes mapped by a table (one table is one rule)
  • Write the script so the same input always gives the same output, with no network use
  • Reject rows that fail a rule to a reject file with record number, original text and reason
  • Test with a synthetic export that includes the unusual values your team normally fixes by hand

Not included

  • Running the script on a schedule or on your server; that is a separate job
  • Changing the ERP or its export settings
  • Accounting, tax or margin calculations
  • Mapping supplier categories, which is a separate job
  • Exports containing personal data

How we know it’s done

Agreed with you before work starts. Each check produces evidence you keep.

  1. The agreed synthetic export converts to an output file that is identical, byte for byte, to the approved expected file.

    Evidence: The two files and the comparison result.

  2. Rows with a non-numeric price, an impossible date and an unknown status code appear in the reject file with their record number, original text and reason, and rows read equal rows converted plus rows rejected.

    Evidence: The reject file and the three counts.

  3. Prices with a decimal comma, a thousands separator and a trailing minus convert to the exact agreed values, and rounding ties follow the agreed rule.

    Evidence: The rule table and a table of input and output values.

  4. Running the script twice on the same export gives identical output files.

    Evidence: Both outputs compared.

Sign-off. You inspect the rule table, the expected output and the reject file, and sign off in writing. Payment follows sign-off; using the script on live exports stays with you.

If it fails. If the agreed synthetic export does not convert as specified, you do not pay for this fixed scope. We hand over what we found and agree whether to stop or re-quote; no surprise work.

When it fits, and when we stop

It fits when

  • You can supply a redacted or invented export that includes the awkward values, and a sample of the file the importer accepts
  • A person can approve every column rule and the expected output
  • The export holds product, stock and price data, not personal data

We stop and tell you if

  • The export layout changes from day to day with no stable header
  • The target importer's accepted format cannot be shown or tested
  • The data includes personal records that cannot be removed

What could go wrong

The script reads an export and writes a file you choose to import; it changes nothing by itself. To stop using it, go back to your earlier manual step. Our copies of your files are deleted when the job ends.

Scroll the table sideways to read it all.

RiskHow we handle it
Prices are rounded wrongly through binary arithmetic.The script uses exact decimal arithmetic, and the rounding rule is written in the rule table and tested with ties.
Day-first dates are read month-first and look plausible.Dates are parsed with an explicit format, and the test set includes dates where both orders are valid.
A real price list or customer record is sent as a sample.The first enquiry asks for header rows and invented rows only.

Your named person approves the rule table and the expected output. An independent reviewer checks number, date and code handling and that rejected rows are listed. We do not run it against your live data.

How we deliver

We arrange the work and independent review, then show you the result against the agreed checks. You keep authority over your systems.

  • Agree the two layouts, the rule table and the expected output approach in writing
  • Receive redacted exports through the agreed secure route and list every unusual value form
  • Write the rule table and send it for approval
  • Write the script and the synthetic test set, and compare output with the approved expected file
  • Independent review of the rules, number and date handling and the reject file
  • Hand over the script, rules, tests and instructions and delete our copies of your files

This is a one-off job, not emergency cover or a subscription. We confirm eligibility, the total price, a start window and a delivery date before you accept. Work starts only after agreed inputs, secure access and any needed permissions are in place. Hosting, supplier and platform charges are excluded unless the written quote includes them. An enquiry creates no charge or booking.

Need to keep it working?

Discuss running this transform on a schedule with a monthly check that the layout has not changed.

Ongoing work is separately scoped and quoted: no monitoring, response-time guarantee or automatic subscription is included in this job.

Explore an ongoing engineering lane, or mention the responsibility you need in your enquiry.

What you can check

This is a new service. We have not delivered this job for a client yet.

Other ways to get this done

  • Some ERPs and stores let you save an export template or an import mapping; check whether yours does before commissioning a script.
  • Python's decimal module accepts only a dot as the decimal point, so a decimal-comma export needs an explicit conversion rule whatever tool you use. docs.python.org

Questions

Will it run on my server every night?

Not in this job. You receive a script and instructions. Scheduling it is a separate scope, with the supplier-fetch and import checks as options.

I only need dates and decimal commas fixed in one file, once. Is this the right job?

Probably not. This job builds a reusable script to a target import layout, with status-code mapping, text codes kept as text and a reject file. For one file cleaned once, the fixed job for mixed dates and numbers in one spreadsheet or CSV is the closer fit.

Which ERP is this for?

Any ERP that can export a delimited file with a stable header. We work from your export layout, not from the ERP's name.

What if the export changes later?

The script rejects a layout it does not recognise rather than guessing. Changes to the layout need a new agreed rule.

Send an enquiry

Send us

  • The export's header row and three invented rows, as text
  • The header and two rows of the file your importer accepts
  • The edits someone currently makes by hand. No real price lists, customer data or credentials in the first enquiry

Later, once you agree

  • A redacted export with the awkward cases, through an agreed secure route
  • Written approval of the column-rule table
  • A named person who accepts the expected output

You keep the ERP, the exports and the store. We receive redacted files through an agreed secure route, build and test the script on a copy and return it to a repository or folder you own. We do not connect to your ERP or your store.

A public HTTPS link only, without login details, query strings or fragments. No code or logs.

Sending emails your enquiry and contact address to our team through our mail provider (Resend). It is not kept in a website database. Do not send passwords, keys, recovery links, confidential code or customer records. Your contact email is unverified; nothing is ordered, charged or reserved. Privacy notice.

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 “etl-erp-export-to-store-import-transform” as the subject.