lunchable-splitlunch

raw JSON →
1.1.0 verified Fri May 01 auth: no python

Integration between LunchMoney and Splitwise. Synchronizes split transactions from Splitwise into LunchMoney. Requires Python >=3.9 and <4. Current version 1.1.0. Release cadence: irregular, with last release in August 2025.

pip install lunchable-splitlunch
error ModuleNotFoundError: No module named 'lunchable-splitlunch'
cause Trying to import using hyphens instead of underscores.
fix
Use from lunchable_splitlunch import splitlunch (underscores).
error pydantic.error_wrappers.ValidationError: 1 validation error for TransactionInsertObject
cause A required field (like payee, date, amount) is missing from the Splitwise transaction when trying to insert into LunchMoney.
fix
Ensure all required fields are present in the Splitwise expense. Add fallback values if needed.
breaking In v1.0.0, the import path was `lunchable_splitlunch` but the package name had a hyphen. v1.0.1 fixed imports so that `from lunchable_splitlunch import splitlunch` works correctly.
fix Upgrade to >=1.0.1 and use underscores in imports.
gotcha TransactionInsertObject validation errors can occur if required fields (like payee, date, amount) are missing or invalid from Splitwise data.
fix Ensure Splitwise transactions have complete data before syncing. Check logs for missing fields.

Basic usage: synchronize Splitwise transactions to LunchMoney.

import os
from lunchable_splitlunch import splitlunch

# Set environment variables or pass directly
splitwise_consumer_key = os.environ.get('SPLITWISE_CONSUMER_KEY', '')
splitwise_consumer_secret = os.environ.get('SPLITWISE_CONSUMER_SECRET', '')
lunchmoney_access_token = os.environ.get('LUNCHMONEY_ACCESS_TOKEN', '')

# Run synchronization
splitlunch.run(
    splitwise_consumer_key=splitwise_consumer_key,
    splitwise_consumer_secret=splitwise_consumer_secret,
    lunchmoney_access_token=lunchmoney_access_token
)