first commit

This commit is contained in:
2026-03-22 23:30:38 -04:00
commit 78a6d73c11
19 changed files with 2732 additions and 0 deletions

15
ynab_import.md Normal file
View File

@@ -0,0 +1,15 @@
## Overview
I need to import extracted transactions into YNAB. This module (`ynab_client.py`) will authenticate with YNAB using the official SDK and retrieve transactions from configured accounts.
YNAB API documentation: https://api.youneedabudget.com/v1
https://github.com/ynab/ynab-sdk-python/blob/main/docs/TransactionsApi.md#create_transaction
https://github.com/ynab/ynab-sdk-python/blob/main/docs/NewTransaction.md
- I want newly imported transactions to have a flag_color of BLUE
- Transactions that are 'posted' should have a cleared status of CLEARED
- Transactions that are 'pending' should have a cleared status of UNCLEARED
- The YNAB transaction import_id field should be set what is done in https://github.com/ynab/ynab-sdk-python/blob/main/docs/NewTransaction.md
- If a posted transaction comes in, and YNAB has an uncleared transaction with the same amount and date, then we should update the existing transaction to be cleared instead of creating a new one. This is to handle the case where a pending transaction becomes posted. We can use the import_id field to match transactions. Note: when a transaction moves from pending to posted, the description may change.
- If a transaction is already in YNAB with the same import_id and is cleared, we should still import the new transaction, but give it a flag_status of RED.
- Before importing, we should show the user in a presentable way the new transactions, the pending to posted matched transactions, and the possible duplicates (RED). Ask the user if they would like to import.
This process should happen when the user runs with a parameter like '--ynab-import'