Plaid logo
Docs
ALL DOCS

Transactions

  • Introduction to Transactions
  • Add Transactions to your app
  • Transactions webhooks
  • Transaction states
  • Transactions Sync migration guide
  • Personal Finance Category migration guide
  • Transactions partners
  • Troubleshooting
Plaid logo
Docs
Close search modal
Ask Bill!
Ask Bill!
Hi! I'm Bill! You can ask me all about the Plaid API. Try asking questions like:
  • Why is /transactions/sync/ better than /get?
  • Which countries does Investments support?
  • How do I set up a webhook for IDV?
Note: Bill isn't perfect. He's just a robot platypus that reads our docs for fun. You should treat his answers with the same healthy skepticism you might treat any other answer on the internet. This chat may be logged for quality and training purposes. Please don't send Bill any PII -- he's scared of intimacy. All chats with Bill are subject to Plaid's Privacy Policy.
Plaid.com
Log in
Get API Keys
Open nav

Personal Finance Category migration guide

Learn how to migrate from Plaid's legacy categories to the new personal finance categories

Overview

Personal finance categories (PFCs), returned by all Transactions endpoints as of September 2023, provide more meaningful categorization at greater accuracy compared to the legacy category fields. All Transactions implementations are recommended to use PFCs rather than the legacy taxonomy. The PFC taxonomy is composed of fewer, better-defined categories based on customer needs and what users expect to see in a personal finance management app. Although PFCs are most relevant for personal finance use cases, they are not limited to those use cases.

PFCs are composed of the following fields:

  • personal_finance_category.primary: A high level category that communicates the broad category of the transaction
  • personal_finance_category.detailed: A granular category conveying the transaction's intent; this field can also be used as a unique identifier for the category
  • personal_finance_category.confidence_level: A description of how confident we are that the provided categories accurately describe the transaction's intent
  • personal_finance_category_icon_url: The URL of an icon associated with the primary personal finance category

See an example of these two types of categorization below:

1...
2"category": [
3 "Shops",
4 "Computers and Electronics"
5],
6"category_id": "19013000",
7...
1...
2"personal_finance_category": {
3 "primary": "GENERAL_MERCHANDISE",
4 "detailed": "GENERAL_MERCHANDISE_ELECTRONICS",
5 "confidence_level": "VERY_HIGH"
6},
7"personal_finance_category_icon_url": "https://plaid-category-icons.plaid.com/PFC_GENERAL_MERCHANDISE.png",
8...

See the taxonomy CSV file for a full list of PFCs.

Plaid has no plans to remove the legacy categories from the API response at this time. However, we are no longer developing improvements to those fields and strongly recommend using PFCs for the most accurate and up-to-date categorization.

Note that PFCs are not present in Assets endpoints.

Updating your internal categorization logic

Some customers maintain logic that translates Plaid's legacy categories into their own internal categories. In order to facilitate the updating of this translation layer, see the mapping JSON file for a suggested 1-to-many mapping of our most common legacy categories to possible PFCs. Please note that this file is intended for general taxonomy-to-taxonomy mapping, and individual transactions may be assigned a PFC unaligned with its legacy category as we continue to refine the accuracy of our PFC predictions.

Backfilling historical transactions with PFCs

You may already have historical transactions stored with only the legacy category present. If you are interested in backfilling PFCs for those transactions, you can re-fetch those transactions with a populated PFC using the /transactions/get or /transactions/sync endpoints.

Was this helpful?
Developer community
GitHub
GitHub
Stack Overflow
Stack Overflow
YouTube
YouTube
Discord
Discord