Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ljb2of3/ynab-sms
Send text messages to other users of your budget to keep everyone in the loop.
https://github.com/ljb2of3/ynab-sms
Last synced: 3 months ago
JSON representation
Send text messages to other users of your budget to keep everyone in the loop.
- Host: GitHub
- URL: https://github.com/ljb2of3/ynab-sms
- Owner: ljb2of3
- License: mit
- Created: 2019-01-05T21:11:53.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-01-06T03:30:45.000Z (about 6 years ago)
- Last Synced: 2024-08-01T22:42:26.799Z (6 months ago)
- Language: Python
- Size: 6.84 KB
- Stars: 3
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ynab - SMS Alerts
README
# Intro
Do you use YNAB with mutliple people? use `ynab-sms.py` to send text messages to other users of your budget to keep everyone in the loop! The script uses flag colors to identify who's transaction it is. For instance, I mark my transactions with a blue flag, and my wife marks hers with a purple flag. The script will also alert all users if a category's budgeted amount gets changed.
# Getting started
## Install Requirements
The script requires python 3. Install the required python packages with `pip install -r requirements.txt`
## Configure
Copy `settings.json.example` to `settings.json` and then modify with your settings. You'll need a Personal Access Token from your [YNAB Developer Settings](https://app.youneedabudget.com/settings/developer), and a [Twilio](https://www.twilio.com/sms) Programmable SMS account.
#### Sample Config
The configuration is broken up into three sections.In the `ynab` section you'll need to fill in your budget ID, which can be found in the url bar when you're editing your budget: `https://app.youneedabudget.com/THIS IS YOUR BUDGET ID/budget`, as well as a Personal Access Token from your YNAB Developer Settings.
(The information below is all random)
```json
"ynab": {
"budget": "h1347489-2b23-6dcf-feb9-6204ba34a4fe",
"token": "44b913a04a2f3c898d498a22b34a236205664ba97d68585446dcff6c04feb6"
},
```
In the `twilio` section you'll need your Account SID, auth token, and your programmable sms number.
```json
"twilio": {
"sid": "ee5a1a322e6415d68cAC4fef0bf61899ed",
"token": "5eb13d609b7edf2fd7b4c48ceef81923",
"number": "+12135552560"
},
```
Finally, in the `users` section add each person you want to get SMS alerts, and the flag color for the transactions they enter.
```json
"users": [
{
"name": "Alice",
"number": "+16615557189",
"flag": "purple"
},
{
"name": "Bob",
"number": "+13235557167",
"flag": "blue"
}
]
}
```
## Run
Once configured, run `python3 ynab-sms.py` using cron or some other task scheduler as often as you want. Keep in mind the YNAB API call limits, which are currently 200 calls per hour, and the script makes three calls per run.The script writes a couple json files to the local directory to keep track of past data, so make sure it has write permissions.
# Improvements
Currently this script grabs all possible transactions. A future version should use the delta api instead. The payee list should be cached as well.