# audit_log

audit_id: 0e1ca15f-378c-4a8a-8d42-780c78ba858e
timestamp: 2026-05-17T15:15:00.282050+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_0ab3ed5cf36ead61d77cc3c5
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282050+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282050+00:00
old_values_json:
  {"account_source": null, "amount_original": "150.350", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Venum", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Venum", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "0ab3ed5cf36ead61d77cc3c57fdf8c36", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1112", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_0ab3ed5cf36ead61d77cc3c5", "transaction_date": "2025-11-28", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 0180e03a-2802-472e-912e-6b90542e1026
timestamp: 2026-05-17T15:15:00.282081+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_0d6f5f7741e8ee3f486aeaa5
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282081+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282081+00:00
old_values_json:
  {"account_source": null, "amount_original": "0.400", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "ParkplatzAnnerstrasse", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "ParkplatzAnnerstrasse", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "0d6f5f7741e8ee3f486aeaa5fb69d34a", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1113", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_0d6f5f7741e8ee3f486aeaa5", "transaction_date": "2025-11-27", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: dce15ea5-9f08-44af-96d0-61dc8b6a01c7
timestamp: 2026-05-17T15:15:00.282111+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_16b5e0a66e9febf70a23c57f
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282111+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282111+00:00
old_values_json:
  {"account_source": null, "amount_original": "44.800", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Burger King", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Burger King", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "16b5e0a66e9febf70a23c57f49f2c695", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1114", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_16b5e0a66e9febf70a23c57f", "transaction_date": "2025-11-28", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 99918904-5d40-49cf-9968-4670e29053f2
timestamp: 2026-05-17T15:15:00.282149+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_42a5435d301064665be9456f
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282149+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282149+00:00
old_values_json:
  {"account_source": null, "amount_original": "43.200", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "ALDI SUISSE", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "ALDI SUISSE", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "42a5435d301064665be9456f0f6b18ee", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1115", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_42a5435d301064665be9456f", "transaction_date": "2025-11-28", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 0970738f-4f92-48a2-a86e-4605ee7a27c7
timestamp: 2026-05-17T15:15:00.282192+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_5f0efff916bea59f12861802
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282192+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282192+00:00
old_values_json:
  {"account_source": null, "amount_original": "261.900", "classification": "galaxus_review", "confidence": "0.70", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Digitec Galaxus AG", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Digitec Galaxus AG", "notes": "galaxus_requires_user_category_or_split", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "5f0efff916bea59f128618024a03d69c", "receipt_key": null, "requires_review": 1, "review_reason": "galaxus_requires_user_category_or_split", "rule_id": "galaxus_review", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1118", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_5f0efff916bea59f12861802", "transaction_date": "2025-11-28", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: c14285f4-0757-435e-926b-d2b2d9bd42bf
timestamp: 2026-05-17T15:15:00.282224+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_124f88c18ed616f8cd2d4566
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282224+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282224+00:00
old_values_json:
  {"account_source": null, "amount_original": "262.150", "classification": "covered_by_migros", "confidence": "0.95", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": "migros_csv", "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Migros", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Migros", "notes": "credit_card_migros_covered_by_migros", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "124f88c18ed616f8cd2d4566c4dcb7f8", "receipt_key": null, "requires_review": 0, "review_reason": "credit_card_migros_covered_by_migros", "rule_id": "covered_by_migros", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1120", "source_type": "credit_card_csv", "status": "covered_by_migros", "transaction_candidate_id": "btxcand_124f88c18ed616f8cd2d4566", "transaction_date": "2025-11-29", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: e159a398-d198-4cb5-bd22-3b4a4f595141
timestamp: 2026-05-17T15:15:00.282256+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_1510a08ffe0a359aed7f8d7c
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282256+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282256+00:00
old_values_json:
  {"account_source": null, "amount_original": "62.400", "classification": "galaxus_review", "confidence": "0.70", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Digitec Galaxus AG", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Digitec Galaxus AG", "notes": "galaxus_requires_user_category_or_split", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "1510a08ffe0a359aed7f8d7ca9d0abcf", "receipt_key": null, "requires_review": 1, "review_reason": "galaxus_requires_user_category_or_split", "rule_id": "galaxus_review", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1124", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_1510a08ffe0a359aed7f8d7c", "transaction_date": "2025-11-29", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 367dcd45-747b-490b-b8ee-06e9f0b2ed77
timestamp: 2026-05-17T15:15:00.282304+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_c6b6e3adc6471a3ad58fb069
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282304+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282304+00:00
old_values_json:
  {"account_source": null, "amount_original": "92.800", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Sportcenter Bustelbach", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Sportcenter Bustelbach", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "c6b6e3adc6471a3ad58fb069cddccc95", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1125", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_c6b6e3adc6471a3ad58fb069", "transaction_date": "2025-12-01", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 355f73aa-1b30-45d6-b290-8874e27ef387
timestamp: 2026-05-17T15:15:00.282347+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_a7ab319703ad5822c7d79e87
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282347+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282347+00:00
old_values_json:
  {"account_source": null, "amount_original": "81.400", "classification": "galaxus_review", "confidence": "0.70", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Digitec Galaxus AG", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Digitec Galaxus AG", "notes": "galaxus_requires_user_category_or_split", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "a7ab319703ad5822c7d79e87d13fedda", "receipt_key": null, "requires_review": 1, "review_reason": "galaxus_requires_user_category_or_split", "rule_id": "galaxus_review", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1127", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_a7ab319703ad5822c7d79e87", "transaction_date": "2025-12-03", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 7e981836-7feb-4489-bf7f-ee8efb9c7dee
timestamp: 2026-05-17T15:15:00.282381+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_7a9e00508373914b15bbf543
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282381+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282381+00:00
old_values_json:
  {"account_source": null, "amount_original": "36.500", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "UPS United Parcel Service of America", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "UPS United Parcel Service of America", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "7a9e00508373914b15bbf543721e054c", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1128", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_7a9e00508373914b15bbf543", "transaction_date": "2025-12-05", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 581ab405-c9b3-40cb-aebd-3ade7effc68b
timestamp: 2026-05-17T15:15:00.282422+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_532cd3e81ec7be59f0bf6d55
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282422+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282422+00:00
old_values_json:
  {"account_source": null, "amount_original": "63.050", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "AVIA", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "AVIA", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "532cd3e81ec7be59f0bf6d55828082f8", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1129", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_532cd3e81ec7be59f0bf6d55", "transaction_date": "2025-12-06", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 03b4df30-4024-48df-b51c-b32e69fd9499
timestamp: 2026-05-17T15:15:00.282460+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_f584e38730fe602e66a88f23
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282460+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282460+00:00
old_values_json:
  {"account_source": null, "amount_original": "44.400", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "McDonald's", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "McDonald's", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "f584e38730fe602e66a88f237e95ae83", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1130", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_f584e38730fe602e66a88f23", "transaction_date": "2025-12-06", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: eb09774e-c89e-4fc3-9755-96dc1186398d
timestamp: 2026-05-17T15:15:00.282500+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_d0c3419c28e220ccb3c7237a
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282500+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282500+00:00
old_values_json:
  {"account_source": null, "amount_original": "6.000", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "ParkDepot GmbH", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "ParkDepot GmbH", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "d0c3419c28e220ccb3c7237a10bd222e", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1131", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_d0c3419c28e220ccb3c7237a", "transaction_date": "2025-12-08", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 4f81cf8c-bcea-46c2-bd28-abc568afcc60
timestamp: 2026-05-17T15:15:00.282540+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_83bcbab8de87999972fb7fc5
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282540+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282540+00:00
old_values_json:
  {"account_source": null, "amount_original": "17.700", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Storchen Apotheke", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Storchen Apotheke", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "83bcbab8de87999972fb7fc588e7d300", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1132", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_83bcbab8de87999972fb7fc5", "transaction_date": "2025-12-09", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: f71398da-3684-4dda-90ec-69f6dbe6f10d
timestamp: 2026-05-17T15:15:00.282570+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_a36eb8b19a1dfa3b1b0c4a2e
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282570+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282570+00:00
old_values_json:
  {"account_source": null, "amount_original": "4.000", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Storchen Apotheke", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Storchen Apotheke", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "a36eb8b19a1dfa3b1b0c4a2ec0fc66e2", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1133", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_a36eb8b19a1dfa3b1b0c4a2e", "transaction_date": "2025-12-09", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: c0974c0a-d430-4a03-8c9a-d1dbdc37fdc0
timestamp: 2026-05-17T15:15:00.282611+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_d2e2ed2a86077421acffba08
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282611+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282611+00:00
old_values_json:
  {"account_source": null, "amount_original": "74.000", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Restaurant Big Sterne", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Restaurant Big Sterne", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "d2e2ed2a86077421acffba08caf8cd84", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1134", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_d2e2ed2a86077421acffba08", "transaction_date": "2025-12-10", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 8726d9a6-a07a-4632-9e06-54f8eb062d45
timestamp: 2026-05-17T15:15:00.282644+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_2903f2ce25b8465a7f0a3678
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282644+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282644+00:00
old_values_json:
  {"account_source": null, "amount_original": "339.650", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "OLYMP Digital KG", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "OLYMP Digital KG", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "2903f2ce25b8465a7f0a3678b715eadf", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1135", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_2903f2ce25b8465a7f0a3678", "transaction_date": "2025-12-09", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: fefd66ae-6949-4e52-bfe5-a101794e9c3c
timestamp: 2026-05-17T15:15:00.282674+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_1c328a2a33c7ed94d5f64793
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282674+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282674+00:00
old_values_json:
  {"account_source": null, "amount_original": "308.700", "classification": "covered_by_migros", "confidence": "0.95", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": "migros_csv", "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Migros", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Migros", "notes": "credit_card_migros_covered_by_migros", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "1c328a2a33c7ed94d5f647933ae3ac23", "receipt_key": null, "requires_review": 0, "review_reason": "credit_card_migros_covered_by_migros", "rule_id": "covered_by_migros", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1136", "source_type": "credit_card_csv", "status": "covered_by_migros", "transaction_candidate_id": "btxcand_1c328a2a33c7ed94d5f64793", "transaction_date": "2025-12-11", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: f5d83e3f-2026-47b1-99aa-c46545489437
timestamp: 2026-05-17T15:15:00.282717+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_5276961d7f5ac5e613236c55
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282717+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282717+00:00
old_values_json:
  {"account_source": null, "amount_original": "92.150", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "C&A", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "C&A", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "5276961d7f5ac5e613236c55ab662645", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1137", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_5276961d7f5ac5e613236c55", "transaction_date": "2025-12-14", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 734329c8-6f24-4d5c-9d72-3b61df88c2f1
timestamp: 2026-05-17T15:15:00.282751+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_e2d258ba67299e39ecb19f25
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282751+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282751+00:00
old_values_json:
  {"account_source": null, "amount_original": "112.300", "classification": "covered_by_migros", "confidence": "0.95", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": "migros_csv", "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Migros", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Migros", "notes": "credit_card_migros_covered_by_migros", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "e2d258ba67299e39ecb19f2560fc7886", "receipt_key": null, "requires_review": 0, "review_reason": "credit_card_migros_covered_by_migros", "rule_id": "covered_by_migros", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1138", "source_type": "credit_card_csv", "status": "covered_by_migros", "transaction_candidate_id": "btxcand_e2d258ba67299e39ecb19f25", "transaction_date": "2025-12-14", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 614d1acc-05b0-4149-9a0a-e98a942940ad
timestamp: 2026-05-17T15:15:00.282784+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_10208aedc1ff48006eb88119
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282784+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282784+00:00
old_values_json:
  {"account_source": null, "amount_original": "0.800", "classification": "covered_by_migros", "confidence": "0.95", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": "migros_csv", "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Migros", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Migros", "notes": "credit_card_migros_covered_by_migros", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "10208aedc1ff48006eb88119b24dd86f", "receipt_key": null, "requires_review": 0, "review_reason": "credit_card_migros_covered_by_migros", "rule_id": "covered_by_migros", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1139", "source_type": "credit_card_csv", "status": "covered_by_migros", "transaction_candidate_id": "btxcand_10208aedc1ff48006eb88119", "transaction_date": "2025-12-14", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 8c52e326-3890-4840-87e2-e9e414b1aba3
timestamp: 2026-05-17T15:15:00.282814+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_4640c7ece5fe97ba63d2dceb
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282814+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282814+00:00
old_values_json:
  {"account_source": null, "amount_original": "8.100", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "ALDI SUISSE", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "ALDI SUISSE", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "4640c7ece5fe97ba63d2dcebc59118b6", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1140", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_4640c7ece5fe97ba63d2dceb", "transaction_date": "2025-12-16", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 5e754376-c75a-4196-8d87-571738ca552f
timestamp: 2026-05-17T15:15:00.282846+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_8b4470623fe63c04c3bc6464
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282846+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282846+00:00
old_values_json:
  {"account_source": null, "amount_original": "16.750", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "M\u00fcller Drogeriemarkt", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "M\u00fcller Drogeriemarkt", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "8b4470623fe63c04c3bc64640a83eac4", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1141", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_8b4470623fe63c04c3bc6464", "transaction_date": "2025-12-16", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 5f881b23-1425-4f26-b922-a8a47cd32311
timestamp: 2026-05-17T15:15:00.282876+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_19d11ed485b064df1542105b
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282876+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282876+00:00
old_values_json:
  {"account_source": null, "amount_original": "2.000", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Kantonsspital Baden (KSB)", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Kantonsspital Baden (KSB)", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "19d11ed485b064df1542105b592dccf5", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1142", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_19d11ed485b064df1542105b", "transaction_date": "2025-12-17", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 1400c234-0763-4b5b-815b-3777ef4e1436
timestamp: 2026-05-17T15:15:00.282905+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_9dc3210c9117936b600ca266
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282905+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282905+00:00
old_values_json:
  {"account_source": null, "amount_original": "11.700", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Coop", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Coop", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "9dc3210c9117936b600ca266edc28602", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1143", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_9dc3210c9117936b600ca266", "transaction_date": "2025-12-17", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 44502680-6393-4352-8f03-4ac38f71a770
timestamp: 2026-05-17T15:15:00.282939+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_bde96aeee0714a5ff346f400
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282939+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282939+00:00
old_values_json:
  {"account_source": null, "amount_original": "18.900", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Coop", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Coop", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "bde96aeee0714a5ff346f400885e7952", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1144", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_bde96aeee0714a5ff346f400", "transaction_date": "2025-12-17", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 8f9f0c38-1bae-43fa-bb08-65954f0e5b9a
timestamp: 2026-05-17T15:15:00.282970+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_03ed1af546edad7054aac5db
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.282970+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.282970+00:00
old_values_json:
  {"account_source": null, "amount_original": "27.500", "classification": "covered_by_migros", "confidence": "0.95", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": "migros_csv", "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Migros", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Migros", "notes": "credit_card_migros_covered_by_migros", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "03ed1af546edad7054aac5db5e48ea3b", "receipt_key": null, "requires_review": 0, "review_reason": "credit_card_migros_covered_by_migros", "rule_id": "covered_by_migros", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1145", "source_type": "credit_card_csv", "status": "covered_by_migros", "transaction_candidate_id": "btxcand_03ed1af546edad7054aac5db", "transaction_date": "2025-12-18", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 47aa2708-5556-4528-bb97-4c31988754a2
timestamp: 2026-05-17T15:15:00.283000+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_b847ad3461fb2a8cd25ff11e
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283000+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283000+00:00
old_values_json:
  {"account_source": null, "amount_original": "1.000", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Prime Video CH", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Prime Video CH", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "b847ad3461fb2a8cd25ff11e70da77c2", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1146", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_b847ad3461fb2a8cd25ff11e", "transaction_date": "2025-12-20", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 831ed1be-5e74-42ce-8a80-4ef92b45018e
timestamp: 2026-05-17T15:15:00.283034+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_4e64601b5a0c85ac651c8be2
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283034+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283034+00:00
old_values_json:
  {"account_source": null, "amount_original": "233.450", "classification": "covered_by_migros", "confidence": "0.95", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": "migros_csv", "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Migros", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Migros", "notes": "credit_card_migros_covered_by_migros", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "4e64601b5a0c85ac651c8be256ccb1d9", "receipt_key": null, "requires_review": 0, "review_reason": "credit_card_migros_covered_by_migros", "rule_id": "covered_by_migros", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1147", "source_type": "credit_card_csv", "status": "covered_by_migros", "transaction_candidate_id": "btxcand_4e64601b5a0c85ac651c8be2", "transaction_date": "2025-12-20", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 33750764-c5b2-4b87-ae6c-703fd074982a
timestamp: 2026-05-17T15:15:00.283063+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_e8ab2856e14adca3ec858310
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283063+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283063+00:00
old_values_json:
  {"account_source": null, "amount_original": "12.000", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Paramount+", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Paramount+", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "e8ab2856e14adca3ec85831098bdef83", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1148", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_e8ab2856e14adca3ec858310", "transaction_date": "2025-12-21", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 923e6963-ce69-4597-ba3f-f58a6fe367f9
timestamp: 2026-05-17T15:15:00.283091+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_f5f158f1bba244498f1164ca
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283091+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283091+00:00
old_values_json:
  {"account_source": null, "amount_original": "18.200", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "McDonald's", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "McDonald's", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "f5f158f1bba244498f1164ca071d779f", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1149", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_f5f158f1bba244498f1164ca", "transaction_date": "2025-12-21", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 39b0f4ac-fd81-4c17-b1b2-e86cab7f99d7
timestamp: 2026-05-17T15:15:00.283134+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_4341355f1fd081fb34ef3115
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283134+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283134+00:00
old_values_json:
  {"account_source": null, "amount_original": "144.700", "classification": "covered_by_migros", "confidence": "0.95", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": "migros_csv", "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Migros", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Migros", "notes": "credit_card_migros_covered_by_migros", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "4341355f1fd081fb34ef3115e862e8f6", "receipt_key": null, "requires_review": 0, "review_reason": "credit_card_migros_covered_by_migros", "rule_id": "covered_by_migros", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1150", "source_type": "credit_card_csv", "status": "covered_by_migros", "transaction_candidate_id": "btxcand_4341355f1fd081fb34ef3115", "transaction_date": "2025-12-22", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 5ecda793-2184-4891-b94d-db25ae126103
timestamp: 2026-05-17T15:15:00.283176+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_e697f28bfb5aa418550a4079
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283176+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283176+00:00
old_values_json:
  {"account_source": null, "amount_original": "2.000", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Parking Gais-Center", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Parking Gais-Center", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "e697f28bfb5aa418550a4079d15bf599", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1151", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_e697f28bfb5aa418550a4079", "transaction_date": "2025-12-23", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 1443ac3d-3072-42cb-b75f-42cb0a27d2e2
timestamp: 2026-05-17T15:15:00.283207+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_d7678f698a39e507f942b9e5
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283207+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283207+00:00
old_values_json:
  {"account_source": null, "amount_original": "10.950", "classification": "covered_by_migros", "confidence": "0.95", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": "migros_csv", "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Migros", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Migros", "notes": "credit_card_migros_covered_by_migros", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "d7678f698a39e507f942b9e52990e271", "receipt_key": null, "requires_review": 0, "review_reason": "credit_card_migros_covered_by_migros", "rule_id": "covered_by_migros", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1152", "source_type": "credit_card_csv", "status": "covered_by_migros", "transaction_candidate_id": "btxcand_d7678f698a39e507f942b9e5", "transaction_date": "2025-12-24", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: e6e42498-fac5-4a33-a159-b1dfe19b31f7
timestamp: 2026-05-17T15:15:00.283240+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_c40820840ddaf1e6c792ea5f
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283240+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283240+00:00
old_values_json:
  {"account_source": null, "amount_original": "22.500", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apotheke Suessbach AG", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apotheke Suessbach AG", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "c40820840ddaf1e6c792ea5faa2ec2ef", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1153", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_c40820840ddaf1e6c792ea5f", "transaction_date": "2025-12-24", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 546f237d-75b1-46fb-ad78-0709e4f48bfc
timestamp: 2026-05-17T15:15:00.283270+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_90404af04da61b27931b8f57
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283270+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283270+00:00
old_values_json:
  {"account_source": null, "amount_original": "17.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_leisure_subs", "proposed_category_name": "Freizeit/Abos", "raw_fingerprint": "90404af04da61b27931b8f573532ffa8", "receipt_key": null, "requires_review": 1, "review_reason": "subscription_merchant_rule", "rule_id": "subscription_auto", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1154", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_90404af04da61b27931b8f57", "transaction_date": "2025-12-26", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 4ec2685c-5c35-44df-8dd7-be845eece22a
timestamp: 2026-05-17T15:15:00.283310+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_92e90be186008af67e016ebf
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283310+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283310+00:00
old_values_json:
  {"account_source": null, "amount_original": "4.500", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_leisure_subs", "proposed_category_name": "Freizeit/Abos", "raw_fingerprint": "92e90be186008af67e016ebfc66f26d1", "receipt_key": null, "requires_review": 1, "review_reason": "subscription_merchant_rule", "rule_id": "subscription_auto", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1155", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_92e90be186008af67e016ebf", "transaction_date": "2025-12-26", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 3666fc08-c53c-4c86-9a6d-bc744a800fad
timestamp: 2026-05-17T15:15:00.283344+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_4e8f9b5652f1557084e1e8aa
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283344+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283344+00:00
old_values_json:
  {"account_source": null, "amount_original": "18.600", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "McDonald's", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "McDonald's", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "4e8f9b5652f1557084e1e8aa2da90abf", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1156", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_4e8f9b5652f1557084e1e8aa", "transaction_date": "2025-12-26", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 5e0d6319-a388-4fa2-b2b3-1fcff74d391f
timestamp: 2026-05-17T15:15:00.283378+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_b92bfe6ac9e212a293aa12ba
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283378+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283378+00:00
old_values_json:
  {"account_source": null, "amount_original": "31.900", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apotheke Suessbach AG", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apotheke Suessbach AG", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "b92bfe6ac9e212a293aa12baaad286e4", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1157", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_b92bfe6ac9e212a293aa12ba", "transaction_date": "2025-12-28", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 05de541c-96de-4fd0-8201-d8ae1465019c
timestamp: 2026-05-17T15:15:00.283409+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_66621efcb51d9198b6a209d3
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283409+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283409+00:00
old_values_json:
  {"account_source": null, "amount_original": "1.500", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Stiftung Gesundheit Re", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Stiftung Gesundheit Re", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "66621efcb51d9198b6a209d342c398cc", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1158", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_66621efcb51d9198b6a209d3", "transaction_date": "2025-12-28", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: efbfde2d-dd1e-48e6-a2de-50a304609724
timestamp: 2026-05-17T15:15:00.283439+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_4eab88d5adc80866432e1523
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283439+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283439+00:00
old_values_json:
  {"account_source": null, "amount_original": "4.750", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Avec", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Avec", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "4eab88d5adc80866432e1523b5ae9e3c", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1159", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_4eab88d5adc80866432e1523", "transaction_date": "2025-12-29", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: ebe24aac-2318-428e-9121-7f88bd1f7e20
timestamp: 2026-05-17T15:15:00.283470+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_4257b103b95dc6c6ab7db41e
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283470+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283470+00:00
old_values_json:
  {"account_source": null, "amount_original": "15.000", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Flughafen Z\u00fcrich", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Flughafen Z\u00fcrich", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "4257b103b95dc6c6ab7db41edc24d374", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1160", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_4257b103b95dc6c6ab7db41e", "transaction_date": "2025-12-29", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 66a570a8-c991-44d7-909c-8212e8a4ef30
timestamp: 2026-05-17T15:15:00.283509+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_28914a706d7c82f7a5892d6b
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283509+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283509+00:00
old_values_json:
  {"account_source": null, "amount_original": "19.900", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "McDonald's", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "McDonald's", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "28914a706d7c82f7a5892d6b6b96329b", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1161", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_28914a706d7c82f7a5892d6b", "transaction_date": "2025-12-29", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 78ff5cfb-5d39-453a-bd1f-ef40e96971f1
timestamp: 2026-05-17T15:15:00.283540+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_f666b33f6755d9a00b7c67cf
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283540+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283540+00:00
old_values_json:
  {"account_source": null, "amount_original": "14.400", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "McDonald's", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "McDonald's", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "f666b33f6755d9a00b7c67cf5ec79db4", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1162", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_f666b33f6755d9a00b7c67cf", "transaction_date": "2025-12-29", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 3f32cc21-e73e-44cf-998c-d2d5f2b86339
timestamp: 2026-05-17T15:15:00.283571+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_fb750d37aec1c2e16dd7c57e
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283571+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283571+00:00
old_values_json:
  {"account_source": null, "amount_original": "27.900", "classification": "covered_by_migros", "confidence": "0.95", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": "migros_csv", "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Migros", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Migros", "notes": "credit_card_migros_covered_by_migros", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "fb750d37aec1c2e16dd7c57ef23a6bfd", "receipt_key": null, "requires_review": 0, "review_reason": "credit_card_migros_covered_by_migros", "rule_id": "covered_by_migros", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1163", "source_type": "credit_card_csv", "status": "covered_by_migros", "transaction_candidate_id": "btxcand_fb750d37aec1c2e16dd7c57e", "transaction_date": "2025-12-30", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 2afa6bc5-24f3-466f-b529-e80261e16086
timestamp: 2026-05-17T15:15:00.283600+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_21ab5d98e7b562c1a2828606
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283600+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283600+00:00
old_values_json:
  {"account_source": null, "amount_original": "6.000", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Flughafen Z\u00fcrich", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Flughafen Z\u00fcrich", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "21ab5d98e7b562c1a282860624fd4df4", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1164", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_21ab5d98e7b562c1a2828606", "transaction_date": "2025-12-31", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 1202db73-eb3f-4e0b-90e2-d4ee3e482914
timestamp: 2026-05-17T15:15:00.283629+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_f4bc89c3af753dd0ab57fcbc
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283629+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283629+00:00
old_values_json:
  {"account_source": null, "amount_original": "16.050", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "ALDI SUISSE", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "ALDI SUISSE", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "f4bc89c3af753dd0ab57fcbc9259bf09", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1165", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_f4bc89c3af753dd0ab57fcbc", "transaction_date": "2025-12-31", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 23acbeac-6923-4d23-9453-8d17bfe28698
timestamp: 2026-05-17T15:15:00.283657+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_b7e81a16f02983db2354807a
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283657+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283657+00:00
old_values_json:
  {"account_source": null, "amount_original": "59.800", "classification": "galaxus_review", "confidence": "0.70", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Digitec Galaxus AG", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Digitec Galaxus AG", "notes": "galaxus_requires_user_category_or_split", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "b7e81a16f02983db2354807a7e673613", "receipt_key": null, "requires_review": 1, "review_reason": "galaxus_requires_user_category_or_split", "rule_id": "galaxus_review", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1166", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_b7e81a16f02983db2354807a", "transaction_date": "2025-12-31", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 0070dc4f-2846-4999-becf-5743b4b5e0ef
timestamp: 2026-05-17T15:15:00.283692+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_dc4356625e2f45043ee8b036
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283692+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283692+00:00
old_values_json:
  {"account_source": null, "amount_original": "19.900", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "McDonald's", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "McDonald's", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "dc4356625e2f45043ee8b03604a2474c", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1167", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_dc4356625e2f45043ee8b036", "transaction_date": "2025-12-31", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 86d0babc-8b95-4157-a819-eb748f2bef29
timestamp: 2026-05-17T15:15:00.283723+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_36b9fd09c08c96e9f7e10b55
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283723+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283723+00:00
old_values_json:
  {"account_source": null, "amount_original": "8.600", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "McDonald's", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "McDonald's", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "36b9fd09c08c96e9f7e10b550262e74d", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1168", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_36b9fd09c08c96e9f7e10b55", "transaction_date": "2025-12-31", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 1873790e-eb48-4eba-84e0-82bdcd9d8673
timestamp: 2026-05-17T15:15:00.283778+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_b481dfbee948bb799ec01f90
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283778+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283778+00:00
old_values_json:
  {"account_source": null, "amount_original": "9.100", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Lidl", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Lidl", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "b481dfbee948bb799ec01f901fc49ffb", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1227", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_b481dfbee948bb799ec01f90", "transaction_date": "2025-10-02", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 7003659d-ee20-4084-a9bf-9f73276bf431
timestamp: 2026-05-17T15:15:00.283808+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_cb71d7220572a8d43c766ceb
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283808+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283808+00:00
old_values_json:
  {"account_source": null, "amount_original": "3.450", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Super Cala Millor Park", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Super Cala Millor Park", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "cb71d7220572a8d43c766ceb86d1d07b", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1232", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_cb71d7220572a8d43c766ceb", "transaction_date": "2025-10-07", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: edc98563-e59c-4e68-81ae-8caec07d89ff
timestamp: 2026-05-17T15:15:00.283840+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_eb6dabec6110587f6e848200
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283840+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283840+00:00
old_values_json:
  {"account_source": null, "amount_original": "75.050", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apartamentos Mercedes", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apartamentos Mercedes", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "eb6dabec6110587f6e848200d482fff1", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1234", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_eb6dabec6110587f6e848200", "transaction_date": "2025-10-07", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 5c772438-1e8e-4df2-9195-6714250e008a
timestamp: 2026-05-17T15:15:00.283875+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_d242e18e3c5e5bc6471d2dc6
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283875+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283875+00:00
old_values_json:
  {"account_source": null, "amount_original": "2.850", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Palma de Mallorca Airport", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Palma de Mallorca Airport", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "d242e18e3c5e5bc6471d2dc622e618a4", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1242", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_d242e18e3c5e5bc6471d2dc6", "transaction_date": "2025-10-08", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 54c1c36b-2c87-49c4-a5c6-fcaeb9d34888
timestamp: 2026-05-17T15:15:00.283905+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_ef86d7f2745902185240bdc6
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283905+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283905+00:00
old_values_json:
  {"account_source": null, "amount_original": "5.000", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Parkhaus 0", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Parkhaus 0", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "ef86d7f2745902185240bdc6c65f1f4d", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1243", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_ef86d7f2745902185240bdc6", "transaction_date": "2025-10-08", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 01296162-6ade-49c6-9f18-d59a40c1b0c0
timestamp: 2026-05-17T15:15:00.283951+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_2dc22d587050936e98cb5e96
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283951+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283951+00:00
old_values_json:
  {"account_source": null, "amount_original": "0.500", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "1 SMS (Dezember 2024)", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "1 SMS (Dezember 2024)", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "2dc22d587050936e98cb5e96eb6d095a", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1320", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_2dc22d587050936e98cb5e96", "transaction_date": "2025-01-03", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 682827d1-9ee7-4a04-a140-e5198c85fae3
timestamp: 2026-05-17T15:15:00.283988+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_05689727d84fd6b2122e412f
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.283988+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.283988+00:00
old_values_json:
  {"account_source": null, "amount_original": "0.500", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "1 SMS (Januar 2025)", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "1 SMS (Januar 2025)", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "05689727d84fd6b2122e412fa2a7e3be", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1321", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_05689727d84fd6b2122e412f", "transaction_date": "2025-02-01", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 39b5cd52-e587-42ed-b68c-2437dd655f53
timestamp: 2026-05-17T15:15:00.284025+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_76d3b308423f8db54cebf202
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284025+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284025+00:00
old_values_json:
  {"account_source": null, "amount_original": "0.500", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "1 SMS (Februar 2025)", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "1 SMS (Februar 2025)", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "76d3b308423f8db54cebf202d93a06d0", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1322", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_76d3b308423f8db54cebf202", "transaction_date": "2025-03-01", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 0e7de029-88dc-4d5b-ba86-b0abe5a8854c
timestamp: 2026-05-17T15:15:00.284063+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_6ef9e79cb8386e2747ab4346
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284063+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284063+00:00
old_values_json:
  {"account_source": null, "amount_original": "2.500", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "5 SMS (M\u00e4rz 2025)", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "5 SMS (M\u00e4rz 2025)", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "6ef9e79cb8386e2747ab434677e74c91", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1323", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_6ef9e79cb8386e2747ab4346", "transaction_date": "2025-04-01", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 80083489-285c-4be3-8bbd-68b0c106114a
timestamp: 2026-05-17T15:15:00.284095+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_a3ca88dadc9a2869d5c1aff3
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284095+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284095+00:00
old_values_json:
  {"account_source": null, "amount_original": "1.000", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "2 SMS (April 2025)", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "2 SMS (April 2025)", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "a3ca88dadc9a2869d5c1aff360ea7a02", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1324", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_a3ca88dadc9a2869d5c1aff3", "transaction_date": "2025-05-01", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 5de7ec8b-7992-4a0b-9a43-01c07dca66ca
timestamp: 2026-05-17T15:15:00.284150+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_60bc11972739c234f1f915a6
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284150+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284150+00:00
old_values_json:
  {"account_source": null, "amount_original": "1.000", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "2 SMS (Mai 2025)", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "2 SMS (Mai 2025)", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "60bc11972739c234f1f915a6a6265335", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1325", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_60bc11972739c234f1f915a6", "transaction_date": "2025-06-03", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 6d076330-407d-44ae-b45d-3491e2b9dba6
timestamp: 2026-05-17T15:15:00.284184+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_0aa7822c7243c39676e3e085
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284184+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284184+00:00
old_values_json:
  {"account_source": null, "amount_original": "1.000", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "2 SMS (Juni 2025)", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "2 SMS (Juni 2025)", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "0aa7822c7243c39676e3e085c94e1876", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1326", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_0aa7822c7243c39676e3e085", "transaction_date": "2025-07-01", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 697cb78d-1cc4-4701-877c-f15c150f3f09
timestamp: 2026-05-17T15:15:00.284219+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_cdb6f5124cf321699bc9967d
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284219+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284219+00:00
old_values_json:
  {"account_source": null, "amount_original": "1.500", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "3 SMS (Juli 2025)", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "3 SMS (Juli 2025)", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "cdb6f5124cf321699bc9967d5054d424", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1327", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_cdb6f5124cf321699bc9967d", "transaction_date": "2025-08-01", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: deb9fda7-a290-4870-b47d-176a916c6046
timestamp: 2026-05-17T15:15:00.284248+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_00df44b746cf0f53f5d683d1
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284248+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284248+00:00
old_values_json:
  {"account_source": null, "amount_original": "0.500", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "1 SMS (August 2025)", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "1 SMS (August 2025)", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "00df44b746cf0f53f5d683d11ff1e5a2", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1328", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_00df44b746cf0f53f5d683d1", "transaction_date": "2025-09-02", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 17e14749-be9b-41f1-bd2a-57b2c2f71ae8
timestamp: 2026-05-17T15:15:00.284307+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_29fca59d0c00a6767139c3be
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284307+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284307+00:00
old_values_json:
  {"account_source": null, "amount_original": "0.500", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "1 SMS (September 2025)", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "1 SMS (September 2025)", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "29fca59d0c00a6767139c3be050d6a95", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1329", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_29fca59d0c00a6767139c3be", "transaction_date": "2025-10-01", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 3ee58399-128f-4993-9d88-259a7b533fca
timestamp: 2026-05-17T15:15:00.284340+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_9d48cc0e9a3bfee3f5a8b65f
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284340+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284340+00:00
old_values_json:
  {"account_source": null, "amount_original": "4.500", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "9 SMS (Oktober 2025)", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "9 SMS (Oktober 2025)", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "9d48cc0e9a3bfee3f5a8b65f8d80c3c3", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1330", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_9d48cc0e9a3bfee3f5a8b65f", "transaction_date": "2025-11-01", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: bcaba646-4d56-4f52-b80f-33ba0e1234bf
timestamp: 2026-05-17T15:15:00.284369+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_c48c2d6f53cc9fd96681e911
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284369+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284369+00:00
old_values_json:
  {"account_source": null, "amount_original": "1.500", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "3 SMS (November 2025)", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "3 SMS (November 2025)", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "c48c2d6f53cc9fd96681e9116f3d2580", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1331", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_c48c2d6f53cc9fd96681e911", "transaction_date": "2025-12-02", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 709c9e91-339d-4363-aa31-5fdc0ec88bf0
timestamp: 2026-05-17T15:15:00.284404+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_0b581e950b7ba59ce89b62f2
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284404+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284404+00:00
old_values_json:
  {"account_source": null, "amount_original": "4230.850", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Ihre Zahlung - Danke", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Ihre Zahlung - Danke", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "0b581e950b7ba59ce89b62f26082d278", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1342", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_0b581e950b7ba59ce89b62f2", "transaction_date": "2025-12-22", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: de9ac076-a82b-4966-aab7-da8853a4cf70
timestamp: 2026-05-17T15:15:00.284434+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_fc4a32242e786ecb22ec81da
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284434+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284434+00:00
old_values_json:
  {"account_source": null, "amount_original": "3056.300", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Ihre Zahlung - Danke", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Ihre Zahlung - Danke", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "fc4a32242e786ecb22ec81da25dd6caf", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1343", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_fc4a32242e786ecb22ec81da", "transaction_date": "2025-11-26", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 90c98fb6-953d-4bde-aaf0-b5dc21f36038
timestamp: 2026-05-17T15:15:00.284464+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_55a718f397f75ae3fba7370b
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284464+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284464+00:00
old_values_json:
  {"account_source": null, "amount_original": "2003.900", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Ihre Zahlung - Danke", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Ihre Zahlung - Danke", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "55a718f397f75ae3fba7370b0ea78a6d", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1344", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_55a718f397f75ae3fba7370b", "transaction_date": "2025-10-16", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: cbc660bc-4453-498e-a527-dc8bbc3a0576
timestamp: 2026-05-17T15:15:00.284502+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_1282bdea8b6e547a96ac466e
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284502+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284502+00:00
old_values_json:
  {"account_source": null, "amount_original": "4465.300", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Ihre Zahlung - Danke", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Ihre Zahlung - Danke", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "1282bdea8b6e547a96ac466eb1597cf4", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1345", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_1282bdea8b6e547a96ac466e", "transaction_date": "2025-09-16", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: c7845350-5ddf-447e-8793-7a28d1aec824
timestamp: 2026-05-17T15:15:00.284532+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_7bf5d8137468912f2219287f
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284532+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284532+00:00
old_values_json:
  {"account_source": null, "amount_original": "3891.200", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Ihre Zahlung - Danke", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Ihre Zahlung - Danke", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "7bf5d8137468912f2219287f3f380293", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1346", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_7bf5d8137468912f2219287f", "transaction_date": "2025-08-19", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 7051ccdb-19bd-4a26-90e3-1f7ba9fced6c
timestamp: 2026-05-17T15:15:00.284562+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_c57f1b793b60e095986941e7
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284562+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284562+00:00
old_values_json:
  {"account_source": null, "amount_original": "3399.250", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Ihre Zahlung - Danke", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Ihre Zahlung - Danke", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "c57f1b793b60e095986941e7bc6ee59b", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1347", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_c57f1b793b60e095986941e7", "transaction_date": "2025-06-25", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 4212b987-7c70-4f42-8dd2-69f98f83a723
timestamp: 2026-05-17T15:15:00.284594+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_20d1e194cba4236e672470a4
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284594+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284594+00:00
old_values_json:
  {"account_source": null, "amount_original": "3849.800", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Ihre Zahlung - Danke", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Ihre Zahlung - Danke", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "20d1e194cba4236e672470a408e63e57", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1348", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_20d1e194cba4236e672470a4", "transaction_date": "2025-05-20", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 4dceb2eb-e3eb-4ecb-9ace-d120ff16fad1
timestamp: 2026-05-17T15:15:00.284622+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_739f5d0fe85223c539cb8f08
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284622+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284622+00:00
old_values_json:
  {"account_source": null, "amount_original": "2977.300", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Ihre Zahlung - Danke", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Ihre Zahlung - Danke", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "739f5d0fe85223c539cb8f089609caf6", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1349", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_739f5d0fe85223c539cb8f08", "transaction_date": "2025-04-22", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: e4c70c05-018b-450d-b77b-0cf839b68445
timestamp: 2026-05-17T15:15:00.284650+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_d1b3984bf4d17c4f74824ad4
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284650+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284650+00:00
old_values_json:
  {"account_source": null, "amount_original": "3220.450", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Ihre Zahlung - Danke", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Ihre Zahlung - Danke", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "d1b3984bf4d17c4f74824ad45f516752", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1350", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_d1b3984bf4d17c4f74824ad4", "transaction_date": "2025-03-20", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 47925e19-d971-49a6-b9c7-7412fe069843
timestamp: 2026-05-17T15:15:00.284686+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_cd0ce91878db8712dadf2e34
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284686+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284686+00:00
old_values_json:
  {"account_source": null, "amount_original": "3539.450", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Ihre Zahlung - Danke", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Ihre Zahlung - Danke", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "cd0ce91878db8712dadf2e34baa18acd", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1373", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_cd0ce91878db8712dadf2e34", "transaction_date": "2025-07-25", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 44512510-d0e3-486f-abde-1ca8bd24c375
timestamp: 2026-05-17T15:15:00.284717+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_46099860109a3f43469903c7
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284717+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284717+00:00
old_values_json:
  {"account_source": null, "amount_original": "2238.450", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Ihre Zahlung - Danke", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Ihre Zahlung - Danke", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "46099860109a3f43469903c756d60a40", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1374", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_46099860109a3f43469903c7", "transaction_date": "2025-02-21", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: 6e16a40f-d0c7-4a94-b1da-cdc1afdb3a0b
timestamp: 2026-05-17T15:15:00.284745+00:00
source: phase110_cleanup
action: archive_reference_year_candidate
entity_type: budget_transaction_candidate
entity_id: btxcand_af491741cae6a2a6cec839ce
new_values_json: {"active_year": "2026", "status": "reference_2025"}
confirmation_timestamp: 2026-05-17T15:15:00.284745+00:00
created_by: system
quality_status: ok
created_at: 2026-05-17T15:15:00.284745+00:00
old_values_json:
  {"account_source": null, "amount_original": "4645.550", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Ihre Zahlung - Danke", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Ihre Zahlung - Danke", "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "af491741cae6a2a6cec839ce434cf2af", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1375", "source_type": "credit_card_csv", "status": "needs_review", "transaction_candidate_id": "btxcand_af491741cae6a2a6cec839ce", "transaction_date": "2025-01-21", "updated_at": "2026-05-17T11:02:35Z"}


audit_id: d332a109-31ab-421b-9fda-641e58f8b752
timestamp: 2026-05-17T16:24:39.694486+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_fb05da1269e846bb
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_ba7aa48b5a731efeb85c92a1
confirmation_timestamp: 2026-05-17T16:24:39.694486+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:24:39.694486+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "27.90", "amount_original": "27.90", "booking_date": null, "budget_transaction_id": "btx_fb05da1269e846bb", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon MMM Brugg Neumarkt", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_ba7aa48b5a731efeb85c92a1", "payee": "MMM Brugg Neumarkt", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_ba7aa48b5a731efeb85c92a1", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-05-13", "transaction_type": "expense"}


audit_id: 8e232401-c59a-4a6c-a063-a9ae73114d48
timestamp: 2026-05-17T16:24:39.709992+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_ba7aa48b5a731efeb85c92a1
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:24:39.709992+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:24:39.709992+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_fb05da1269e846bb", "status": "confirmed"}


audit_id: f9df8889-57b7-4eba-9209-9f285a9f0bae
timestamp: 2026-05-17T16:26:25.747437+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_0af4f2631aad4918
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_b314454a235a86ac07d2d761
confirmation_timestamp: 2026-05-17T16:26:25.747437+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:26:25.747437+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "218.73", "amount_original": "218.73", "booking_date": null, "budget_transaction_id": "btx_0af4f2631aad4918", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_b314454a235a86ac07d2d761", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_b314454a235a86ac07d2d761", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-05-12", "transaction_type": "expense"}


audit_id: 5a608784-67ac-44de-9921-0a9d704d8147
timestamp: 2026-05-17T16:26:25.768507+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_b314454a235a86ac07d2d761
old_values_json: {"status": "needs_review"}
confirmation_timestamp: 2026-05-17T16:26:25.768507+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:26:25.768507+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_0af4f2631aad4918", "status": "confirmed"}


audit_id: 3b556812-dea8-4f45-8b1e-0fd336643b3e
timestamp: 2026-05-17T16:55:34.152502+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_0b77cbbc6860469d
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_e5a454a908301be0ad5720dd
confirmation_timestamp: 2026-05-17T16:55:34.152502+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.152502+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "287.90", "amount_original": "287.90", "booking_date": null, "budget_transaction_id": "btx_0b77cbbc6860469d", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon MM Wettingen Landstrasse", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_e5a454a908301be0ad5720dd", "payee": "MM Wettingen Landstrasse", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_e5a454a908301be0ad5720dd", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-02", "transaction_type": "expense"}


audit_id: 2ab2431e-46c6-412f-bb85-c0e111cfc8ff
timestamp: 2026-05-17T16:55:34.166069+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_e5a454a908301be0ad5720dd
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.166069+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.166069+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_0b77cbbc6860469d", "status": "confirmed"}


audit_id: 82bcd896-1f8a-4fcd-912d-bd9dc01d66fe
timestamp: 2026-05-17T16:55:34.179208+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_0b31e9b094fe4c1a
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_12e0bd96a5dfee83b2789a73
confirmation_timestamp: 2026-05-17T16:55:34.179208+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.179208+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "231.02", "amount_original": "231.02", "booking_date": null, "budget_transaction_id": "btx_0b31e9b094fe4c1a", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_12e0bd96a5dfee83b2789a73", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_12e0bd96a5dfee83b2789a73", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-05", "transaction_type": "expense"}


audit_id: 0884e1d1-cdc6-4ecc-b77c-2336d4781534
timestamp: 2026-05-17T16:55:34.192640+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_12e0bd96a5dfee83b2789a73
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.192640+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.192640+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_0b31e9b094fe4c1a", "status": "confirmed"}


audit_id: 633e59b3-8bef-4a02-84f3-b09dee38c0e8
timestamp: 2026-05-17T16:55:34.205425+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_a23045b49294423f
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_1a69e222866815fca8fc7894
confirmation_timestamp: 2026-05-17T16:55:34.205425+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.205425+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "52.60", "amount_original": "52.60", "booking_date": null, "budget_transaction_id": "btx_a23045b49294423f", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_1a69e222866815fca8fc7894", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_1a69e222866815fca8fc7894", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-08", "transaction_type": "expense"}


audit_id: 4736c2f8-474f-4990-9a4d-d659a5d04902
timestamp: 2026-05-17T16:55:34.217390+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_1a69e222866815fca8fc7894
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.217390+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.217390+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_a23045b49294423f", "status": "confirmed"}


audit_id: 0199b034-bba3-4e41-a06c-e5bf75efab3e
timestamp: 2026-05-17T16:55:34.229570+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_efdc0f39afbc4a26
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_aa93a563b3e52af605b2933e
confirmation_timestamp: 2026-05-17T16:55:34.229570+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.229570+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "484.11", "amount_original": "484.11", "booking_date": null, "budget_transaction_id": "btx_efdc0f39afbc4a26", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon MMM Tivoli", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_aa93a563b3e52af605b2933e", "payee": "MMM Tivoli", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_aa93a563b3e52af605b2933e", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-10", "transaction_type": "expense"}


audit_id: f72fa76a-30f6-41d3-b237-644a5609547e
timestamp: 2026-05-17T16:55:34.241454+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_aa93a563b3e52af605b2933e
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.241454+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.241454+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_efdc0f39afbc4a26", "status": "confirmed"}


audit_id: a91c5547-2b9b-4e68-9782-3b6457eed2bb
timestamp: 2026-05-17T16:55:34.253716+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_f112ff05c9a5474a
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_c8a267ae432fd2757cc37c95
confirmation_timestamp: 2026-05-17T16:55:34.253716+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.253716+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "36.06", "amount_original": "36.06", "booking_date": null, "budget_transaction_id": "btx_f112ff05c9a5474a", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon MR Tivoli", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_c8a267ae432fd2757cc37c95", "payee": "MR Tivoli", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_c8a267ae432fd2757cc37c95", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-10", "transaction_type": "expense"}


audit_id: 8d7d4438-3378-41ee-bdc4-b9ee65cfed9e
timestamp: 2026-05-17T16:55:34.266275+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_c8a267ae432fd2757cc37c95
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.266275+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.266275+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_f112ff05c9a5474a", "status": "confirmed"}


audit_id: 0a8e856a-67c1-4ce7-8cbc-fdc6169eac33
timestamp: 2026-05-17T16:55:34.279256+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_a32da36eb0c74f7d
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_46326a4eb5a9fcc157491863
confirmation_timestamp: 2026-05-17T16:55:34.279256+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.279256+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "24.08", "amount_original": "24.08", "booking_date": null, "budget_transaction_id": "btx_a32da36eb0c74f7d", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_46326a4eb5a9fcc157491863", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_46326a4eb5a9fcc157491863", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-12", "transaction_type": "expense"}


audit_id: ac838d2b-d9bf-49ca-8f53-db532d357d10
timestamp: 2026-05-17T16:55:34.291500+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_46326a4eb5a9fcc157491863
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.291500+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.291500+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_a32da36eb0c74f7d", "status": "confirmed"}


audit_id: 7393a092-bcfc-4517-a493-a58fd65bf524
timestamp: 2026-05-17T16:55:34.304707+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_b0306c86d19d404d
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_349936989ebfbb4637b1c272
confirmation_timestamp: 2026-05-17T16:55:34.304707+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.304707+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "266.55", "amount_original": "266.55", "booking_date": null, "budget_transaction_id": "btx_b0306c86d19d404d", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_349936989ebfbb4637b1c272", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_349936989ebfbb4637b1c272", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-13", "transaction_type": "expense"}


audit_id: 5fa76654-9908-4ab1-9dfe-58567807844e
timestamp: 2026-05-17T16:55:34.316875+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_349936989ebfbb4637b1c272
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.316875+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.316875+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_b0306c86d19d404d", "status": "confirmed"}


audit_id: 95440d06-530b-4d9a-8d1e-94d983d6ea6d
timestamp: 2026-05-17T16:55:34.329415+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_1a46bb3b35f9413c
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_04b1cad98d9f38bc7cb4231f
confirmation_timestamp: 2026-05-17T16:55:34.329415+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.329415+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "171.45", "amount_original": "171.45", "booking_date": null, "budget_transaction_id": "btx_1a46bb3b35f9413c", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_04b1cad98d9f38bc7cb4231f", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_04b1cad98d9f38bc7cb4231f", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-16", "transaction_type": "expense"}


audit_id: 996dd2f9-60b8-4f03-874d-e8a13d5b9f70
timestamp: 2026-05-17T16:55:34.341966+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_04b1cad98d9f38bc7cb4231f
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.341966+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.341966+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_1a46bb3b35f9413c", "status": "confirmed"}


audit_id: a317e8ff-9852-47bf-9bed-05c0952347fc
timestamp: 2026-05-17T16:55:34.354284+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_74cf02455c0a4854
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_f247f8680dc9649b7a1980a8
confirmation_timestamp: 2026-05-17T16:55:34.354284+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.354284+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "17.55", "amount_original": "17.55", "booking_date": null, "budget_transaction_id": "btx_74cf02455c0a4854", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_f247f8680dc9649b7a1980a8", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_f247f8680dc9649b7a1980a8", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-17", "transaction_type": "expense"}


audit_id: 232f09e5-e4f2-4dff-a486-5b1eda8cbcbb
timestamp: 2026-05-17T16:55:34.366491+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_f247f8680dc9649b7a1980a8
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.366491+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.366491+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_74cf02455c0a4854", "status": "confirmed"}


audit_id: 51c78a1a-1a80-4ce1-9a79-4ed2a8a31037
timestamp: 2026-05-17T16:55:34.378689+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_795f78b977894657
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_b712190d33559f9fe8bc5fa9
confirmation_timestamp: 2026-05-17T16:55:34.378689+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.378689+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "54.10", "amount_original": "54.10", "booking_date": null, "budget_transaction_id": "btx_795f78b977894657", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon MM Frick", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_b712190d33559f9fe8bc5fa9", "payee": "MM Frick", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_b712190d33559f9fe8bc5fa9", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-19", "transaction_type": "expense"}


audit_id: 1e953097-5c45-4559-acaa-3bce542e7424
timestamp: 2026-05-17T16:55:34.391018+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_b712190d33559f9fe8bc5fa9
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.391018+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.391018+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_795f78b977894657", "status": "confirmed"}


audit_id: 1eac5a59-065b-4dcb-8cd3-571366258955
timestamp: 2026-05-17T16:55:34.403961+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_b67a85d5858940cb
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_4b6445df42f13b88d22e2a24
confirmation_timestamp: 2026-05-17T16:55:34.403961+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.403961+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "126.35", "amount_original": "126.35", "booking_date": null, "budget_transaction_id": "btx_b67a85d5858940cb", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_4b6445df42f13b88d22e2a24", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_4b6445df42f13b88d22e2a24", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-21", "transaction_type": "expense"}


audit_id: 764e610d-fe5c-49e5-9757-3f032340346f
timestamp: 2026-05-17T16:55:34.417006+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_4b6445df42f13b88d22e2a24
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.417006+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.417006+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_b67a85d5858940cb", "status": "confirmed"}


audit_id: e4c06729-65b0-4e66-86aa-550614addb79
timestamp: 2026-05-17T16:55:34.429954+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_a9e321df58b54100
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_28ac4fb67c6303107db76615
confirmation_timestamp: 2026-05-17T16:55:34.429954+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.429954+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "197.01", "amount_original": "197.01", "booking_date": null, "budget_transaction_id": "btx_a9e321df58b54100", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_28ac4fb67c6303107db76615", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_28ac4fb67c6303107db76615", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-23", "transaction_type": "expense"}


audit_id: 43e4b080-3a1b-4d62-bf46-8d2935baf685
timestamp: 2026-05-17T16:55:34.442894+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_28ac4fb67c6303107db76615
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.442894+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.442894+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_a9e321df58b54100", "status": "confirmed"}


audit_id: ad1aad2a-cb35-422d-a048-7402e98c57d7
timestamp: 2026-05-17T16:55:34.455550+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_c0e604cad08a450b
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_f1889a73b3ee5495ff7c8d62
confirmation_timestamp: 2026-05-17T16:55:34.455550+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.455550+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "122.31", "amount_original": "122.31", "booking_date": null, "budget_transaction_id": "btx_c0e604cad08a450b", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_f1889a73b3ee5495ff7c8d62", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_f1889a73b3ee5495ff7c8d62", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-24", "transaction_type": "expense"}


audit_id: 443f91f1-29f7-496c-9c01-0a99e67d93b5
timestamp: 2026-05-17T16:55:34.468146+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_f1889a73b3ee5495ff7c8d62
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.468146+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.468146+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_c0e604cad08a450b", "status": "confirmed"}


audit_id: 8753e667-1807-40a8-b2fa-626f5d6e572c
timestamp: 2026-05-17T16:55:34.480577+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_16f7834ac4264493
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_8c578ee0d75242617484f4ef
confirmation_timestamp: 2026-05-17T16:55:34.480577+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.480577+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "347.81", "amount_original": "347.81", "booking_date": null, "budget_transaction_id": "btx_16f7834ac4264493", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_8c578ee0d75242617484f4ef", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_8c578ee0d75242617484f4ef", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-27", "transaction_type": "expense"}


audit_id: df80a5c0-5dfa-4070-8b03-f6cc6113a181
timestamp: 2026-05-17T16:55:34.496457+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_8c578ee0d75242617484f4ef
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.496457+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.496457+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_16f7834ac4264493", "status": "confirmed"}


audit_id: 4858b465-5827-4493-89df-6de097706097
timestamp: 2026-05-17T16:55:34.509397+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_8217be406f854e71
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_19dfd9e8692ed82f718a4c89
confirmation_timestamp: 2026-05-17T16:55:34.509397+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.509397+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "261.22", "amount_original": "261.22", "booking_date": null, "budget_transaction_id": "btx_8217be406f854e71", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon MMM Brugg Neumarkt", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_19dfd9e8692ed82f718a4c89", "payee": "MMM Brugg Neumarkt", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_19dfd9e8692ed82f718a4c89", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-31", "transaction_type": "expense"}


audit_id: 559ad809-8e7c-4cf7-9eec-1389d0e8f2cb
timestamp: 2026-05-17T16:55:34.521402+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_19dfd9e8692ed82f718a4c89
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.521402+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.521402+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_8217be406f854e71", "status": "confirmed"}


audit_id: fae2d34a-81f0-4e08-8f88-7d729cacf5a1
timestamp: 2026-05-17T16:55:34.533651+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_df21fdf9ee5243af
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_30f570e996287c33fdbe2e16
confirmation_timestamp: 2026-05-17T16:55:34.533651+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.533651+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "274.46", "amount_original": "274.46", "booking_date": null, "budget_transaction_id": "btx_df21fdf9ee5243af", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_30f570e996287c33fdbe2e16", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_30f570e996287c33fdbe2e16", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-04", "transaction_type": "expense"}


audit_id: a3f73534-2a4e-4366-a31f-6c03ffa1ecec
timestamp: 2026-05-17T16:55:34.546415+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_30f570e996287c33fdbe2e16
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.546415+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.546415+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_df21fdf9ee5243af", "status": "confirmed"}


audit_id: 9172fa8a-8939-4318-ad7b-0b2682ce2ad7
timestamp: 2026-05-17T16:55:34.558528+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_b02eeb784ef34c0c
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_1e86e484a59ec1671e96c546
confirmation_timestamp: 2026-05-17T16:55:34.558528+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.558528+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "39.97", "amount_original": "39.97", "booking_date": null, "budget_transaction_id": "btx_b02eeb784ef34c0c", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_1e86e484a59ec1671e96c546", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_1e86e484a59ec1671e96c546", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-07", "transaction_type": "expense"}


audit_id: 5d56a09c-b257-48c2-92a1-5c7e7a7f7340
timestamp: 2026-05-17T16:55:34.570560+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_1e86e484a59ec1671e96c546
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.570560+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.570560+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_b02eeb784ef34c0c", "status": "confirmed"}


audit_id: fb3df0f0-236f-4098-ac07-8f0f15df4755
timestamp: 2026-05-17T16:55:34.583172+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_55cf0124d19f4334
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_dd7b8e2a1529dd0a9d0ef040
confirmation_timestamp: 2026-05-17T16:55:34.583172+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.583172+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "276.38", "amount_original": "276.38", "booking_date": null, "budget_transaction_id": "btx_55cf0124d19f4334", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_dd7b8e2a1529dd0a9d0ef040", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_dd7b8e2a1529dd0a9d0ef040", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-10", "transaction_type": "expense"}


audit_id: 1a7f31e7-0a9e-4dd6-a9e3-60bca372a2c6
timestamp: 2026-05-17T16:55:34.595477+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_dd7b8e2a1529dd0a9d0ef040
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.595477+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.595477+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_55cf0124d19f4334", "status": "confirmed"}


audit_id: 80129989-2376-46c8-a4dc-6df80f1936a8
timestamp: 2026-05-17T16:55:34.613324+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_0f57977fca2a495d
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_4d7ce014bde10d0ef9bc3f3e
confirmation_timestamp: 2026-05-17T16:55:34.613324+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.613324+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "83.24", "amount_original": "83.24", "booking_date": null, "budget_transaction_id": "btx_0f57977fca2a495d", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_4d7ce014bde10d0ef9bc3f3e", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_4d7ce014bde10d0ef9bc3f3e", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-12", "transaction_type": "expense"}


audit_id: 3f17881b-7517-4dba-8c30-363cc308eadc
timestamp: 2026-05-17T16:55:34.625551+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_4d7ce014bde10d0ef9bc3f3e
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.625551+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.625551+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_0f57977fca2a495d", "status": "confirmed"}


audit_id: d748be47-6552-4e3a-9bb5-0f810ce62247
timestamp: 2026-05-17T16:55:34.638473+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_cb1bf91b7d764cbe
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_2a6437ea4d10cfb30e5f6faf
confirmation_timestamp: 2026-05-17T16:55:34.638473+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.638473+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "133.54", "amount_original": "133.54", "booking_date": null, "budget_transaction_id": "btx_cb1bf91b7d764cbe", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_2a6437ea4d10cfb30e5f6faf", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_2a6437ea4d10cfb30e5f6faf", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-14", "transaction_type": "expense"}


audit_id: 0e88eb73-fd87-4a3a-935f-c267e294a833
timestamp: 2026-05-17T16:55:34.651441+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_2a6437ea4d10cfb30e5f6faf
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.651441+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.651441+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_cb1bf91b7d764cbe", "status": "confirmed"}


audit_id: 434fed77-4fa7-47c1-8468-34ee06675b2f
timestamp: 2026-05-17T16:55:34.668891+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_13c961bf2d554173
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_f795ea6e89c57e55094c532d
confirmation_timestamp: 2026-05-17T16:55:34.668891+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.668891+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "181.45", "amount_original": "181.45", "booking_date": null, "budget_transaction_id": "btx_13c961bf2d554173", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon MM Frick", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_f795ea6e89c57e55094c532d", "payee": "MM Frick", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_f795ea6e89c57e55094c532d", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-18", "transaction_type": "expense"}


audit_id: 31855e6b-48ca-433c-aaad-78ba174caeb0
timestamp: 2026-05-17T16:55:34.681783+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_f795ea6e89c57e55094c532d
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.681783+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.681783+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_13c961bf2d554173", "status": "confirmed"}


audit_id: 939401c9-6d05-468f-aa8a-c8490af63ece
timestamp: 2026-05-17T16:55:34.694453+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_c913dd4903804a85
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_c13437b3033d6e92e96844f8
confirmation_timestamp: 2026-05-17T16:55:34.694453+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.694453+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "285.41", "amount_original": "285.41", "booking_date": null, "budget_transaction_id": "btx_c913dd4903804a85", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_c13437b3033d6e92e96844f8", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_c13437b3033d6e92e96844f8", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-19", "transaction_type": "expense"}


audit_id: 6cc14b8f-a088-407b-a25c-9b30564fb9ee
timestamp: 2026-05-17T16:55:34.706595+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_c13437b3033d6e92e96844f8
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.706595+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.706595+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_c913dd4903804a85", "status": "confirmed"}


audit_id: c8fcfe93-d461-4410-a268-9d4f55d99b35
timestamp: 2026-05-17T16:55:34.718960+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_fc34c8cecf014271
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_62464d8ff105f519e11ddd2a
confirmation_timestamp: 2026-05-17T16:55:34.718960+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.718960+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "111.35", "amount_original": "111.35", "booking_date": null, "budget_transaction_id": "btx_fc34c8cecf014271", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_62464d8ff105f519e11ddd2a", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_62464d8ff105f519e11ddd2a", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-21", "transaction_type": "expense"}


audit_id: b8b62304-9db4-474e-be36-b37bf6b2d659
timestamp: 2026-05-17T16:55:34.731567+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_62464d8ff105f519e11ddd2a
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.731567+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.731567+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_fc34c8cecf014271", "status": "confirmed"}


audit_id: e6224309-1a85-459f-a81c-1d425111856a
timestamp: 2026-05-17T16:55:34.744422+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_bce30088acf74c8c
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_57e2927a438d5b40425b4de3
confirmation_timestamp: 2026-05-17T16:55:34.744422+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.744422+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "187.95", "amount_original": "187.95", "booking_date": null, "budget_transaction_id": "btx_bce30088acf74c8c", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_57e2927a438d5b40425b4de3", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_57e2927a438d5b40425b4de3", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-24", "transaction_type": "expense"}


audit_id: 05d3cbe5-571f-422b-9171-61b4b235b894
timestamp: 2026-05-17T16:55:34.756556+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_57e2927a438d5b40425b4de3
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.756556+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.756556+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_bce30088acf74c8c", "status": "confirmed"}


audit_id: 6619ad8d-2730-4c03-8a5d-3dded2c60a36
timestamp: 2026-05-17T16:55:34.768553+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_153d5533d59a4325
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_fe2ac568a5eb06f5ab430bca
confirmation_timestamp: 2026-05-17T16:55:34.768553+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.768553+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "191.60", "amount_original": "191.60", "booking_date": null, "budget_transaction_id": "btx_153d5533d59a4325", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_fe2ac568a5eb06f5ab430bca", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_fe2ac568a5eb06f5ab430bca", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-26", "transaction_type": "expense"}


audit_id: bc589122-61a7-4ae9-8c5a-fcbe5744adf1
timestamp: 2026-05-17T16:55:34.780889+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_fe2ac568a5eb06f5ab430bca
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.780889+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.780889+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_153d5533d59a4325", "status": "confirmed"}


audit_id: 6621f0bd-7fc7-470e-85e1-8ffa5650860a
timestamp: 2026-05-17T16:55:34.793408+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_336d93ddb2194882
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_5f092e0a14a822a8a7c4f0e0
confirmation_timestamp: 2026-05-17T16:55:34.793408+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.793408+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "131.25", "amount_original": "131.25", "booking_date": null, "budget_transaction_id": "btx_336d93ddb2194882", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_5f092e0a14a822a8a7c4f0e0", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_5f092e0a14a822a8a7c4f0e0", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-28", "transaction_type": "expense"}


audit_id: e2a3cfb2-c10c-4ec2-b965-9d797af3641b
timestamp: 2026-05-17T16:55:34.805479+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_5f092e0a14a822a8a7c4f0e0
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.805479+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.805479+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_336d93ddb2194882", "status": "confirmed"}


audit_id: 025258ab-5706-48ad-9dde-88ab1a61c5ea
timestamp: 2026-05-17T16:55:34.818866+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_68c733d1376143a4
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_3220b0806a1616d9320b1806
confirmation_timestamp: 2026-05-17T16:55:34.818866+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.818866+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "257.87", "amount_original": "257.87", "booking_date": null, "budget_transaction_id": "btx_68c733d1376143a4", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_3220b0806a1616d9320b1806", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_3220b0806a1616d9320b1806", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-03-02", "transaction_type": "expense"}


audit_id: aa9b7131-b781-4223-9b12-ef6cea20a45e
timestamp: 2026-05-17T16:55:34.832198+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_3220b0806a1616d9320b1806
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.832198+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.832198+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_68c733d1376143a4", "status": "confirmed"}


audit_id: 758a893f-2a6e-4f9d-ab4e-39c6356df8c8
timestamp: 2026-05-17T16:55:34.845729+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_a8d81d1a475c4132
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_ae392c89285c6517214c583b
confirmation_timestamp: 2026-05-17T16:55:34.845729+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.845729+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "135.95", "amount_original": "135.95", "booking_date": null, "budget_transaction_id": "btx_a8d81d1a475c4132", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_ae392c89285c6517214c583b", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_ae392c89285c6517214c583b", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-03-07", "transaction_type": "expense"}


audit_id: c979c61f-79e9-48ba-a55c-776a51fa7613
timestamp: 2026-05-17T16:55:34.858832+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_ae392c89285c6517214c583b
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.858832+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.858832+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_a8d81d1a475c4132", "status": "confirmed"}


audit_id: 9272a11e-25a0-4aa1-b950-e9f809e0b7f3
timestamp: 2026-05-17T16:55:34.872625+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_3fc6e657b7824283
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_8f85ff8c91e996257f8105f2
confirmation_timestamp: 2026-05-17T16:55:34.872625+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.872625+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "183.75", "amount_original": "183.75", "booking_date": null, "budget_transaction_id": "btx_3fc6e657b7824283", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_8f85ff8c91e996257f8105f2", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_8f85ff8c91e996257f8105f2", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-03-10", "transaction_type": "expense"}


audit_id: 8f0189ab-0117-42a2-97e8-21969840f2c4
timestamp: 2026-05-17T16:55:34.886223+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_8f85ff8c91e996257f8105f2
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.886223+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.886223+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_3fc6e657b7824283", "status": "confirmed"}


audit_id: ebf18d5f-e988-4a6f-b799-8f41c5b5e594
timestamp: 2026-05-17T16:55:34.899499+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_5855dac5c56e4f90
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_28a88d58072f01cb6a68c18b
confirmation_timestamp: 2026-05-17T16:55:34.899499+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.899499+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "199.71", "amount_original": "199.71", "booking_date": null, "budget_transaction_id": "btx_5855dac5c56e4f90", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_28a88d58072f01cb6a68c18b", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_28a88d58072f01cb6a68c18b", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-03-12", "transaction_type": "expense"}


audit_id: c56cd32c-b1fc-4060-90ce-572d232f0fc4
timestamp: 2026-05-17T16:55:34.913091+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_28a88d58072f01cb6a68c18b
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.913091+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.913091+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_5855dac5c56e4f90", "status": "confirmed"}


audit_id: dd160776-e51d-4e82-a709-d2c1af97d3d1
timestamp: 2026-05-17T16:55:34.926535+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_d7ad76dc888e4890
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_8b5e9aaf08b012f49c93c4c5
confirmation_timestamp: 2026-05-17T16:55:34.926535+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.926535+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "89.98", "amount_original": "89.98", "booking_date": null, "budget_transaction_id": "btx_d7ad76dc888e4890", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_8b5e9aaf08b012f49c93c4c5", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_8b5e9aaf08b012f49c93c4c5", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-03-17", "transaction_type": "expense"}


audit_id: 94210ed2-b94d-4f86-ba81-15554331007e
timestamp: 2026-05-17T16:55:34.940215+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_8b5e9aaf08b012f49c93c4c5
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.940215+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.940215+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_d7ad76dc888e4890", "status": "confirmed"}


audit_id: 9c8ba1b8-5f3a-439c-a58d-6e3c48fc460f
timestamp: 2026-05-17T16:55:34.953352+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_e15be218c71c4bae
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_eeec42d3d6143fdad0c8662f
confirmation_timestamp: 2026-05-17T16:55:34.953352+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.953352+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "54.30", "amount_original": "54.30", "booking_date": null, "budget_transaction_id": "btx_e15be218c71c4bae", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_eeec42d3d6143fdad0c8662f", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_eeec42d3d6143fdad0c8662f", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-03-18", "transaction_type": "expense"}


audit_id: 94debb1b-024c-4789-b1cc-630b3b0ed661
timestamp: 2026-05-17T16:55:34.966860+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_eeec42d3d6143fdad0c8662f
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.966860+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.966860+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_e15be218c71c4bae", "status": "confirmed"}


audit_id: 3f9cc2d3-8c85-4ab6-82eb-e996ff0f5a72
timestamp: 2026-05-17T16:55:34.979947+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_ecb154848380489f
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_11f741de246597b468e52cd7
confirmation_timestamp: 2026-05-17T16:55:34.979947+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.979947+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "0.40", "amount_original": "0.40", "booking_date": null, "budget_transaction_id": "btx_ecb154848380489f", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_11f741de246597b468e52cd7", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_11f741de246597b468e52cd7", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-03-20", "transaction_type": "expense"}


audit_id: 692e5eef-17da-4d93-85a3-61333455d227
timestamp: 2026-05-17T16:55:34.993420+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_11f741de246597b468e52cd7
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:34.993420+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:34.993420+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_ecb154848380489f", "status": "confirmed"}


audit_id: 7063564c-0ce7-4816-af7a-059da0066552
timestamp: 2026-05-17T16:55:35.007597+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_b6640cdd155b48c4
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_2b95ea403632abb95bff9555
confirmation_timestamp: 2026-05-17T16:55:35.007597+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.007597+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "166.62", "amount_original": "166.62", "booking_date": null, "budget_transaction_id": "btx_b6640cdd155b48c4", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_2b95ea403632abb95bff9555", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_2b95ea403632abb95bff9555", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-03-20", "transaction_type": "expense"}


audit_id: 381ce0cb-23ae-4937-9068-b6f79b0e9b4c
timestamp: 2026-05-17T16:55:35.020895+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_2b95ea403632abb95bff9555
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:35.020895+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.020895+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_b6640cdd155b48c4", "status": "confirmed"}


audit_id: 682f14c7-71c8-4522-b41a-abdc9ce2789b
timestamp: 2026-05-17T16:55:35.034511+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_164959fcf40f4a37
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_3ddf63a89adda283ce7f5a27
confirmation_timestamp: 2026-05-17T16:55:35.034511+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.034511+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "543.37", "amount_original": "543.37", "booking_date": null, "budget_transaction_id": "btx_164959fcf40f4a37", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_3ddf63a89adda283ce7f5a27", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_3ddf63a89adda283ce7f5a27", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-03-25", "transaction_type": "expense"}


audit_id: 7f915d42-0221-4f68-9969-ac9c0026c6db
timestamp: 2026-05-17T16:55:35.047946+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_3ddf63a89adda283ce7f5a27
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:35.047946+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.047946+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_164959fcf40f4a37", "status": "confirmed"}


audit_id: 3cd80b55-d387-4f2d-a173-9ea883158810
timestamp: 2026-05-17T16:55:35.060931+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_e023da1b190140d9
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_60ffa4c28998f33dd5a9111f
confirmation_timestamp: 2026-05-17T16:55:35.060931+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.060931+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "352.87", "amount_original": "352.87", "booking_date": null, "budget_transaction_id": "btx_e023da1b190140d9", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_60ffa4c28998f33dd5a9111f", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_60ffa4c28998f33dd5a9111f", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-03-30", "transaction_type": "expense"}


audit_id: 224efc93-ba8b-4fd4-8ace-1f3e6b5e6870
timestamp: 2026-05-17T16:55:35.074372+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_60ffa4c28998f33dd5a9111f
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:35.074372+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.074372+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_e023da1b190140d9", "status": "confirmed"}


audit_id: ffa32e44-452d-4fb5-af72-0ecefc218704
timestamp: 2026-05-17T16:55:35.086680+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_bb79a073b226444b
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_2cbe824f2e11e94c06cd0ec3
confirmation_timestamp: 2026-05-17T16:55:35.086680+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.086680+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "256.24", "amount_original": "256.24", "booking_date": null, "budget_transaction_id": "btx_bb79a073b226444b", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_2cbe824f2e11e94c06cd0ec3", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_2cbe824f2e11e94c06cd0ec3", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-04-02", "transaction_type": "expense"}


audit_id: 297e5318-e625-4eef-b2d9-62a20c999840
timestamp: 2026-05-17T16:55:35.099663+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_2cbe824f2e11e94c06cd0ec3
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:35.099663+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.099663+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_bb79a073b226444b", "status": "confirmed"}


audit_id: e615b442-ac0a-424b-8d4d-7dc9915f6c8a
timestamp: 2026-05-17T16:55:35.117453+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_271e58da64174215
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_23a3017a4301dda2359fd900
confirmation_timestamp: 2026-05-17T16:55:35.117453+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.117453+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "273.16", "amount_original": "273.16", "booking_date": null, "budget_transaction_id": "btx_271e58da64174215", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_23a3017a4301dda2359fd900", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_23a3017a4301dda2359fd900", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-04-07", "transaction_type": "expense"}


audit_id: ac6cdcbb-995a-4f74-94d9-94584aa61b7d
timestamp: 2026-05-17T16:55:35.130426+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_23a3017a4301dda2359fd900
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:35.130426+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.130426+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_271e58da64174215", "status": "confirmed"}


audit_id: aa18699f-8bd0-4c5e-9b25-20c4c458942a
timestamp: 2026-05-17T16:55:35.147598+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_028f0258a64c4f20
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_2a1386d28bc261481d424d72
confirmation_timestamp: 2026-05-17T16:55:35.147598+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.147598+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "212.16", "amount_original": "212.16", "booking_date": null, "budget_transaction_id": "btx_028f0258a64c4f20", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon MMM Brugg Neumarkt", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_2a1386d28bc261481d424d72", "payee": "MMM Brugg Neumarkt", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_2a1386d28bc261481d424d72", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-04-10", "transaction_type": "expense"}


audit_id: f31ff259-8c12-4692-92f5-4b34f5eab760
timestamp: 2026-05-17T16:55:35.160106+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_2a1386d28bc261481d424d72
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:35.160106+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.160106+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_028f0258a64c4f20", "status": "confirmed"}


audit_id: f3687782-44c1-43f5-9ff6-24c0c2552e0e
timestamp: 2026-05-17T16:55:35.177579+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_406174faa77a4843
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_49664389f843bbfdbbea34eb
confirmation_timestamp: 2026-05-17T16:55:35.177579+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.177579+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "285.10", "amount_original": "285.10", "booking_date": null, "budget_transaction_id": "btx_406174faa77a4843", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon MMM Brugg Neumarkt", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_49664389f843bbfdbbea34eb", "payee": "MMM Brugg Neumarkt", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_49664389f843bbfdbbea34eb", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-04-16", "transaction_type": "expense"}


audit_id: 64674c19-1d88-4769-be17-d4d39853a571
timestamp: 2026-05-17T16:55:35.190437+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_49664389f843bbfdbbea34eb
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:35.190437+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.190437+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_406174faa77a4843", "status": "confirmed"}


audit_id: 544fd601-bfab-4074-931c-5dce189ecd57
timestamp: 2026-05-17T16:55:35.208479+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_dcf6d377a77f41f2
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_1b007e6a23ad5ce94ef7380d
confirmation_timestamp: 2026-05-17T16:55:35.208479+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.208479+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "30.25", "amount_original": "30.25", "booking_date": null, "budget_transaction_id": "btx_dcf6d377a77f41f2", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_1b007e6a23ad5ce94ef7380d", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_1b007e6a23ad5ce94ef7380d", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-04-18", "transaction_type": "expense"}


audit_id: c223dab5-bc4d-420d-960a-55447504be14
timestamp: 2026-05-17T16:55:35.221609+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_1b007e6a23ad5ce94ef7380d
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:35.221609+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.221609+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_dcf6d377a77f41f2", "status": "confirmed"}


audit_id: 73f3e061-3b9d-405a-81fd-f7cd3c8d9059
timestamp: 2026-05-17T16:55:35.234559+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_1593deac2ebd4f74
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_fa26fd79baffec9969f01de2
confirmation_timestamp: 2026-05-17T16:55:35.234559+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.234559+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "87.00", "amount_original": "87.00", "booking_date": null, "budget_transaction_id": "btx_1593deac2ebd4f74", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_fa26fd79baffec9969f01de2", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_fa26fd79baffec9969f01de2", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-04-21", "transaction_type": "expense"}


audit_id: 398a51e5-1930-405e-bd66-8a52571bf822
timestamp: 2026-05-17T16:55:35.247641+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_fa26fd79baffec9969f01de2
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:35.247641+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.247641+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_1593deac2ebd4f74", "status": "confirmed"}


audit_id: 9b49fe0d-d822-4eb8-97c2-a2e17cb2e74f
timestamp: 2026-05-17T16:55:35.260544+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_186869b414454ffe
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_e8b81db3795dbc30649d774f
confirmation_timestamp: 2026-05-17T16:55:35.260544+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.260544+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "418.76", "amount_original": "418.76", "booking_date": null, "budget_transaction_id": "btx_186869b414454ffe", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon MMM Brugg Neumarkt", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_e8b81db3795dbc30649d774f", "payee": "MMM Brugg Neumarkt", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_e8b81db3795dbc30649d774f", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-04-23", "transaction_type": "expense"}


audit_id: 47a031a6-0cfb-42d6-82c5-339652e8adae
timestamp: 2026-05-17T16:55:35.273942+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_e8b81db3795dbc30649d774f
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:35.273942+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.273942+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_186869b414454ffe", "status": "confirmed"}


audit_id: 53b5d6d4-ceb6-4d2d-bf4a-e71fa3b7d0f0
timestamp: 2026-05-17T16:55:35.287579+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_a101bfc5f6e7442d
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_7d5857e3cdc6ae647519e049
confirmation_timestamp: 2026-05-17T16:55:35.287579+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.287579+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "65.85", "amount_original": "65.85", "booking_date": null, "budget_transaction_id": "btx_a101bfc5f6e7442d", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon MMM Brugg Neumarkt", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_7d5857e3cdc6ae647519e049", "payee": "MMM Brugg Neumarkt", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_7d5857e3cdc6ae647519e049", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-04-24", "transaction_type": "expense"}


audit_id: 36e17841-7246-41ba-89c8-2bbe9bc73aa4
timestamp: 2026-05-17T16:55:35.300897+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_7d5857e3cdc6ae647519e049
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:35.300897+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.300897+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_a101bfc5f6e7442d", "status": "confirmed"}


audit_id: b839d7f7-4f15-47c0-9104-777b278db309
timestamp: 2026-05-17T16:55:35.319903+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_cbce0ecfc4dd4485
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_283f29ae259434de777c8e30
confirmation_timestamp: 2026-05-17T16:55:35.319903+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.319903+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "270.01", "amount_original": "270.01", "booking_date": null, "budget_transaction_id": "btx_cbce0ecfc4dd4485", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_283f29ae259434de777c8e30", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_283f29ae259434de777c8e30", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-04-29", "transaction_type": "expense"}


audit_id: 5abaac30-7f6d-4adb-8c35-1b18936f0117
timestamp: 2026-05-17T16:55:35.333317+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_283f29ae259434de777c8e30
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:35.333317+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.333317+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_cbce0ecfc4dd4485", "status": "confirmed"}


audit_id: f5a27b34-9d21-4733-884c-2d1177a089e8
timestamp: 2026-05-17T16:55:35.346294+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_30518bcece1a445d
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_6e40115bf9a09c52008dc4be
confirmation_timestamp: 2026-05-17T16:55:35.346294+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.346294+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "146.55", "amount_original": "146.55", "booking_date": null, "budget_transaction_id": "btx_30518bcece1a445d", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon M Windisch", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_6e40115bf9a09c52008dc4be", "payee": "M Windisch", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_6e40115bf9a09c52008dc4be", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-05-04", "transaction_type": "expense"}


audit_id: f0c3e5e5-b96b-4dbb-8589-c5027f00ba49
timestamp: 2026-05-17T16:55:35.359560+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_6e40115bf9a09c52008dc4be
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:35.359560+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.359560+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_30518bcece1a445d", "status": "confirmed"}


audit_id: b6c7a08d-85b2-4473-8d2b-d41d7a0c192e
timestamp: 2026-05-17T16:55:35.372673+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_6b18ec2381ba48c7
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_2719f3730cd444d0382f5309
confirmation_timestamp: 2026-05-17T16:55:35.372673+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.372673+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "341.89", "amount_original": "341.89", "booking_date": null, "budget_transaction_id": "btx_6b18ec2381ba48c7", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Migros Bon MMM Brugg Neumarkt", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_2719f3730cd444d0382f5309", "payee": "MMM Brugg Neumarkt", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_2719f3730cd444d0382f5309", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-05-06", "transaction_type": "expense"}


audit_id: 562ac41f-ce06-4d41-9b31-d5b0188e121b
timestamp: 2026-05-17T16:55:35.386510+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_2719f3730cd444d0382f5309
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-17T16:55:35.386510+00:00
created_by: user
quality_status: ok
created_at: 2026-05-17T16:55:35.386510+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_6b18ec2381ba48c7", "status": "confirmed"}


audit_id: d154cae4-377e-4f4b-86f6-d052f8b03c81
timestamp: 2026-05-18T09:24:43.848277+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_0f388c639fea3896cb468ea2
user_text_note: UAT v2: sichere Abo-Kategorie geprüft
confirmation_timestamp: 2026-05-18T09:24:43.848277+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T09:24:43.848277+00:00
old_values_json:
  {"account_source": null, "amount_original": "42.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:07Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_food_household", "proposed_category_name": "Essen & Haushalt", "raw_fingerprint": "0f388c639fea3896cb468ea2f6dc4a08", "receipt_key": null, "requires_review": 1, "review_reason": "subscription_merchant_rule", "rule_id": "subscription_auto", "rule_name": null, "source_file_label": "VISA Kreditkarte 2025_2026.csv", "source_priority": 70, "source_row_or_range": "R1176", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_0f388c639fea3896cb468ea2", "transaction_date": "2026-01-09", "updated_at": "2026-05-18T08:15:07Z"}

new_values_json:
  {"category_id": "bcat_expensefreizeitabosausfl\u00fcge", "category_name": "Freizeit / Abos / Ausfl\u00fcge"}


audit_id: f864c0be-2e79-47fe-b6ce-869e3ef073f0
timestamp: 2026-05-18T09:24:43.868161+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_19f210b5927e4d91
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_0f388c639fea3896cb468ea2
confirmation_timestamp: 2026-05-18T09:24:43.868161+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T09:24:43.868161+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "42.000", "amount_original": "42.000", "booking_date": null, "budget_transaction_id": "btx_19f210b5927e4d91", "category_id": "bcat_expensefreizeitabosausfl\u00fcge", "currency_original": "CHF", "description": "Apple", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_0f388c639fea3896cb468ea2", "payee": "Apple", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_0f388c639fea3896cb468ea2", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-09", "transaction_type": "expense"}


audit_id: 4d37bc72-4264-4e48-b2be-e5c08e306a0c
timestamp: 2026-05-18T09:24:43.878446+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_0f388c639fea3896cb468ea2
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T09:24:43.878446+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T09:24:43.878446+00:00
new_values_json:
  {"category_id": "bcat_expensefreizeitabosausfl\u00fcge", "confirmed_transaction_id": "btx_19f210b5927e4d91", "status": "confirmed"}


audit_id: 002d503d-92ff-4309-95ac-c76846e935a6
timestamp: 2026-05-18T09:24:43.887149+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_85fb35a042d1d5fe48ca6a1d
user_text_note: UAT v2: sichere Abo-Kategorie geprüft
confirmation_timestamp: 2026-05-18T09:24:43.887149+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T09:24:43.887149+00:00
old_values_json:
  {"account_source": null, "amount_original": "3.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:07Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_food_household", "proposed_category_name": "Essen & Haushalt", "raw_fingerprint": "85fb35a042d1d5fe48ca6a1d4d96c92e", "receipt_key": null, "requires_review": 1, "review_reason": "subscription_merchant_rule", "rule_id": "subscription_auto", "rule_name": null, "source_file_label": "VISA Kreditkarte 2025_2026.csv", "source_priority": 70, "source_row_or_range": "R1187", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_85fb35a042d1d5fe48ca6a1d", "transaction_date": "2026-01-18", "updated_at": "2026-05-18T08:15:07Z"}

new_values_json:
  {"category_id": "bcat_expensefreizeitabosausfl\u00fcge", "category_name": "Freizeit / Abos / Ausfl\u00fcge"}


audit_id: 81134ee3-3210-47c1-97a8-3a9ad9369d10
timestamp: 2026-05-18T09:24:43.901718+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_ea6df33b9a234236
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_85fb35a042d1d5fe48ca6a1d
confirmation_timestamp: 2026-05-18T09:24:43.901718+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T09:24:43.901718+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "3.000", "amount_original": "3.000", "booking_date": null, "budget_transaction_id": "btx_ea6df33b9a234236", "category_id": "bcat_expensefreizeitabosausfl\u00fcge", "currency_original": "CHF", "description": "Apple", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_85fb35a042d1d5fe48ca6a1d", "payee": "Apple", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_85fb35a042d1d5fe48ca6a1d", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-18", "transaction_type": "expense"}


audit_id: 8842e34c-400e-419b-8eab-3a078e2ee925
timestamp: 2026-05-18T09:24:43.916183+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_85fb35a042d1d5fe48ca6a1d
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T09:24:43.916183+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T09:24:43.916183+00:00
new_values_json:
  {"category_id": "bcat_expensefreizeitabosausfl\u00fcge", "confirmed_transaction_id": "btx_ea6df33b9a234236", "status": "confirmed"}


audit_id: 861bdf52-3dc0-4429-857b-d574894a4131
timestamp: 2026-05-18T09:24:43.929943+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_543d8af4adcb89ac23a419a9
user_text_note: UAT v2: sichere Abo-Kategorie geprüft
confirmation_timestamp: 2026-05-18T09:24:43.929943+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T09:24:43.929943+00:00
old_values_json:
  {"account_source": null, "amount_original": "47.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:07Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_food_household", "proposed_category_name": "Essen & Haushalt", "raw_fingerprint": "543d8af4adcb89ac23a419a9cf0022c8", "receipt_key": null, "requires_review": 1, "review_reason": "subscription_merchant_rule", "rule_id": "subscription_auto", "rule_name": null, "source_file_label": "VISA Kreditkarte 2025_2026.csv", "source_priority": 70, "source_row_or_range": "R1190", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_543d8af4adcb89ac23a419a9", "transaction_date": "2026-01-22", "updated_at": "2026-05-18T08:15:07Z"}

new_values_json:
  {"category_id": "bcat_expensefreizeitabosausfl\u00fcge", "category_name": "Freizeit / Abos / Ausfl\u00fcge"}


audit_id: 94ba6e0e-ab84-4afc-8c17-ce94825ad2a4
timestamp: 2026-05-18T09:24:43.943367+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_42d345cb44424369
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_543d8af4adcb89ac23a419a9
confirmation_timestamp: 2026-05-18T09:24:43.943367+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T09:24:43.943367+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "47.000", "amount_original": "47.000", "booking_date": null, "budget_transaction_id": "btx_42d345cb44424369", "category_id": "bcat_expensefreizeitabosausfl\u00fcge", "currency_original": "CHF", "description": "Apple", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_543d8af4adcb89ac23a419a9", "payee": "Apple", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_543d8af4adcb89ac23a419a9", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-22", "transaction_type": "expense"}


audit_id: a8d41eee-8529-4e64-b79e-04fc59c7067a
timestamp: 2026-05-18T09:24:43.956582+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_543d8af4adcb89ac23a419a9
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T09:24:43.956582+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T09:24:43.956582+00:00
new_values_json:
  {"category_id": "bcat_expensefreizeitabosausfl\u00fcge", "confirmed_transaction_id": "btx_42d345cb44424369", "status": "confirmed"}


audit_id: 47e4b805-c5be-40ea-82ec-b2b127d53bcf
timestamp: 2026-05-18T09:24:43.969397+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_e0e3a09d003e1329489662eb
new_values_json: {"category_id": "bcat_mobility", "category_name": "Mobilit\u00e4t"}
user_text_note: UAT v2: sichere VISA-Ausgabe Kategorie geprüft
confirmation_timestamp: 2026-05-18T09:24:43.969397+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T09:24:43.969397+00:00
old_values_json:
  {"account_source": null, "amount_original": "12.500", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:07Z", "currency_original": "CHF", "description": "Agrola", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Agrola", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "e0e3a09d003e1329489662eb0743877e", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "VISA Kreditkarte 2025_2026.csv", "source_priority": 70, "source_row_or_range": "R967", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_e0e3a09d003e1329489662eb", "transaction_date": "2026-01-06", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: 4cc9dfdb-fc4d-47a7-b139-c03cc1e0f913
timestamp: 2026-05-18T09:24:43.978150+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_bdc42c8d5c8640f1
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_e0e3a09d003e1329489662eb
confirmation_timestamp: 2026-05-18T09:24:43.978150+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T09:24:43.978150+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "12.500", "amount_original": "12.500", "booking_date": null, "budget_transaction_id": "btx_bdc42c8d5c8640f1", "category_id": "bcat_mobility", "currency_original": "CHF", "description": "Agrola", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_e0e3a09d003e1329489662eb", "payee": "Agrola", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_e0e3a09d003e1329489662eb", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-06", "transaction_type": "expense"}


audit_id: f42fbe8a-fffc-4f4d-abd7-2baf8ca48fb8
timestamp: 2026-05-18T09:24:43.986990+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_e0e3a09d003e1329489662eb
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T09:24:43.986990+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T09:24:43.986990+00:00
new_values_json:
  {"category_id": "bcat_mobility", "confirmed_transaction_id": "btx_bdc42c8d5c8640f1", "status": "confirmed"}


audit_id: 3a1a5f1f-9580-4963-9b1a-bdc4e5b417c8
timestamp: 2026-05-18T09:24:43.995796+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_8dff8abb31f59374850c753a
new_values_json: {"category_id": "bcat_mobility", "category_name": "Mobilit\u00e4t"}
user_text_note: UAT v2: sichere VISA-Ausgabe Kategorie geprüft
confirmation_timestamp: 2026-05-18T09:24:43.995796+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T09:24:43.995796+00:00
old_values_json:
  {"account_source": null, "amount_original": "10.000", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:07Z", "currency_original": "CHF", "description": "Parkhaus 0", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Parkhaus 0", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "8dff8abb31f59374850c753a4a6bb660", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "VISA Kreditkarte 2025_2026.csv", "source_priority": 70, "source_row_or_range": "R1182", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_8dff8abb31f59374850c753a", "transaction_date": "2026-01-15", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: 528c4708-3dec-45e3-9ef3-bcf341bd0839
timestamp: 2026-05-18T09:24:44.004760+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_db04f12cf1d44bda
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_8dff8abb31f59374850c753a
confirmation_timestamp: 2026-05-18T09:24:44.004760+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T09:24:44.004760+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "10.000", "amount_original": "10.000", "booking_date": null, "budget_transaction_id": "btx_db04f12cf1d44bda", "category_id": "bcat_mobility", "currency_original": "CHF", "description": "Parkhaus 0", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_8dff8abb31f59374850c753a", "payee": "Parkhaus 0", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_8dff8abb31f59374850c753a", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-15", "transaction_type": "expense"}


audit_id: e108bf96-bc1e-48ee-8277-03fbbd8ad009
timestamp: 2026-05-18T09:24:44.013495+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_8dff8abb31f59374850c753a
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T09:24:44.013495+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T09:24:44.013495+00:00
new_values_json:
  {"category_id": "bcat_mobility", "confirmed_transaction_id": "btx_db04f12cf1d44bda", "status": "confirmed"}


audit_id: 4f3bb7e3-8949-4ffa-bf96-40cc65ff512a
timestamp: 2026-05-18T11:16:09.749177+00:00
source: vue_dashboard
action: income_template_created
entity_type: budget_plan_item
entity_id: bplan_4ee68007d4b649e5
old_values_json: {}
confirmation_timestamp: 2026-05-18T11:16:09.749177+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T11:16:09.749177+00:00
new_values_json:
  {"has_amount": false, "name": "13. Monatslohn Melanie \u2013 Gasser Bauunternehmen", "year": "2026"}


audit_id: 25d5e69b-cbd5-409a-a804-38065f87b21a
timestamp: 2026-05-18T12:05:36.689335+00:00
source: vue_dashboard
action: create
entity_type: budget_plan_item
entity_id: bplan_dd82aa4ef5564c40
old_values_json: {}
confirmation_timestamp: 2026-05-18T12:05:36.689335+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T12:05:36.689335+00:00
new_values_json:
  {"annual_amount_chf": null, "cadence": "monthly", "category_id": "bcat_eccbd333bd79493b", "is_fixed_cost": false, "monthly_amount_chf": "1.00", "name": "Hotfix Smoke Test Einkommen", "notes": "person=Marcel;income_type=Lohn;target_month=;employer=Hotfix QA;temporary smoke test; archive immediately", "plan_month": "2026-01", "source_type": "manual"}


audit_id: 6ffb5d56-d358-4391-83dd-9009d6bca73c
timestamp: 2026-05-18T12:07:03.749406+00:00
source: vue_dashboard
action: archive
entity_type: budget_plan_item
entity_id: bplan_dd82aa4ef5564c40
new_values_json: {"is_active": 0}
confirmation_timestamp: 2026-05-18T12:07:03.749406+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T12:07:03.749406+00:00
old_values_json:
  {"annual_amount_chf": null, "cadence": "monthly", "category_id": "bcat_eccbd333bd79493b", "created_at": "2026-05-18T12:05:36Z", "is_active": 1, "is_fixed_cost": 0, "monthly_amount_chf": "1.00", "name": "Hotfix Smoke Test Einkommen", "notes": "person=Marcel;income_type=Lohn;target_month=;employer=Hotfix QA;temporary smoke test; archive immediately", "plan_item_id": "bplan_dd82aa4ef5564c40", "plan_month": "2026-01", "source_type": "manual", "updated_at": "2026-05-18T12:05:36Z"}


audit_id: 1f92ab4d-d2dc-4f1b-bec8-9a477ee86f8f
timestamp: 2026-05-18T12:07:28.763567+00:00
source: vue_dashboard
action: create
entity_type: budget_plan_item
entity_id: bplan_01034b96c9bc4154
old_values_json: {}
confirmation_timestamp: 2026-05-18T12:07:28.763567+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T12:07:28.763567+00:00
new_values_json:
  {"annual_amount_chf": "0.00", "cadence": "monthly", "category_id": "bcat_eccbd333bd79493b", "is_fixed_cost": false, "monthly_amount_chf": "0.00", "name": "Hotfix Update Smoke Test", "notes": "person=QA;income_type=Lohn;employer=Hotfix;temporary=true", "plan_month": "2026-01", "source_type": "manual"}


audit_id: 6274bbe3-ece2-42b7-b294-450c15b2c79d
timestamp: 2026-05-18T12:07:28.792008+00:00
source: vue_dashboard
action: income_plan_updated
entity_type: budget_plan_item
entity_id: bplan_01034b96c9bc4154
confirmation_timestamp: 2026-05-18T12:07:28.792008+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T12:07:28.792008+00:00
old_values_json:
  {"annual_amount_chf": "0.00", "cadence": "monthly", "category_id": "bcat_eccbd333bd79493b", "created_at": "2026-05-18T12:07:28Z", "is_active": 1, "is_fixed_cost": 0, "monthly_amount_chf": "0.00", "name": "Hotfix Update Smoke Test", "notes": "person=QA;income_type=Lohn;employer=Hotfix;temporary=true", "plan_item_id": "bplan_01034b96c9bc4154", "plan_month": "2026-01", "source_type": "manual", "updated_at": "2026-05-18T12:07:28Z"}

new_values_json:
  {"annual_amount_chf": "0.00", "cadence": "monthly", "category_id": "bcat_eccbd333bd79493b", "is_fixed_cost": false, "monthly_amount_chf": "1.00", "name": "Hotfix Update Smoke Test", "notes": "person=QA;income_type=Lohn;employer=Hotfix;temporary=true;target_month=monatlich", "plan_item_id": "bplan_01034b96c9bc4154", "plan_month": "2026-01", "source_type": "manual"}


audit_id: 659edec0-a48d-472c-9187-bf64cc66774c
timestamp: 2026-05-18T12:07:28.803915+00:00
source: vue_dashboard
action: archive
entity_type: budget_plan_item
entity_id: bplan_01034b96c9bc4154
new_values_json: {"is_active": 0}
confirmation_timestamp: 2026-05-18T12:07:28.803915+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T12:07:28.803915+00:00
old_values_json:
  {"annual_amount_chf": "0.00", "cadence": "monthly", "category_id": "bcat_eccbd333bd79493b", "created_at": "2026-05-18T12:07:28Z", "is_active": 1, "is_fixed_cost": 0, "monthly_amount_chf": "1.00", "name": "Hotfix Update Smoke Test", "notes": "person=QA;income_type=Lohn;employer=Hotfix;temporary=true;target_month=monatlich", "plan_item_id": "bplan_01034b96c9bc4154", "plan_month": "2026-01", "source_type": "manual", "updated_at": "2026-05-18T12:07:28Z"}


audit_id: 2864980f-f31d-4667-8f13-dd3b73229eaf
timestamp: 2026-05-18T12:26:38.709246+00:00
source: vue_dashboard
action: income_plan_updated
entity_type: budget_plan_item
entity_id: bplan_3f71019b5d9b4547
confirmation_timestamp: 2026-05-18T12:26:38.709246+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T12:26:38.709246+00:00
old_values_json:
  {"annual_amount_chf": null, "cadence": "monthly", "category_id": "bcat_eccbd333bd79493b", "created_at": "2026-05-18T11:55:59Z", "is_active": 1, "is_fixed_cost": 0, "monthly_amount_chf": null, "name": "Lohn Marcel (ERNE)", "notes": "person=Marcel;income_type=Lohn;target_month=monatlich;template=true;employer=ERNE", "plan_item_id": "bplan_3f71019b5d9b4547", "plan_month": "2026-01", "source_type": "system", "updated_at": "2026-05-18T11:55:59Z"}

new_values_json:
  {"annual_amount_chf": null, "cadence": "monthly", "category_id": "bcat_eccbd333bd79493b", "is_fixed_cost": false, "monthly_amount_chf": "11047", "name": "Lohn Marcel (ERNE)", "notes": "person=Marcel;income_type=Lohn;target_month=monatlich;template=true;employer=ERNE", "plan_item_id": "bplan_3f71019b5d9b4547", "plan_month": "2026-01", "source_type": "manual"}


audit_id: e73f5f31-9fbf-41f7-a062-66fcd2842aaa
timestamp: 2026-05-18T12:52:09.851985+00:00
source: vue_dashboard
action: bank_income_candidates_reclassified
entity_type: budget_transaction_candidate
entity_id: bank_income_reclassify_2026
old_values_json: {}
confirmation_timestamp: 2026-05-18T12:52:09.851985+00:00
created_by: system
quality_status: ok
created_at: 2026-05-18T12:52:09.851985+00:00
new_values_json:
  {"credit_card_payment_count": 0, "income_candidate_count": 11, "investment_transfer_count": 0, "possible_income_count": 3, "scanned_count": 181, "transfer_candidate_count": 6, "unclear_money_in_count": 10, "updated_count": 40}


audit_id: 08300038-d3e1-4d3f-8509-c1348e21de57
timestamp: 2026-05-18T17:15:24.900962+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_8937aeadcc474a7f
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_242e8d6783892099fe6e4424
confirmation_timestamp: 2026-05-18T17:15:24.900962+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:15:24.900962+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "9088.8", "amount_original": "9088.8", "booking_date": null, "budget_transaction_id": "btx_8937aeadcc474a7f", "category_id": "bcat_eccbd333bd79493b", "currency_original": "CHF", "description": "Gutschrift ERNE AG Holzbau", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_242e8d6783892099fe6e4424", "payee": null, "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_242e8d6783892099fe6e4424", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-26", "transaction_type": "income"}


audit_id: 8873f026-a246-44da-afcb-19d7366ea0db
timestamp: 2026-05-18T17:15:24.913009+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_242e8d6783892099fe6e4424
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T17:15:24.913009+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:15:24.913009+00:00
new_values_json:
  {"category_id": "bcat_eccbd333bd79493b", "confirmed_transaction_id": "btx_8937aeadcc474a7f", "status": "confirmed"}


audit_id: 830e566f-6aed-46fc-92dc-01db08e9d815
timestamp: 2026-05-18T17:15:49.349747+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_eab4cb10696f4c22
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_018f07eae44ee2399b2d4f6e
confirmation_timestamp: 2026-05-18T17:15:49.349747+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:15:49.349747+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "92.8", "amount_original": "92.8", "booking_date": null, "budget_transaction_id": "btx_eab4cb10696f4c22", "category_id": "bcat_eccbd333bd79493b", "currency_original": "CHF", "description": "Gutschrift ERNE AG Holzbau", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_018f07eae44ee2399b2d4f6e", "payee": null, "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_018f07eae44ee2399b2d4f6e", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-12", "transaction_type": "income"}


audit_id: 6b33dbc5-0b78-4291-97b5-456857742097
timestamp: 2026-05-18T17:15:49.364035+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_018f07eae44ee2399b2d4f6e
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T17:15:49.364035+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:15:49.364035+00:00
new_values_json:
  {"category_id": "bcat_eccbd333bd79493b", "confirmed_transaction_id": "btx_eab4cb10696f4c22", "status": "confirmed"}


audit_id: 30926435-1f87-4d71-97e9-4721a3063d79
timestamp: 2026-05-18T17:15:58.076696+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_3d9db22b07d84a2d
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_409f0b0df477a6d0c93278e4
confirmation_timestamp: 2026-05-18T17:15:58.076696+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:15:58.076696+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "3955.7", "amount_original": "3955.7", "booking_date": null, "budget_transaction_id": "btx_3d9db22b07d84a2d", "category_id": "bcat_eccbd333bd79493b", "currency_original": "CHF", "description": "Gutschrift ERNE AG Holzbau", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_409f0b0df477a6d0c93278e4", "payee": null, "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_409f0b0df477a6d0c93278e4", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-11", "transaction_type": "income"}


audit_id: 7cff4d8e-77aa-45a9-8d75-144067f462ff
timestamp: 2026-05-18T17:15:58.092575+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_409f0b0df477a6d0c93278e4
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T17:15:58.092575+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:15:58.092575+00:00
new_values_json:
  {"category_id": "bcat_eccbd333bd79493b", "confirmed_transaction_id": "btx_3d9db22b07d84a2d", "status": "confirmed"}


audit_id: a93c3a2f-d722-4a18-90b3-4485d613910e
timestamp: 2026-05-18T17:16:04.129883+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_7f3ec2d1806a487e
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_37958dffc0edaa8b44adf725
confirmation_timestamp: 2026-05-18T17:16:04.129883+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:16:04.129883+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "9069.55", "amount_original": "9069.55", "booking_date": null, "budget_transaction_id": "btx_7f3ec2d1806a487e", "category_id": "bcat_eccbd333bd79493b", "currency_original": "CHF", "description": "Gutschrift ERNE AG Holzbau", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_37958dffc0edaa8b44adf725", "payee": null, "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_37958dffc0edaa8b44adf725", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-25", "transaction_type": "income"}


audit_id: 53a9bfb2-9e4b-4b51-814d-ff56b1507b13
timestamp: 2026-05-18T17:16:04.142204+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_37958dffc0edaa8b44adf725
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T17:16:04.142204+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:16:04.142204+00:00
new_values_json:
  {"category_id": "bcat_eccbd333bd79493b", "confirmed_transaction_id": "btx_7f3ec2d1806a487e", "status": "confirmed"}


audit_id: c613d3f9-efd7-467f-8a12-c81445c5952b
timestamp: 2026-05-18T17:16:08.483103+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_f7b8473c4eba4ef4
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_aeff24b8fd6674e76e41f3c6
confirmation_timestamp: 2026-05-18T17:16:08.483103+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:16:08.483103+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "9088.8", "amount_original": "9088.8", "booking_date": null, "budget_transaction_id": "btx_f7b8473c4eba4ef4", "category_id": "bcat_eccbd333bd79493b", "currency_original": "CHF", "description": "Gutschrift ERNE AG Holzbau", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_aeff24b8fd6674e76e41f3c6", "payee": null, "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_aeff24b8fd6674e76e41f3c6", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-03-25", "transaction_type": "income"}


audit_id: 8dcdff75-dded-43c1-b5e3-c9cbaaa212e1
timestamp: 2026-05-18T17:16:08.498808+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_aeff24b8fd6674e76e41f3c6
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T17:16:08.498808+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:16:08.498808+00:00
new_values_json:
  {"category_id": "bcat_eccbd333bd79493b", "confirmed_transaction_id": "btx_f7b8473c4eba4ef4", "status": "confirmed"}


audit_id: ce6537f4-292b-4301-9e61-7616df900fc1
timestamp: 2026-05-18T17:16:11.980250+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_fbbc9a6c192141e2
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_b4bee4ee51dc7d882832af01
confirmation_timestamp: 2026-05-18T17:16:11.980250+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:16:11.980250+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "9261.3", "amount_original": "9261.3", "booking_date": null, "budget_transaction_id": "btx_fbbc9a6c192141e2", "category_id": "bcat_eccbd333bd79493b", "currency_original": "CHF", "description": "Gutschrift ERNE AG Holzbau", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_b4bee4ee51dc7d882832af01", "payee": null, "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_b4bee4ee51dc7d882832af01", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-04-24", "transaction_type": "income"}


audit_id: 5e56d698-4e1f-49dd-9fc2-93ff4dbeb83b
timestamp: 2026-05-18T17:16:11.998883+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_b4bee4ee51dc7d882832af01
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T17:16:11.998883+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:16:11.998883+00:00
new_values_json:
  {"category_id": "bcat_eccbd333bd79493b", "confirmed_transaction_id": "btx_fbbc9a6c192141e2", "status": "confirmed"}


audit_id: ee8283af-9577-4964-937f-31a0aaf6a144
timestamp: 2026-05-18T17:16:17.137628+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_4f569412028a45fd
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_0ab21f5682acc519c85f1736
confirmation_timestamp: 2026-05-18T17:16:17.137628+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:16:17.137628+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "10234.75", "amount_original": "10234.75", "booking_date": null, "budget_transaction_id": "btx_4f569412028a45fd", "category_id": "bcat_eccbd333bd79493b", "currency_original": "CHF", "description": "Gutschrift ERNE AG Holzbau", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_0ab21f5682acc519c85f1736", "payee": null, "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_0ab21f5682acc519c85f1736", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-05-13", "transaction_type": "income"}


audit_id: 9b46a1cc-32bd-4245-b634-42e1810aaea9
timestamp: 2026-05-18T17:16:17.152944+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_0ab21f5682acc519c85f1736
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T17:16:17.152944+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:16:17.152944+00:00
new_values_json:
  {"category_id": "bcat_eccbd333bd79493b", "confirmed_transaction_id": "btx_4f569412028a45fd", "status": "confirmed"}


audit_id: 31c1f31a-d311-41df-998f-539806fe7055
timestamp: 2026-05-18T17:16:30.356290+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_32b77a022cffd65563c00036
new_values_json: {"category_id": "bcat_incomelohnmelanie", "category_name": "Lohn Melanie"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T17:16:30.356290+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:16:30.356290+00:00
old_values_json:
  {"account_source": null, "amount_original": "349.9", "classification": "income_candidate", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:04Z", "currency_original": "CHF", "description": "Zahlungseingang / Ref.-Nr. 1523127964 Gasser Bauunternehmen GmbH", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": null, "merchant_display_name": null, "merchant_id": null, "notes": "{\"transaction_type\": \"income\", \"reason\": \"strong_income_pattern\", \"reclassified_by\": \"income_csv_recognition_v1\"}", "proposed_category_id": "bcat_eccbd333bd79493b", "proposed_category_name": "Lohn Marcel", "raw_fingerprint": "11f6119d5f3e678f87968ee0cbe331e2", "receipt_key": null, "requires_review": 0, "review_reason": "strong_income_pattern", "rule_id": "bank_review", "rule_name": null, "source_file_label": "Kontoauszug_360 Tage_AKB.csv", "source_priority": 80, "source_row_or_range": "R27", "source_type": "akb_bank", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_32b77a022cffd65563c00036", "transaction_date": "2026-04-24", "updated_at": "2026-05-18T12:52:09Z"}


audit_id: e6587e96-6539-48b4-b66e-d909cb06d764
timestamp: 2026-05-18T17:16:35.714969+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_783e6b57a0e84b9b
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_32b77a022cffd65563c00036
confirmation_timestamp: 2026-05-18T17:16:35.714969+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:16:35.714969+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "349.9", "amount_original": "349.9", "booking_date": null, "budget_transaction_id": "btx_783e6b57a0e84b9b", "category_id": "bcat_incomelohnmelanie", "currency_original": "CHF", "description": "Zahlungseingang / Ref.-Nr. 1523127964 Gasser Bauunternehmen GmbH", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_32b77a022cffd65563c00036", "payee": null, "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_32b77a022cffd65563c00036", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-04-24", "transaction_type": "income"}


audit_id: 031c31c5-684b-4618-9b51-ca02c6e0c137
timestamp: 2026-05-18T17:16:35.732145+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_32b77a022cffd65563c00036
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T17:16:35.732145+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:16:35.732145+00:00
new_values_json:
  {"category_id": "bcat_incomelohnmelanie", "confirmed_transaction_id": "btx_783e6b57a0e84b9b", "status": "confirmed"}


audit_id: 48401674-264b-4ac9-97c5-5ad90eb998c5
timestamp: 2026-05-18T17:16:45.624525+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_1329569b508b08c3e0c51868
new_values_json: {"category_id": "bcat_incomelohnmelanie", "category_name": "Lohn Melanie"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T17:16:45.624525+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:16:45.624525+00:00
old_values_json:
  {"account_source": null, "amount_original": "209.95", "classification": "income_candidate", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:04Z", "currency_original": "CHF", "description": "Zahlungseingang / Ref.-Nr. 1512126454 Gasser Bauunternehmen GmbH", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": null, "merchant_display_name": null, "merchant_id": null, "notes": "{\"transaction_type\": \"income\", \"reason\": \"strong_income_pattern\", \"reclassified_by\": \"income_csv_recognition_v1\"}", "proposed_category_id": "bcat_eccbd333bd79493b", "proposed_category_name": "Lohn Marcel", "raw_fingerprint": "50dd1497958c07b1880f477fddffae3c", "receipt_key": null, "requires_review": 0, "review_reason": "strong_income_pattern", "rule_id": "bank_review", "rule_name": null, "source_file_label": "Kontoauszug_360 Tage_AKB.csv", "source_priority": 80, "source_row_or_range": "R51", "source_type": "akb_bank", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_1329569b508b08c3e0c51868", "transaction_date": "2026-03-25", "updated_at": "2026-05-18T12:52:09Z"}


audit_id: 32a13dd3-bf39-4bde-922d-aaf109794982
timestamp: 2026-05-18T17:16:48.404418+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_f49128583ea74faf
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_1329569b508b08c3e0c51868
confirmation_timestamp: 2026-05-18T17:16:48.404418+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:16:48.404418+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "209.95", "amount_original": "209.95", "booking_date": null, "budget_transaction_id": "btx_f49128583ea74faf", "category_id": "bcat_incomelohnmelanie", "currency_original": "CHF", "description": "Zahlungseingang / Ref.-Nr. 1512126454 Gasser Bauunternehmen GmbH", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_1329569b508b08c3e0c51868", "payee": null, "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_1329569b508b08c3e0c51868", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-03-25", "transaction_type": "income"}


audit_id: 9ebf5329-7d67-4e11-8d1b-0ce06555b2c5
timestamp: 2026-05-18T17:16:48.427886+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_1329569b508b08c3e0c51868
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T17:16:48.427886+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:16:48.427886+00:00
new_values_json:
  {"category_id": "bcat_incomelohnmelanie", "confirmed_transaction_id": "btx_f49128583ea74faf", "status": "confirmed"}


audit_id: d18f42af-77ac-4f07-b272-8a9a457dc2ab
timestamp: 2026-05-18T17:16:55.131784+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_97ff0bb6d8cf21388dffb0c2
new_values_json: {"category_id": "bcat_incomelohnmelanie", "category_name": "Lohn Melanie"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T17:16:55.131784+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:16:55.131784+00:00
old_values_json:
  {"account_source": null, "amount_original": "332.4", "classification": "income_candidate", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:04Z", "currency_original": "CHF", "description": "Zahlungseingang / Ref.-Nr. 1502606862 Gasser Bauunternehmen GmbH", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": null, "merchant_display_name": null, "merchant_id": null, "notes": "{\"transaction_type\": \"income\", \"reason\": \"strong_income_pattern\", \"reclassified_by\": \"income_csv_recognition_v1\"}", "proposed_category_id": "bcat_eccbd333bd79493b", "proposed_category_name": "Lohn Marcel", "raw_fingerprint": "046978b5529161c31c057477ea1885b0", "receipt_key": null, "requires_review": 0, "review_reason": "strong_income_pattern", "rule_id": "bank_review", "rule_name": null, "source_file_label": "Kontoauszug_360 Tage_AKB.csv", "source_priority": 80, "source_row_or_range": "R82", "source_type": "akb_bank", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_97ff0bb6d8cf21388dffb0c2", "transaction_date": "2026-02-26", "updated_at": "2026-05-18T12:52:09Z"}


audit_id: 31d0e1b0-3214-4da9-8d83-145d4634646e
timestamp: 2026-05-18T17:16:57.810733+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_0f8453dc23904087
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_97ff0bb6d8cf21388dffb0c2
confirmation_timestamp: 2026-05-18T17:16:57.810733+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:16:57.810733+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "332.4", "amount_original": "332.4", "booking_date": null, "budget_transaction_id": "btx_0f8453dc23904087", "category_id": "bcat_incomelohnmelanie", "currency_original": "CHF", "description": "Zahlungseingang / Ref.-Nr. 1502606862 Gasser Bauunternehmen GmbH", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_97ff0bb6d8cf21388dffb0c2", "payee": null, "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_97ff0bb6d8cf21388dffb0c2", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-26", "transaction_type": "income"}


audit_id: b7092001-b2a9-4dbb-adb3-983ccce79553
timestamp: 2026-05-18T17:16:57.834840+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_97ff0bb6d8cf21388dffb0c2
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T17:16:57.834840+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:16:57.834840+00:00
new_values_json:
  {"category_id": "bcat_incomelohnmelanie", "confirmed_transaction_id": "btx_0f8453dc23904087", "status": "confirmed"}


audit_id: 507f5b35-9964-41cf-884e-5a42c8d73895
timestamp: 2026-05-18T17:17:05.272296+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_71c65a163115220a611a0bcd
new_values_json: {"category_id": "bcat_incomelohnmelanie", "category_name": "Lohn Melanie"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T17:17:05.272296+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:17:05.272296+00:00
old_values_json:
  {"account_source": null, "amount_original": "139.95", "classification": "income_candidate", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:04Z", "currency_original": "CHF", "description": "Zahlungseingang / Ref.-Nr. 1491518722 Gasser Bauunternehmen GmbH", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": null, "merchant_display_name": null, "merchant_id": null, "notes": "{\"transaction_type\": \"income\", \"reason\": \"strong_income_pattern\", \"reclassified_by\": \"income_csv_recognition_v1\"}", "proposed_category_id": "bcat_eccbd333bd79493b", "proposed_category_name": "Lohn Marcel", "raw_fingerprint": "7bee2c3bdfdc04f4e994273f1b364920", "receipt_key": null, "requires_review": 0, "review_reason": "strong_income_pattern", "rule_id": "bank_review", "rule_name": null, "source_file_label": "Kontoauszug_360 Tage_AKB.csv", "source_priority": 80, "source_row_or_range": "R112", "source_type": "akb_bank", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_71c65a163115220a611a0bcd", "transaction_date": "2026-01-26", "updated_at": "2026-05-18T12:52:09Z"}


audit_id: 138d88e1-368c-449e-99b4-e0a6060215f9
timestamp: 2026-05-18T17:17:08.766328+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_6084305547394937
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_71c65a163115220a611a0bcd
confirmation_timestamp: 2026-05-18T17:17:08.766328+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:17:08.766328+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "139.95", "amount_original": "139.95", "booking_date": null, "budget_transaction_id": "btx_6084305547394937", "category_id": "bcat_incomelohnmelanie", "currency_original": "CHF", "description": "Zahlungseingang / Ref.-Nr. 1491518722 Gasser Bauunternehmen GmbH", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_71c65a163115220a611a0bcd", "payee": null, "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_71c65a163115220a611a0bcd", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-26", "transaction_type": "income"}


audit_id: 97a92276-f806-4517-96d4-41685a4357a9
timestamp: 2026-05-18T17:17:08.792344+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_71c65a163115220a611a0bcd
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T17:17:08.792344+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:17:08.792344+00:00
new_values_json:
  {"category_id": "bcat_incomelohnmelanie", "confirmed_transaction_id": "btx_6084305547394937", "status": "confirmed"}


audit_id: f39a5d44-8702-4ec5-96d6-57101ff34fd7
timestamp: 2026-05-18T17:17:59.673802+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_2cc80dc8194693de35049d39
new_values_json: {"category_id": "bcat_incomer\u00fcckerstattungen", "category_name": "R\u00fcckerstattungen"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T17:17:59.673802+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:17:59.673802+00:00
old_values_json:
  {"account_source": null, "amount_original": "100", "classification": "possible_income", "confidence": "0.65", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:04Z", "currency_original": "CHF", "description": "TWINT-Gutschrift Geld erhalten von", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": null, "merchant_display_name": null, "merchant_id": null, "notes": "{\"transaction_type\": \"income\", \"reason\": \"possible_income_pattern\", \"reclassified_by\": \"income_csv_recognition_v1\"}", "proposed_category_id": "bcat_eccbd333bd79493b", "proposed_category_name": "Lohn Marcel", "raw_fingerprint": "038aff389121219cb0e355473e2b4266", "receipt_key": null, "requires_review": 1, "review_reason": "possible_income_pattern", "rule_id": "bank_review", "rule_name": null, "source_file_label": "Kontoauszug_360 Tage_AKB.csv", "source_priority": 80, "source_row_or_range": "R2", "source_type": "akb_bank", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_2cc80dc8194693de35049d39", "transaction_date": "2026-05-18", "updated_at": "2026-05-18T12:52:09Z"}


audit_id: 077a3a71-57a3-40d0-a586-a6d49796478c
timestamp: 2026-05-18T17:18:55.484059+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_2cc80dc8194693de35049d39
new_values_json: {"category_id": "bcat_73be2f95230c462c", "category_name": "Sonstige Einnahmen"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T17:18:55.484059+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:18:55.484059+00:00
old_values_json:
  {"account_source": null, "amount_original": "100", "classification": "possible_income", "confidence": "0.65", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:04Z", "currency_original": "CHF", "description": "TWINT-Gutschrift Geld erhalten von", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": null, "merchant_display_name": null, "merchant_id": null, "notes": "{\"transaction_type\": \"income\", \"reason\": \"possible_income_pattern\", \"reclassified_by\": \"income_csv_recognition_v1\"}", "proposed_category_id": "bcat_incomer\u00fcckerstattungen", "proposed_category_name": "R\u00fcckerstattungen", "raw_fingerprint": "038aff389121219cb0e355473e2b4266", "receipt_key": null, "requires_review": 0, "review_reason": "user_category_override", "rule_id": "bank_review", "rule_name": null, "source_file_label": "Kontoauszug_360 Tage_AKB.csv", "source_priority": 80, "source_row_or_range": "R2", "source_type": "akb_bank", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_2cc80dc8194693de35049d39", "transaction_date": "2026-05-18", "updated_at": "2026-05-18T17:17:59Z"}


audit_id: c5d8bf93-d7f4-4656-9e30-4ba125d30be3
timestamp: 2026-05-18T17:19:03.109956+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_9e4e41220c9c4775
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_2cc80dc8194693de35049d39
confirmation_timestamp: 2026-05-18T17:19:03.109956+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:19:03.109956+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "100", "amount_original": "100", "booking_date": null, "budget_transaction_id": "btx_9e4e41220c9c4775", "category_id": "bcat_73be2f95230c462c", "currency_original": "CHF", "description": "TWINT-Gutschrift Geld erhalten von", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_2cc80dc8194693de35049d39", "payee": null, "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_2cc80dc8194693de35049d39", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-05-18", "transaction_type": "income"}


audit_id: ec8067ad-8074-463f-ad89-a5fe794a18ef
timestamp: 2026-05-18T17:19:03.134901+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_2cc80dc8194693de35049d39
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T17:19:03.134901+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:19:03.134901+00:00
new_values_json:
  {"category_id": "bcat_73be2f95230c462c", "confirmed_transaction_id": "btx_9e4e41220c9c4775", "status": "confirmed"}


audit_id: 284c5717-46c0-4ed2-a492-904af53f77cc
timestamp: 2026-05-18T17:19:09.126204+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_f22fda2297afcefa6aef4125
new_values_json: {"category_id": "bcat_73be2f95230c462c", "category_name": "Sonstige Einnahmen"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T17:19:09.126204+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:19:09.126204+00:00
old_values_json:
  {"account_source": null, "amount_original": "100", "classification": "possible_income", "confidence": "0.65", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:04Z", "currency_original": "CHF", "description": "TWINT-Gutschrift Geld erhalten von", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": null, "merchant_display_name": null, "merchant_id": null, "notes": "{\"transaction_type\": \"income\", \"reason\": \"possible_income_pattern\", \"reclassified_by\": \"income_csv_recognition_v1\"}", "proposed_category_id": "bcat_eccbd333bd79493b", "proposed_category_name": "Lohn Marcel", "raw_fingerprint": "0685da8549ffdcb95c039dfcdcc73404", "receipt_key": null, "requires_review": 1, "review_reason": "possible_income_pattern", "rule_id": "bank_review", "rule_name": null, "source_file_label": "Kontoauszug_360 Tage_AKB.csv", "source_priority": 80, "source_row_or_range": "R39", "source_type": "akb_bank", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_f22fda2297afcefa6aef4125", "transaction_date": "2026-04-10", "updated_at": "2026-05-18T12:52:09Z"}


audit_id: 1014e99f-253a-4503-aeb3-cc691de32a52
timestamp: 2026-05-18T17:19:12.068764+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_25123236a8484a58
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_f22fda2297afcefa6aef4125
confirmation_timestamp: 2026-05-18T17:19:12.068764+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:19:12.068764+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "100", "amount_original": "100", "booking_date": null, "budget_transaction_id": "btx_25123236a8484a58", "category_id": "bcat_73be2f95230c462c", "currency_original": "CHF", "description": "TWINT-Gutschrift Geld erhalten von", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_f22fda2297afcefa6aef4125", "payee": null, "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_f22fda2297afcefa6aef4125", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-04-10", "transaction_type": "income"}


audit_id: 8179e32b-c30e-4d9d-a00d-073bce2532cf
timestamp: 2026-05-18T17:19:12.090077+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_f22fda2297afcefa6aef4125
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T17:19:12.090077+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:19:12.090077+00:00
new_values_json:
  {"category_id": "bcat_73be2f95230c462c", "confirmed_transaction_id": "btx_25123236a8484a58", "status": "confirmed"}


audit_id: 4c79eb95-e585-4d3b-89cb-b5b0f779ba45
timestamp: 2026-05-18T17:19:18.469400+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_58eadb0fb78d0c2abfa69343
new_values_json: {"category_id": "bcat_73be2f95230c462c", "category_name": "Sonstige Einnahmen"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T17:19:18.469400+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:19:18.469400+00:00
old_values_json:
  {"account_source": null, "amount_original": "20", "classification": "possible_income", "confidence": "0.65", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:04Z", "currency_original": "CHF", "description": "TWINT-Gutschrift Geld erhalten von", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": null, "merchant_display_name": null, "merchant_id": null, "notes": "{\"transaction_type\": \"income\", \"reason\": \"possible_income_pattern\", \"reclassified_by\": \"income_csv_recognition_v1\"}", "proposed_category_id": "bcat_eccbd333bd79493b", "proposed_category_name": "Lohn Marcel", "raw_fingerprint": "4d2de3096f679b8c0af43e2fb99f2b54", "receipt_key": null, "requires_review": 1, "review_reason": "possible_income_pattern", "rule_id": "bank_review", "rule_name": null, "source_file_label": "Kontoauszug_360 Tage_AKB.csv", "source_priority": 80, "source_row_or_range": "R57", "source_type": "akb_bank", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_58eadb0fb78d0c2abfa69343", "transaction_date": "2026-03-20", "updated_at": "2026-05-18T12:52:09Z"}


audit_id: 84f5b732-316a-4a94-bcca-835391f2a348
timestamp: 2026-05-18T17:19:22.112612+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_541938e1ca75430a
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_58eadb0fb78d0c2abfa69343
confirmation_timestamp: 2026-05-18T17:19:22.112612+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:19:22.112612+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "20", "amount_original": "20", "booking_date": null, "budget_transaction_id": "btx_541938e1ca75430a", "category_id": "bcat_73be2f95230c462c", "currency_original": "CHF", "description": "TWINT-Gutschrift Geld erhalten von", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_58eadb0fb78d0c2abfa69343", "payee": null, "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_58eadb0fb78d0c2abfa69343", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-03-20", "transaction_type": "income"}


audit_id: 8e25c552-be33-40a4-8832-3af64c020f7e
timestamp: 2026-05-18T17:19:22.136906+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_58eadb0fb78d0c2abfa69343
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T17:19:22.136906+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T17:19:22.136906+00:00
new_values_json:
  {"category_id": "bcat_73be2f95230c462c", "confirmed_transaction_id": "btx_541938e1ca75430a", "status": "confirmed"}


audit_id: 8f0e866f-3875-44ce-94a2-770a9ea56a51
timestamp: 2026-05-18T18:09:23.417081+00:00
source: vue_dashboard
action: delete_empty
entity_type: budget_category
entity_id: bcat_children_family
new_values_json: {}
confirmation_timestamp: 2026-05-18T18:09:23.417081+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T18:09:23.417081+00:00
old_values_json:
  {"category_id": "bcat_children_family", "category_type": "expense", "color": null, "created_at": "2026-05-16T22:54:41.089402+00:00", "icon": null, "is_active": 1, "name": "Kinder/Familie", "parent_category_id": null, "sort_order": 16, "updated_at": "2026-05-16T22:54:41.089402+00:00"}


audit_id: 93cfd5ab-dc22-4cc2-bb03-2ca640c8fdcf
timestamp: 2026-05-18T19:34:19.054989+00:00
source: category_cleanup_v1
action: category_mapped_and_archived
entity_type: budget_category
entity_id: bcat_mobility
new_values_json: {"target_category_id": "bcat_expenseautomelanie", "target_name": "Auto Melanie"}
confirmation_timestamp: 2026-05-18T19:34:19.054989+00:00
created_by: system
quality_status: ok
created_at: 2026-05-18T19:34:19.054989+00:00
old_values_json:
  {"category_id": "bcat_mobility", "category_type": "expense", "color": null, "created_at": "2026-05-16T22:54:41.089402+00:00", "icon": null, "is_active": 1, "name": "Mobilit\u00e4t", "parent_category_id": null, "sort_order": 13, "updated_at": "2026-05-16T22:54:41.089402+00:00"}


audit_id: 38a763d6-2f60-478c-b62e-faafa8a151df
timestamp: 2026-05-18T19:34:19.055519+00:00
source: category_cleanup_v1
action: category_mapped_and_archived
entity_type: budget_category
entity_id: bcat_leisure_subs
new_values_json: {"target_category_id": "bcat_expensehobbysundselfcare", "target_name": "Hobbys & Selfcare"}
confirmation_timestamp: 2026-05-18T19:34:19.055519+00:00
created_by: system
quality_status: ok
created_at: 2026-05-18T19:34:19.055519+00:00
old_values_json:
  {"category_id": "bcat_leisure_subs", "category_type": "expense", "color": null, "created_at": "2026-05-16T22:54:41.089402+00:00", "icon": null, "is_active": 1, "name": "Freizeit/Abos", "parent_category_id": null, "sort_order": 17, "updated_at": "2026-05-16T22:54:41.089402+00:00"}


audit_id: 6c149813-d29f-4a6a-a609-766bf65035a5
timestamp: 2026-05-18T19:34:19.056519+00:00
source: category_cleanup_v1
action: category_mapped_and_archived
entity_type: budget_category
entity_id: bcat_insurance
new_values_json: {"target_category_id": "bcat_expenseversicherungenwohnen", "target_name": "Versicherungen Wohnen"}
confirmation_timestamp: 2026-05-18T19:34:19.056519+00:00
created_by: system
quality_status: ok
created_at: 2026-05-18T19:34:19.056519+00:00
old_values_json:
  {"category_id": "bcat_insurance", "category_type": "expense", "color": null, "created_at": "2026-05-16T22:54:41.089402+00:00", "icon": null, "is_active": 1, "name": "Versicherungen", "parent_category_id": null, "sort_order": 30, "updated_at": "2026-05-17T15:15:00Z"}


audit_id: ecf25cc5-b80b-46f1-9614-2ede26a79e24
timestamp: 2026-05-18T19:34:19.056758+00:00
source: category_cleanup_v1
action: category_mapped_and_archived
entity_type: budget_category
entity_id: bcat_expensegesundheitmedizin
new_values_json: {"target_category_id": "bcat_health", "target_name": "Gesundheit"}
confirmation_timestamp: 2026-05-18T19:34:19.056758+00:00
created_by: system
quality_status: ok
created_at: 2026-05-18T19:34:19.056758+00:00
old_values_json:
  {"category_id": "bcat_expensegesundheitmedizin", "category_type": "expense", "color": null, "created_at": "2026-05-17T15:15:00Z", "icon": null, "is_active": 1, "name": "Gesundheit / Medizin", "parent_category_id": null, "sort_order": 40, "updated_at": "2026-05-17T15:15:00Z"}


audit_id: 8115bbbe-8474-4c2e-8c02-0b6bd94afe44
timestamp: 2026-05-18T19:34:19.056983+00:00
source: category_cleanup_v1
action: category_mapped_and_archived
entity_type: budget_category
entity_id: bcat_expensemobilitätautotransport
new_values_json: {"target_category_id": "bcat_expenseautomelanie", "target_name": "Auto Melanie"}
confirmation_timestamp: 2026-05-18T19:34:19.056983+00:00
created_by: system
quality_status: ok
created_at: 2026-05-18T19:34:19.056983+00:00
old_values_json:
  {"category_id": "bcat_expensemobilit\u00e4tautotransport", "category_type": "expense", "color": null, "created_at": "2026-05-17T15:15:00Z", "icon": null, "is_active": 1, "name": "Mobilit\u00e4t / Auto / Transport", "parent_category_id": null, "sort_order": 50, "updated_at": "2026-05-17T15:15:00Z"}


audit_id: 0c24318b-f32e-4a6f-bb45-c1b8a8c58ea4
timestamp: 2026-05-18T19:34:19.057200+00:00
source: category_cleanup_v1
action: category_mapped_and_archived
entity_type: budget_category
entity_id: bcat_expensefreizeitabosausflüge
new_values_json: {"target_category_id": "bcat_expensehobbysundselfcare", "target_name": "Hobbys & Selfcare"}
confirmation_timestamp: 2026-05-18T19:34:19.057200+00:00
created_by: system
quality_status: ok
created_at: 2026-05-18T19:34:19.057200+00:00
old_values_json:
  {"category_id": "bcat_expensefreizeitabosausfl\u00fcge", "category_type": "expense", "color": null, "created_at": "2026-05-17T15:15:00Z", "icon": null, "is_active": 1, "name": "Freizeit / Abos / Ausfl\u00fcge", "parent_category_id": null, "sort_order": 70, "updated_at": "2026-05-17T15:15:00Z"}


audit_id: 96407ec1-b182-4e97-8289-33abad4099b5
timestamp: 2026-05-18T19:34:19.057413+00:00
source: category_cleanup_v1
action: category_mapped_and_archived
entity_type: budget_category
entity_id: bcat_expensehausratmöbelundgarten
confirmation_timestamp: 2026-05-18T19:34:19.057413+00:00
created_by: system
quality_status: ok
created_at: 2026-05-18T19:34:19.057413+00:00
old_values_json:
  {"category_id": "bcat_expensehausratm\u00f6belundgarten", "category_type": "expense", "color": null, "created_at": "2026-05-17T15:15:00Z", "icon": null, "is_active": 1, "name": "Hausrat / M\u00f6bel & Garten", "parent_category_id": null, "sort_order": 80, "updated_at": "2026-05-17T15:15:00Z"}

new_values_json:
  {"target_category_id": "bcat_expenseeinmaligeanschaffungen", "target_name": "Einmalige Anschaffungen"}


audit_id: d84891d0-f4a7-4d5d-8047-6f0421872fe4
timestamp: 2026-05-18T19:34:19.057517+00:00
source: category_cleanup_v1
action: category_mapped_and_archived
entity_type: budget_category
entity_id: bcat_expensesteuernbehörden
new_values_json: {"target_category_id": "bcat_taxes", "target_name": "Steuern"}
confirmation_timestamp: 2026-05-18T19:34:19.057517+00:00
created_by: system
quality_status: ok
created_at: 2026-05-18T19:34:19.057517+00:00
old_values_json:
  {"category_id": "bcat_expensesteuernbeh\u00f6rden", "category_type": "expense", "color": null, "created_at": "2026-05-17T15:15:00Z", "icon": null, "is_active": 1, "name": "Steuern / Beh\u00f6rden", "parent_category_id": null, "sort_order": 110, "updated_at": "2026-05-17T15:15:00Z"}


audit_id: 69178567-931f-4986-86e1-06cd61ff2b8c
timestamp: 2026-05-18T19:34:19.057835+00:00
source: vue_dashboard
action: delete_empty
entity_type: budget_category
entity_id: bcat_children_family
new_values_json: {}
confirmation_timestamp: 2026-05-18T19:34:19.057835+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T19:34:19.057835+00:00
old_values_json:
  {"category_id": "bcat_children_family", "category_type": "expense", "color": null, "created_at": "2026-05-18T19:09:17.601357+00:00", "icon": null, "is_active": 1, "name": "Kinder/Familie", "parent_category_id": null, "sort_order": 16, "updated_at": "2026-05-18T19:09:17.601357+00:00"}


audit_id: 819357fa-ad1f-42d4-8e6d-6bf069694d45
timestamp: 2026-05-18T19:34:19.074407+00:00
source: vue_dashboard
action: delete_empty
entity_type: budget_category
entity_id: bcat_travel
new_values_json: {}
confirmation_timestamp: 2026-05-18T19:34:19.074407+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T19:34:19.074407+00:00
old_values_json:
  {"category_id": "bcat_travel", "category_type": "expense", "color": null, "created_at": "2026-05-16T22:54:41.089402+00:00", "icon": null, "is_active": 1, "name": "Ferien/Reisen", "parent_category_id": null, "sort_order": 18, "updated_at": "2026-05-16T22:54:41.089402+00:00"}


audit_id: 2abc66e2-d8a1-41c5-8717-f1011fdc41cd
timestamp: 2026-05-18T19:34:19.082920+00:00
source: vue_dashboard
action: delete_empty
entity_type: budget_category
entity_id: bcat_expensekinderfamilie
new_values_json: {}
confirmation_timestamp: 2026-05-18T19:34:19.082920+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T19:34:19.082920+00:00
old_values_json:
  {"category_id": "bcat_expensekinderfamilie", "category_type": "expense", "color": null, "created_at": "2026-05-17T15:15:00Z", "icon": null, "is_active": 1, "name": "Kinder / Familie", "parent_category_id": null, "sort_order": 60, "updated_at": "2026-05-17T15:15:00Z"}


audit_id: f00d8bca-4a19-4835-b65c-8c5a2ff501bf
timestamp: 2026-05-18T19:36:39.173786+00:00
source: vue_dashboard
action: archive
entity_type: budget_category
entity_id: bcat_expensesonstigesadministration
new_values_json: {"dashboard_hidden": true, "is_active": 0}
confirmation_timestamp: 2026-05-18T19:36:39.173786+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T19:36:39.173786+00:00
old_values_json:
  {"category_id": "bcat_expensesonstigesadministration", "category_type": "expense", "color": null, "created_at": "2026-05-17T15:15:00Z", "icon": null, "is_active": 1, "name": "Sonstiges / Administration", "parent_category_id": null, "sort_order": 120, "updated_at": "2026-05-17T15:15:00Z"}


audit_id: 8ef7c4fd-469d-4287-9874-8efb91e5cfb2
timestamp: 2026-05-18T19:36:50.956497+00:00
source: vue_dashboard
action: delete_empty
entity_type: budget_category
entity_id: bcat_expensereviewnötig
new_values_json: {}
confirmation_timestamp: 2026-05-18T19:36:50.956497+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T19:36:50.956497+00:00
old_values_json:
  {"category_id": "bcat_expensereviewn\u00f6tig", "category_type": "expense", "color": null, "created_at": "2026-05-17T15:15:00Z", "icon": null, "is_active": 1, "name": "Review n\u00f6tig", "parent_category_id": null, "sort_order": 130, "updated_at": "2026-05-17T15:15:00Z"}


audit_id: a843a826-cdde-47d5-acf3-7ebfea79cf9c
timestamp: 2026-05-18T19:38:27.749447+00:00
source: vue_dashboard
action: budget_category_reordered
entity_type: budget_category
entity_id: reorder
confirmation_timestamp: 2026-05-18T19:38:27.749447+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T19:38:27.749447+00:00
old_values_json:
  {"order": [{"category_id": "bcat_food_household", "sort_order": 10}, {"category_id": "bcat_expenseversicherungenwohnen", "sort_order": 20}, {"category_id": "bcat_expenseversicherungenleben", "sort_order": 30}, {"category_id": "bcat_expensekrankenkasse", "sort_order": 40}, {"category_id": "bcat_expenseautomelanie", "sort_order": 50}, {"category_id": "bcat_housing", "sort_order": 60}, {"category_id": "bcat_expenseelektronischemedien", "sort_order": 70}, {"category_id": "bcat_expenseweiterbildungundmusik", "sort_order": 80}, {"category_id": "bcat_health", "sort_order": 90}, {"category_id": "bcat_expenseshoppingkleidungundelektronik", "sort_order": 90}, {"category_id": "bcat_expensehaustiere", "sort_order": 100}, {"category_id": "bcat_taxes", "sort_order": 110}, {"category_id": "bcat_expensespenden", "sort_order": 120}, {"category_id": "bcat_expensehobbysundselfcare", "sort_order": 130}, {"category_id": "bcat_expenseliegenschaftsunterhalt", "sort_order": 140}, {"category_id": "bcat_expenseliegenschaftsinvestitionen", "sort_order": 150}, {"category_id": "bcat_expenseeinmaligeanschaffungen", "sort_order": 160}, {"category_id": "bcat_expensekleiderundschuhe", "sort_order": 170}]}

new_values_json:
  {"order": [{"category_id": "bcat_food_household", "sort_order": 10}, {"category_id": "bcat_expenseversicherungenwohnen", "sort_order": 20}, {"category_id": "bcat_expenseversicherungenleben", "sort_order": 30}, {"category_id": "bcat_expensekrankenkasse", "sort_order": 40}, {"category_id": "bcat_expenseautomelanie", "sort_order": 50}, {"category_id": "bcat_housing", "sort_order": 60}, {"category_id": "bcat_expenseelektronischemedien", "sort_order": 70}, {"category_id": "bcat_expenseweiterbildungundmusik", "sort_order": 80}, {"category_id": "bcat_health", "sort_order": 90}, {"category_id": "bcat_expenseshoppingkleidungundelektronik", "sort_order": 100}, {"category_id": "bcat_expensehaustiere", "sort_order": 110}, {"category_id": "bcat_taxes", "sort_order": 120}, {"category_id": "bcat_expensespenden", "sort_order": 130}, {"category_id": "bcat_expensehobbysundselfcare", "sort_order": 140}, {"category_id": "bcat_expenseliegenschaftsunterhalt", "sort_order": 150}, {"category_id": "bcat_expenseliegenschaftsinvestitionen", "sort_order": 160}, {"category_id": "bcat_expenseeinmaligeanschaffungen", "sort_order": 170}, {"category_id": "bcat_expensekleiderundschuhe", "sort_order": 180}], "updated_count": 9}


audit_id: 4c8e1bb1-9002-4a87-acb5-9386d4bf1abf
timestamp: 2026-05-18T19:39:04.211874+00:00
source: vue_dashboard
action: archive
entity_type: budget_category
entity_id: bcat_expenseshoppingkleidungundelektronik
new_values_json: {"dashboard_hidden": true, "is_active": 0}
confirmation_timestamp: 2026-05-18T19:39:04.211874+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T19:39:04.211874+00:00
old_values_json:
  {"category_id": "bcat_expenseshoppingkleidungundelektronik", "category_type": "expense", "color": null, "created_at": "2026-05-17T15:15:00Z", "icon": null, "is_active": 1, "name": "Shopping / Kleidung & Elektronik", "parent_category_id": null, "sort_order": 100, "updated_at": "2026-05-18T19:38:27Z"}


audit_id: dcfd7227-51f4-42b6-9450-00bd32e0fc85
timestamp: 2026-05-18T19:39:15.631583+00:00
source: category_cleanup_v1
action: budget_category_cleanup_confirmed
entity_type: budget_category
entity_id: expense_cleanup_v1
old_values_json: {}
confirmation_timestamp: 2026-05-18T19:39:15.631583+00:00
created_by: system
quality_status: ok
created_at: 2026-05-18T19:39:15.631583+00:00
new_values_json:
  {"archived_categories": 0, "deleted_empty_categories": 0, "moved_budget_plans": 0, "moved_merchants": 0, "moved_rules": 0, "moved_transactions": 0}


audit_id: 77016751-2f6b-456d-ae1f-7871b1fc9948
timestamp: 2026-05-18T20:18:48.552865+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_f11e1ab9dc0170d9893df720
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:18:48.552865+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:18:48.552865+00:00
old_values_json:
  {"account_source": null, "amount_original": "6.000", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:07Z", "currency_original": "CHF", "description": "ParkDepot GmbH", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "ParkDepot GmbH", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "f11e1ab9dc0170d9893df720dede2599", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "VISA Kreditkarte 2025_2026.csv", "source_priority": 70, "source_row_or_range": "R759", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_f11e1ab9dc0170d9893df720", "transaction_date": "2026-02-07", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: 59ce847f-f0f0-408c-9925-bff305024853
timestamp: 2026-05-18T20:19:13.209174+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_ed24c59354de434e
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_f11e1ab9dc0170d9893df720
confirmation_timestamp: 2026-05-18T20:19:13.209174+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:19:13.209174+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "6.000", "amount_original": "6.000", "booking_date": null, "budget_transaction_id": "btx_ed24c59354de434e", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "ParkDepot GmbH", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_f11e1ab9dc0170d9893df720", "payee": "ParkDepot GmbH", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_f11e1ab9dc0170d9893df720", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-07", "transaction_type": "expense"}


audit_id: 4a112261-e2e8-46c4-8139-09c5d0c03677
timestamp: 2026-05-18T20:19:13.232874+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_f11e1ab9dc0170d9893df720
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T20:19:13.232874+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:19:13.232874+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_ed24c59354de434e", "status": "confirmed"}


audit_id: 2cbfa062-bf30-4ee2-8b2c-0308c3b3a02f
timestamp: 2026-05-18T20:19:21.389310+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_ef99a56c1a440ce5eeb76113
new_values_json: {"category_id": "bcat_expensehobbysundselfcare", "category_name": "Hobbys & Selfcare"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:19:21.389310+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:19:21.389310+00:00
old_values_json:
  {"account_source": null, "amount_original": "33.500", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:07Z", "currency_original": "CHF", "description": "Thermalbad Zurzach Betrie", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Thermalbad Zurzach Betrie", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "ef99a56c1a440ce5eeb76113a4256ad2", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "VISA Kreditkarte 2025_2026.csv", "source_priority": 70, "source_row_or_range": "R763", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_ef99a56c1a440ce5eeb76113", "transaction_date": "2026-02-11", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: 9b88cb6e-2364-4bbe-991b-f87d9f2a0369
timestamp: 2026-05-18T20:19:27.848279+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_543db6babec04cb2
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_ef99a56c1a440ce5eeb76113
confirmation_timestamp: 2026-05-18T20:19:27.848279+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:19:27.848279+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "33.500", "amount_original": "33.500", "booking_date": null, "budget_transaction_id": "btx_543db6babec04cb2", "category_id": "bcat_expensehobbysundselfcare", "currency_original": "CHF", "description": "Thermalbad Zurzach Betrie", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_ef99a56c1a440ce5eeb76113", "payee": "Thermalbad Zurzach Betrie", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_ef99a56c1a440ce5eeb76113", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-11", "transaction_type": "expense"}


audit_id: 01b4cf7b-c82c-4568-a14c-dc46b9c55427
timestamp: 2026-05-18T20:19:27.872574+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_ef99a56c1a440ce5eeb76113
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T20:19:27.872574+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:19:27.872574+00:00
new_values_json:
  {"category_id": "bcat_expensehobbysundselfcare", "confirmed_transaction_id": "btx_543db6babec04cb2", "status": "confirmed"}


audit_id: d8229338-c4aa-4188-bfcc-a0965c24d428
timestamp: 2026-05-18T20:19:51.221859+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_e20a8db76e0c814d1a08e87d
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:19:51.221859+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:19:51.221859+00:00
old_values_json:
  {"account_source": null, "amount_original": "10.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:07Z", "currency_original": "CHF", "description": "Amazon Prime", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Amazon Prime", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_food_household", "proposed_category_name": "Essen & Haushalt", "raw_fingerprint": "e20a8db76e0c814d1a08e87de85ca635", "receipt_key": null, "requires_review": 1, "review_reason": "subscription_merchant_rule", "rule_id": "subscription_auto", "rule_name": null, "source_file_label": "VISA Kreditkarte 2025_2026.csv", "source_priority": 70, "source_row_or_range": "R786", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_e20a8db76e0c814d1a08e87d", "transaction_date": "2026-02-27", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: f88ca7ee-7431-4468-ba03-4766f2b90bbb
timestamp: 2026-05-18T20:19:54.165737+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_6559c95a19b44ca4
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_e20a8db76e0c814d1a08e87d
confirmation_timestamp: 2026-05-18T20:19:54.165737+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:19:54.165737+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "10.000", "amount_original": "10.000", "booking_date": null, "budget_transaction_id": "btx_6559c95a19b44ca4", "category_id": "bcat_expenseelektronischemedien", "currency_original": "CHF", "description": "Amazon Prime", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_e20a8db76e0c814d1a08e87d", "payee": "Amazon Prime", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_e20a8db76e0c814d1a08e87d", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-27", "transaction_type": "expense"}


audit_id: cbcc518c-3b5b-4f51-9ec3-05ae07a5d1f6
timestamp: 2026-05-18T20:19:54.190802+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_e20a8db76e0c814d1a08e87d
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T20:19:54.190802+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:19:54.190802+00:00
new_values_json:
  {"category_id": "bcat_expenseelektronischemedien", "confirmed_transaction_id": "btx_6559c95a19b44ca4", "status": "confirmed"}


audit_id: 79518267-3f27-4e65-bd75-e216ea3eb067
timestamp: 2026-05-18T20:21:10.893384+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_47c26efea892285e2c35d795
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:21:10.893384+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:21:10.893384+00:00
old_values_json:
  {"account_source": null, "amount_original": "0.800", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:07Z", "currency_original": "CHF", "description": "ParkplatzAnnerstrasse", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "ParkplatzAnnerstrasse", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "47c26efea892285e2c35d7954a9971cc", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "VISA Kreditkarte 2025_2026.csv", "source_priority": 70, "source_row_or_range": "R987", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_47c26efea892285e2c35d795", "transaction_date": "2026-01-27", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: da271f0c-15fb-4489-a0c5-b5a16992adc8
timestamp: 2026-05-18T20:21:14.496701+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_daa068a059ef4c49
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_47c26efea892285e2c35d795
confirmation_timestamp: 2026-05-18T20:21:14.496701+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:21:14.496701+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "0.800", "amount_original": "0.800", "booking_date": null, "budget_transaction_id": "btx_daa068a059ef4c49", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "ParkplatzAnnerstrasse", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_47c26efea892285e2c35d795", "payee": "ParkplatzAnnerstrasse", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_47c26efea892285e2c35d795", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-27", "transaction_type": "expense"}


audit_id: 0f1e8592-78fe-46b8-a279-7c9ba0a8f471
timestamp: 2026-05-18T20:21:14.519413+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_47c26efea892285e2c35d795
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T20:21:14.519413+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:21:14.519413+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_daa068a059ef4c49", "status": "confirmed"}


audit_id: b9ef6383-9a35-43c7-8360-d9fe1f93792d
timestamp: 2026-05-18T20:21:24.293096+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_448aeb220d9d5faf4b5f5a05
new_values_json: {"category_id": "bcat_health", "category_name": "Gesundheit"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:21:24.293096+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:21:24.293096+00:00
old_values_json:
  {"account_source": null, "amount_original": "5.300", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:07Z", "currency_original": "CHF", "description": "Rotpunkt Apotheken", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Rotpunkt Apotheken", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "448aeb220d9d5faf4b5f5a051a901bd7", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "VISA Kreditkarte 2025_2026.csv", "source_priority": 70, "source_row_or_range": "R988", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_448aeb220d9d5faf4b5f5a05", "transaction_date": "2026-01-29", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: 7fba4784-f925-4f01-9e3a-62a4a9e21750
timestamp: 2026-05-18T20:21:27.037228+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_16753bdd5f364efe
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_448aeb220d9d5faf4b5f5a05
confirmation_timestamp: 2026-05-18T20:21:27.037228+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:21:27.037228+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "5.300", "amount_original": "5.300", "booking_date": null, "budget_transaction_id": "btx_16753bdd5f364efe", "category_id": "bcat_health", "currency_original": "CHF", "description": "Rotpunkt Apotheken", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_448aeb220d9d5faf4b5f5a05", "payee": "Rotpunkt Apotheken", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_448aeb220d9d5faf4b5f5a05", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-29", "transaction_type": "expense"}


audit_id: 2051716a-714f-43b3-a9ac-34eaf9699f9f
timestamp: 2026-05-18T20:21:27.061819+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_448aeb220d9d5faf4b5f5a05
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T20:21:27.061819+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:21:27.061819+00:00
new_values_json:
  {"category_id": "bcat_health", "confirmed_transaction_id": "btx_16753bdd5f364efe", "status": "confirmed"}


audit_id: 1f0a496a-9ea5-4b48-9705-d8f5a3a7fe03
timestamp: 2026-05-18T20:21:43.077371+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_b4a0618d182387f12e990426
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:21:43.077371+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:21:43.077371+00:00
old_values_json:
  {"account_source": null, "amount_original": "46.000", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:07Z", "currency_original": "CHF", "description": "Restaurant Aquarena", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Restaurant Aquarena", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "b4a0618d182387f12e9904263a1296a3", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "VISA Kreditkarte 2025_2026.csv", "source_priority": 70, "source_row_or_range": "R1000", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_b4a0618d182387f12e990426", "transaction_date": "2026-02-07", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: 6c1300d4-0629-48f8-862a-45920327d419
timestamp: 2026-05-18T20:21:47.795877+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_68130d56ee0b4abe
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_b4a0618d182387f12e990426
confirmation_timestamp: 2026-05-18T20:21:47.795877+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:21:47.795877+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "46.000", "amount_original": "46.000", "booking_date": null, "budget_transaction_id": "btx_68130d56ee0b4abe", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Restaurant Aquarena", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_b4a0618d182387f12e990426", "payee": "Restaurant Aquarena", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_b4a0618d182387f12e990426", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-07", "transaction_type": "expense"}


audit_id: a7600617-7136-468e-8f51-3099db2d7981
timestamp: 2026-05-18T20:21:47.811167+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_b4a0618d182387f12e990426
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T20:21:47.811167+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:21:47.811167+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_68130d56ee0b4abe", "status": "confirmed"}


audit_id: 81ae6e0d-9b75-40ff-b57f-56d714e1642a
timestamp: 2026-05-18T20:21:54.381745+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_723035796699fdf490b4a75d
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:21:54.381745+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:21:54.381745+00:00
old_values_json:
  {"account_source": null, "amount_original": "14.150", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:07Z", "currency_original": "CHF", "description": "Coop", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Coop", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "723035796699fdf490b4a75ddafded27", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "VISA Kreditkarte 2025_2026.csv", "source_priority": 70, "source_row_or_range": "R990", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_723035796699fdf490b4a75d", "transaction_date": "2026-01-29", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: 53460811-c046-4af0-b46b-5176a959a613
timestamp: 2026-05-18T20:21:57.204700+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_67c518f9a1c841cb
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_723035796699fdf490b4a75d
confirmation_timestamp: 2026-05-18T20:21:57.204700+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:21:57.204700+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "14.150", "amount_original": "14.150", "booking_date": null, "budget_transaction_id": "btx_67c518f9a1c841cb", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Coop", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_723035796699fdf490b4a75d", "payee": "Coop", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_723035796699fdf490b4a75d", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-29", "transaction_type": "expense"}


audit_id: 9e6f925f-d6f5-48b8-9e01-260ae9075029
timestamp: 2026-05-18T20:21:57.228822+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_723035796699fdf490b4a75d
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T20:21:57.228822+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:21:57.228822+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_67c518f9a1c841cb", "status": "confirmed"}


audit_id: 0fd865b5-9ad2-4a6e-a241-8eb041b532df
timestamp: 2026-05-18T20:21:59.923856+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_f4cb1713f7b97368f6ad80f1
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:21:59.923856+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:21:59.923856+00:00
old_values_json:
  {"account_source": null, "amount_original": "61.000", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:07Z", "currency_original": "CHF", "description": "Restaurant Aquarena", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Restaurant Aquarena", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "f4cb1713f7b97368f6ad80f165d058b5", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "VISA Kreditkarte 2025_2026.csv", "source_priority": 70, "source_row_or_range": "R1001", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_f4cb1713f7b97368f6ad80f1", "transaction_date": "2026-02-07", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: 51bb65e8-82b2-4f06-958f-12e0bfef1876
timestamp: 2026-05-18T20:22:10.155212+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_f4cb1713f7b97368f6ad80f1
new_values_json: {"category_id": "bcat_expensehobbysundselfcare", "category_name": "Hobbys & Selfcare"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:22:10.155212+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:22:10.155212+00:00
old_values_json:
  {"account_source": null, "amount_original": "61.000", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:07Z", "currency_original": "CHF", "description": "Restaurant Aquarena", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Restaurant Aquarena", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": "bcat_food_household", "proposed_category_name": "Essen & Haushalt", "raw_fingerprint": "f4cb1713f7b97368f6ad80f165d058b5", "receipt_key": null, "requires_review": 0, "review_reason": "user_category_override", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "VISA Kreditkarte 2025_2026.csv", "source_priority": 70, "source_row_or_range": "R1001", "source_type": "visa_credit_card", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_f4cb1713f7b97368f6ad80f1", "transaction_date": "2026-02-07", "updated_at": "2026-05-18T20:21:59Z"}


audit_id: 8f7402c8-4556-4687-bfc1-a7c95853dbe0
timestamp: 2026-05-18T20:22:12.568341+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_ca54e9826ef64545
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_f4cb1713f7b97368f6ad80f1
confirmation_timestamp: 2026-05-18T20:22:12.568341+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:22:12.568341+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "61.000", "amount_original": "61.000", "booking_date": null, "budget_transaction_id": "btx_ca54e9826ef64545", "category_id": "bcat_expensehobbysundselfcare", "currency_original": "CHF", "description": "Restaurant Aquarena", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_f4cb1713f7b97368f6ad80f1", "payee": "Restaurant Aquarena", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_f4cb1713f7b97368f6ad80f1", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-07", "transaction_type": "expense"}


audit_id: f288cfc8-fa31-4095-a45e-16046c1d6273
timestamp: 2026-05-18T20:22:12.592469+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_f4cb1713f7b97368f6ad80f1
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T20:22:12.592469+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:22:12.592469+00:00
new_values_json:
  {"category_id": "bcat_expensehobbysundselfcare", "confirmed_transaction_id": "btx_ca54e9826ef64545", "status": "confirmed"}


audit_id: 384f0a79-aa48-47e1-bcf8-0d639852795f
timestamp: 2026-05-18T20:22:15.854723+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_9b04ed8a27c33ffb208df656
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:22:15.854723+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:22:15.854723+00:00
old_values_json:
  {"account_source": null, "amount_original": "11.000", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:07Z", "currency_original": "CHF", "description": "ParkDepot GmbH", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "ParkDepot GmbH", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "9b04ed8a27c33ffb208df65602a2ed0c", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "VISA Kreditkarte 2025_2026.csv", "source_priority": 70, "source_row_or_range": "R1002", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_9b04ed8a27c33ffb208df656", "transaction_date": "2026-02-07", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: a1e53599-1c45-4313-bb43-02219bdea95f
timestamp: 2026-05-18T20:22:18.236428+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_2d2b0f51696b4cf6
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_9b04ed8a27c33ffb208df656
confirmation_timestamp: 2026-05-18T20:22:18.236428+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:22:18.236428+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "11.000", "amount_original": "11.000", "booking_date": null, "budget_transaction_id": "btx_2d2b0f51696b4cf6", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "ParkDepot GmbH", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_9b04ed8a27c33ffb208df656", "payee": "ParkDepot GmbH", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_9b04ed8a27c33ffb208df656", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-07", "transaction_type": "expense"}


audit_id: 50ac8c4f-3d1d-464d-959b-37011828b451
timestamp: 2026-05-18T20:22:18.259495+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_9b04ed8a27c33ffb208df656
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T20:22:18.259495+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:22:18.259495+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_2d2b0f51696b4cf6", "status": "confirmed"}


audit_id: 85bda50c-654b-4e8e-b450-208c81c44c62
timestamp: 2026-05-18T20:22:27.113590+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_ec36d7681c4ba2ff06ca7fb7
new_values_json: {"category_id": "bcat_health", "category_name": "Gesundheit"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:22:27.113590+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:22:27.113590+00:00
old_values_json:
  {"account_source": null, "amount_original": "14.300", "classification": "card_uncategorized", "confidence": "0.40", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-18T08:15:07Z", "currency_original": "CHF", "description": "Coop Vitality", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Coop Vitality", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "ec36d7681c4ba2ff06ca7fb79f5a2a09", "receipt_key": null, "requires_review": 1, "review_reason": "card_review", "rule_id": "card_uncategorized", "rule_name": null, "source_file_label": "VISA Kreditkarte 2025_2026.csv", "source_priority": 70, "source_row_or_range": "R1021", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_ec36d7681c4ba2ff06ca7fb7", "transaction_date": "2026-03-03", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: 0e3ab083-54e6-4db9-bf00-aaeecb477bb0
timestamp: 2026-05-18T20:22:29.832000+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_7faa20409904413d
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_ec36d7681c4ba2ff06ca7fb7
confirmation_timestamp: 2026-05-18T20:22:29.832000+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:22:29.832000+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "14.300", "amount_original": "14.300", "booking_date": null, "budget_transaction_id": "btx_7faa20409904413d", "category_id": "bcat_health", "currency_original": "CHF", "description": "Coop Vitality", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_ec36d7681c4ba2ff06ca7fb7", "payee": "Coop Vitality", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_ec36d7681c4ba2ff06ca7fb7", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-03-03", "transaction_type": "expense"}


audit_id: d72a3584-731f-470e-b331-cb10ef291bf9
timestamp: 2026-05-18T20:22:29.856892+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_ec36d7681c4ba2ff06ca7fb7
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T20:22:29.856892+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:22:29.856892+00:00
new_values_json:
  {"category_id": "bcat_health", "confirmed_transaction_id": "btx_7faa20409904413d", "status": "confirmed"}


audit_id: b2d3e27d-3805-4b0c-9875-c711c17f3335
timestamp: 2026-05-18T20:23:02.291644+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_4e97fd0e772bd1bbec2da6bb
new_values_json: {"category_id": "bcat_expensehobbysundselfcare", "category_name": "Hobbys & Selfcare"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:23:02.291644+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:23:02.291644+00:00
old_values_json:
  {"account_source": null, "amount_original": "33.500", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Thermalbad Zurzach Betrie", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Thermalbad Zurzach Betrie", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "4e97fd0e772bd1bbec2da6bbaf385f8c", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Freizeit / Ausfl\u00fcge / Abos", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R763", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_4e97fd0e772bd1bbec2da6bb", "transaction_date": "2026-02-11", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 6aeba895-8d68-422f-a7e1-5d3c107bd6ac
timestamp: 2026-05-18T20:23:18.344994+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_80c5cd9d425ffff044bb79d5
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:23:18.344994+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:23:18.344994+00:00
old_values_json:
  {"account_source": null, "amount_original": "10.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Amazon Prime", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Amazon Prime", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "80c5cd9d425ffff044bb79d5d8cc3550", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Freizeit / Ausfl\u00fcge / Abos", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R786", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_80c5cd9d425ffff044bb79d5", "transaction_date": "2026-02-27", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 3dda4b43-0945-44c5-9690-6bc435a27c5e
timestamp: 2026-05-18T20:25:44.786748+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_a766659152784a9552dc8f32
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:25:44.786748+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:25:44.786748+00:00
old_values_json:
  {"account_source": null, "amount_original": "12.500", "classification": "auto_transport", "confidence": "0.87", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Agrola", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Agrola", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": "Auto / Transport", "raw_fingerprint": "a766659152784a9552dc8f32c4bd2596", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Auto / Transport", "rule_id": "p16_auto_transport", "rule_name": "Auto / Transport", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R967", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_a766659152784a9552dc8f32", "transaction_date": "2026-01-06", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 91bebb9b-f9a5-4455-b90d-df83d0e95112
timestamp: 2026-05-18T20:25:50.442433+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_b0d1699a50e3c4c5449573ae
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:25:50.442433+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:25:50.442433+00:00
old_values_json:
  {"account_source": null, "amount_original": "0.800", "classification": "auto_transport", "confidence": "0.87", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "ParkplatzAnnerstrasse", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "ParkplatzAnnerstrasse", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": "Auto / Transport", "raw_fingerprint": "b0d1699a50e3c4c5449573ae86b11298", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Auto / Transport", "rule_id": "p16_auto_transport", "rule_name": "Auto / Transport", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R987", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_b0d1699a50e3c4c5449573ae", "transaction_date": "2026-01-27", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 633a714d-569b-4e13-bfd6-32ce15cb8890
timestamp: 2026-05-18T20:25:55.533251+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_063de2aba3fd4d7e
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_743c0fc8fe5850284e69c29e
confirmation_timestamp: 2026-05-18T20:25:55.533251+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:25:55.533251+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "5.300", "amount_original": "5.300", "booking_date": null, "budget_transaction_id": "btx_063de2aba3fd4d7e", "category_id": "bcat_health", "currency_original": "CHF", "description": "Rotpunkt Apotheken", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_743c0fc8fe5850284e69c29e", "payee": "Rotpunkt Apotheken", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_743c0fc8fe5850284e69c29e", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-29", "transaction_type": "expense"}


audit_id: c2f191b3-d67d-4acc-803e-d82fa9e727df
timestamp: 2026-05-18T20:25:55.546104+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_743c0fc8fe5850284e69c29e
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-18T20:25:55.546104+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:25:55.546104+00:00
new_values_json:
  {"category_id": "bcat_health", "confirmed_transaction_id": "btx_063de2aba3fd4d7e", "status": "confirmed"}


audit_id: decb014b-d841-4cb4-b06e-3922b753ebf3
timestamp: 2026-05-18T20:25:59.857701+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_69039ab351cc4af9
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_ccaf08dfed56360ffd6efec5
confirmation_timestamp: 2026-05-18T20:25:59.857701+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:25:59.857701+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "14.150", "amount_original": "14.150", "booking_date": null, "budget_transaction_id": "btx_69039ab351cc4af9", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Coop", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_ccaf08dfed56360ffd6efec5", "payee": "Coop", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_ccaf08dfed56360ffd6efec5", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-29", "transaction_type": "expense"}


audit_id: c631962f-2859-4b27-b7b1-f078a9015a98
timestamp: 2026-05-18T20:25:59.878129+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_ccaf08dfed56360ffd6efec5
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-18T20:25:59.878129+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:25:59.878129+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_69039ab351cc4af9", "status": "confirmed"}


audit_id: 5e1a436d-851c-4747-bf2d-371afd290fd1
timestamp: 2026-05-18T20:26:16.282720+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_34f0a2bf3795481d
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_d322a244a844c55133051a53
confirmation_timestamp: 2026-05-18T20:26:16.282720+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:26:16.282720+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "46.000", "amount_original": "46.000", "booking_date": null, "budget_transaction_id": "btx_34f0a2bf3795481d", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Restaurant Aquarena", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_d322a244a844c55133051a53", "payee": "Restaurant Aquarena", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_d322a244a844c55133051a53", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-07", "transaction_type": "expense"}


audit_id: 77c25460-2864-4c91-8999-24c0473722e8
timestamp: 2026-05-18T20:26:16.307760+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_d322a244a844c55133051a53
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-18T20:26:16.307760+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:26:16.307760+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_34f0a2bf3795481d", "status": "confirmed"}


audit_id: b0126655-4bd9-49a6-8f6c-e3199bcce6b2
timestamp: 2026-05-18T20:26:19.250060+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_d322a244a844c55133051a53
new_values_json: {"category_id": "bcat_expensehobbysundselfcare", "category_name": "Hobbys & Selfcare"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:26:19.250060+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:26:19.250060+00:00
old_values_json:
  {"account_source": null, "amount_original": "46.000", "classification": "food_household", "confidence": "0.82", "confirmed_at": "2026-05-18T20:26:16Z", "confirmed_by": "user", "confirmed_transaction_id": "btx_34f0a2bf3795481d", "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Restaurant Aquarena", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Restaurant Aquarena", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": "bcat_food_household", "proposed_category_name": "Essen & Haushalt", "raw_fingerprint": "d322a244a844c55133051a531d90a5c7", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Essen & Haushalt \u00b7 Restaurant/Takeaway", "rule_id": "p16_food_restaurant", "rule_name": "Essen & Haushalt \u00b7 Restaurant/Takeaway", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1000", "source_type": "credit_card_csv", "status": "confirmed", "status_label": null, "transaction_candidate_id": "btxcand_d322a244a844c55133051a53", "transaction_date": "2026-02-07", "updated_at": "2026-05-18T20:26:16Z"}


audit_id: ba36cf0f-0225-47e3-9e3b-f40bfa121890
timestamp: 2026-05-18T20:26:22.270527+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_976e9c0b46dc6639b2ba50f8
new_values_json: {"category_id": "bcat_expensehobbysundselfcare", "category_name": "Hobbys & Selfcare"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:26:22.270527+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:26:22.270527+00:00
old_values_json:
  {"account_source": null, "amount_original": "61.000", "classification": "food_household", "confidence": "0.82", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Restaurant Aquarena", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Restaurant Aquarena", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": "bcat_food_household", "proposed_category_name": "Essen & Haushalt", "raw_fingerprint": "976e9c0b46dc6639b2ba50f837579dd2", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Essen & Haushalt \u00b7 Restaurant/Takeaway", "rule_id": "p16_food_restaurant", "rule_name": "Essen & Haushalt \u00b7 Restaurant/Takeaway", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1001", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_976e9c0b46dc6639b2ba50f8", "transaction_date": "2026-02-07", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: bbcd7f94-7cdd-401c-b815-21757ce31d23
timestamp: 2026-05-18T20:26:46.591674+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_3057783e37a9414d
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_43303a823b7aeb48731a848d
confirmation_timestamp: 2026-05-18T20:26:46.591674+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:26:46.591674+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "14.300", "amount_original": "14.300", "booking_date": null, "budget_transaction_id": "btx_3057783e37a9414d", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Coop Vitality", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_43303a823b7aeb48731a848d", "payee": "Coop Vitality", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_43303a823b7aeb48731a848d", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-03-03", "transaction_type": "expense"}


audit_id: c074c3f2-e058-426c-b5ec-a4ae3b8394b8
timestamp: 2026-05-18T20:26:46.614330+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_43303a823b7aeb48731a848d
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-18T20:26:46.614330+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:26:46.614330+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_3057783e37a9414d", "status": "confirmed"}


audit_id: 7e71a47c-8eca-4842-89f4-dbb6b8c8cc64
timestamp: 2026-05-18T20:26:48.948641+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_43303a823b7aeb48731a848d
new_values_json: {"category_id": "bcat_health", "category_name": "Gesundheit"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:26:48.948641+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:26:48.948641+00:00
old_values_json:
  {"account_source": null, "amount_original": "14.300", "classification": "food_household", "confidence": "0.88", "confirmed_at": "2026-05-18T20:26:46Z", "confirmed_by": "user", "confirmed_transaction_id": "btx_3057783e37a9414d", "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Coop Vitality", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Coop Vitality", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": "bcat_food_household", "proposed_category_name": "Essen & Haushalt", "raw_fingerprint": "43303a823b7aeb48731a848d44cb1ff5", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Essen & Haushalt \u00b7 Supermarkt/Lebensmittel", "rule_id": "p16_food_supermarket", "rule_name": "Essen & Haushalt \u00b7 Supermarkt/Lebensmittel", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1021", "source_type": "credit_card_csv", "status": "confirmed", "status_label": null, "transaction_candidate_id": "btxcand_43303a823b7aeb48731a848d", "transaction_date": "2026-03-03", "updated_at": "2026-05-18T20:26:46Z"}


audit_id: 448718c8-09f4-4e60-bab3-cb01af4136b2
timestamp: 2026-05-18T20:26:53.109350+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_84b1285b5420326dbe9c6421
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:26:53.109350+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:26:53.109350+00:00
old_values_json:
  {"account_source": null, "amount_original": "10.000", "classification": "auto_transport", "confidence": "0.87", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Flughafen Z\u00fcrich", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Flughafen Z\u00fcrich", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": "Auto / Transport", "raw_fingerprint": "84b1285b5420326dbe9c6421fb7cfac1", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Auto / Transport", "rule_id": "p16_auto_transport", "rule_name": "Auto / Transport", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1023", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_84b1285b5420326dbe9c6421", "transaction_date": "2026-03-06", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: dc090436-b844-4d44-bcc2-1863ad307df5
timestamp: 2026-05-18T20:26:59.313667+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_175d0db06e364435
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_bdad4824be6b6b7d1382e651
confirmation_timestamp: 2026-05-18T20:26:59.313667+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:26:59.313667+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "30.400", "amount_original": "30.400", "booking_date": null, "budget_transaction_id": "btx_175d0db06e364435", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "K Kiosk", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_bdad4824be6b6b7d1382e651", "payee": "K Kiosk", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_bdad4824be6b6b7d1382e651", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-03-08", "transaction_type": "expense"}


audit_id: 1e81308a-64cb-4a93-b253-d3e20fa3fd9c
timestamp: 2026-05-18T20:26:59.336449+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_bdad4824be6b6b7d1382e651
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-18T20:26:59.336449+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:26:59.336449+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_175d0db06e364435", "status": "confirmed"}


audit_id: 1c1381da-3d66-4fac-8cea-b836df4c57bf
timestamp: 2026-05-18T20:27:04.750807+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_53292d0f2292d5619210b3c5
new_values_json: {"category_id": "bcat_expensehobbysundselfcare", "category_name": "Hobbys & Selfcare"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:27:04.750807+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:27:04.750807+00:00
old_values_json:
  {"account_source": null, "amount_original": "61.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Bad Schinznach", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Bad Schinznach", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "53292d0f2292d5619210b3c5c4897c42", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Freizeit / Ausfl\u00fcge / Abos", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1028", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_53292d0f2292d5619210b3c5", "transaction_date": "2026-03-13", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 000638d8-9ea3-44e7-ae4c-9bf9edea269f
timestamp: 2026-05-18T20:27:09.057219+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_414067051f8b23006ee91a3e
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:27:09.057219+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:27:09.057219+00:00
old_values_json:
  {"account_source": null, "amount_original": "9.450", "classification": "home_garden", "confidence": "0.86", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Landi", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Landi", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": "Hausrat / M\u00f6bel & Garten", "raw_fingerprint": "414067051f8b23006ee91a3e47a2a054", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Hausrat / M\u00f6bel & Garten", "rule_id": "p16_home_garden", "rule_name": "Hausrat / M\u00f6bel & Garten", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1031", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_414067051f8b23006ee91a3e", "transaction_date": "2026-03-21", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 5bfe29f0-3dfe-42e1-b613-be3a0b60cfe2
timestamp: 2026-05-18T20:27:15.532843+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_eb7fad03440edd83468858a5
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:27:15.532843+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:27:15.532843+00:00
old_values_json:
  {"account_source": null, "amount_original": "10.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Amazon Prime", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Amazon Prime", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "eb7fad03440edd83468858a5057d45a7", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Freizeit / Ausfl\u00fcge / Abos", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1033", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_eb7fad03440edd83468858a5", "transaction_date": "2026-03-27", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 65c77816-dd1a-4935-9f3e-22e0e229c135
timestamp: 2026-05-18T20:28:18.589248+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_eea9153e1d98ad71746345db
new_values_json: {"category_id": "bcat_expensehobbysundselfcare", "category_name": "Hobbys & Selfcare"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:28:18.589248+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:28:18.589248+00:00
old_values_json:
  {"account_source": null, "amount_original": "98.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Technorama EX", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Technorama EX", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "eea9153e1d98ad71746345dbde44abb3", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Freizeit / Ausfl\u00fcge / Abos", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1034", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_eea9153e1d98ad71746345db", "transaction_date": "2026-03-29", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 30a9d3c1-e8c5-42db-95ae-e6b7293ef936
timestamp: 2026-05-18T20:28:27.224860+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_267860fb40d2202c0a2fce87
new_values_json: {"category_id": "bcat_expensehobbysundselfcare", "category_name": "Hobbys & Selfcare"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:28:27.224860+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:28:27.224860+00:00
old_values_json:
  {"account_source": null, "amount_original": "61.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Bad Schinznach", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Bad Schinznach", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "267860fb40d2202c0a2fce875d2d5327", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Freizeit / Ausfl\u00fcge / Abos", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1035", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_267860fb40d2202c0a2fce87", "transaction_date": "2026-04-07", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: af67bbf6-2305-41c7-ae5e-f523bced287e
timestamp: 2026-05-18T20:28:35.765315+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_d62b3d4cddba7467011d2abc
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:28:35.765315+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:28:35.765315+00:00
old_values_json:
  {"account_source": null, "amount_original": "22.900", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Netflix", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Netflix", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "d62b3d4cddba7467011d2abcc642cff4", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Freizeit / Ausfl\u00fcge / Abos", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1041", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_d62b3d4cddba7467011d2abc", "transaction_date": "2026-04-09", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 78a57bba-0198-4323-9e99-b90909a84f92
timestamp: 2026-05-18T20:28:44.900394+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_affd25e227cdf799c6639632
new_values_json: {"category_id": "bcat_health", "category_name": "Gesundheit"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:28:44.900394+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:28:44.900394+00:00
old_values_json:
  {"account_source": null, "amount_original": "27.650", "classification": "food_household", "confidence": "0.82", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "M\u00fcller Drogeriemarkt", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "M\u00fcller Drogeriemarkt", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": "bcat_food_household", "proposed_category_name": "Essen & Haushalt", "raw_fingerprint": "affd25e227cdf799c66396323080978a", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Essen & Haushalt \u00b7 Restaurant/Takeaway", "rule_id": "p16_food_restaurant", "rule_name": "Essen & Haushalt \u00b7 Restaurant/Takeaway", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1055", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_affd25e227cdf799c6639632", "transaction_date": "2026-04-13", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: bb9921ad-2414-4f5a-b6d4-1b681e41a16d
timestamp: 2026-05-18T20:29:27.977278+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_9f67b28ea8514485
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_9669e7da3a0c91f4aa61de24
confirmation_timestamp: 2026-05-18T20:29:27.977278+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:29:27.977278+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "110.000", "amount_original": "110.000", "booking_date": null, "budget_transaction_id": "btx_9f67b28ea8514485", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Ristorante Sale e Pepe", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_9669e7da3a0c91f4aa61de24", "payee": "Ristorante Sale e Pepe", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_9669e7da3a0c91f4aa61de24", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-07", "transaction_type": "expense"}


audit_id: e73732c0-cb84-404f-a2d7-5949510979b4
timestamp: 2026-05-18T20:29:27.987592+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_9669e7da3a0c91f4aa61de24
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-18T20:29:27.987592+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:29:27.987592+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_9f67b28ea8514485", "status": "confirmed"}


audit_id: f1fa1522-86ab-476d-91d1-9ae7059c0a81
timestamp: 2026-05-18T20:30:50.237536+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_018f07eae44ee2399b2d4f6e
new_values_json: {"category_id": "bcat_eccbd333bd79493b", "category_name": "Lohn Marcel"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:30:50.237536+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:30:50.237536+00:00
old_values_json:
  {"account_source": "CH1280808006766055632", "amount_original": "92.8", "classification": "income_candidate", "confidence": "0.90", "confirmed_at": "2026-05-18T17:15:49Z", "confirmed_by": "user", "confirmed_transaction_id": "btx_eab4cb10696f4c22", "covered_by_source": null, "created_at": "2026-05-18T08:15:05Z", "currency_original": "CHF", "description": "Gutschrift ERNE AG Holzbau", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": null, "merchant_display_name": null, "merchant_id": null, "notes": "{\"transaction_type\": \"income\", \"reason\": \"strong_income_pattern\", \"reclassified_by\": \"income_csv_recognition_v1\"}", "proposed_category_id": "bcat_eccbd333bd79493b", "proposed_category_name": "Lohn Marcel", "raw_fingerprint": "62732cdd7065863fdb042be638b19082", "receipt_key": null, "requires_review": 0, "review_reason": "strong_income_pattern", "rule_id": "bank_review", "rule_name": null, "source_file_label": "260518_Konto_Raiffeisen_20260518085941.csv", "source_priority": 80, "source_row_or_range": "R5", "source_type": "raiffeisen_bank", "status": "confirmed", "status_label": null, "transaction_candidate_id": "btxcand_018f07eae44ee2399b2d4f6e", "transaction_date": "2026-01-12", "updated_at": "2026-05-18T17:15:49Z"}


audit_id: 60e676fa-6365-4241-aa3a-be5b5ef245f7
timestamp: 2026-05-18T20:31:00.285189+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_7e719f407cb84c6d
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_018f07eae44ee2399b2d4f6e
confirmation_timestamp: 2026-05-18T20:31:00.285189+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:31:00.285189+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "92.8", "amount_original": "92.8", "booking_date": null, "budget_transaction_id": "btx_7e719f407cb84c6d", "category_id": "bcat_eccbd333bd79493b", "currency_original": "CHF", "description": "Gutschrift ERNE AG Holzbau", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_018f07eae44ee2399b2d4f6e", "payee": null, "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_018f07eae44ee2399b2d4f6e", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-12", "transaction_type": "income"}


audit_id: efc6356e-b492-479d-87ee-f88020ffc030
timestamp: 2026-05-18T20:31:00.298309+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_018f07eae44ee2399b2d4f6e
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T20:31:00.298309+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:31:00.298309+00:00
new_values_json:
  {"category_id": "bcat_eccbd333bd79493b", "confirmed_transaction_id": "btx_7e719f407cb84c6d", "status": "confirmed"}


audit_id: 3ac92519-7b59-4508-bb54-dc0111a9b90e
timestamp: 2026-05-18T20:31:48.785414+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_e700abffdeff432a
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_f51cd6179f8c7719daf8e0e8
confirmation_timestamp: 2026-05-18T20:31:48.785414+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:31:48.785414+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "20.900", "amount_original": "20.900", "booking_date": null, "budget_transaction_id": "btx_e700abffdeff432a", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Burger King", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_f51cd6179f8c7719daf8e0e8", "payee": "Burger King", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_f51cd6179f8c7719daf8e0e8", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-05-01", "transaction_type": "expense"}


audit_id: 63e321ef-9c17-4896-ad46-7e1290718893
timestamp: 2026-05-18T20:31:48.809898+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_f51cd6179f8c7719daf8e0e8
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-18T20:31:48.809898+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:31:48.809898+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_e700abffdeff432a", "status": "confirmed"}


audit_id: 164dcb96-6c68-4942-97af-e561fd4c3196
timestamp: 2026-05-18T20:31:57.201811+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_14c55482a13fb66c120feab9
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:31:57.201811+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:31:57.201811+00:00
old_values_json:
  {"account_source": null, "amount_original": "17.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "14c55482a13fb66c120feab91884e7bb", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Freizeit / Ausfl\u00fcge / Abos", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1098", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_14c55482a13fb66c120feab9", "transaction_date": "2026-05-02", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: da957d9d-7be4-424b-812e-c6284c04e366
timestamp: 2026-05-18T20:31:59.424051+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_d3167c0587e34e33
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_4a7a0cc983d55441b333abb5
confirmation_timestamp: 2026-05-18T20:31:59.424051+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:31:59.424051+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "31.800", "amount_original": "31.800", "booking_date": null, "budget_transaction_id": "btx_d3167c0587e34e33", "category_id": "bcat_health", "currency_original": "CHF", "description": "Rotpunkt Apotheken", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_4a7a0cc983d55441b333abb5", "payee": "Rotpunkt Apotheken", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_4a7a0cc983d55441b333abb5", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-05-02", "transaction_type": "expense"}


audit_id: a70bde37-7922-4dd4-9cc5-04416720f96c
timestamp: 2026-05-18T20:31:59.445920+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_4a7a0cc983d55441b333abb5
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-18T20:31:59.445920+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:31:59.445920+00:00
new_values_json:
  {"category_id": "bcat_health", "confirmed_transaction_id": "btx_d3167c0587e34e33", "status": "confirmed"}


audit_id: 55d7abac-cdfa-4c60-b8d7-9caa2f3e2067
timestamp: 2026-05-18T20:32:36.230357+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_01bc8a9e29d2b23a746ec606
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:32:36.230357+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:32:36.230357+00:00
old_values_json:
  {"account_source": null, "amount_original": "33.700", "classification": "home_garden", "confidence": "0.86", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Zulauf Gartencenter", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Zulauf Gartencenter", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": "Hausrat / M\u00f6bel & Garten", "raw_fingerprint": "01bc8a9e29d2b23a746ec6060c0c3c6f", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Hausrat / M\u00f6bel & Garten", "rule_id": "p16_home_garden", "rule_name": "Hausrat / M\u00f6bel & Garten", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1103", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_01bc8a9e29d2b23a746ec606", "transaction_date": "2026-05-03", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: f1736a98-d127-46c8-8ed0-31c8c30ff646
timestamp: 2026-05-18T20:32:40.300864+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_26cf552b237e4a1e
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_8adef001e8522f61e523e227
confirmation_timestamp: 2026-05-18T20:32:40.300864+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:32:40.300864+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "4.500", "amount_original": "4.500", "booking_date": null, "budget_transaction_id": "btx_26cf552b237e4a1e", "category_id": "bcat_health", "currency_original": "CHF", "description": "Kantonsspital Baden (KSB)", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_8adef001e8522f61e523e227", "payee": "Kantonsspital Baden (KSB)", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_8adef001e8522f61e523e227", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-05-06", "transaction_type": "expense"}


audit_id: de90249c-2585-4f51-8aea-61e739614745
timestamp: 2026-05-18T20:32:40.323254+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_8adef001e8522f61e523e227
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-18T20:32:40.323254+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:32:40.323254+00:00
new_values_json:
  {"category_id": "bcat_health", "confirmed_transaction_id": "btx_26cf552b237e4a1e", "status": "confirmed"}


audit_id: 8fbd0691-7c3c-46ac-a591-d1e237921bde
timestamp: 2026-05-18T20:32:44.826772+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_e8a80283c5ca4f8c
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_0d572351cd3e98a3b1cfb846
confirmation_timestamp: 2026-05-18T20:32:44.826772+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:32:44.826772+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "2.800", "amount_original": "2.800", "booking_date": null, "budget_transaction_id": "btx_e8a80283c5ca4f8c", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "McDonald's", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_0d572351cd3e98a3b1cfb846", "payee": "McDonald's", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_0d572351cd3e98a3b1cfb846", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-05-09", "transaction_type": "expense"}


audit_id: 8ff9cb36-3433-4fcd-a20a-9ef84d5c9361
timestamp: 2026-05-18T20:32:44.850331+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_0d572351cd3e98a3b1cfb846
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-18T20:32:44.850331+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:32:44.850331+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_e8a80283c5ca4f8c", "status": "confirmed"}


audit_id: a8e94b27-db83-4528-98c2-7794810a73f9
timestamp: 2026-05-18T20:32:48.382866+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_f971eb2889e54335
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_d915c5123b02ecfe2278b666
confirmation_timestamp: 2026-05-18T20:32:48.382866+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:32:48.382866+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "6.800", "amount_original": "6.800", "booking_date": null, "budget_transaction_id": "btx_f971eb2889e54335", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Burger King", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_d915c5123b02ecfe2278b666", "payee": "Burger King", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_d915c5123b02ecfe2278b666", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-05-10", "transaction_type": "expense"}


audit_id: aeea5272-70d0-4ae4-8d84-f3f78c6754b5
timestamp: 2026-05-18T20:32:48.404787+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_d915c5123b02ecfe2278b666
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-18T20:32:48.404787+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:32:48.404787+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_f971eb2889e54335", "status": "confirmed"}


audit_id: fbda54e6-b551-4fd5-8487-af77e06dfafa
timestamp: 2026-05-18T20:32:53.600556+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_d170be2f0f1bc7fcdfefe36c
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:32:53.600556+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:32:53.600556+00:00
old_values_json:
  {"account_source": null, "amount_original": "20.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "d170be2f0f1bc7fcdfefe36cb6e0a81d", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Freizeit / Ausfl\u00fcge / Abos", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1122", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_d170be2f0f1bc7fcdfefe36c", "transaction_date": "2026-05-12", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 71f9ee0c-9f6e-4eea-a9c5-f2361cf9cf58
timestamp: 2026-05-18T20:32:59.250906+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_db090184e19850c34d36c150
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-18T20:32:59.250906+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:32:59.250906+00:00
old_values_json:
  {"account_source": null, "amount_original": "20.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "ChatGPT", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "ChatGPT", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "db090184e19850c34d36c1502403ecfc", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Freizeit / Ausfl\u00fcge / Abos", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1123", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_db090184e19850c34d36c150", "transaction_date": "2026-05-12", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 13838664-c147-4e24-805c-685a740daf9b
timestamp: 2026-05-18T20:33:53.032251+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_9b7d7e52626ebb35c5c34f03
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:33:53.032251+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:33:53.032251+00:00
old_values_json:
  {"account_source": null, "amount_original": "3.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "9b7d7e52626ebb35c5c34f0309b4a96b", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Freizeit / Ausfl\u00fcge / Abos", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1069", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_9b7d7e52626ebb35c5c34f03", "transaction_date": "2026-04-18", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 9237a7b8-86ad-46a3-8271-a6b1d825f375
timestamp: 2026-05-18T20:33:53.057005+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_289c164e5eaeb6f95411c0d9
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:33:53.057005+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:33:53.057005+00:00
old_values_json:
  {"account_source": null, "amount_original": "42.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "289c164e5eaeb6f95411c0d9d7366599", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Freizeit / Ausfl\u00fcge / Abos", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1176", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_289c164e5eaeb6f95411c0d9", "transaction_date": "2026-01-09", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 794a0aef-4b4d-4a6c-a56b-ebffb5591944
timestamp: 2026-05-18T20:33:53.069226+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_f4d43df1c5cc89f72e403241
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:33:53.069226+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:33:53.069226+00:00
old_values_json:
  {"account_source": null, "amount_original": "3.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "f4d43df1c5cc89f72e40324162f649fe", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Freizeit / Ausfl\u00fcge / Abos", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1187", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_f4d43df1c5cc89f72e403241", "transaction_date": "2026-01-18", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: aa7fae00-0129-482b-915b-948340f9db73
timestamp: 2026-05-18T20:33:53.077870+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_c1b8c0a55b025f0f7649d3df
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:33:53.077870+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:33:53.077870+00:00
old_values_json:
  {"account_source": null, "amount_original": "47.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "c1b8c0a55b025f0f7649d3df5aba87f8", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Freizeit / Ausfl\u00fcge / Abos", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1190", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_c1b8c0a55b025f0f7649d3df", "transaction_date": "2026-01-22", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: a654be60-1a90-4b23-aa3c-90eebcd137bc
timestamp: 2026-05-18T20:33:53.087096+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_a9585a8986cdfe0fcba6e3c7
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:33:53.087096+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:33:53.087096+00:00
old_values_json:
  {"account_source": null, "amount_original": "3.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "a9585a8986cdfe0fcba6e3c7e7830618", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Freizeit / Ausfl\u00fcge / Abos", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1216", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_a9585a8986cdfe0fcba6e3c7", "transaction_date": "2026-02-18", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: bda646a8-7171-40aa-ac38-6e176b3897af
timestamp: 2026-05-18T20:33:53.095430+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_afd5e5988811c47d6adba646
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:33:53.095430+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:33:53.095430+00:00
old_values_json:
  {"account_source": null, "amount_original": "17.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "afd5e5988811c47d6adba646f1df77c1", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Freizeit / Ausfl\u00fcge / Abos", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1231", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_afd5e5988811c47d6adba646", "transaction_date": "2026-03-04", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: c2ec0de9-d2fa-4cb5-8f48-fdeb03971127
timestamp: 2026-05-18T20:33:53.104012+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_4b90de0d0fb9917b95b05f17
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:33:53.104012+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:33:53.104012+00:00
old_values_json:
  {"account_source": null, "amount_original": "3.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "4b90de0d0fb9917b95b05f17a5e5f34e", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Freizeit / Ausfl\u00fcge / Abos", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1250", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_4b90de0d0fb9917b95b05f17", "transaction_date": "2026-03-18", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 35fc0c32-17eb-4b28-a62c-3cf066acb706
timestamp: 2026-05-18T20:33:53.112890+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_7e5cc91d90828a352edc1f55
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:33:53.112890+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:33:53.112890+00:00
old_values_json:
  {"account_source": null, "amount_original": "17.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "7e5cc91d90828a352edc1f5510c9f161", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Freizeit / Ausfl\u00fcge / Abos", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1266", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_7e5cc91d90828a352edc1f55", "transaction_date": "2026-04-01", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 3c04ae49-cc44-4c0c-a4aa-2c398ae2de70
timestamp: 2026-05-18T20:33:53.120945+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_ce37e4a548eec8b8245eb8ce
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:33:53.120945+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:33:53.120945+00:00
old_values_json:
  {"account_source": null, "amount_original": "79.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "ce37e4a548eec8b8245eb8cec804ebe6", "receipt_key": null, "requires_review": 0, "review_reason": "Automatischer Vorschlag nach Nutzerregel: Freizeit / Ausfl\u00fcge / Abos", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1303", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_ce37e4a548eec8b8245eb8ce", "transaction_date": "2026-05-03", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 53665a8a-b020-4c15-9169-68d913333a1a
timestamp: 2026-05-18T20:33:53.129615+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_14c55482a13fb66c120feab9
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:33:53.129615+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:33:53.129615+00:00
old_values_json:
  {"account_source": null, "amount_original": "17.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_expenseelektronischemedien", "proposed_category_name": "Elektronische Medien", "raw_fingerprint": "14c55482a13fb66c120feab91884e7bb", "receipt_key": null, "requires_review": 0, "review_reason": "user_category_override", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1098", "source_type": "credit_card_csv", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_14c55482a13fb66c120feab9", "transaction_date": "2026-05-02", "updated_at": "2026-05-18T20:31:57Z"}


audit_id: f0695ae2-c52b-4f87-b5a4-ca8d6c94c070
timestamp: 2026-05-18T20:33:53.137812+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_d170be2f0f1bc7fcdfefe36c
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:33:53.137812+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:33:53.137812+00:00
old_values_json:
  {"account_source": null, "amount_original": "20.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_expenseelektronischemedien", "proposed_category_name": "Elektronische Medien", "raw_fingerprint": "d170be2f0f1bc7fcdfefe36cb6e0a81d", "receipt_key": null, "requires_review": 0, "review_reason": "user_category_override", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1122", "source_type": "credit_card_csv", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_d170be2f0f1bc7fcdfefe36c", "transaction_date": "2026-05-12", "updated_at": "2026-05-18T20:32:53Z"}


audit_id: fcfc3b15-7c91-4142-979b-f7af1a6f07a4
timestamp: 2026-05-18T20:33:53.145749+00:00
source: vue_dashboard
action: batch_category_candidates
entity_type: budget_transaction_candidate
entity_id: batch
old_values_json: {}
confirmation_timestamp: 2026-05-18T20:33:53.145749+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:33:53.145749+00:00
new_values_json:
  {"candidate_count": 11, "confirmed_count": 0, "covered_by_migros_count": 0, "errors": [], "ignored_count": 0, "reopened_count": 0, "skipped_count": 0, "transfer_count": 0, "updated_count": 11}


audit_id: 0ef057ad-0dcc-4a4f-9d67-ef35e45019bb
timestamp: 2026-05-18T20:34:07.519812+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_9b7d7e52626ebb35c5c34f03
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:34:07.519812+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:34:07.519812+00:00
old_values_json:
  {"account_source": null, "amount_original": "3.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_expenseelektronischemedien", "proposed_category_name": "Elektronische Medien", "raw_fingerprint": "9b7d7e52626ebb35c5c34f0309b4a96b", "receipt_key": null, "requires_review": 0, "review_reason": "user_category_override", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1069", "source_type": "credit_card_csv", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_9b7d7e52626ebb35c5c34f03", "transaction_date": "2026-04-18", "updated_at": "2026-05-18T20:33:53Z"}


audit_id: 79f02720-3c3b-4c47-9a62-3bd7a3bca550
timestamp: 2026-05-18T20:34:07.544441+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_289c164e5eaeb6f95411c0d9
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:34:07.544441+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:34:07.544441+00:00
old_values_json:
  {"account_source": null, "amount_original": "42.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_expenseelektronischemedien", "proposed_category_name": "Elektronische Medien", "raw_fingerprint": "289c164e5eaeb6f95411c0d9d7366599", "receipt_key": null, "requires_review": 0, "review_reason": "user_category_override", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1176", "source_type": "credit_card_csv", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_289c164e5eaeb6f95411c0d9", "transaction_date": "2026-01-09", "updated_at": "2026-05-18T20:33:53Z"}


audit_id: 0c163f2d-a325-4e59-8e01-a2d714e23d40
timestamp: 2026-05-18T20:34:07.558545+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_f4d43df1c5cc89f72e403241
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:34:07.558545+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:34:07.558545+00:00
old_values_json:
  {"account_source": null, "amount_original": "3.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_expenseelektronischemedien", "proposed_category_name": "Elektronische Medien", "raw_fingerprint": "f4d43df1c5cc89f72e40324162f649fe", "receipt_key": null, "requires_review": 0, "review_reason": "user_category_override", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1187", "source_type": "credit_card_csv", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_f4d43df1c5cc89f72e403241", "transaction_date": "2026-01-18", "updated_at": "2026-05-18T20:33:53Z"}


audit_id: 9874dc3c-a452-4ee3-92d5-9bffdc0b953d
timestamp: 2026-05-18T20:34:07.572215+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_c1b8c0a55b025f0f7649d3df
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:34:07.572215+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:34:07.572215+00:00
old_values_json:
  {"account_source": null, "amount_original": "47.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_expenseelektronischemedien", "proposed_category_name": "Elektronische Medien", "raw_fingerprint": "c1b8c0a55b025f0f7649d3df5aba87f8", "receipt_key": null, "requires_review": 0, "review_reason": "user_category_override", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1190", "source_type": "credit_card_csv", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_c1b8c0a55b025f0f7649d3df", "transaction_date": "2026-01-22", "updated_at": "2026-05-18T20:33:53Z"}


audit_id: 64c14cc8-a2d5-4086-87e7-86a867a85857
timestamp: 2026-05-18T20:34:07.585051+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_a9585a8986cdfe0fcba6e3c7
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:34:07.585051+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:34:07.585051+00:00
old_values_json:
  {"account_source": null, "amount_original": "3.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_expenseelektronischemedien", "proposed_category_name": "Elektronische Medien", "raw_fingerprint": "a9585a8986cdfe0fcba6e3c7e7830618", "receipt_key": null, "requires_review": 0, "review_reason": "user_category_override", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1216", "source_type": "credit_card_csv", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_a9585a8986cdfe0fcba6e3c7", "transaction_date": "2026-02-18", "updated_at": "2026-05-18T20:33:53Z"}


audit_id: 012d6dc6-1e28-4a99-92f9-9c2eaf7c2e3a
timestamp: 2026-05-18T20:34:07.597421+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_afd5e5988811c47d6adba646
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:34:07.597421+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:34:07.597421+00:00
old_values_json:
  {"account_source": null, "amount_original": "17.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_expenseelektronischemedien", "proposed_category_name": "Elektronische Medien", "raw_fingerprint": "afd5e5988811c47d6adba646f1df77c1", "receipt_key": null, "requires_review": 0, "review_reason": "user_category_override", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1231", "source_type": "credit_card_csv", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_afd5e5988811c47d6adba646", "transaction_date": "2026-03-04", "updated_at": "2026-05-18T20:33:53Z"}


audit_id: 3b972db5-1bbb-443e-a0c3-52a1e8358407
timestamp: 2026-05-18T20:34:07.607130+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_4b90de0d0fb9917b95b05f17
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:34:07.607130+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:34:07.607130+00:00
old_values_json:
  {"account_source": null, "amount_original": "3.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_expenseelektronischemedien", "proposed_category_name": "Elektronische Medien", "raw_fingerprint": "4b90de0d0fb9917b95b05f17a5e5f34e", "receipt_key": null, "requires_review": 0, "review_reason": "user_category_override", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1250", "source_type": "credit_card_csv", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_4b90de0d0fb9917b95b05f17", "transaction_date": "2026-03-18", "updated_at": "2026-05-18T20:33:53Z"}


audit_id: 0deff24b-4efe-4ae5-b81e-4e3be7f31688
timestamp: 2026-05-18T20:34:07.616370+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_7e5cc91d90828a352edc1f55
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:34:07.616370+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:34:07.616370+00:00
old_values_json:
  {"account_source": null, "amount_original": "17.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_expenseelektronischemedien", "proposed_category_name": "Elektronische Medien", "raw_fingerprint": "7e5cc91d90828a352edc1f5510c9f161", "receipt_key": null, "requires_review": 0, "review_reason": "user_category_override", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1266", "source_type": "credit_card_csv", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_7e5cc91d90828a352edc1f55", "transaction_date": "2026-04-01", "updated_at": "2026-05-18T20:33:53Z"}


audit_id: e7e091bf-cdce-4742-9f3a-0879718e450a
timestamp: 2026-05-18T20:34:07.625346+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_ce37e4a548eec8b8245eb8ce
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:34:07.625346+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:34:07.625346+00:00
old_values_json:
  {"account_source": null, "amount_original": "79.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_expenseelektronischemedien", "proposed_category_name": "Elektronische Medien", "raw_fingerprint": "ce37e4a548eec8b8245eb8cec804ebe6", "receipt_key": null, "requires_review": 0, "review_reason": "user_category_override", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1303", "source_type": "credit_card_csv", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_ce37e4a548eec8b8245eb8ce", "transaction_date": "2026-05-03", "updated_at": "2026-05-18T20:33:53Z"}


audit_id: cc56c179-27ea-4dc9-9d19-bfad07f1ec9d
timestamp: 2026-05-18T20:34:07.634301+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_14c55482a13fb66c120feab9
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:34:07.634301+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:34:07.634301+00:00
old_values_json:
  {"account_source": null, "amount_original": "17.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_expenseelektronischemedien", "proposed_category_name": "Elektronische Medien", "raw_fingerprint": "14c55482a13fb66c120feab91884e7bb", "receipt_key": null, "requires_review": 0, "review_reason": "user_category_override", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1098", "source_type": "credit_card_csv", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_14c55482a13fb66c120feab9", "transaction_date": "2026-05-02", "updated_at": "2026-05-18T20:33:53Z"}


audit_id: 435269ce-ffb1-48b7-9bcd-d077d6ecd9fa
timestamp: 2026-05-18T20:34:07.643181+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_d170be2f0f1bc7fcdfefe36c
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Bulk category assignment
confirmation_timestamp: 2026-05-18T20:34:07.643181+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:34:07.643181+00:00
old_values_json:
  {"account_source": null, "amount_original": "20.000", "classification": "subscription_auto", "confidence": "0.90", "confirmed_at": null, "confirmed_by": null, "confirmed_transaction_id": null, "covered_by_source": null, "created_at": "2026-05-17T11:02:35Z", "currency_original": "CHF", "description": "Apple", "duplicate_of_transaction_id": null, "linked_candidate_id": null, "merchant": "Apple", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_expenseelektronischemedien", "proposed_category_name": "Elektronische Medien", "raw_fingerprint": "d170be2f0f1bc7fcdfefe36cb6e0a81d", "receipt_key": null, "requires_review": 0, "review_reason": "user_category_override", "rule_id": "p16_leisure_subscriptions", "rule_name": "Freizeit / Ausfl\u00fcge / Abos", "source_file_label": "visa_2025_2026_phase15.csv", "source_priority": 70, "source_row_or_range": "R1122", "source_type": "credit_card_csv", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_d170be2f0f1bc7fcdfefe36c", "transaction_date": "2026-05-12", "updated_at": "2026-05-18T20:33:53Z"}


audit_id: c1e229ba-b3d1-4aec-9abc-9519a09ec79c
timestamp: 2026-05-18T20:34:15.511709+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_80310de9f40f41fc
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_9b7d7e52626ebb35c5c34f03
confirmation_timestamp: 2026-05-18T20:34:15.511709+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:34:15.511709+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "3.000", "amount_original": "3.000", "booking_date": null, "budget_transaction_id": "btx_80310de9f40f41fc", "category_id": "bcat_expenseelektronischemedien", "currency_original": "CHF", "description": "Apple", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_9b7d7e52626ebb35c5c34f03", "payee": "Apple", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_9b7d7e52626ebb35c5c34f03", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-04-18", "transaction_type": "expense"}


audit_id: 236c8db3-c325-42e9-9596-181e642423ad
timestamp: 2026-05-18T20:34:15.531419+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_9b7d7e52626ebb35c5c34f03
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-18T20:34:15.531419+00:00
created_by: user
quality_status: ok
created_at: 2026-05-18T20:34:15.531419+00:00
new_values_json:
  {"category_id": "bcat_expenseelektronischemedien", "confirmed_transaction_id": "btx_80310de9f40f41fc", "status": "confirmed"}


