This folder contains a small tool that helps an organic store compare:
- Biopartner recommended sales prices (UVP) from a Biopartner Excel (.xlsx) file
- with your current getButik v4 prices from a getButik “Artikel-Export (CSV)”
It then creates a new CSV report showing which items have different prices and proposes a new price based on simple margin rules.
- A computer (this guide is written for macOS. Other operating systems should work with minor differences).
- Python 3 installed.
- The current Biopartner Excel price list saved into the
data/folder. - A getButik v4 article export saved as
data/pos_export.csv. - (Optional) An exceptions file
data/exceptions.csvwhere you can define fixed margins for specific products.
This project needs a CSV export from getButik.
If you do not see an export option called “Artikel-Export (CSV)” (or similar), ask your getButik software provider (Dublin IT) to enable the feature for your installation.
Without this export, the tool cannot read your POS prices.
If you are not sure whether Python is installed, open Terminal (Applications → Utilities → Terminal) and type:
python3 --version
If you get an error, install Python 3:
- Official Python downloads: https://www.python.org/downloads/
- Python on macOS installation help: https://docs.python.org/3/using/mac.html
After installation, open a new Terminal window and check again:
python3 --version
Put these files into the data/ folder:
-
Biopartner Excel file (.xlsx)
- Example name:
20260125_Bestellliste_Gesamtsortiment_123456.xlsx - The script automatically searches
data/and uses the newest matching.xlsxfile.
- Example name:
-
getButik export (CSV)
- Must be named exactly:
pos_export.csv - Must be located at:
data/pos_export.csv
- Must be named exactly:
data/exceptions.csv
If the file does not exist, the script creates it automatically with this header:
Artikel-ID;Marge
You can then add lines like:
123456;1.35
Meaning: for Artikel-ID 123456, always calculate the sales price using margin 1.35.
After running, the script writes a new CSV into data/ with a timestamp, e.g.:
data/price_comparison_20260126_150128.csv
In getButik v4, use the enabled feature Artikel-Export (CSV).
When exporting, ensure (as best as possible) that:
- The file is a CSV
- The separator is semicolon (
;) (common for DACH exports) - The export includes at least these columns (names may vary slightly):
Art.-Nr.Artikel-IDBezeichnungEP(purchase price)UVPorPreis(sales price)EinheitStatusAnzahl(stock)
Then save the export as:
data/pos_export.csv
Download or copy the latest Biopartner Excel file into the data/ folder.
No special filename is required; the script looks for an .xlsx file with a recognizable header.
Use a virtual environment so nothing else on your Mac is affected.
- Open Terminal
- Go into this project folder
- Create and activate a virtual environment
- Install required packages
This project uses pandas, which must be installed for the script to work.
Run the script with Python 3. In Terminal, navigate to this project folder and run:
python3 biopartner_price_comparison.py
When it finishes, it prints a short summary and writes the result CSV into data/.
- Reads the latest Biopartner
.xlsxfromdata/ - Reads your getButik export from
data/pos_export.csv - Only keeps POS rows where:
Einheitis StückStatusis 1 (active)
- Matches products by article number
- Creates a report only for items where your sales price differs from Biopartner UVP
- Proposes a new price using margin ranges defined in 'data/margin_rules.csv':
- Allows manual margin overrides in
data/exceptions.csv
- Make sure the getButik export is saved as
data/pos_export.csv(exact spelling)
- Put the Biopartner
.xlsxintodata/ - Ensure it is a real Excel file (
.xlsx), not a PDF or older.xls
The script reads the getButik CSV with Windows encoding (cp1252), which is common for such exports.
If your export uses UTF-8 instead, the file can still be used, but the script may need a small adjustment.
Your product and pricing data stays local on your computer. The script reads files from data/ and produces a report CSV in the same folder.
If you need changes (different margin logic, different export format, additional columns in the report), ask whoever maintains this repository.