Skip to content

Include Plaid location and payment_meta fields in Connect CSV exports #21

@bodywithoutorganss

Description

@bodywithoutorganss

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions