Files
FargoImport/QUICKSTART.md
2026-03-22 23:30:38 -04:00

3.6 KiB

Quick Start Guide

Installation

  1. Dependencies already installed:

    • ynab (2.1.0) - YNAB API SDK
    • pyyaml (6.0.3) - YAML parsing
  2. Virtual environment active in .venv/

Configuration

Update ynab.yml with your YNAB credentials:

ynab:
  - token: "your_actual_ynab_api_token"
    plan_id: "your_budget_plan_id"
    accounts:
        - name: "Credit Card"
          id: "account_uuid"

Get your credentials from: https://app.youneedabudget.com/settings/developer

Quick Examples

Extract Wells Fargo Transactions

# Display in console
python main.py --input posted.dat

# Save to file
python main.py --input posted.dat --output extracted.json

# Process and save transactions
python example_usage.py

Output: processed_transactions.json with 179 sample transactions

Fetch YNAB Transactions

python ynab_example.py

Output: ynab_transactions.json with transactions from past 30 days

Reconcile Both Sources

python reconcile.py

Output: reconciliation_report.json comparing both datasets

Module Quick Reference

Task Module Method
Extract WF payload wf_debit_extractor.py WellsFargoPayloadExtractor().extract_from_file()
Process WF transactions transaction_processor.py TransactionProcessor().extract_transactions()
Fetch YNAB transactions ynab_client.py YNABClient().get_transactions_for_days()
Reconcile both reconcile.py reconcile_transactions()

Common Code Patterns

Get Wells Fargo Transactions

from wf_debit_extractor import WellsFargoPayloadExtractor
from transaction_processor import TransactionProcessor

extractor = WellsFargoPayloadExtractor()
payloads = extractor.extract_from_file("posted.dat")

processor = TransactionProcessor()
transactions = processor.extract_transactions(payloads)

for txn in transactions:
    print(f"{txn['id']}: ${txn['transaction_amount_cents']/100:.2f}")

Get YNAB Transactions

from ynab_client import YNABClient

client = YNABClient("ynab.yml")
transactions = client.get_transactions_for_days(days=30)

for txn in transactions:
    print(f"{txn['date']}: {txn['payee_name']} ${txn['amount_milliCurrency']/1000:.2f}")

Full Reconciliation

from reconcile import reconcile_transactions

report = reconcile_transactions()
print(f"WF: {report['transaction_count_wf']} transactions")
print(f"YNAB: {report['transaction_count_ynab']} transactions")

File Locations

  • Input: posted.dat (Wells Fargo HAR export)
  • Config: ynab.yml (YNAB credentials)
  • Output:
    • extracted.json - Raw WF payloads
    • processed_transactions.json - Processed WF transactions
    • ynab_transactions.json - YNAB transactions
    • reconciliation_report.json - Comparison report

Troubleshooting

YNAB Authorization Error:

  • Verify token in ynab.yml is correct
  • Check token hasn't expired
  • Ensure token has budget access

Wells Fargo Extraction Returns 0 Objects:

  • Verify posted.dat contains /*WellFargoProprietary%...%WellFargoProprietary*/
  • Check file is valid JSON

Import Errors:

  • Activate venv: .venv\Scripts\Activate.ps1
  • Reinstall deps: pip install ynab pyyaml

Documentation

See detailed docs in:

  • README.md - Full project documentation
  • PROJECT_SUMMARY.md - Module reference
  • YNAB_MODULE.md - YNAB client details
  • Module docstrings - Inline documentation

Next Steps

  1. Update ynab.yml with real credentials
  2. Run python example_usage.py to test WF extraction
  3. Run python ynab_example.py to test YNAB connection
  4. Run python reconcile.py to generate comparison report