-
Notifications
You must be signed in to change notification settings - Fork 3
Include Plaid location and payment_meta fields in Connect CSV exports #21
Description
Summary
bh connect dump currently exports 33 fields from Plaid's Transaction object, but drops several useful nested objects — most notably location (city, state, address, coordinates) and payment_meta (reference numbers, payee/payer). The original_description field is also excluded.
What's missing
location (8 fields):
address, city, region, postal_code, country, lat, lon, store_number
payment_meta (8 fields):
reference_number, ppd_id, payee, by_order_of, payer, payment_method, payment_processor, reason
Top-level:
original_description (raw bank memo before Plaid normalization)
Why this matters
Location data is useful for categorizing transactions (same merchant, different cities), travel expense tracking, and general auditing. payment_meta helps trace ACH/wire transfers. original_description preserves the unmodified bank memo, which often contains location info that name has already been cleaned of.
Where the change is needed
The data is available from Plaid's /transactions/get response — it just needs to be included when the server-side dump builds the CSV. On the client side, beanhub-extract's PlaidExtractor (extractors/plaid.py) has a hardcoded ALL_FIELDS list and an exact-match detect(), so it would need to be updated in tandem to accept the new columns (or made flexible enough to handle optional columns).
Suggested approach
Flatten nested objects with __ prefix convention (matching existing counterparties__* and personal_finance_category__* patterns):
location__city,location__region, etc.payment_meta__reference_number, etc.
Environment
- beanhub-cli 3.1.1
- beanhub-extract 0.1.7