Relard Digital Solutions
Enclosure to the letter from Sebastian Relard
Enclosure 1
Orders from the inbox, straight into the shop’s format
For a paint manufacturer, via a Düsseldorf agency · in operation since 2025
Retailers send their order as an Excel, CSV or PDF file to a fixed address. A few minutes later they get back a finished import file for the online shop, with a note on every line that couldn’t be matched.
The task
The manufacturer’s online shop imports orders as a file with two columns: item number and quantity. Retailers, though, order the way they are used to: as an Excel list with its own layout, as a CSV with their own item numbers, or as a PDF, some of them in Polish, English or Vietnamese.
What was needed was a way to turn each of these orders into a file the shop can import directly, without anyone retyping it.
An example
How it works
- The retailer emails their order to a fixed address, as they always have.
- Every minute the program collects new emails. It recognises the format from the sender; for emails from within the company, a code in the subject line decides.
- It reads the lines from the file, matches each item number to the shop’s number and converts packs into single units where a format requires it.
- The finished import file goes back to the sender as a reply. Lines without a matching item number are listed as a note in the email.
When something doesn’t fit
If a file arrives in a format that hasn’t been set up, or from an unknown address, the sender gets an error email that explains the problem. I set up a new order format once; after that it runs like the others.
Status and limits
- In operation
- Since 2025, with seven order formats set up.
- No AI
- The conversion follows fixed rules. There are no running AI costs, and every result can be traced.
- Limit
- The program stops at the import file. It does not enter anything into the shop itself.
- Monitoring
- Since September 2026 a protected statistics page has shown how it is running. An alert for faults, an external check and a daily report are in place; they have not yet been tested in operation.
- My role
- Programmed and maintained by me, on behalf of a Düsseldorf agency.
Technical details
Python 3.12 with pandas, openpyxl and pdfplumber. The item number mapping is stored in MySQL. The program fetches and sends email over IMAP and SMTP; it runs as a cron job at Mittwald.
165 automated tests, file locks and atomically written state files.
- Python
- pandas
- openpyxl
- pdfplumber
- MySQL
- IMAP/SMTP
- pytest
Is there a similar step in your own work? Then let’s talk about it for 30 minutes, free and without obligation.