https://github.com/juftin/lunchable-splitlunch
LunchMoney + Splitwise Integration
https://github.com/juftin/lunchable-splitlunch
lunchable lunchable-plugin lunchmoney python splitwise
Last synced: 6 months ago
JSON representation
LunchMoney + Splitwise Integration
- Host: GitHub
- URL: https://github.com/juftin/lunchable-splitlunch
- Owner: juftin
- License: mit
- Created: 2024-01-25T23:55:22.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-01T03:00:22.000Z (almost 2 years ago)
- Last Synced: 2025-06-11T03:05:27.488Z (8 months ago)
- Topics: lunchable, lunchable-plugin, lunchmoney, python, splitwise
- Language: Python
- Homepage: http://juftin.com/lunchable-splitlunch/
- Size: 158 KB
- Stars: 6
- Watchers: 2
- Forks: 3
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing.md
- License: LICENSE
Awesome Lists containing this project
- awesome-lunchmoney - lunchable-splitlunch: LunchMoney + Splitwise Integration - import transactions from [Splitwise](https://www.splitwise.com/) - (by Justin Flannery). (Transaction Import Tools)
README
lunchable-splitlunch
LunchMoney + Splitwise Integration
## Run via the Lunchable CLI
You can install lunchable with `pip` or
[pipx](https://pypa.github.io/pipx/). Make sure to use the
`lunchable[splitlunch]` extra to install the `SplitLunch` plugin.
You can also use the `lunchable[plugins]` extra to install all the
known plugins.
```shell
pipx install "lunchable[splitlunch]"
```
```shell
pip install "lunchable[splitlunch]"
```
## Integrations
This plugin supports different operations, and some of those operations have prerequisites:
### Auto Importer
It supports the auto-importing of Splitwise expenses into Lunch Money transactions. This requires
a manual asset exist in your Lunch Money account with "Splitwise" in the Name. Expenses that
have been deleted or which don't impact you (i.e. are only between other users in your group)
are skipped. By default, payments and expenses for which you are recorded as the payer are
skipped as well, but these can be overridden by the `--allow-payments` and `--allow-self-paid`
CLI flags, respectively.
#### Prerequisites
- Accounts:
- Splitwise must be in the account name
### LunchMoney -> Splitwise
It supports the creation of Splitwise transactions directly from synced Lunch Money accounts. This syncing requires you create a tag called `SplitLunchImport`. Transactions with this tag will be created in Splitwise with your "financial partner". Once transactions are created in Splitwise they will be split in half in Lunch Money. Half of the split will be marked in the `Reimbursement` category which must be created.
#### Prerequisites
- Financial Partners:
- If you only have one friend in Splitwise, this is your Financial Partner
- Financial Partners can be individual users or groups and transactions will be split accordingly
- Financial Partners must be specified by their Splitwise Group ID, Splitwise User ID, or Email Address
- Tags:
- `SplitLunchImport`
- Categories:
- `Reimbursement`
### SplitLunch
It supports a workflow where you mark transactions as split (identical to `Lunch Money -> Splitwise`) without importing them into Splitwise. This syncing requires you create a tag called `SplitLunch` and a category named `Reimbursement`
#### Prerequisites
- Tags:
- `SplitLunch`
- Categories:
- `Reimbursement`
### LunchMoney -> Splitwise (without splitting)
It supports the creation of Splitwise transactions directly from synced Lunch Money accounts. This syncing requires you create a tag called `SplitLunchDirectImport`. Transactions with this tag will be created in Splitwise with the total completely owed by your "financial partner". The entire transaction wil then be categorized as `Reimbursement` without being split.
#### Prerequisites
- Financial Partners:
- If you only have one friend in Splitwise, this is your Financial Partner
- Financial Partners can be individual users or groups and transactions will be split accordingly
- Financial Partners must be specified by their Splitwise Group ID, Splitwise User ID, or Email Address
- Tags:
- `SplitLunchDirectImport`
- Categories:
- `Reimbursement`
> **Note:** Some of the above scenarios allow for tagging of a `Splitwise` tag on updated transactions. This tag must be created for this functionality to work.
## Installation
```shell
pip install lunchable[splitlunch]
```
## Run the SplitLunch plugin for the Lunchable CLI
```shell
lunchable plugins splitlunch --help
```
## Run the SplitLunch plugin for the Lunchable CLI via Docker
```shell
docker pull juftin/lunchable
```
```shell
docker run \
--env LUNCHMONEY_ACCESS_TOKEN=${LUNCHMONEY_ACCESS_TOKEN} \
--env SPLITWISE_CONSUMER_KEY=${SPLITWISE_CONSUMER_KEY} \
--env SPLITWISE_CONSUMER_SECRET=${SPLITWISE_CONSUMER_SECRET} \
--env SPLITWISE_API_KEY=${SPLITWISE_API_KEY} \
juftin/lunchable:latest \
lunchable plugins splitlunch --help
```