Description
CC transactions were being grouped under "unknown" in CCGroupingService because tx.filename was empty for some transactions, causing pdf_card_numbers.get(tx.filename) to return None.
Root Cause
In processor.py _build_grouping_inputs(), CC transactions are collected from ExtractionResult.transactions and passed directly to group_by_card(). However _enrich_with_filename() (which backfills tx.filename from additional_fields['source_pdf']) is only called later inside prepare_transactions() for IBAN groups — never for CC transactions before grouping.
Some transactions produced by RowPostProcessor have an empty Filename field, so tx.filename = '' after from_dict(). These can't be looked up in pdf_card_numbers and fall through to card_suffix = 'unknown'.
Fix
In _build_grouping_inputs(), stamp tx.filename = extraction.source_file.name for any CC transaction with an empty filename before extending all_cc_txns.
Impact
Paid tier: 7 transactions were bucketed under unknown instead of their correct card suffix (9459). After fix, bank_statements_unknown.* files no longer produced.
Description
CC transactions were being grouped under
"unknown"inCCGroupingServicebecausetx.filenamewas empty for some transactions, causingpdf_card_numbers.get(tx.filename)to returnNone.Root Cause
In
processor.py_build_grouping_inputs(), CC transactions are collected fromExtractionResult.transactionsand passed directly togroup_by_card(). However_enrich_with_filename()(which backfillstx.filenamefromadditional_fields['source_pdf']) is only called later insideprepare_transactions()for IBAN groups — never for CC transactions before grouping.Some transactions produced by
RowPostProcessorhave an emptyFilenamefield, sotx.filename = ''afterfrom_dict(). These can't be looked up inpdf_card_numbersand fall through tocard_suffix = 'unknown'.Fix
In
_build_grouping_inputs(), stamptx.filename = extraction.source_file.namefor any CC transaction with an empty filename before extendingall_cc_txns.Impact
Paid tier: 7 transactions were bucketed under
unknowninstead of their correct card suffix (9459). After fix,bank_statements_unknown.*files no longer produced.