Skip to main content

LunchMoney + Splitwise Integration

Project description

lunchable-splitlunch

LunchMoney + Splitwise Integration

PyPI PyPI - Python Version GitHub License Testing Status task uv pre-commit docs semantic-release Gitmoji

lunchable lunchable

Run via the Lunchable CLI

You can install lunchable with pip or 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.

pipx install "lunchable[splitlunch]"
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

pip install lunchable[splitlunch]

Run the SplitLunch plugin for the Lunchable CLI

lunchable plugins splitlunch --help

Run the SplitLunch plugin for the Lunchable CLI via Docker

docker pull juftin/lunchable
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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lunchable_splitlunch-1.1.0.tar.gz (109.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lunchable_splitlunch-1.1.0-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file lunchable_splitlunch-1.1.0.tar.gz.

File metadata

  • Download URL: lunchable_splitlunch-1.1.0.tar.gz
  • Upload date:
  • Size: 109.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for lunchable_splitlunch-1.1.0.tar.gz
Algorithm Hash digest
SHA256 052541fa819831d25bd24b6ca80f44a302209f51f5500fcf835c9c7ab133fad8
MD5 fab18d7719d374eb50415c5243df336d
BLAKE2b-256 fbf17175594253c25acfdc2f36a03ac32cc13bb3ae0e9caf5a407fea8e69e883

See more details on using hashes here.

Provenance

The following attestation bundles were made for lunchable_splitlunch-1.1.0.tar.gz:

Publisher: publish.yaml on juftin/lunchable-splitlunch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lunchable_splitlunch-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for lunchable_splitlunch-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f9700ff029548e26dfca9835b8ad4766377dff7b403f71f9dbfa3677942090f5
MD5 d5e6a6d61067402df5e9e9d5f3c909f1
BLAKE2b-256 4d554e222ab2af33e11a0d5eb0db921695adb8f59b4e9bdcef5bd0a97851e13c

See more details on using hashes here.

Provenance

The following attestation bundles were made for lunchable_splitlunch-1.1.0-py3-none-any.whl:

Publisher: publish.yaml on juftin/lunchable-splitlunch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page