ai-bookkeeper reads Plaid transactions JSON, but until now it threw away the personal_finance_category Plaid attaches to each line. It now keeps the detailed code as a weak hint, the same last-resort layer used for Chase and Capital One category columns.
Only codes that name a single account map (gas, lodging, utilities, bank fees, interest earned, insurance and similar); broad ones such as superstores stay blank so the line goes to review. Keywords, payee memory and learned rules still win. One new test covers a mapped code, an unmapped one and money in.
Caveat: the code list is from memory of Plaid's taxonomy and the test data is hand-made. A real export is still wanted to measure how the hint agrees with the built-in keywords.