This script allows you to import data from the Lunchmoney.app API and present it in Google Sheets. You can retrieve data on categories, transactions, budgets, tags, Plaid accounts, assets, cryptocurrencies, and recurring expenses. The script will create a separate sheet for each endpoint.
I had originally intended this to be a way to edit your data in Lunchmoney but doing this purely in Google Apps Script proved to be a real pain. If there is enough interest I will pursue getting the update functionality working.
- Open a new Google Sheet.
- Click on Extensions > Apps Script.
- Cut and paste the provided
lunchmoney.gs
script, overwriting the existing content in the script editor. - Save the project and script names as desired.
- Refresh your Google Sheet.
- A new "Lunchmoney Configuration" sheet should be created. Add your API Key to the named field.
- Update the date range for the data you're looking to retrieve.
- A new Lunchmoney menu should now appear to the right of the Help menu.
To retrieve data from Lunchmoney.app, select the desired option from the Lunchmoney menu. The script will create a separate sheet for each endpoint and update the data accordingly.
Available options:
- Refresh All: Updates data for all endpoints.
- Refresh Categories: Updates data for the
/categories
endpoint. - Refresh Transactions: Updates data for the
/transactions
endpoint. - Refresh Budgets: Updates data for the
/budgets
endpoint. - Refresh Tags: Updates data for the
/tags
endpoint. - Refresh Plaid Accounts: Updates data for the
/plaid_accounts
endpoint. - Refresh Assets: Updates data for the
/assets
endpoint. - Refresh Crypto: Updates data for the
/crypto
endpoint. - Refresh Recurring Expenses: Updates data for the
/recurring_expenses
endpoint.
If you encounter any issues, check the Apps Script editor's "View" > "Logs" for error messages or relevant information. Additionally, ensure that the API key and date ranges provided in the "Lunchmoney Configuration" sheet are correct.
Contributions to this project are welcome! If you have improvements, bug fixes, or new features you'd like to see added, please submit a Pull Request.
If you find this project helpful and would like to support its development, consider making a donation to the project. Every little bit helps!
This project is licensed under the MIT License. See the LICENSE file for details.