Splid-to-KitchenOwl Migration #799
JanJK2011
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
🧾 Migrating Shared Expenses from Splid to KitchenOwl
My girlfriend and I had been tracking shared expenses in Splid, and we wanted to migrate all of that data into our self-hosted KitchenOwl instance.
Splid (Pro version) offers the option to export your data as an Excel file — specifically an
.xlsfile that includes all expenses, categories, currencies, and individual shares.However, KitchenOwl doesn’t support direct imports from Splid.
That’s where this script comes in.
🤝 Contributions Welcome
This script was written as a quick-and-dirty migration tool to solve a very specific use case.
It works reliably for German-language Splid exports and a standard KitchenOwl setup — but:
So if you have ideas, improvements, or just want to make it less dirty — contributions are more than welcome.
🔄 What This Script Does
This Python tool reads your Splid Excel export and generates KitchenOwl-compatible SQL INSERT statements, ready to import into your PostgreSQL database.
✅ Features
Währungensheetfractions.Fractionfor exact ratios"Zahlung","Umbuchung")expenseandexpense_paid_fortables📥 Input Format
The script expects:
.xlsx(you can convert
.xlsto.xlsxusing OnlyOffice, LibreOffice, or MS Office)Zusammenfassung– detailed overview of all expenses and sharesWährungen– conversion rates per currency🧾 Output
The output is a SQL file named:
your_export_kitchenowl_output.sqlIt contains:
DELETE FROMstatements (optional cleanup)INSERT INTO expense (...)statementsINSERT INTO expense_paid_for (...)statements (with factor-based shares)setval(...)statements to restore auto-increment sequences⚙️ Configuration
Configuration is done via Python functions inside the script:
get_user_map()get_category_mapping()category_idsget_static_entries()should_exclude_from_statistics()Example:
📥 splid2kitchenowl.zip
Beta Was this translation helpful? Give feedback.
All reactions