222 lines
5.5 KiB
Markdown
222 lines
5.5 KiB
Markdown
# FargoImport - File Index & Navigation
|
|
|
|
## 📖 Start Here
|
|
|
|
1. **New to the project?** → Read `QUICKSTART.md` (5 min read)
|
|
2. **Want full details?** → Read `README.md` (comprehensive)
|
|
3. **Need module reference?** → Check `PROJECT_SUMMARY.md`
|
|
|
|
---
|
|
|
|
## 🐍 Python Modules (7 files)
|
|
|
|
### Core Extraction
|
|
- **`wf_debit_extractor.py`** - Extract Wells Fargo payloads from HAR JSON
|
|
- `WellsFargoPayloadExtractor` class
|
|
- Methods: `extract_from_file()`, `extract_from_data()`, `get_objects()`
|
|
- Usage: Extract proprietary JSON wrapped in `/*WellFargoProprietary%...%WellFargoProprietary*/`
|
|
|
|
### Data Processing
|
|
- **`transaction_processor.py`** - Transform raw transactions into structured format
|
|
- `TransactionProcessor` class
|
|
- Methods: `extract_transactions()`
|
|
- Converts amounts to cents, timestamps to datetime, normalizes data
|
|
|
|
### External Integration
|
|
- **`ynab_client.py`** - Connect to YNAB API and fetch transactions
|
|
- `YNABClient` class
|
|
- Methods: `get_transactions_for_days()`, `get_account_balance()`
|
|
- Configuration via `ynab.yml`
|
|
|
|
### Reconciliation
|
|
- **`reconcile.py`** - Compare Wells Fargo and YNAB transactions
|
|
- `reconcile_transactions()` function
|
|
- `main()` CLI entry point
|
|
- Generates `reconciliation_report.json`
|
|
|
|
### Credit Module
|
|
- **`wf_credit_extractor.py`** - Credit extractor module (renamed from `extractor.py`)
|
|
|
|
### CLI & Examples
|
|
- **`main.py`** - Command-line interface for Wells Fargo extraction
|
|
- Args: `--input`, `--output`, `--show-errors`
|
|
- Usage: `python main.py --input posted.dat`
|
|
|
|
- **`example_usage.py`** - Wells Fargo transaction processing example
|
|
- Demonstrates extraction → processing → JSON output
|
|
- Output: `processed_transactions.json`
|
|
|
|
- **`ynab_example.py`** - YNAB transaction fetching example
|
|
- Demonstrates YNAB API integration
|
|
- Output: `ynab_transactions.json`
|
|
|
|
---
|
|
|
|
## ⚙️ Configuration (1 file)
|
|
|
|
- **`ynab.yml`** - YNAB API credentials and account mapping
|
|
```yaml
|
|
ynab:
|
|
- token: "your_ynab_api_token"
|
|
plan_id: "your_budget_id"
|
|
accounts:
|
|
- name: "Credit Card"
|
|
id: "account_uuid"
|
|
```
|
|
|
|
---
|
|
|
|
## 📚 Documentation (4 files)
|
|
|
|
| File | Purpose | Read Time |
|
|
|------|---------|-----------|
|
|
| `QUICKSTART.md` | Quick start guide with examples | 5 min |
|
|
| `README.md` | Full project documentation | 15 min |
|
|
| `PROJECT_SUMMARY.md` | Module reference & architecture | 10 min |
|
|
| `YNAB_MODULE.md` | YNAB client detailed docs | 5 min |
|
|
|
|
---
|
|
|
|
## 📊 Data Files (4 output files)
|
|
|
|
These are generated by running the example scripts:
|
|
|
|
- **`extracted.json`** - Raw Wells Fargo payload objects (from `main.py`)
|
|
- **`processed_transactions.json`** - Processed WF transactions (from `example_usage.py`)
|
|
- 179 sample transactions
|
|
- Fields: id, amount_cents, dates (timestamp & datetime), description
|
|
|
|
- **`ynab_transactions.json`** - YNAB transactions (from `ynab_example.py`)
|
|
- Fetched from YNAB API
|
|
- Fields: id, date, payee, category, amount, account, memo
|
|
|
|
- **`reconciliation_report.json`** - Comparison report (from `reconcile.py`)
|
|
- Summary of both data sources
|
|
- Totals and transaction counts
|
|
- Full transaction lists
|
|
|
|
---
|
|
|
|
## 🎯 Common Tasks
|
|
|
|
### Extract Wells Fargo Data
|
|
```bash
|
|
# Display in console
|
|
python main.py
|
|
|
|
# Save to file
|
|
python main.py --output extracted.json
|
|
|
|
# Process transactions
|
|
python example_usage.py
|
|
```
|
|
|
|
### Fetch YNAB Data
|
|
```bash
|
|
python ynab_example.py
|
|
```
|
|
|
|
### Reconcile Both Sources
|
|
```bash
|
|
python reconcile.py
|
|
```
|
|
|
|
### Programmatic Usage
|
|
```python
|
|
from wf_debit_extractor import WellsFargoPayloadExtractor
|
|
from transaction_processor import TransactionProcessor
|
|
from ynab_client import YNABClient
|
|
|
|
# Wells Fargo
|
|
wf = WellsFargoPayloadExtractor()
|
|
payloads = wf.extract_from_file("posted.dat")
|
|
processor = TransactionProcessor()
|
|
wf_txns = processor.extract_transactions(payloads)
|
|
|
|
# YNAB
|
|
ynab = YNABClient()
|
|
ynab_txns = ynab.get_transactions_for_days(days=30)
|
|
|
|
# Access
|
|
for txn in wf_txns[:5]:
|
|
print(txn["transaction_description"])
|
|
```
|
|
|
|
---
|
|
|
|
## 🔍 Module Dependencies
|
|
|
|
```
|
|
posted.dat (input)
|
|
↓
|
|
wf_debit_extractor.py
|
|
↓
|
|
transaction_processor.py
|
|
↓
|
|
example_usage.py → processed_transactions.json
|
|
|
|
ynab.yml (config)
|
|
↓
|
|
ynab_client.py
|
|
↓
|
|
ynab_example.py → ynab_transactions.json
|
|
|
|
Both ↓
|
|
reconcile.py → reconciliation_report.json
|
|
```
|
|
|
|
---
|
|
|
|
## ✅ File Status
|
|
|
|
| Type | Count | Status |
|
|
|------|-------|--------|
|
|
| Core Modules | 4 | ✅ Tested & Working |
|
|
| CLI/Examples | 3 | ✅ Tested & Working |
|
|
| Configuration | 1 | ✅ Ready |
|
|
| Documentation | 4 | ✅ Complete |
|
|
| Data Files | 4 | ✅ Generated |
|
|
| **Total** | **16** | **✅ Complete** |
|
|
|
|
---
|
|
|
|
## 🚀 Getting Started
|
|
|
|
1. **Read** `QUICKSTART.md` (2 min)
|
|
2. **Update** `ynab.yml` with your API token
|
|
3. **Run** `python example_usage.py` (verify WF extraction)
|
|
4. **Run** `python ynab_example.py` (verify YNAB connection)
|
|
5. **Run** `python reconcile.py` (generate comparison)
|
|
|
|
---
|
|
|
|
## 📞 Documentation Map
|
|
|
|
- Need quick answer? → `QUICKSTART.md`
|
|
- How do I use X? → `README.md`
|
|
- What does Y do? → `PROJECT_SUMMARY.md`
|
|
- YNAB details? → `YNAB_MODULE.md`
|
|
- Code docstrings? → Open the `.py` file
|
|
|
|
---
|
|
|
|
## 🔗 Key Entry Points
|
|
|
|
**CLI Interface:**
|
|
- `main.py` - Extract Wells Fargo data from command line
|
|
|
|
**Programmatic API:**
|
|
- `wf_debit_extractor.py` - Wells Fargo extraction
|
|
- `transaction_processor.py` - Transaction processing
|
|
- `ynab_client.py` - YNAB integration
|
|
- `reconcile.py` - Reconciliation
|
|
|
|
**Examples:**
|
|
- `example_usage.py` - Wells Fargo example
|
|
- `ynab_example.py` - YNAB example
|
|
|
|
---
|
|
|
|
Generated: March 20, 2026
|
|
|