ynabifier/README.md

56 lines
1.9 KiB
Markdown
Raw Normal View History

2022-10-09 20:20:53 +00:00
# YNABifier
2022-10-28 03:49:31 +00:00
Loads transactions into [You Need a Budget](https://www.youneedabudget.com/)
(YNAB) in real time!*
2022-10-09 20:20:53 +00:00
\* for varying definitions of real time
<hr>
2022-10-28 03:49:31 +00:00
YNAB has built in functionality to import transactions from your credit cards,
but banks often don't make this data available very quickly; usually it takes a
day or two. However, many banks have the ability to send emails to you when you
have a transaction over a certain amount (which can be $0, if you like!).
YNABifier scans these emails for transactions, and automatically imports them to
YNAB.
2022-10-09 20:20:53 +00:00
2022-10-28 03:49:31 +00:00
This project takes heavy inspiration from
[buzzlawless/live-import-for-ynab](https://github.com/buzzlawless/live-import-for-ynab),
which does effectively the same thing, but makes use of AWS Simple Email
Service, if self-hosting isn't your game.
2022-10-09 20:20:53 +00:00
## Setup
2022-10-28 03:49:31 +00:00
YNABifier requires a configuration file named `config.yml` placed in your
present working directory. It does require some fields that you can fetch from
the YNAB API about your account, as well as a [personal access
token](https://api.youneedabudget.com/).
2022-10-09 20:20:53 +00:00
2022-10-28 03:49:31 +00:00
As a convenience, a setup utility is provided to generate the configuration. You
can access this by running `cargo run --bin setup`, and then following the
on-screen prompts.
### Config Schema
2022-10-09 20:20:53 +00:00
```yml
log_level: info # optional
imap:
username: email address
password: IMAP Password
domain: Your IMAP Server
port: 993 # optional
ynab:
personal_access_token: Your YNAB Personal Access Token
budget_id: The YNAB ID for the budget that YNABifier should insert into
accounts:
- account_id: The YNAB ID for account that this should parse
parser: The parser to use (see below)
```
2022-10-28 03:49:31 +00:00
Once this is in place, you can use `cargo run --release` to run YNABifier, or
`cargo build --release`, and use the built binary.
2022-10-09 20:20:53 +00:00
## Supported transaction providers
- TD Bank (`td` in the configuration)
- Citi Bank (`citi` in the configuration)