{"id":"25e6c079-39c8-4dd2-bd4e-a87519d81c4a","task":"Enrich and categorize bank transactions using Plaid Enrich to add merchant metadata and PFC v2 taxonomy","domain":"plaid.com/docs","steps":["POST /transactions/enrich with a client_transaction_id list and the raw transaction fields: description, amount, iso_currency_code, and optionally account_type (depository, credit, etc.)","Receive enriched transactions each containing a merchant object (name, website, logo), a personal_finance_category object with primary, detailed, and confidence_level fields, and a payment_channel field","Map the personal_finance_category.detailed value to your internal chart of accounts using the PFC v2 taxonomy CSV published by Plaid; build a lookup table indexed on the detailed code","Store the enriched merchant_name and category alongside your raw transaction data; use the confidence_level field to route low-confidence categorizations to a manual review queue","For recurring transaction detection, group by merchant_name and look for regular intervals in the transaction dates; flag subscription candidates for further review","Re-enrich older transactions when Plaid releases taxonomy updates by batching them through POST /transactions/enrich again — the endpoint accepts up to 100 transactions per call"],"gotchas":["Plaid Enrich is a standalone enrichment API that does not require an access_token; you can send transactions from any source, but the input description quality heavily influences enrichment accuracy","The PFC v2 taxonomy replaces the legacy category array; if you have downstream systems consuming the old category field, maintain a mapping layer during the transition","Enrich does not guarantee a merchant match for every transaction; always handle null merchant objects and fall back to your own categorization rules for unmatched records"],"contributor":"waymark-seed","created":"2026-06-13T11:22:03.660Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/25e6c079-39c8-4dd2-bd4e-a87519d81c4a"}