# audit_log

audit_id: 4f940cfe-3a2f-4088-8f95-b6e91097ba3f
timestamp: 2026-05-19T17:43:50.501957+00:00
source: vue_dashboard
action: recurring_archived
entity_type: budget_recurring_payment
entity_id: rec_039a78330d534934
new_values_json: {"status": "archived"}
confirmation_timestamp: 2026-05-19T17:43:50.501957+00:00
created_by: user
quality_status: ok
created_at: 2026-05-19T17:43:50.501957+00:00
old_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_tolerance_pct": "10", "candidate_evidence_json": "{\"confirmed_transaction_count\": 14, \"sources\": [\"confirmed_transactions\"]}", "category_id": "bcat_expenseelektronischemedien", "confidence": "0.86", "created_at": "2026-05-19T09:14:07Z", "currency": "CHF", "date_tolerance_days": 5, "expected_amount_text": "20.79", "expected_day_of_month": 11, "expected_month": null, "frequency": "weekly", "last_seen_date": "2026-05-12", "merchant_id": null, "name": "Apple", "next_expected_date": "2026-05-19", "notes": null, "recurring_id": "rec_039a78330d534934", "recurring_type": "subscription", "source": "detected", "status": "active", "updated_at": "2026-05-19T17:43:45Z"}


audit_id: cd5eb467-c368-4e5d-8b60-9232a9397be3
timestamp: 2026-05-19T17:44:10.605595+00:00
source: vue_dashboard
action: recurring_archived
entity_type: budget_recurring_payment
entity_id: rec_ef7164045dd14fef
new_values_json: {"status": "archived"}
confirmation_timestamp: 2026-05-19T17:44:10.605595+00:00
created_by: user
quality_status: ok
created_at: 2026-05-19T17:44:10.605595+00:00
old_values_json:
  {"account_id": null, "amount_tolerance_pct": "10", "candidate_evidence_json": "{\"open_candidate_count\": 1, \"sources\": [\"open_candidates\"]}", "category_id": "bcat_food_household", "confidence": "0.90", "created_at": "2026-05-19T09:14:07Z", "currency": "CHF", "date_tolerance_days": 5, "expected_amount_text": "20.90", "expected_day_of_month": 28, "expected_month": null, "frequency": "monthly", "last_seen_date": "2025-09-28", "merchant_id": null, "name": "Disney Streaming", "next_expected_date": "2025-10-28", "notes": null, "recurring_id": "rec_ef7164045dd14fef", "recurring_type": "subscription", "source": "detected", "status": "active", "updated_at": "2026-05-19T17:43:14Z"}


audit_id: 9d77137c-6ba1-4388-b57b-50d87f399893
timestamp: 2026-05-20T06:21:37.723540+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_aa2767ddede409ad911034bc
old_values_json: {}
user_text_note: Cache explicit instrument search result from finnhub
confirmation_timestamp: 2026-05-20T06:21:37.723540+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:21:37.723540+00:00
new_values_json:
  {"asset_class": "etf", "exchange": null, "isin": null, "provider": "finnhub", "provider_symbol": "VWO", "ticker": "VWO"}


audit_id: eaad7905-1bcd-445f-86f0-1fad519d5a1b
timestamp: 2026-05-20T06:21:37.957222+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_a246487a78cf686f1e0cea1d
old_values_json: {}
user_text_note: Cache explicit instrument search result from twelvedata
confirmation_timestamp: 2026-05-20T06:21:37.957222+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:21:37.957222+00:00
new_values_json:
  {"asset_class": "etf", "exchange": "NYSE", "isin": null, "provider": "twelvedata", "provider_symbol": "VWO", "ticker": "VWO"}


audit_id: 2e2d7d5c-064a-4564-b385-b3dc740647c8
timestamp: 2026-05-20T06:21:37.979872+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_bcdcad0c8f4db64c23413856
old_values_json: {}
user_text_note: Cache explicit instrument search result from twelvedata
confirmation_timestamp: 2026-05-20T06:21:37.979872+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:21:37.979872+00:00
new_values_json:
  {"asset_class": "etf", "exchange": "BMV", "isin": null, "provider": "twelvedata", "provider_symbol": "VWO", "ticker": "VWO"}


audit_id: 936af946-29ca-4598-afe9-7c0dc68c9465
timestamp: 2026-05-20T06:21:37.992511+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_666062875c0322f9cd19d1d2
old_values_json: {}
user_text_note: Cache explicit instrument search result from twelvedata
confirmation_timestamp: 2026-05-20T06:21:37.992511+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:21:37.992511+00:00
new_values_json:
  {"asset_class": "etf", "exchange": "LSE", "isin": null, "provider": "twelvedata", "provider_symbol": "0LMP", "ticker": "0LMP"}


audit_id: ed21bf43-9fce-4f85-8333-5efbacdedfd6
timestamp: 2026-05-20T06:21:39.178286+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_5783e03ae72c1eeb61e21b0f
old_values_json: {}
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:21:39.178286+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:21:39.178286+00:00
new_values_json:
  {"asset_class": "etf", "exchange": "US", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: 417780b2-2c67-449d-a559-eae1e54b0e2c
timestamp: 2026-05-20T06:21:39.196698+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_0bd8dd23e85ef54f05166752
old_values_json: {}
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:21:39.196698+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:21:39.196698+00:00
new_values_json:
  {"asset_class": "etf", "exchange": "UA", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: 24f0b9a1-7e93-4410-8c2d-10381c8178eb
timestamp: 2026-05-20T06:21:39.206894+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_4195822d89828236064089cb
old_values_json: {}
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:21:39.206894+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:21:39.206894+00:00
new_values_json:
  {"asset_class": "etf", "exchange": "UC", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: d227e06c-8c20-468b-a171-f0d67bf516d0
timestamp: 2026-05-20T06:21:39.216303+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_a89f33a332087dc654da541d
old_values_json: {}
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:21:39.216303+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:21:39.216303+00:00
new_values_json:
  {"asset_class": "etf", "exchange": "UN", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: 660b0f04-0427-43e5-a664-61dd116d14ce
timestamp: 2026-05-20T06:21:39.225245+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_c456b430b75e82e7e5ca11f8
old_values_json: {}
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:21:39.225245+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:21:39.225245+00:00
new_values_json:
  {"asset_class": "etf", "exchange": "UP", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: 3760f3ec-0b73-401b-877e-2ee318b45341
timestamp: 2026-05-20T06:21:39.233267+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_96489f7c165aae3b824f4060
old_values_json: {}
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:21:39.233267+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:21:39.233267+00:00
new_values_json:
  {"asset_class": "etf", "exchange": "UB", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: 40e2aa2f-2992-48b8-90d9-3314e164d00f
timestamp: 2026-05-20T06:21:39.242407+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_42a20e029d1a51533171e3e4
old_values_json: {}
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:21:39.242407+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:21:39.242407+00:00
new_values_json:
  {"asset_class": "etf", "exchange": "UT", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: d99a2624-d074-47d5-82b1-a478672a2aa0
timestamp: 2026-05-20T06:21:39.250969+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_d9d7abf2f0439ec06a654ec6
old_values_json: {}
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:21:39.250969+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:21:39.250969+00:00
new_values_json:
  {"asset_class": "etf", "exchange": "UM", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: f9aab69e-6565-4f3b-8a51-edbca774b7ea
timestamp: 2026-05-20T06:21:39.259922+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_8e366744b56315e2a80f411e
old_values_json: {}
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:21:39.259922+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:21:39.259922+00:00
new_values_json:
  {"asset_class": "etf", "exchange": "UX", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: f5f4e10a-5548-4aba-85a7-4ae077e0377a
timestamp: 2026-05-20T06:21:39.268108+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_b7d50607a31014d853256e64
old_values_json: {}
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:21:39.268108+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:21:39.268108+00:00
new_values_json:
  {"asset_class": "etf", "exchange": "UD", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: 6c41cc24-d304-4fdc-b04e-5efd21a2be68
timestamp: 2026-05-20T06:22:13.566945+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_aa2767ddede409ad911034bc
user_text_note: Cache explicit instrument search result from finnhub
confirmation_timestamp: 2026-05-20T06:22:13.566945+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:22:13.566945+00:00
old_values_json:
  {"asset_class": "etf", "catalog_entry_id": "catalog_aa2767ddede409ad911034bc", "country": null, "created_at": "2026-05-20T06:21:37.712784+00:00", "exchange": null, "exchange_name": null, "fund_type": null, "hedge_status": "unknown", "hedged_to_currency": null, "instrument_currency": null, "instrument_status": "unknown", "is_currency_hedged": null, "isin": null, "issuer": null, "last_price": "57.87", "last_verified_at": "2026-05-20T06:21:37.712784+00:00", "mic": null, "name": "Vanguard FTSE Emerging Markets ETF", "normalized_name": "vanguard ftse emerging markets etf", "notes": "Finnhub symbol/profile/quote lookup; manual selection required", "price_currency": "USD", "price_date": "2026-05-20", "price_source": "finnhub quote", "provider": "finnhub", "provider_market": null, "provider_symbol": "VWO", "sector": null, "security_type": null, "source": "finnhub", "source_confidence": "low", "ticker": "VWO", "trading_currency": null, "updated_at": "2026-05-20T06:21:37.712784+00:00", "valuation_policy": "live_price"}

new_values_json:
  {"asset_class": "etf", "exchange": null, "isin": null, "provider": "finnhub", "provider_symbol": "VWO", "ticker": "VWO"}


audit_id: 2114a892-78db-4eff-b301-2ac9f965f623
timestamp: 2026-05-20T06:22:13.890827+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_a246487a78cf686f1e0cea1d
user_text_note: Cache explicit instrument search result from twelvedata
confirmation_timestamp: 2026-05-20T06:22:13.890827+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:22:13.890827+00:00
old_values_json:
  {"asset_class": "etf", "catalog_entry_id": "catalog_a246487a78cf686f1e0cea1d", "country": "UNITED STATES", "created_at": "2026-05-20T06:21:37.956545+00:00", "exchange": "NYSE", "exchange_name": null, "fund_type": null, "hedge_status": "unknown", "hedged_to_currency": null, "instrument_currency": "USD", "instrument_status": "unknown", "is_currency_hedged": null, "isin": null, "issuer": null, "last_price": null, "last_verified_at": "2026-05-20T06:21:37.956545+00:00", "mic": null, "name": "Vanguard FTSE Emerging Markets ETF", "normalized_name": "vanguard ftse emerging markets etf", "notes": "Twelve Data symbol search result; manual selection required", "price_currency": null, "price_date": null, "price_source": null, "provider": "twelvedata", "provider_market": "NYSE", "provider_symbol": "VWO", "sector": null, "security_type": null, "source": "twelvedata", "source_confidence": "medium", "ticker": "VWO", "trading_currency": "USD", "updated_at": "2026-05-20T06:21:37.956545+00:00", "valuation_policy": "live_price"}

new_values_json:
  {"asset_class": "etf", "exchange": "NYSE", "isin": null, "provider": "twelvedata", "provider_symbol": "VWO", "ticker": "VWO"}


audit_id: be6009f9-c2c7-4320-b394-1bb25d897620
timestamp: 2026-05-20T06:22:13.914893+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_bcdcad0c8f4db64c23413856
user_text_note: Cache explicit instrument search result from twelvedata
confirmation_timestamp: 2026-05-20T06:22:13.914893+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:22:13.914893+00:00
old_values_json:
  {"asset_class": "etf", "catalog_entry_id": "catalog_bcdcad0c8f4db64c23413856", "country": "MEXICO", "created_at": "2026-05-20T06:21:37.979463+00:00", "exchange": "BMV", "exchange_name": null, "fund_type": null, "hedge_status": "unknown", "hedged_to_currency": null, "instrument_currency": "MXN", "instrument_status": "unknown", "is_currency_hedged": null, "isin": null, "issuer": null, "last_price": null, "last_verified_at": "2026-05-20T06:21:37.979463+00:00", "mic": null, "name": "Vanguard FTSE Emerging Markets ETF", "normalized_name": "vanguard ftse emerging markets etf", "notes": "Twelve Data symbol search result; manual selection required", "price_currency": null, "price_date": null, "price_source": null, "provider": "twelvedata", "provider_market": "BMV", "provider_symbol": "VWO", "sector": null, "security_type": null, "source": "twelvedata", "source_confidence": "medium", "ticker": "VWO", "trading_currency": "MXN", "updated_at": "2026-05-20T06:21:37.979463+00:00", "valuation_policy": "live_price"}

new_values_json:
  {"asset_class": "etf", "exchange": "BMV", "isin": null, "provider": "twelvedata", "provider_symbol": "VWO", "ticker": "VWO"}


audit_id: 99d75ab4-44e5-43eb-b88f-c89c8c316216
timestamp: 2026-05-20T06:22:13.925014+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_666062875c0322f9cd19d1d2
user_text_note: Cache explicit instrument search result from twelvedata
confirmation_timestamp: 2026-05-20T06:22:13.925014+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:22:13.925014+00:00
old_values_json:
  {"asset_class": "etf", "catalog_entry_id": "catalog_666062875c0322f9cd19d1d2", "country": "UNITED KINGDOM", "created_at": "2026-05-20T06:21:37.992173+00:00", "exchange": "LSE", "exchange_name": null, "fund_type": null, "hedge_status": "unknown", "hedged_to_currency": null, "instrument_currency": "USD", "instrument_status": "unknown", "is_currency_hedged": null, "isin": null, "issuer": null, "last_price": null, "last_verified_at": "2026-05-20T06:21:37.992173+00:00", "mic": null, "name": "Vanguard FTSE Emerging Markets ETF", "normalized_name": "vanguard ftse emerging markets etf", "notes": "Twelve Data symbol search result; manual selection required", "price_currency": null, "price_date": null, "price_source": null, "provider": "twelvedata", "provider_market": "LSE", "provider_symbol": "0LMP", "sector": null, "security_type": null, "source": "twelvedata", "source_confidence": "medium", "ticker": "0LMP", "trading_currency": "USD", "updated_at": "2026-05-20T06:21:37.992173+00:00", "valuation_policy": "live_price"}

new_values_json:
  {"asset_class": "etf", "exchange": "LSE", "isin": null, "provider": "twelvedata", "provider_symbol": "0LMP", "ticker": "0LMP"}


audit_id: b6b6b871-77e4-474f-8914-911d11eff6cd
timestamp: 2026-05-20T06:22:14.517469+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_5783e03ae72c1eeb61e21b0f
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:22:14.517469+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:22:14.517469+00:00
old_values_json:
  {"asset_class": "etf", "catalog_entry_id": "catalog_5783e03ae72c1eeb61e21b0f", "country": null, "created_at": "2026-05-20T06:21:39.177969+00:00", "exchange": "US", "exchange_name": null, "fund_type": null, "hedge_status": "unknown", "hedged_to_currency": null, "instrument_currency": null, "instrument_status": "unknown", "is_currency_hedged": null, "isin": "US9220428588", "issuer": null, "last_price": null, "last_verified_at": "2026-05-20T06:21:39.177969+00:00", "mic": "US", "name": "VANGUARD FTSE EMERGING MARKE", "normalized_name": "vanguard ftse emerging marke", "notes": "OpenFIGI ISIN/FIGI mapping; explicit user selection required", "price_currency": null, "price_date": null, "price_source": null, "provider": "openfigi", "provider_market": "US", "provider_symbol": "BBG000HT88C8", "sector": null, "security_type": "ETP", "source": "openfigi", "source_confidence": "high", "ticker": "VWO", "trading_currency": null, "updated_at": "2026-05-20T06:21:39.177969+00:00", "valuation_policy": "live_price"}

new_values_json:
  {"asset_class": "etf", "exchange": "US", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: 42a6dc77-329b-4ebb-90da-491c12a0e0ab
timestamp: 2026-05-20T06:22:14.541271+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_0bd8dd23e85ef54f05166752
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:22:14.541271+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:22:14.541271+00:00
old_values_json:
  {"asset_class": "etf", "catalog_entry_id": "catalog_0bd8dd23e85ef54f05166752", "country": null, "created_at": "2026-05-20T06:21:39.196559+00:00", "exchange": "UA", "exchange_name": null, "fund_type": null, "hedge_status": "unknown", "hedged_to_currency": null, "instrument_currency": null, "instrument_status": "unknown", "is_currency_hedged": null, "isin": "US9220428588", "issuer": null, "last_price": null, "last_verified_at": "2026-05-20T06:21:39.196559+00:00", "mic": "UA", "name": "VANGUARD FTSE EMERGING MARKE", "normalized_name": "vanguard ftse emerging marke", "notes": "OpenFIGI ISIN/FIGI mapping; explicit user selection required", "price_currency": null, "price_date": null, "price_source": null, "provider": "openfigi", "provider_market": "UA", "provider_symbol": "BBG000HT88C8", "sector": null, "security_type": "ETP", "source": "openfigi", "source_confidence": "high", "ticker": "VWO", "trading_currency": null, "updated_at": "2026-05-20T06:21:39.196559+00:00", "valuation_policy": "live_price"}

new_values_json:
  {"asset_class": "etf", "exchange": "UA", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: 4f64786a-ac8d-4b11-a91f-e990550a13b7
timestamp: 2026-05-20T06:22:14.550477+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_4195822d89828236064089cb
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:22:14.550477+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:22:14.550477+00:00
old_values_json:
  {"asset_class": "etf", "catalog_entry_id": "catalog_4195822d89828236064089cb", "country": null, "created_at": "2026-05-20T06:21:39.206806+00:00", "exchange": "UC", "exchange_name": null, "fund_type": null, "hedge_status": "unknown", "hedged_to_currency": null, "instrument_currency": null, "instrument_status": "unknown", "is_currency_hedged": null, "isin": "US9220428588", "issuer": null, "last_price": null, "last_verified_at": "2026-05-20T06:21:39.206806+00:00", "mic": "UC", "name": "VANGUARD FTSE EMERGING MARKE", "normalized_name": "vanguard ftse emerging marke", "notes": "OpenFIGI ISIN/FIGI mapping; explicit user selection required", "price_currency": null, "price_date": null, "price_source": null, "provider": "openfigi", "provider_market": "UC", "provider_symbol": "BBG000HT88C8", "sector": null, "security_type": "ETP", "source": "openfigi", "source_confidence": "high", "ticker": "VWO", "trading_currency": null, "updated_at": "2026-05-20T06:21:39.206806+00:00", "valuation_policy": "live_price"}

new_values_json:
  {"asset_class": "etf", "exchange": "UC", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: 35ca08a6-e8ed-45d8-a5d8-40d844639944
timestamp: 2026-05-20T06:22:14.559350+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_a89f33a332087dc654da541d
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:22:14.559350+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:22:14.559350+00:00
old_values_json:
  {"asset_class": "etf", "catalog_entry_id": "catalog_a89f33a332087dc654da541d", "country": null, "created_at": "2026-05-20T06:21:39.216224+00:00", "exchange": "UN", "exchange_name": null, "fund_type": null, "hedge_status": "unknown", "hedged_to_currency": null, "instrument_currency": null, "instrument_status": "unknown", "is_currency_hedged": null, "isin": "US9220428588", "issuer": null, "last_price": null, "last_verified_at": "2026-05-20T06:21:39.216224+00:00", "mic": "UN", "name": "VANGUARD FTSE EMERGING MARKE", "normalized_name": "vanguard ftse emerging marke", "notes": "OpenFIGI ISIN/FIGI mapping; explicit user selection required", "price_currency": null, "price_date": null, "price_source": null, "provider": "openfigi", "provider_market": "UN", "provider_symbol": "BBG000HT88C8", "sector": null, "security_type": "ETP", "source": "openfigi", "source_confidence": "high", "ticker": "VWO", "trading_currency": null, "updated_at": "2026-05-20T06:21:39.216224+00:00", "valuation_policy": "live_price"}

new_values_json:
  {"asset_class": "etf", "exchange": "UN", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: 315b2313-6c87-477b-a03a-d56241e20eaa
timestamp: 2026-05-20T06:22:14.568393+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_c456b430b75e82e7e5ca11f8
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:22:14.568393+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:22:14.568393+00:00
old_values_json:
  {"asset_class": "etf", "catalog_entry_id": "catalog_c456b430b75e82e7e5ca11f8", "country": null, "created_at": "2026-05-20T06:21:39.225159+00:00", "exchange": "UP", "exchange_name": null, "fund_type": null, "hedge_status": "unknown", "hedged_to_currency": null, "instrument_currency": null, "instrument_status": "unknown", "is_currency_hedged": null, "isin": "US9220428588", "issuer": null, "last_price": null, "last_verified_at": "2026-05-20T06:21:39.225159+00:00", "mic": "UP", "name": "VANGUARD FTSE EMERGING MARKE", "normalized_name": "vanguard ftse emerging marke", "notes": "OpenFIGI ISIN/FIGI mapping; explicit user selection required", "price_currency": null, "price_date": null, "price_source": null, "provider": "openfigi", "provider_market": "UP", "provider_symbol": "BBG000HT88C8", "sector": null, "security_type": "ETP", "source": "openfigi", "source_confidence": "high", "ticker": "VWO", "trading_currency": null, "updated_at": "2026-05-20T06:21:39.225159+00:00", "valuation_policy": "live_price"}

new_values_json:
  {"asset_class": "etf", "exchange": "UP", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: 3f1c3273-7edf-4a5f-a7be-51d66c881a7b
timestamp: 2026-05-20T06:22:14.577345+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_96489f7c165aae3b824f4060
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:22:14.577345+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:22:14.577345+00:00
old_values_json:
  {"asset_class": "etf", "catalog_entry_id": "catalog_96489f7c165aae3b824f4060", "country": null, "created_at": "2026-05-20T06:21:39.233192+00:00", "exchange": "UB", "exchange_name": null, "fund_type": null, "hedge_status": "unknown", "hedged_to_currency": null, "instrument_currency": null, "instrument_status": "unknown", "is_currency_hedged": null, "isin": "US9220428588", "issuer": null, "last_price": null, "last_verified_at": "2026-05-20T06:21:39.233192+00:00", "mic": "UB", "name": "VANGUARD FTSE EMERGING MARKE", "normalized_name": "vanguard ftse emerging marke", "notes": "OpenFIGI ISIN/FIGI mapping; explicit user selection required", "price_currency": null, "price_date": null, "price_source": null, "provider": "openfigi", "provider_market": "UB", "provider_symbol": "BBG000HT88C8", "sector": null, "security_type": "ETP", "source": "openfigi", "source_confidence": "high", "ticker": "VWO", "trading_currency": null, "updated_at": "2026-05-20T06:21:39.233192+00:00", "valuation_policy": "live_price"}

new_values_json:
  {"asset_class": "etf", "exchange": "UB", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: b98e21c1-087b-4904-9b20-0f75a97e27f9
timestamp: 2026-05-20T06:22:14.585903+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_42a20e029d1a51533171e3e4
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:22:14.585903+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:22:14.585903+00:00
old_values_json:
  {"asset_class": "etf", "catalog_entry_id": "catalog_42a20e029d1a51533171e3e4", "country": null, "created_at": "2026-05-20T06:21:39.242278+00:00", "exchange": "UT", "exchange_name": null, "fund_type": null, "hedge_status": "unknown", "hedged_to_currency": null, "instrument_currency": null, "instrument_status": "unknown", "is_currency_hedged": null, "isin": "US9220428588", "issuer": null, "last_price": null, "last_verified_at": "2026-05-20T06:21:39.242278+00:00", "mic": "UT", "name": "VANGUARD FTSE EMERGING MARKE", "normalized_name": "vanguard ftse emerging marke", "notes": "OpenFIGI ISIN/FIGI mapping; explicit user selection required", "price_currency": null, "price_date": null, "price_source": null, "provider": "openfigi", "provider_market": "UT", "provider_symbol": "BBG000HT88C8", "sector": null, "security_type": "ETP", "source": "openfigi", "source_confidence": "high", "ticker": "VWO", "trading_currency": null, "updated_at": "2026-05-20T06:21:39.242278+00:00", "valuation_policy": "live_price"}

new_values_json:
  {"asset_class": "etf", "exchange": "UT", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: ca692ba7-c144-4ff4-a5d9-b1e0fad070d0
timestamp: 2026-05-20T06:22:14.594262+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_d9d7abf2f0439ec06a654ec6
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:22:14.594262+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:22:14.594262+00:00
old_values_json:
  {"asset_class": "etf", "catalog_entry_id": "catalog_d9d7abf2f0439ec06a654ec6", "country": null, "created_at": "2026-05-20T06:21:39.250892+00:00", "exchange": "UM", "exchange_name": null, "fund_type": null, "hedge_status": "unknown", "hedged_to_currency": null, "instrument_currency": null, "instrument_status": "unknown", "is_currency_hedged": null, "isin": "US9220428588", "issuer": null, "last_price": null, "last_verified_at": "2026-05-20T06:21:39.250892+00:00", "mic": "UM", "name": "VANGUARD FTSE EMERGING MARKE", "normalized_name": "vanguard ftse emerging marke", "notes": "OpenFIGI ISIN/FIGI mapping; explicit user selection required", "price_currency": null, "price_date": null, "price_source": null, "provider": "openfigi", "provider_market": "UM", "provider_symbol": "BBG000HT88C8", "sector": null, "security_type": "ETP", "source": "openfigi", "source_confidence": "high", "ticker": "VWO", "trading_currency": null, "updated_at": "2026-05-20T06:21:39.250892+00:00", "valuation_policy": "live_price"}

new_values_json:
  {"asset_class": "etf", "exchange": "UM", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: 51c4e7b9-2936-4277-aaba-93237b620496
timestamp: 2026-05-20T06:22:14.602875+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_8e366744b56315e2a80f411e
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:22:14.602875+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:22:14.602875+00:00
old_values_json:
  {"asset_class": "etf", "catalog_entry_id": "catalog_8e366744b56315e2a80f411e", "country": null, "created_at": "2026-05-20T06:21:39.259838+00:00", "exchange": "UX", "exchange_name": null, "fund_type": null, "hedge_status": "unknown", "hedged_to_currency": null, "instrument_currency": null, "instrument_status": "unknown", "is_currency_hedged": null, "isin": "US9220428588", "issuer": null, "last_price": null, "last_verified_at": "2026-05-20T06:21:39.259838+00:00", "mic": "UX", "name": "VANGUARD FTSE EMERGING MARKE", "normalized_name": "vanguard ftse emerging marke", "notes": "OpenFIGI ISIN/FIGI mapping; explicit user selection required", "price_currency": null, "price_date": null, "price_source": null, "provider": "openfigi", "provider_market": "UX", "provider_symbol": "BBG000HT88C8", "sector": null, "security_type": "ETP", "source": "openfigi", "source_confidence": "high", "ticker": "VWO", "trading_currency": null, "updated_at": "2026-05-20T06:21:39.259838+00:00", "valuation_policy": "live_price"}

new_values_json:
  {"asset_class": "etf", "exchange": "UX", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: 5750b2d9-5aa7-41a0-8b56-7f4667e0f841
timestamp: 2026-05-20T06:22:14.611589+00:00
source: instrument_catalog
action: upsert_catalog_entry
entity_type: instrument_catalog_entry
entity_id: catalog_b7d50607a31014d853256e64
user_text_note: Cache explicit instrument search result from openfigi
confirmation_timestamp: 2026-05-20T06:22:14.611589+00:00
created_by: dashboard_search
quality_status: ok
created_at: 2026-05-20T06:22:14.611589+00:00
old_values_json:
  {"asset_class": "etf", "catalog_entry_id": "catalog_b7d50607a31014d853256e64", "country": null, "created_at": "2026-05-20T06:21:39.268033+00:00", "exchange": "UD", "exchange_name": null, "fund_type": null, "hedge_status": "unknown", "hedged_to_currency": null, "instrument_currency": null, "instrument_status": "unknown", "is_currency_hedged": null, "isin": "US9220428588", "issuer": null, "last_price": null, "last_verified_at": "2026-05-20T06:21:39.268033+00:00", "mic": "UD", "name": "VANGUARD FTSE EMERGING MARKE", "normalized_name": "vanguard ftse emerging marke", "notes": "OpenFIGI ISIN/FIGI mapping; explicit user selection required", "price_currency": null, "price_date": null, "price_source": null, "provider": "openfigi", "provider_market": "UD", "provider_symbol": "BBG000HT88C8", "sector": null, "security_type": "ETP", "source": "openfigi", "source_confidence": "high", "ticker": "VWO", "trading_currency": null, "updated_at": "2026-05-20T06:21:39.268033+00:00", "valuation_policy": "live_price"}

new_values_json:
  {"asset_class": "etf", "exchange": "UD", "isin": "US9220428588", "provider": "openfigi", "provider_symbol": "BBG000HT88C8", "ticker": "VWO"}


audit_id: audit_b1d61f4700954e54
timestamp: 2026-05-20T07:01:31Z
source: hotfix_runtime_cleanup
action: position_remove_confirm
entity_type: position
entity_id: true-wealth-review-brokerage:instrument-US9220428588
user_text_note: ETF cleanup after verified backup; values redacted
confirmation_timestamp: 2026-05-20T07:01:31Z
created_by: jarvis
quality_status: ok
created_at: 2026-05-20T07:01:31Z
new_values_json:
  {"position_id": "true-wealth-review-brokerage:instrument-US9220428588", "reason": "manual/test ETF cleanup", "transaction_id": "tx_5332cdb66603ea6ffefdb64e"}


audit_id: audit_c1e3587e42db4f55
timestamp: 2026-05-20T07:01:31Z
source: hotfix_runtime_cleanup
action: position_remove_confirm
entity_type: position
entity_id: true-wealth-review-brokerage:instrument-US92204A7028
user_text_note: ETF cleanup after verified backup; values redacted
confirmation_timestamp: 2026-05-20T07:01:31Z
created_by: jarvis
quality_status: ok
created_at: 2026-05-20T07:01:31Z
new_values_json:
  {"position_id": "true-wealth-review-brokerage:instrument-US92204A7028", "reason": "manual/test ETF cleanup", "transaction_id": "tx_de2c4c482616312b7f28b5a5"}


audit_id: audit_717d86d40fff4ece
timestamp: 2026-05-20T07:01:31Z
source: hotfix_runtime_cleanup
action: position_remove_confirm
entity_type: position
entity_id: true-wealth-review-brokerage:instrument-US9229087690
user_text_note: ETF cleanup after verified backup; values redacted
confirmation_timestamp: 2026-05-20T07:01:31Z
created_by: jarvis
quality_status: ok
created_at: 2026-05-20T07:01:31Z
new_values_json:
  {"position_id": "true-wealth-review-brokerage:instrument-US9229087690", "reason": "manual/test ETF cleanup", "transaction_id": "tx_70e832601465b74bc397bf0d"}


audit_id: audit_1a6254d6a08e4649
timestamp: 2026-05-20T07:01:54Z
source: hotfix_runtime_cleanup
action: truewealth_model_confirm
entity_type: account
entity_id: true-wealth-review-brokerage
user_text_note: TrueWealth set to managed total-value account; values redacted
confirmation_timestamp: 2026-05-20T07:01:54Z
created_by: jarvis
quality_status: ok
created_at: 2026-05-20T07:01:54Z
new_values_json:
  {"account_type": "managed_portfolio", "no_single_instruments": true, "valuation_mode": "manual_total_value"}


audit_id: audit_35b8408e343f49fc
timestamp: 2026-05-20T18:17:25Z
source: vue_dashboard
action: cash_account_seed_confirm
entity_type: cash_account
entity_id: acct_16a5b703ffe247e2
user_text_note: Canonical cash account ensured
confirmation_timestamp: 2026-05-20T18:17:25Z
created_by: jarvis
quality_status: ok
created_at: 2026-05-20T18:17:25Z
new_values_json:
  {"account_name": "PostFinance Cash-Konto", "balance_mode": "manual", "platform": "PostFinance Cash"}


audit_id: fe83eb41-94ac-4e45-a8e1-4a0e3ea792fe
timestamp: 2026-05-20T18:31:36.344049+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_349dc56e6f156ec549b75723
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:31:36.344049+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:31:36.344049+00:00
old_values_json:
  {"account_source": null, "amount_original": "13.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, "import_session_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": "349dc56e6f156ec549b757238b92322a", "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": "R983", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_349dc56e6f156ec549b75723", "transaction_date": "2026-01-23", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: 06036d5d-d06e-48d4-a5a4-1737690b7138
timestamp: 2026-05-20T18:31:44.419267+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_dd5898b8472842560b2cb2c2
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:31:44.419267+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:31:44.419267+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": "Flughafen Z\u00fcrich", "duplicate_of_transaction_id": null, "import_session_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": null, "raw_fingerprint": "dd5898b8472842560b2cb2c22e30c52b", "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": "R1023", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_dd5898b8472842560b2cb2c2", "transaction_date": "2026-03-06", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: e703d498-d324-491e-851b-168db3a89c4e
timestamp: 2026-05-20T18:31:48.607822+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_fdd0a68a3934df7c1c3eff5a
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:31:48.607822+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:31:48.607822+00:00
old_values_json:
  {"account_source": null, "amount_original": "9.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-18T08:15:07Z", "currency_original": "CHF", "description": "Landi", "duplicate_of_transaction_id": null, "import_session_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": null, "raw_fingerprint": "fdd0a68a3934df7c1c3eff5a0e537a40", "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": "R1031", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_fdd0a68a3934df7c1c3eff5a", "transaction_date": "2026-03-21", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: e0ca7b86-ffc9-4340-ba6f-5004cd8bec44
timestamp: 2026-05-20T18:32:04.601007+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_9e87006dfc314ce7
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_349dc56e6f156ec549b75723
confirmation_timestamp: 2026-05-20T18:32:04.601007+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:32:04.601007+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "13.000", "amount_original": "13.000", "booking_date": null, "budget_transaction_id": "btx_9e87006dfc314ce7", "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_349dc56e6f156ec549b75723", "payee": "ParkDepot GmbH", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_349dc56e6f156ec549b75723", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-23", "transaction_type": "expense"}


audit_id: d6f06175-1596-42db-b6ef-49ebaef41c70
timestamp: 2026-05-20T18:32:04.617307+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_349dc56e6f156ec549b75723
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-20T18:32:04.617307+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:32:04.617307+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_9e87006dfc314ce7", "status": "confirmed"}


audit_id: 88cfde77-8aa8-470d-b0f8-0c405c11a72c
timestamp: 2026-05-20T18:32:14.639180+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_7473e3188954582b235a19df
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:32:14.639180+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:32:14.639180+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-18T08:15:07Z", "currency_original": "CHF", "description": "ParkplatzAnnerstrasse", "duplicate_of_transaction_id": null, "import_session_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": "7473e3188954582b235a19df217cb0cf", "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": "R1066", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_7473e3188954582b235a19df", "transaction_date": "2026-04-14", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: ce28c6b3-f488-4172-b57b-f5570b9b5c59
timestamp: 2026-05-20T18:32:17.310728+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_1e96541cdcb345f5
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_7473e3188954582b235a19df
confirmation_timestamp: 2026-05-20T18:32:17.310728+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:32:17.310728+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "0.400", "amount_original": "0.400", "booking_date": null, "budget_transaction_id": "btx_1e96541cdcb345f5", "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_7473e3188954582b235a19df", "payee": "ParkplatzAnnerstrasse", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_7473e3188954582b235a19df", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-04-14", "transaction_type": "expense"}


audit_id: 0d0e0095-4489-42f9-850e-0face39d7bd7
timestamp: 2026-05-20T18:32:17.326420+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_7473e3188954582b235a19df
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-20T18:32:17.326420+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:32:17.326420+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_1e96541cdcb345f5", "status": "confirmed"}


audit_id: e99ecbec-41b9-4662-9154-f969188a5cd6
timestamp: 2026-05-20T18:32:24.345744+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_35d94ea9f65c7bc36b2ee6f5
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:32:24.345744+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:32:24.345744+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": "Artigiano Pizzeria Nap", "duplicate_of_transaction_id": null, "import_session_id": null, "linked_candidate_id": null, "merchant": "Artigiano Pizzeria Nap", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "35d94ea9f65c7bc36b2ee6f52674afc4", "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": "R1181", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_35d94ea9f65c7bc36b2ee6f5", "transaction_date": "2026-01-14", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: b8422362-eea0-4c13-b23f-2524e3f9ac77
timestamp: 2026-05-20T18:32:27.642079+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_40000e4f1d5f4777
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_35d94ea9f65c7bc36b2ee6f5
confirmation_timestamp: 2026-05-20T18:32:27.642079+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:32:27.642079+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "6.000", "amount_original": "6.000", "booking_date": null, "budget_transaction_id": "btx_40000e4f1d5f4777", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Artigiano Pizzeria Nap", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_35d94ea9f65c7bc36b2ee6f5", "payee": "Artigiano Pizzeria Nap", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_35d94ea9f65c7bc36b2ee6f5", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-14", "transaction_type": "expense"}


audit_id: abbe03fc-d522-4e42-b7c9-4d270972dad2
timestamp: 2026-05-20T18:32:27.670766+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_35d94ea9f65c7bc36b2ee6f5
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-20T18:32:27.670766+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:32:27.670766+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_40000e4f1d5f4777", "status": "confirmed"}


audit_id: eaac30a6-abe2-4dda-9794-dab3948dc209
timestamp: 2026-05-20T18:32:32.391870+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_0fc3d9d25f0f3c33d0a95539
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:32:32.391870+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:32:32.391870+00:00
old_values_json:
  {"account_source": null, "amount_original": "65.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-18T08:15:07Z", "currency_original": "CHF", "description": "iHerb", "duplicate_of_transaction_id": null, "import_session_id": null, "linked_candidate_id": null, "merchant": "iHerb", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "0fc3d9d25f0f3c33d0a955397fbf8e87", "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": "R1184", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_0fc3d9d25f0f3c33d0a95539", "transaction_date": "2026-01-17", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: 65dd243d-1552-48f1-a8b6-5b828703b2ae
timestamp: 2026-05-20T18:33:51.186698+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_ed160b3827204509
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_dd5898b8472842560b2cb2c2
confirmation_timestamp: 2026-05-20T18:33:51.186698+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:33:51.186698+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "10.000", "amount_original": "10.000", "booking_date": null, "budget_transaction_id": "btx_ed160b3827204509", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Flughafen Z\u00fcrich", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_dd5898b8472842560b2cb2c2", "payee": "Flughafen Z\u00fcrich", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_dd5898b8472842560b2cb2c2", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-03-06", "transaction_type": "expense"}


audit_id: f66b13ce-2ba5-495c-9adf-c98b31273bea
timestamp: 2026-05-20T18:33:51.215702+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_dd5898b8472842560b2cb2c2
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-20T18:33:51.215702+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:33:51.215702+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_ed160b3827204509", "status": "confirmed"}


audit_id: ed851803-53e1-4bc0-b611-b1fc0c4b9624
timestamp: 2026-05-20T18:33:55.057797+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_5b617f00ce6c41e9
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_fdd0a68a3934df7c1c3eff5a
confirmation_timestamp: 2026-05-20T18:33:55.057797+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:33:55.057797+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "9.450", "amount_original": "9.450", "booking_date": null, "budget_transaction_id": "btx_5b617f00ce6c41e9", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Landi", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_fdd0a68a3934df7c1c3eff5a", "payee": "Landi", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_fdd0a68a3934df7c1c3eff5a", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-03-21", "transaction_type": "expense"}


audit_id: 4909a670-34fe-4bde-817c-af0f06b1d1cc
timestamp: 2026-05-20T18:33:55.082945+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_fdd0a68a3934df7c1c3eff5a
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-20T18:33:55.082945+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:33:55.082945+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_5b617f00ce6c41e9", "status": "confirmed"}


audit_id: ac3b05fa-a9fa-4453-8a98-6ba7a9b7ef2f
timestamp: 2026-05-20T18:34:03.781202+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_0fc3d9d25f0f3c33d0a95539
new_values_json: {"category_id": "bcat_health", "category_name": "Gesundheit"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:34:03.781202+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:34:03.781202+00:00
old_values_json:
  {"account_source": null, "amount_original": "65.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-18T08:15:07Z", "currency_original": "CHF", "description": "iHerb", "duplicate_of_transaction_id": null, "import_session_id": null, "linked_candidate_id": null, "merchant": "iHerb", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": "bcat_food_household", "proposed_category_name": "Essen & Haushalt", "raw_fingerprint": "0fc3d9d25f0f3c33d0a955397fbf8e87", "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": "R1184", "source_type": "visa_credit_card", "status": "pending", "status_label": null, "transaction_candidate_id": "btxcand_0fc3d9d25f0f3c33d0a95539", "transaction_date": "2026-01-17", "updated_at": "2026-05-20T18:32:32Z"}


audit_id: c8aa297e-7ad8-4cd6-bb89-e36e3d721d3f
timestamp: 2026-05-20T18:34:06.330819+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_fa09d42bc2c14386
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_0fc3d9d25f0f3c33d0a95539
confirmation_timestamp: 2026-05-20T18:34:06.330819+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:34:06.330819+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "65.700", "amount_original": "65.700", "booking_date": null, "budget_transaction_id": "btx_fa09d42bc2c14386", "category_id": "bcat_health", "currency_original": "CHF", "description": "iHerb", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_0fc3d9d25f0f3c33d0a95539", "payee": "iHerb", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_0fc3d9d25f0f3c33d0a95539", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-17", "transaction_type": "expense"}


audit_id: 33d3d901-f810-4f0a-8498-d37ebb7487d6
timestamp: 2026-05-20T18:34:06.365968+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_0fc3d9d25f0f3c33d0a95539
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-20T18:34:06.365968+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:34:06.365968+00:00
new_values_json:
  {"category_id": "bcat_health", "confirmed_transaction_id": "btx_fa09d42bc2c14386", "status": "confirmed"}


audit_id: cf2b23de-54d8-4163-a870-ce9fbbff7ba1
timestamp: 2026-05-20T18:34:13.807863+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_53035cc1b18f9fd7bd68dd1a
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:34:13.807863+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:34:13.807863+00:00
old_values_json:
  {"account_source": null, "amount_original": "11.000", "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": "IKEA", "duplicate_of_transaction_id": null, "import_session_id": null, "linked_candidate_id": null, "merchant": "IKEA", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": "Hausrat / M\u00f6bel & Garten", "raw_fingerprint": "53035cc1b18f9fd7bd68dd1adfbdef95", "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": "R1057", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_53035cc1b18f9fd7bd68dd1a", "transaction_date": "2026-04-13", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 62cc609f-5097-4308-b60b-8d2eea16aa20
timestamp: 2026-05-20T18:34:21.194406+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_62e58c69d7e4604ed7c37813
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:34:21.194406+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:34:21.194406+00:00
old_values_json:
  {"account_source": null, "amount_original": "0.400", "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, "import_session_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": "62e58c69d7e4604ed7c37813ed9d68d5", "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": "R1066", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_62e58c69d7e4604ed7c37813", "transaction_date": "2026-04-14", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: c422402b-fde2-45e5-bf4f-f062b23a72f0
timestamp: 2026-05-20T18:34:35.755611+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_16f27a9be6544a343c801f13
new_values_json: {"category_id": "bcat_expenseautomelanie", "category_name": "Auto Melanie"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:34:35.755611+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:34:35.755611+00:00
old_values_json:
  {"account_source": null, "amount_original": "67.300", "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": "Tankstelle Gebr. Knecht", "duplicate_of_transaction_id": null, "import_session_id": null, "linked_candidate_id": null, "merchant": "Tankstelle Gebr. Knecht", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": "Auto / Transport", "raw_fingerprint": "16f27a9be6544a343c801f13334d4aad", "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": "R1179", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_16f27a9be6544a343c801f13", "transaction_date": "2026-01-13", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 63334cf6-0fa4-4cea-b820-6992c4aca619
timestamp: 2026-05-20T18:34:41.530819+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_5726f1e92a1e4aed
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_f268aa21e9f377c93eddb648
confirmation_timestamp: 2026-05-20T18:34:41.530819+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:34:41.530819+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "6.000", "amount_original": "6.000", "booking_date": null, "budget_transaction_id": "btx_5726f1e92a1e4aed", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Artigiano Pizzeria Nap", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_f268aa21e9f377c93eddb648", "payee": "Artigiano Pizzeria Nap", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_f268aa21e9f377c93eddb648", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-14", "transaction_type": "expense"}


audit_id: 7f77e54c-0cd1-4479-a70d-1aa92636b036
timestamp: 2026-05-20T18:34:41.554464+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_f268aa21e9f377c93eddb648
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-20T18:34:41.554464+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:34:41.554464+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_5726f1e92a1e4aed", "status": "confirmed"}


audit_id: 6ca67456-2fdb-414c-8386-8833edf7149a
timestamp: 2026-05-20T18:34:59.769771+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_01f0088b23c94db9
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_e9a57bdbf9e7f68d01bcf064
confirmation_timestamp: 2026-05-20T18:34:59.769771+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:34:59.769771+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "65.700", "amount_original": "65.700", "booking_date": null, "budget_transaction_id": "btx_01f0088b23c94db9", "category_id": "bcat_health", "currency_original": "CHF", "description": "iHerb", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_e9a57bdbf9e7f68d01bcf064", "payee": "iHerb", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_e9a57bdbf9e7f68d01bcf064", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-17", "transaction_type": "expense"}


audit_id: 86efbabc-7408-425e-911b-2e603c745e24
timestamp: 2026-05-20T18:34:59.795267+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_e9a57bdbf9e7f68d01bcf064
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-20T18:34:59.795267+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:34:59.795267+00:00
new_values_json:
  {"category_id": "bcat_health", "confirmed_transaction_id": "btx_01f0088b23c94db9", "status": "confirmed"}


audit_id: d72863d2-4cc3-4024-acc5-fde325c18bd7
timestamp: 2026-05-20T18:35:06.913519+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_5793cf7b59c74438
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_9cdd7f4a2e7e6b26cebc4e14
confirmation_timestamp: 2026-05-20T18:35:06.913519+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:35:06.913519+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "22.000", "amount_original": "22.000", "booking_date": null, "budget_transaction_id": "btx_5793cf7b59c74438", "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_9cdd7f4a2e7e6b26cebc4e14", "payee": "Restaurant Aquarena", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_9cdd7f4a2e7e6b26cebc4e14", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-30", "transaction_type": "expense"}


audit_id: 1a024db2-0ba3-496f-97bb-9ef0141897bf
timestamp: 2026-05-20T18:35:06.940460+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_9cdd7f4a2e7e6b26cebc4e14
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-20T18:35:06.940460+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:35:06.940460+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_5793cf7b59c74438", "status": "confirmed"}


audit_id: b5bc23ec-5fbf-4388-8f3e-43c326baa2df
timestamp: 2026-05-20T18:35:10.646628+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_d7b71d72a38d4878
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_e47681dfa3731bf945046bd1
confirmation_timestamp: 2026-05-20T18:35:10.646628+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:35:10.646628+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "19.000", "amount_original": "19.000", "booking_date": null, "budget_transaction_id": "btx_d7b71d72a38d4878", "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_e47681dfa3731bf945046bd1", "payee": "Rotpunkt Apotheken", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_e47681dfa3731bf945046bd1", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-30", "transaction_type": "expense"}


audit_id: 112cfc73-71db-4adc-b97c-88131ff6160c
timestamp: 2026-05-20T18:35:10.659929+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_e47681dfa3731bf945046bd1
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-20T18:35:10.659929+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:35:10.659929+00:00
new_values_json:
  {"category_id": "bcat_health", "confirmed_transaction_id": "btx_d7b71d72a38d4878", "status": "confirmed"}


audit_id: 371f7d2f-3df5-4365-9089-1c5ae873c541
timestamp: 2026-05-20T18:35:14.064085+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_abefba33d5b24df7
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_1a90b9fee2bae4392f5020f6
confirmation_timestamp: 2026-05-20T18:35:14.064085+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:35:14.064085+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "21.400", "amount_original": "21.400", "booking_date": null, "budget_transaction_id": "btx_abefba33d5b24df7", "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_1a90b9fee2bae4392f5020f6", "payee": "Burger King", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_1a90b9fee2bae4392f5020f6", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-11", "transaction_type": "expense"}


audit_id: 9953bb66-3a41-4cbd-a227-75a1382348be
timestamp: 2026-05-20T18:35:14.079254+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_1a90b9fee2bae4392f5020f6
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-20T18:35:14.079254+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:35:14.079254+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_abefba33d5b24df7", "status": "confirmed"}


audit_id: 200ae59e-4387-4b97-93d7-9ab31b5ff127
timestamp: 2026-05-20T18:35:20.802384+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_550229926ead4991
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_7c29ea6151487fbfe88de1f9
confirmation_timestamp: 2026-05-20T18:35:20.802384+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:35:20.802384+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "100.700", "amount_original": "100.700", "booking_date": null, "budget_transaction_id": "btx_550229926ead4991", "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_7c29ea6151487fbfe88de1f9", "payee": "Coop", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_7c29ea6151487fbfe88de1f9", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-11", "transaction_type": "expense"}


audit_id: 7001e808-8bec-4940-87e5-893b5a790e23
timestamp: 2026-05-20T18:35:20.834626+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_7c29ea6151487fbfe88de1f9
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-20T18:35:20.834626+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:35:20.834626+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_550229926ead4991", "status": "confirmed"}


audit_id: b7ca6e05-4601-4cf3-9019-97173a23a8f5
timestamp: 2026-05-20T18:35:29.379060+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_8fc1d9af32e2f924c5138aec
new_values_json: {"category_id": "bcat_expensehobbysundselfcare", "category_name": "Hobbys & Selfcare"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:35:29.379060+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:35:29.379060+00:00
old_values_json:
  {"account_source": null, "amount_original": "60.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": "Thermalbad Zurzach Betrie", "duplicate_of_transaction_id": null, "import_session_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": "8fc1d9af32e2f924c5138aec0d78b9f9", "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": "R1210", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_8fc1d9af32e2f924c5138aec", "transaction_date": "2026-02-11", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 231d7f55-2235-44c5-b32d-dc415419f033
timestamp: 2026-05-20T18:35:36.465476+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_b7a537125270f6fa8e1dc556
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:35:36.465476+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:35:36.465476+00:00
old_values_json:
  {"account_source": null, "amount_original": "1.200", "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, "import_session_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": "b7a537125270f6fa8e1dc556139d510d", "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": "R1217", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_b7a537125270f6fa8e1dc556", "transaction_date": "2026-02-17", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 94134ee6-ec8f-4210-aa61-c9daa7384144
timestamp: 2026-05-20T18:35:44.063664+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_b6803588caffb91e446bc3bf
new_values_json: {"category_id": "bcat_expenseautomelanie", "category_name": "Auto Melanie"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:35:44.063664+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:35:44.063664+00:00
old_values_json:
  {"account_source": null, "amount_original": "75.650", "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": "Tankstelle Gebr. Knecht", "duplicate_of_transaction_id": null, "import_session_id": null, "linked_candidate_id": null, "merchant": "Tankstelle Gebr. Knecht", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": "Auto / Transport", "raw_fingerprint": "b6803588caffb91e446bc3bfa29dab21", "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": "R1224", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_b6803588caffb91e446bc3bf", "transaction_date": "2026-02-23", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 64299e45-cfdb-4fb3-885b-6a0ce643bb66
timestamp: 2026-05-20T18:36:11.844815+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_fcce85c5c2be4b66
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_1a20bb6ace0dc9fece4bbfdf
confirmation_timestamp: 2026-05-20T18:36:11.844815+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:36:11.844815+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "21.650", "amount_original": "21.650", "booking_date": null, "budget_transaction_id": "btx_fcce85c5c2be4b66", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "M\u00fcller Drogeriemarkt", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_1a20bb6ace0dc9fece4bbfdf", "payee": "M\u00fcller Drogeriemarkt", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_1a20bb6ace0dc9fece4bbfdf", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-25", "transaction_type": "expense"}


audit_id: 43935066-b34a-4bea-a422-4bf4a0b21ad4
timestamp: 2026-05-20T18:36:11.880975+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_1a20bb6ace0dc9fece4bbfdf
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-20T18:36:11.880975+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:36:11.880975+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_fcce85c5c2be4b66", "status": "confirmed"}


audit_id: 60ea5174-e280-4583-a58d-017b647d4aca
timestamp: 2026-05-20T18:36:21.591200+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_314f5a1f5440171504c748bd
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:36:21.591200+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:36:21.591200+00:00
old_values_json:
  {"account_source": null, "amount_original": "23.400", "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": "Disney Plus", "duplicate_of_transaction_id": null, "import_session_id": null, "linked_candidate_id": null, "merchant": "Disney Plus", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": null, "proposed_category_name": "Freizeit / Ausfl\u00fcge / Abos", "raw_fingerprint": "314f5a1f5440171504c748bd597d3dec", "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": "R1228", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_314f5a1f5440171504c748bd", "transaction_date": "2026-02-28", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 932362b5-1ffb-4d9b-b0f8-67faf7708864
timestamp: 2026-05-20T18:36:26.512163+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_3a087c88bfad4102
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_327d7344e986326f22fc1d89
confirmation_timestamp: 2026-05-20T18:36:26.512163+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:36:26.512163+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "5.700", "amount_original": "5.700", "booking_date": null, "budget_transaction_id": "btx_3a087c88bfad4102", "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_327d7344e986326f22fc1d89", "payee": "Coop", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_327d7344e986326f22fc1d89", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-03-03", "transaction_type": "expense"}


audit_id: 9b79f336-2746-4b29-9f7a-afc6907ca7be
timestamp: 2026-05-20T18:36:26.537327+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_327d7344e986326f22fc1d89
old_values_json: {"status": "auto_categorized"}
confirmation_timestamp: 2026-05-20T18:36:26.537327+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:36:26.537327+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_3a087c88bfad4102", "status": "confirmed"}


audit_id: 330b398d-4618-4914-8c5a-b8972dc24cd1
timestamp: 2026-05-20T18:37:24.806321+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_e5ff88b8a78ca1761ec1001d
new_values_json: {"category_id": "bcat_expensehobbysundselfcare", "category_name": "Hobbys & Selfcare"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:37:24.806321+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:37:24.806321+00:00
old_values_json:
  {"account_source": null, "amount_original": "63.250", "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 Waldkantine", "duplicate_of_transaction_id": null, "import_session_id": null, "linked_candidate_id": null, "merchant": "Restaurant Waldkantine", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": "bcat_food_household", "proposed_category_name": "Essen & Haushalt", "raw_fingerprint": "e5ff88b8a78ca1761ec1001df96a131c", "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": "R1239", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_e5ff88b8a78ca1761ec1001d", "transaction_date": "2026-03-08", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: a19071e3-4fa3-4097-9464-0e7659208f79
timestamp: 2026-05-20T18:37:49.620092+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_67651adf7011d275265081fa
new_values_json: {"category_id": "bcat_expensehobbysundselfcare", "category_name": "Hobbys & Selfcare"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:37:49.620092+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:37:49.620092+00:00
old_values_json:
  {"account_source": null, "amount_original": "5.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": "Zuschauerterrasse B - Flughafen Z\u00fcrich", "duplicate_of_transaction_id": null, "import_session_id": null, "linked_candidate_id": null, "merchant": "Zuschauerterrasse B - Flughafen Z\u00fcrich", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": "Auto / Transport", "raw_fingerprint": "67651adf7011d275265081faa86a4954", "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": "R1237", "source_type": "credit_card_csv", "status": "auto_categorized", "status_label": null, "transaction_candidate_id": "btxcand_67651adf7011d275265081fa", "transaction_date": "2026-03-08", "updated_at": "2026-05-17T11:40:09Z"}


audit_id: 9c2ef6c3-f2d3-4ab5-9e91-732d904fda8c
timestamp: 2026-05-20T18:38:20.744751+00:00
source: vue_dashboard
action: delete_empty
entity_type: budget_category
entity_id: bcat_children_family
new_values_json: {}
confirmation_timestamp: 2026-05-20T18:38:20.744751+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:38:20.744751+00:00
old_values_json:
  {"category_id": "bcat_children_family", "category_type": "expense", "color": null, "created_at": "2026-05-18T20:02:20.708053+00:00", "icon": null, "is_active": 1, "name": "Kinder/Familie", "parent_category_id": null, "sort_order": 16, "updated_at": "2026-05-18T20:02:20.708053+00:00"}


audit_id: 9c23e81a-5f97-4279-855f-279e4aacb4bc
timestamp: 2026-05-20T18:38:20.767545+00:00
source: vue_dashboard
action: delete_empty
entity_type: budget_category
entity_id: bcat_travel
new_values_json: {}
confirmation_timestamp: 2026-05-20T18:38:20.767545+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:38:20.767545+00:00
old_values_json:
  {"category_id": "bcat_travel", "category_type": "expense", "color": null, "created_at": "2026-05-18T20:02:20.708053+00:00", "icon": null, "is_active": 1, "name": "Ferien/Reisen", "parent_category_id": null, "sort_order": 18, "updated_at": "2026-05-18T20:02:20.708053+00:00"}


audit_id: 9fa1765b-3023-4359-bb66-d42a0e2125a8
timestamp: 2026-05-20T18:38:20.787526+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-20T18:38:20.787526+00:00
created_by: system
quality_status: ok
created_at: 2026-05-20T18:38:20.787526+00:00
new_values_json:
  {"archived_categories": 0, "deleted_empty_categories": 2, "moved_budget_plans": 0, "moved_merchants": 0, "moved_rules": 0, "moved_transactions": 0}


audit_id: 75c4921a-ba27-48f9-83d3-49525f8ea72b
timestamp: 2026-05-20T18:40:02.750294+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_271d2810937ac131bd41ae4e
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:40:02.750294+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:40:02.750294+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, "import_session_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": "271d2810937ac131bd41ae4eb013d44d", "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": "R1195", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_271d2810937ac131bd41ae4e", "transaction_date": "2026-01-27", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: e1965900-4ec5-4d75-9051-84cc0ac829d9
timestamp: 2026-05-20T18:40:19.489341+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_b28d5b5d5c01a5072d9bc55d
new_values_json: {"category_id": "bcat_expensekleiderundschuhe", "category_name": "Kleider und Schuhe"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:40:19.489341+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:40:19.489341+00:00
old_values_json:
  {"account_source": null, "amount_original": "87.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": "Dosenbach", "duplicate_of_transaction_id": null, "import_session_id": null, "linked_candidate_id": null, "merchant": "Dosenbach", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "b28d5b5d5c01a5072d9bc55df5f8e37f", "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": "R1177", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_b28d5b5d5c01a5072d9bc55d", "transaction_date": "2026-01-10", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: 81c72f1c-18e5-4fe6-b9bc-1f1997febd28
timestamp: 2026-05-20T18:40:24.255760+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_68fec5f93b0946ca
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_b28d5b5d5c01a5072d9bc55d
confirmation_timestamp: 2026-05-20T18:40:24.255760+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:40:24.255760+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "87.800", "amount_original": "87.800", "booking_date": null, "budget_transaction_id": "btx_68fec5f93b0946ca", "category_id": "bcat_expensekleiderundschuhe", "currency_original": "CHF", "description": "Dosenbach", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_b28d5b5d5c01a5072d9bc55d", "payee": "Dosenbach", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_b28d5b5d5c01a5072d9bc55d", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-10", "transaction_type": "expense"}


audit_id: 187c97ba-4ba3-4728-8aad-d97a04294ca4
timestamp: 2026-05-20T18:40:24.283488+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_b28d5b5d5c01a5072d9bc55d
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-20T18:40:24.283488+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:40:24.283488+00:00
new_values_json:
  {"category_id": "bcat_expensekleiderundschuhe", "confirmed_transaction_id": "btx_68fec5f93b0946ca", "status": "confirmed"}


audit_id: 6a16fb81-02c3-4a3c-a033-94c1ca1a0bcc
timestamp: 2026-05-20T18:40:41.382032+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_6ef157c0fa9e4dced160e1b4
new_values_json: {"category_id": "bcat_expenseelektronischemedien", "category_name": "Elektronische Medien"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:40:41.382032+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:40:41.382032+00:00
old_values_json:
  {"account_source": null, "amount_original": "23.400", "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": "Disney Plus", "duplicate_of_transaction_id": null, "import_session_id": null, "linked_candidate_id": null, "merchant": "Disney Plus", "merchant_display_name": null, "merchant_id": null, "notes": "subscription_merchant_rule", "proposed_category_id": "bcat_food_household", "proposed_category_name": "Essen & Haushalt", "raw_fingerprint": "6ef157c0fa9e4dced160e1b444066716", "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": "R1197", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_6ef157c0fa9e4dced160e1b4", "transaction_date": "2026-01-28", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: 94fee9fa-626a-4fa8-9c9d-bb1fbc1aa938
timestamp: 2026-05-20T18:40:46.376933+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_a054cb472f384f45
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_6ef157c0fa9e4dced160e1b4
confirmation_timestamp: 2026-05-20T18:40:46.376933+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:40:46.376933+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "23.400", "amount_original": "23.400", "booking_date": null, "budget_transaction_id": "btx_a054cb472f384f45", "category_id": "bcat_expenseelektronischemedien", "currency_original": "CHF", "description": "Disney Plus", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_6ef157c0fa9e4dced160e1b4", "payee": "Disney Plus", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_6ef157c0fa9e4dced160e1b4", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-28", "transaction_type": "expense"}


audit_id: afc52d24-3ac4-4eef-9d9e-7113985cfe17
timestamp: 2026-05-20T18:40:46.407861+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_6ef157c0fa9e4dced160e1b4
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-20T18:40:46.407861+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:40:46.407861+00:00
new_values_json:
  {"category_id": "bcat_expenseelektronischemedien", "confirmed_transaction_id": "btx_a054cb472f384f45", "status": "confirmed"}


audit_id: 33ce6b17-69ac-481a-a469-f59dc4ed11df
timestamp: 2026-05-20T18:40:50.736787+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_f7e1d0a9b309443d
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_271d2810937ac131bd41ae4e
confirmation_timestamp: 2026-05-20T18:40:50.736787+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:40:50.736787+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "10.000", "amount_original": "10.000", "booking_date": null, "budget_transaction_id": "btx_f7e1d0a9b309443d", "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_271d2810937ac131bd41ae4e", "payee": "Amazon Prime", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_271d2810937ac131bd41ae4e", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-27", "transaction_type": "expense"}


audit_id: 4b41c604-4f1b-4562-aeda-d804dff6988e
timestamp: 2026-05-20T18:40:50.750789+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_271d2810937ac131bd41ae4e
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-20T18:40:50.750789+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:40:50.750789+00:00
new_values_json:
  {"category_id": "bcat_expenseelektronischemedien", "confirmed_transaction_id": "btx_f7e1d0a9b309443d", "status": "confirmed"}


audit_id: 431157db-5ded-4725-92a1-65f2bb15ffd2
timestamp: 2026-05-20T18:40:54.269074+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_fd66e0952e9c76410b35e34f
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:40:54.269074+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:40:54.269074+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, "import_session_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": "fd66e0952e9c76410b35e34ff157c6d4", "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": "R1198", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_fd66e0952e9c76410b35e34f", "transaction_date": "2026-01-29", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: bf05f322-2f23-4e34-be04-0ae0c6f24b9e
timestamp: 2026-05-20T18:40:57.321075+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_82eac410138a4fae
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_fd66e0952e9c76410b35e34f
confirmation_timestamp: 2026-05-20T18:40:57.321075+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:40:57.321075+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "10.000", "amount_original": "10.000", "booking_date": null, "budget_transaction_id": "btx_82eac410138a4fae", "category_id": "bcat_food_household", "currency_original": "CHF", "description": "Parkhaus 0", "fx_rate_to_chf": "1", "fx_status": "not_needed", "merchant_id": null, "notes": "Confirmed from transaction candidate btxcand_fd66e0952e9c76410b35e34f", "payee": "Parkhaus 0", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_fd66e0952e9c76410b35e34f", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-29", "transaction_type": "expense"}


audit_id: 260eebe2-42aa-4031-b07c-a945f4e04eb9
timestamp: 2026-05-20T18:40:57.354425+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_fd66e0952e9c76410b35e34f
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-20T18:40:57.354425+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:40:57.354425+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_82eac410138a4fae", "status": "confirmed"}


audit_id: cbccbee1-6b2b-48d1-bd28-21222ef6075f
timestamp: 2026-05-20T18:41:00.490955+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_40b3138be2c1173e48ccfc7f
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:41:00.490955+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:41:00.490955+00:00
old_values_json:
  {"account_source": null, "amount_original": "22.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, "import_session_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": "40b3138be2c1173e48ccfc7fc5d17bb6", "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": "R1200", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_40b3138be2c1173e48ccfc7f", "transaction_date": "2026-01-30", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: 9e3151dc-5b85-4142-a865-a04f4ad6937a
timestamp: 2026-05-20T18:41:02.996692+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_290ed2670e9a49f3
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_40b3138be2c1173e48ccfc7f
confirmation_timestamp: 2026-05-20T18:41:02.996692+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:41:02.996692+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "22.000", "amount_original": "22.000", "booking_date": null, "budget_transaction_id": "btx_290ed2670e9a49f3", "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_40b3138be2c1173e48ccfc7f", "payee": "Restaurant Aquarena", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_40b3138be2c1173e48ccfc7f", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-30", "transaction_type": "expense"}


audit_id: 9f0e0553-dbb7-46fd-92ac-126142807a2a
timestamp: 2026-05-20T18:41:03.049979+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_40b3138be2c1173e48ccfc7f
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-20T18:41:03.049979+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:41:03.049979+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_290ed2670e9a49f3", "status": "confirmed"}


audit_id: d161ec2b-e56d-4192-b0c5-3d2ed6bbd5ac
timestamp: 2026-05-20T18:41:10.647606+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_d066c5792343bf8d2e2320c8
new_values_json: {"category_id": "bcat_health", "category_name": "Gesundheit"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:41:10.647606+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:41:10.647606+00:00
old_values_json:
  {"account_source": null, "amount_original": "19.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": "Rotpunkt Apotheken", "duplicate_of_transaction_id": null, "import_session_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": "d066c5792343bf8d2e2320c805be95b4", "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": "R1203", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_d066c5792343bf8d2e2320c8", "transaction_date": "2026-01-30", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: 1e97637a-0d06-4440-999e-e629db17d308
timestamp: 2026-05-20T18:41:14.200589+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_a4a0891eaaaa41e6
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_d066c5792343bf8d2e2320c8
confirmation_timestamp: 2026-05-20T18:41:14.200589+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:41:14.200589+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "19.000", "amount_original": "19.000", "booking_date": null, "budget_transaction_id": "btx_a4a0891eaaaa41e6", "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_d066c5792343bf8d2e2320c8", "payee": "Rotpunkt Apotheken", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_d066c5792343bf8d2e2320c8", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-30", "transaction_type": "expense"}


audit_id: a1067b8b-16fc-4d03-85b7-be45995deef8
timestamp: 2026-05-20T18:41:14.218894+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_d066c5792343bf8d2e2320c8
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-20T18:41:14.218894+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:41:14.218894+00:00
new_values_json:
  {"category_id": "bcat_health", "confirmed_transaction_id": "btx_a4a0891eaaaa41e6", "status": "confirmed"}


audit_id: 7b063042-d304-40f0-9558-373fde352331
timestamp: 2026-05-20T18:41:20.286082+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_e4cea4c15533c645d92a051b
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:41:20.286082+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:41:20.286082+00:00
old_values_json:
  {"account_source": null, "amount_original": "8.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, "import_session_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": "e4cea4c15533c645d92a051b7e5ea176", "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": "R1204", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_e4cea4c15533c645d92a051b", "transaction_date": "2026-01-30", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: 466185d3-05b3-4248-8b6a-56ffa0a5aa3d
timestamp: 2026-05-20T18:41:23.580749+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_e98b34106f1b45d6
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_e4cea4c15533c645d92a051b
confirmation_timestamp: 2026-05-20T18:41:23.580749+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:41:23.580749+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "8.000", "amount_original": "8.000", "booking_date": null, "budget_transaction_id": "btx_e98b34106f1b45d6", "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_e4cea4c15533c645d92a051b", "payee": "ParkDepot GmbH", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_e4cea4c15533c645d92a051b", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-01-30", "transaction_type": "expense"}


audit_id: 96fdd821-c3fa-4190-b94b-623849c7b43f
timestamp: 2026-05-20T18:41:23.610194+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_e4cea4c15533c645d92a051b
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-20T18:41:23.610194+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:41:23.610194+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_e98b34106f1b45d6", "status": "confirmed"}


audit_id: db46f612-1aee-4f0f-a745-136e5702feb4
timestamp: 2026-05-20T18:41:26.803842+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_9a03941ff65ea4f19b2fc07a
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:41:26.803842+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:41:26.803842+00:00
old_values_json:
  {"account_source": null, "amount_original": "21.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-18T08:15:07Z", "currency_original": "CHF", "description": "Burger King", "duplicate_of_transaction_id": null, "import_session_id": null, "linked_candidate_id": null, "merchant": "Burger King", "merchant_display_name": null, "merchant_id": null, "notes": "card_review", "proposed_category_id": null, "proposed_category_name": null, "raw_fingerprint": "9a03941ff65ea4f19b2fc07adfe8e33e", "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": "R1208", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_9a03941ff65ea4f19b2fc07a", "transaction_date": "2026-02-11", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: 59c238d5-e5c7-4268-8a24-59760f454c27
timestamp: 2026-05-20T18:41:29.247418+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_5835b0c40e92463d
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_9a03941ff65ea4f19b2fc07a
confirmation_timestamp: 2026-05-20T18:41:29.247418+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:41:29.247418+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "21.400", "amount_original": "21.400", "booking_date": null, "budget_transaction_id": "btx_5835b0c40e92463d", "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_9a03941ff65ea4f19b2fc07a", "payee": "Burger King", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_9a03941ff65ea4f19b2fc07a", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-11", "transaction_type": "expense"}


audit_id: 75dca323-fb30-45af-bd79-1799163bf161
timestamp: 2026-05-20T18:41:29.274583+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_9a03941ff65ea4f19b2fc07a
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-20T18:41:29.274583+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:41:29.274583+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_5835b0c40e92463d", "status": "confirmed"}


audit_id: 126fb9d2-0f8f-41c6-a9e6-25384873a2f9
timestamp: 2026-05-20T18:41:32.341060+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_c2251f1a759331171f34372a
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:41:32.341060+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:41:32.341060+00:00
old_values_json:
  {"account_source": null, "amount_original": "100.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-18T08:15:07Z", "currency_original": "CHF", "description": "Coop", "duplicate_of_transaction_id": null, "import_session_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": "c2251f1a759331171f34372a7a57aff7", "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": "R1209", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_c2251f1a759331171f34372a", "transaction_date": "2026-02-11", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: 7dddac8d-8bf0-4441-bf86-7fbee563cb36
timestamp: 2026-05-20T18:41:34.976336+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_c66b1d5b71cd48aa
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_c2251f1a759331171f34372a
confirmation_timestamp: 2026-05-20T18:41:34.976336+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:41:34.976336+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "100.700", "amount_original": "100.700", "booking_date": null, "budget_transaction_id": "btx_c66b1d5b71cd48aa", "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_c2251f1a759331171f34372a", "payee": "Coop", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_c2251f1a759331171f34372a", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-11", "transaction_type": "expense"}


audit_id: 2582267b-4abc-43a6-a2a4-13d206d69b9c
timestamp: 2026-05-20T18:41:35.006794+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_c2251f1a759331171f34372a
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-20T18:41:35.006794+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:41:35.006794+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_c66b1d5b71cd48aa", "status": "confirmed"}


audit_id: c1d0a16f-9e55-4286-b0e0-2b4423bdc909
timestamp: 2026-05-20T18:41:50.689475+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_262c271a6c44441fa023a077
new_values_json: {"category_id": "bcat_expensehobbysundselfcare", "category_name": "Hobbys & Selfcare"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:41:50.689475+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:41:50.689475+00:00
old_values_json:
  {"account_source": null, "amount_original": "60.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": "Thermalbad Zurzach Betrie", "duplicate_of_transaction_id": null, "import_session_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": "262c271a6c44441fa023a077d8606d58", "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": "R1210", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_262c271a6c44441fa023a077", "transaction_date": "2026-02-11", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: c67e4bb7-d480-4aa7-b0ef-69523dca27bd
timestamp: 2026-05-20T18:41:55.498971+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_1a54fdba49284b3d
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_262c271a6c44441fa023a077
confirmation_timestamp: 2026-05-20T18:41:55.498971+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:41:55.498971+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "60.000", "amount_original": "60.000", "booking_date": null, "budget_transaction_id": "btx_1a54fdba49284b3d", "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_262c271a6c44441fa023a077", "payee": "Thermalbad Zurzach Betrie", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_262c271a6c44441fa023a077", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-11", "transaction_type": "expense"}


audit_id: d630d2ac-5ad3-426a-803e-376a63c51cc3
timestamp: 2026-05-20T18:41:55.520881+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_262c271a6c44441fa023a077
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-20T18:41:55.520881+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:41:55.520881+00:00
new_values_json:
  {"category_id": "bcat_expensehobbysundselfcare", "confirmed_transaction_id": "btx_1a54fdba49284b3d", "status": "confirmed"}


audit_id: cb052cf6-a7e1-4dfe-99b8-808deb20c9d2
timestamp: 2026-05-20T18:41:58.152049+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_f70e2abbd12f83da67160bba
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:41:58.152049+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:41:58.152049+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-18T08:15:07Z", "currency_original": "CHF", "description": "ParkDepot GmbH", "duplicate_of_transaction_id": null, "import_session_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": "f70e2abbd12f83da67160bba87245535", "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": "R1214", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_f70e2abbd12f83da67160bba", "transaction_date": "2026-02-15", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: cbf0fc90-8564-47db-a41f-2a55498a9611
timestamp: 2026-05-20T18:42:00.152258+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_8feb95bc15214f0d
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_f70e2abbd12f83da67160bba
confirmation_timestamp: 2026-05-20T18:42:00.152258+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:42:00.152258+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "12.000", "amount_original": "12.000", "booking_date": null, "budget_transaction_id": "btx_8feb95bc15214f0d", "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_f70e2abbd12f83da67160bba", "payee": "ParkDepot GmbH", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_f70e2abbd12f83da67160bba", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-15", "transaction_type": "expense"}


audit_id: 7929e931-dc2a-48a9-9f85-5ab15054a0b6
timestamp: 2026-05-20T18:42:00.176467+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_f70e2abbd12f83da67160bba
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-20T18:42:00.176467+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:42:00.176467+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_8feb95bc15214f0d", "status": "confirmed"}


audit_id: e24464d7-013e-4617-872a-4101095480b4
timestamp: 2026-05-20T18:42:04.091020+00:00
source: vue_dashboard
action: update_category
entity_type: budget_transaction_candidate
entity_id: btxcand_f1cf5eaf698b9888a345c9eb
new_values_json: {"category_id": "bcat_food_household", "category_name": "Essen & Haushalt"}
user_text_note: Inline category override
confirmation_timestamp: 2026-05-20T18:42:04.091020+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:42:04.091020+00:00
old_values_json:
  {"account_source": null, "amount_original": "1.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-18T08:15:07Z", "currency_original": "CHF", "description": "ParkplatzAnnerstrasse", "duplicate_of_transaction_id": null, "import_session_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": "f1cf5eaf698b9888a345c9eb52c6f431", "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": "R1217", "source_type": "visa_credit_card", "status": "needs_review", "status_label": null, "transaction_candidate_id": "btxcand_f1cf5eaf698b9888a345c9eb", "transaction_date": "2026-02-17", "updated_at": "2026-05-18T08:15:07Z"}


audit_id: 6eada90d-c21b-4545-b834-5124165c9b99
timestamp: 2026-05-20T18:42:07.022727+00:00
source: vue_dashboard
action: confirm
entity_type: budget_transaction
entity_id: btx_2e7a79714bf94782
old_values_json: {}
user_text_note: Confirmed from transaction candidate btxcand_f1cf5eaf698b9888a345c9eb
confirmation_timestamp: 2026-05-20T18:42:07.022727+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:42:07.022727+00:00
new_values_json:
  {"account_id": "bacc_6860d2ed36b24023", "amount_chf": "1.200", "amount_original": "1.200", "booking_date": null, "budget_transaction_id": "btx_2e7a79714bf94782", "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_f1cf5eaf698b9888a345c9eb", "payee": "ParkplatzAnnerstrasse", "reversal_of_transaction_id": null, "source_candidate_id": "btxcand_f1cf5eaf698b9888a345c9eb", "source_type": "import_candidate", "tag_names": [], "transaction_date": "2026-02-17", "transaction_type": "expense"}


audit_id: c39ec201-78db-4c03-ad06-9b0f5927116f
timestamp: 2026-05-20T18:42:07.047392+00:00
source: vue_dashboard
action: candidate_confirmed
entity_type: budget_transaction_candidate
entity_id: btxcand_f1cf5eaf698b9888a345c9eb
old_values_json: {"status": "pending"}
confirmation_timestamp: 2026-05-20T18:42:07.047392+00:00
created_by: user
quality_status: ok
created_at: 2026-05-20T18:42:07.047392+00:00
new_values_json:
  {"category_id": "bcat_food_household", "confirmed_transaction_id": "btx_2e7a79714bf94782", "status": "confirmed"}


audit_id: 85555cb4-449f-4b37-af2e-2a61a9bc2d63
timestamp: 2026-05-20T19:02:48.435437+00:00
source: budget_duplicate_hotfix_runtime_cleanup
action: budget_duplicate_runtime_cleanup_summary
entity_type: budget_transaction_candidate
entity_id: duplicate_cleanup_20260520T190248Z
old_values_json: {}
user_text_note: No productive bookings created
confirmation_timestamp: 2026-05-20T19:02:48.435437+00:00
created_by: agent
quality_status: ok
created_at: 2026-05-20T19:02:48.435437+00:00
new_values_json:
  {"dry_run_counts_no_amounts": {"date_merchant_amount_duplicate_groups": 130, "duplicate_candidate": 113, "identical_receipt_key_duplicate_groups": 0, "open_candidates": 508, "possible_migros_duplicates": 49}, "exact_receipt_duplicates_blocked": 0, "possible_duplicates_marked": 184}


audit_id: d17306a8-2956-40ee-89ab-80a52e9430b0
timestamp: 2026-05-21T15:08:13.284504+00:00
source: vue_dashboard
action: mark_2025_candidates_reference
entity_type: budget_transaction_candidate
entity_id: review_backlog_2025_reference
old_values_json: {"candidate_count": 708}
confirmation_timestamp: 2026-05-21T15:08:13.284504+00:00
created_by: user
quality_status: ok
created_at: 2026-05-21T15:08:13.284504+00:00
new_values_json:
  {"candidate_ids": ["btxcand_397746a9559acda258f759fd", "btxcand_54292f03e005579675b5a48d", "btxcand_5918f5ab5936f6aa8229dee7", "btxcand_0735b69ffcdd47a55aa9453c", "btxcand_3b5687be0adf17e8d8bbdb5f", "btxcand_8a545483c858edd16e638e3a", "btxcand_13ab38128f6f88377b3601a7", "btxcand_802ef9225ed3a41435a7c73d", "btxcand_314b259eaf46e88cd44ac502", "btxcand_066fd910f1bb1ff5e3229c06", "btxcand_c48c7066f46cd1f802d90343", "btxcand_55ae679aff2f13fea064b518", "btxcand_899c3fe3965faa75f279f43e", "btxcand_9f09e699b53d8996b488ac25", "btxcand_56140290b6002ae867e3aefc", "btxcand_500970bc9d2afa99908d736b", "btxcand_b8d5c1dd6e7097975775e102", "btxcand_ac718d1d4a29a2720da9b408", "btxcand_80a63de056bffdabc2abcb02", "btxcand_9668a6ddb71d795e7230b40e", "btxcand_9f69c4da8d6d412bfa0699e0", "btxcand_22019d8db2ce586dcba0d3d6", "btxcand_f2962b49f636dd43bf94e2ff", "btxcand_d2f007a4d1a7f893482e91a2", "btxcand_9fdb65ded8ec4ee222645c5c", "btxcand_3f6f2a555e3145d108b103af", "btxcand_c9b5fa5f9ef89ada3abc1d54", "btxcand_ed9457120eaf42bdd391f920", "btxcand_bbebe80f27777753711cbc6a", "btxcand_f51ca8c78e58f19dc4e73387", "btxcand_eda27b7e4e845c04826c7529", "btxcand_b2591aafe09e78ab62613d76", "btxcand_82076f39589c341a7b1f3454", "btxcand_c6cc5b51c35252d7da74a89c", "btxcand_423a20133a1fea51d9498049", "btxcand_0637b277d6f23c5661d88b10", "btxcand_6a34f668140c77f9d09e0681", "btxcand_fa15c225db32f20f4d7b02b1", "btxcand_3fb6c975d927ca37ad3b3cc9", "btxcand_dbd7e6950493a4df78e9d7ed", "btxcand_6747f79764fe8dd596c2cf08", "btxcand_cc18d832741110f23d6cb71c", "btxcand_673d9f6c09ef75faa481c384", "btxcand_92e4c643af78aa3783d7f17e", "btxcand_a55eb5b15db4afb746de0d99", "btxcand_4531ec42e821798e78c7c1e0", "btxcand_92affa2dd28cc837aa2794df", "btxcand_1579a3a1dc3e170ef02fa8c3", "btxcand_95b247f103d0487054160bd0", "btxcand_32fc38bb56a8ee283c539b25"], "status": "reference_2025"}


audit_id: 57d7ed51-dbd5-4c5b-8187-0526c57e6488
timestamp: 2026-05-21T19:29:33.002580+00:00
source: vue_dashboard
action: candidate_internal_transfer_rule_applied
entity_type: budget_transaction_candidate
entity_id: btxcand_b0746de0143f28f573d52caf
confirmation_timestamp: 2026-05-21T19:29:33.002580+00:00
created_by: system
quality_status: ok
created_at: 2026-05-21T19:29:33.002580+00:00
old_values_json:
  {"classification": "bank_review", "linked_candidate_id": null, "review_reason": "bank_payment_unclear", "status": "needs_review"}

new_values_json:
  {"classification": "transfer_candidate", "rule_name": "Raiffeisen TWINT Swisslos \u2192 AKB Haushaltskonto Transfer", "status": "transfer_candidate", "transfer_pair_status": "matched"}


audit_id: fbd3f516-2019-43fa-bbfc-eeff5845507b
timestamp: 2026-05-21T19:29:33.004323+00:00
source: vue_dashboard
action: candidate_internal_transfer_rule_applied
entity_type: budget_transaction_candidate
entity_id: btxcand_e9fa628543458ffc5a167325
confirmation_timestamp: 2026-05-21T19:29:33.004323+00:00
created_by: system
quality_status: ok
created_at: 2026-05-21T19:29:33.004323+00:00
old_values_json:
  {"classification": "bank_review", "linked_candidate_id": null, "review_reason": "bank_payment_unclear", "status": "needs_review"}

new_values_json:
  {"classification": "transfer_candidate", "rule_name": "Raiffeisen TWINT Swisslos \u2192 AKB Haushaltskonto Transfer", "status": "transfer_candidate", "transfer_pair_status": "unmatched"}


# broker_import_dry_runs

dry_run_id: 465c61a7-855a-494c-bf1f-0d7eedda91b7
source_name: PostFinance
source_platform: PostFinance
source_file_label: [runtime-file-redacted]
source_file_type: docx
source_hash: 59ec092da349092c29187801b3b96d77e7685cf22ca667f56b5703fac3f73040
source_filename_hash: 59ec092da349092c29187801b3b96d77e7685cf22ca667f56b5703fac3f73040
snapshot_date_status: missing
detected_sections_json: ["table_1", "table_2", "table_3", "table_4", "table_5"]
field_coverage_json: {}
created_at: 2026-05-15T09:35:47.590490+00:00
notes: dry-run summary only; no productive ledger writes
quality_flags_json:
  {"cost_basis_uncertain": 33, "missing_isin": 33, "missing_ticker": 33, "needs_manual_review": 34, "snapshot_only": 34}

summary_json:
  {"blocked_positions": 33, "candidate_cash_rows": 1, "candidate_positions": 33, "mapped_positions": 0, "rows_total": 40, "source_file_type": "docx", "source_platform": "PostFinance"}


dry_run_id: 2761d82c-b80f-44d2-8c5f-d969e01b9912
source_name: True Wealth
source_platform: True Wealth
source_file_label: [runtime-file-redacted]
source_file_type: docx
source_hash: 6d55404a91397dc52b8162663c15de00172f9c806d3803db9114a3e970ec63a8
source_filename_hash: 6d55404a91397dc52b8162663c15de00172f9c806d3803db9114a3e970ec63a8
snapshot_date_status: missing
detected_sections_json: ["table_1"]
field_coverage_json: {}
created_at: 2026-05-15T09:35:47.610688+00:00
notes: dry-run summary only; no productive ledger writes
quality_flags_json:
  {"cost_basis_uncertain": 17, "missing_isin": 17, "missing_ticker": 17, "needs_manual_review": 18, "snapshot_only": 18}

summary_json:
  {"blocked_positions": 17, "candidate_cash_rows": 1, "candidate_positions": 17, "mapped_positions": 0, "rows_total": 19, "source_file_type": "docx", "source_platform": "True Wealth"}


dry_run_id: cc21d566-0eeb-4e1f-ab69-f9b99356073d
source_name: Raiffeisen
source_platform: Raiffeisen
source_file_label: [runtime-file-redacted]
source_file_type: xlsx
source_hash: 67e2f92384bf608c8e06772c90519fbfce8f8f58ed475d4cee5c87dd263d476f
source_filename_hash: 67e2f92384bf608c8e06772c90519fbfce8f8f58ed475d4cee5c87dd263d476f
snapshot_date_status: missing
detected_sections_json: ["sheet_1"]
field_coverage_json: {}
created_at: 2026-05-15T09:35:47.626152+00:00
notes: dry-run summary only; no productive ledger writes
quality_flags_json:
  {"aggregate_only": 4, "cash_snapshot_candidate": 3, "missing_instrument_details": 4, "needs_manual_review": 7}

summary_json:
  {"blocked_positions": 4, "candidate_cash_rows": 3, "candidate_positions": 4, "mapped_positions": 0, "rows_total": 8, "source_file_type": "xlsx", "source_platform": "Raiffeisen"}


# broker_import_execution_plans

execution_plan_id: plan-9122f3c2-eb76-4f92-b95d-1f9c2a99f686
dry_run_id: 2761d82c-b80f-44d2-8c5f-d969e01b9912
review_item_id: 9122f3c2-eb76-4f92-b95d-1f9c2a99f686
source_platform: True Wealth
target_account_id: true-wealth-review-brokerage
target_instrument_id: instrument-US9229087690
transaction_type: initial_position_snapshot
snapshot_date: 2026-05-14
payload_status: ready
payload_quality_flags_json: ["cost_basis_uncertain", "fx_missing"]
source_row_hash: d91dcdb723e0725fc4d721d2c3083d3609a33c1bd04c191d3d548fbfaa55d38a
execution_status: imported
transaction_id: tx-0870b5b9-0c4e-4ffb-94b5-4eef18009b99
created_at: 2026-05-15T10:20:15.960216+00:00
updated_at: 2026-05-15T10:21:23.938094+00:00
executed_at: 2026-05-15T10:21:23.938094+00:00
notes: B6b mini-import executed for exactly one reviewed payload.
planned_write_summary_json:
  {"account_id": "true-wealth-review-brokerage", "cost_basis_quality": "uncertain", "currency_original": "USD", "fx_rate_to_chf": null, "fx_status": "missing", "gross_amount_chf": "36482.67", "instrument_id": "instrument-US9229087690", "price_original": "364.71", "quantity": "128", "snapshot_date": "2026-05-14", "source_id": "9122f3c2-eb76-4f92-b95d-1f9c2a99f686", "source_row_ref": "table1:row14", "source_type": "broker_import_reviewed_snapshot", "trade_date": "2026-05-14", "transaction_type": "initial_position_snapshot"}


execution_plan_id: plan-1c6136ca-852d-4467-ae87-4924ea2bd305
dry_run_id: 2761d82c-b80f-44d2-8c5f-d969e01b9912
review_item_id: 1c6136ca-852d-4467-ae87-4924ea2bd305
source_platform: True Wealth
target_account_id: true-wealth-review-brokerage
target_instrument_id: instrument-US9220428588
transaction_type: initial_position_snapshot
snapshot_date: 2026-05-14
payload_status: ready
payload_quality_flags_json: ["cost_basis_uncertain", "fx_missing"]
source_row_hash: 69b0d49e21558dff03555e0dd70509e800f81507a014215c18722548f809b63b
execution_status: imported
transaction_id: tx-e13645cf-1681-4ac8-b57d-981aad88098c
created_at: 2026-05-15T10:20:15.960591+00:00
updated_at: 2026-05-15T10:48:28.447099+00:00
executed_at: 2026-05-15T10:48:28.447099+00:00
notes: B6c second controlled mini-import from reviewed True Wealth execution plan; no mass import.
planned_write_summary_json:
  {"account_id": "true-wealth-review-brokerage", "cost_basis_quality": "uncertain", "currency_original": "USD", "fx_rate_to_chf": null, "fx_status": "missing", "gross_amount_chf": "11476.56", "instrument_id": "instrument-US9220428588", "price_original": "59.94", "quantity": "245", "snapshot_date": "2026-05-14", "source_id": "1c6136ca-852d-4467-ae87-4924ea2bd305", "source_row_ref": "table1:row15", "source_type": "broker_import_reviewed_snapshot", "trade_date": "2026-05-14", "transaction_type": "initial_position_snapshot"}


execution_plan_id: plan-8cc9a511-e679-47ee-a57a-30fe53ea72a6
dry_run_id: 2761d82c-b80f-44d2-8c5f-d969e01b9912
review_item_id: 8cc9a511-e679-47ee-a57a-30fe53ea72a6
source_platform: True Wealth
target_account_id: true-wealth-review-brokerage
target_instrument_id: instrument-US92204A7028
transaction_type: initial_position_snapshot
snapshot_date: 2026-05-14
payload_status: ready
payload_quality_flags_json: ["cost_basis_uncertain", "fx_missing"]
source_row_hash: 4af3459e24c3edf73a406bad31c4ebe4ece6ca7dcefa8acb175c3d1798e49ca1
execution_status: imported
transaction_id: tx-aecd65d3-148f-4e45-9e19-d5c2d85e8133
created_at: 2026-05-15T10:20:15.960672+00:00
updated_at: 2026-05-15T10:58:02.510937+00:00
executed_at: 2026-05-15T10:58:02.510937+00:00
notes: B6d final controlled True Wealth mini-import from reviewed execution plan; no mass import.
planned_write_summary_json:
  {"account_id": "true-wealth-review-brokerage", "cost_basis_quality": "uncertain", "currency_original": "USD", "fx_rate_to_chf": null, "fx_status": "missing", "gross_amount_chf": "32095.35", "instrument_id": "instrument-US92204A7028", "price_original": "113.45", "quantity": "362", "snapshot_date": "2026-05-14", "source_id": "8cc9a511-e679-47ee-a57a-30fe53ea72a6", "source_row_ref": "table1:row17", "source_type": "broker_import_reviewed_snapshot", "trade_date": "2026-05-14", "transaction_type": "initial_position_snapshot"}


# instrument_price_mapping_candidates

candidate_id: ipmc_208b2282a32eef2a4890b7ab
instrument_id: instrument-US9220428588
isin: US9220428588
candidate_provider: openfigi
candidate_provider_symbol: VWO
candidate_exchange: US
candidate_currency: USD
candidate_name: VANGUARD FTSE EMERGING MARKE
candidate_instrument_status: unknown
confidence: high
evidence_source: openfigi_isin_mapping
evidence_note: ISIN match; currency match
review_status: selected
created_at: 2026-05-15T13:22:27.088798+00:00
updated_at: 2026-05-15T14:31:15.866866+00:00
candidate_asset_class: etf
candidate_hedge_status: unknown
candidate_valuation_policy: live_price
risk_flags: Hedge unklar,Instrument-Status unklar,mehrere Listings/Kandidaten vorhanden
recommended_action: needs_manual_review
ranking_reason:
  ISIN passt exakt; Provider-Symbol vorhanden; Exchange vorhanden; Währung passt; Assetklasse passt; Name passt fuzzy; OpenFIGI ISIN-Datenquelle


candidate_id: ipmc_5edff637f58a03d45e2785e7
instrument_id: instrument-US9220428588
isin: US9220428588
candidate_provider: yahoo_fallback
candidate_provider_symbol: VWO
candidate_exchange: NYSEArca
candidate_currency: USD
candidate_name: Vanguard Emerging Markets Stock Index Fund
candidate_instrument_status: unknown
confidence: medium
evidence_source: yahoo_finance_search
evidence_note: ticker+exchange match; requires manual review
review_status: rejected
created_at: 2026-05-15T13:22:27.089261+00:00
updated_at: 2026-05-15T14:31:15.866866+00:00
candidate_asset_class: etf
candidate_hedge_status: unknown
candidate_valuation_policy: live_price
risk_flags: Hedge unklar,Instrument-Status unklar,mehrere Listings/Kandidaten vorhanden
recommended_action: needs_manual_review
ranking_reason:
  ISIN passt exakt; Provider-Symbol vorhanden; Exchange vorhanden; Währung passt; Assetklasse passt; Name teilweise ähnlich; Yahoo Search Fallback


candidate_id: ipmc_7bfb02f1cc92277e6a744dc0
instrument_id: instrument-US9220428588
isin: US9220428588
candidate_provider: yahoo_fallback
candidate_provider_symbol: VEU.XA
candidate_exchange: CXA
candidate_currency: USD
candidate_name: VWORLDXUS CDI 1:1 [VEU]
candidate_instrument_status: unknown
confidence: low
evidence_source: yahoo_finance_search
evidence_note: name-only or weak provider match; manual review required
review_status: rejected
created_at: 2026-05-15T13:22:27.089323+00:00
updated_at: 2026-05-15T14:31:15.866866+00:00
candidate_asset_class: equity
candidate_hedge_status: unknown
candidate_valuation_policy: live_price
recommended_action: reject_candidate
ranking_reason:
  ISIN passt exakt; Provider-Symbol vorhanden; Exchange vorhanden; Währung passt; Yahoo Search Fallback

risk_flags:
  Assetklasse abweichend,Name unsicher,Hedge unklar,Instrument-Status unklar,mehrere Listings/Kandidaten vorhanden


candidate_id: ipmc_8890e40a9041eafbac939cd2
instrument_id: instrument-US9220428588
isin: US9220428588
candidate_provider: yahoo_fallback
candidate_provider_symbol: VWOB260515C00067000
candidate_exchange: OPR
candidate_currency: USD
candidate_name: VWOB May 2026 67.000 call
candidate_instrument_status: unknown
confidence: medium
evidence_source: yahoo_finance_search
evidence_note: ticker+exchange match; requires manual review
review_status: rejected
created_at: 2026-05-15T13:22:27.089405+00:00
updated_at: 2026-05-15T14:31:15.866866+00:00
candidate_asset_class: etf
candidate_hedge_status: unknown
candidate_valuation_policy: live_price
risk_flags: Name unsicher,Hedge unklar,Instrument-Status unklar,mehrere Listings/Kandidaten vorhanden
recommended_action: needs_manual_review
ranking_reason:
  ISIN passt exakt; Provider-Symbol vorhanden; Exchange vorhanden; Währung passt; Assetklasse passt; Yahoo Search Fallback


candidate_id: ipmc_e31b9b9f614991e30e953a0f
instrument_id: instrument-US92204A7028
isin: US92204A7028
candidate_provider: openfigi
candidate_provider_symbol: VGT
candidate_exchange: US
candidate_currency: USD
candidate_name: VANGUARD INFO TECH ETF
candidate_instrument_status: unknown
confidence: high
evidence_source: openfigi_isin_mapping
evidence_note: ISIN match; currency match
review_status: selected
created_at: 2026-05-15T13:22:27.968162+00:00
updated_at: 2026-05-15T14:31:47.037509+00:00
candidate_asset_class: etf
candidate_hedge_status: unknown
candidate_valuation_policy: live_price
risk_flags: Hedge unklar,Instrument-Status unklar,mehrere Listings/Kandidaten vorhanden
recommended_action: needs_manual_review
ranking_reason:
  ISIN passt exakt; Provider-Symbol vorhanden; Exchange vorhanden; Währung passt; Assetklasse passt; Name teilweise ähnlich; OpenFIGI ISIN-Datenquelle


# instrument_import_candidates

candidate_id: instrument_candidate_37cfc02a663c3af46558a155
source_file: 260514_Portfolio_Postfinance.docx
platform: postfinance
source_row_number: 2
raw_name: / / 6 : : Konsolidiert in
raw_ticker: 16:23
raw_currency: CHF
raw_quantity: 14
raw_asset_class: equity
extracted_by: deterministic_parser
extraction_confidence: medium
proposed_name: Unknown
proposed_ticker: 16:23
proposed_currency: CHF
proposed_asset_class: equity
mapping_status: needs_manual_review
created_at: 2026-05-15T19:51:37.197570+00:00
updated_at: 2026-05-15T20:48:32.707188+00:00
review_note:
  Ticker '16:23' and product name '/ / 6 : : Konsolidiert in' appear to be parsing errors or non-standard identifiers. Cannot map to a valid instrument. Requires manual review.


candidate_id: instrument_candidate_19c943637f01e4d7acc1885d
source_file: 260514_Portfolio_Postfinance.docx
platform: postfinance
source_row_number: 102
raw_name: ADBE
raw_ticker: ADBE
raw_currency: USD
raw_quantity: 20 260.65
raw_asset_class: equity
extracted_by: deterministic_parser
extraction_confidence: medium
proposed_name: Adobe Inc.
proposed_ticker: ADBE
proposed_currency: USD
proposed_asset_class: equity
mapping_status: needs_manual_review
created_at: 2026-05-15T19:51:37.198000+00:00
updated_at: 2026-05-15T20:48:32.706450+00:00
review_note:
  ISIN is empty. Ticker ADBE corresponds to Adobe Inc., but without ISIN, exact match cannot be confirmed. Manual verification required.


candidate_id: instrument_candidate_90ea94052680d069c2265925
source_file: 260514_Portfolio_Postfinance.docx
platform: postfinance
source_row_number: 112
raw_name: ANET
raw_ticker: ANET
raw_currency: USD
raw_quantity: 36 143.60
raw_asset_class: equity
extracted_by: deterministic_parser
extraction_confidence: medium
proposed_name: Arista Networks, Inc.
proposed_ticker: ANET
proposed_currency: USD
proposed_asset_class: equity
mapping_status: needs_manual_review
created_at: 2026-05-15T19:51:37.198103+00:00
updated_at: 2026-05-15T20:48:32.706843+00:00
review_note:
  ISIN is empty. Ticker ANET corresponds to Arista Networks, but without ISIN, exact match cannot be confirmed. Manual verification required.


candidate_id: instrument_candidate_073d04d4cbe2e793877e6275
source_file: 260514_Portfolio_Postfinance.docx
platform: postfinance
source_row_number: 122
raw_name: APC
raw_ticker: APC
raw_currency: EUR
raw_quantity: 190
raw_asset_class: equity
extracted_by: deterministic_parser
extraction_confidence: medium
proposed_name: Unknown/Deprecated
proposed_ticker: APC
proposed_currency: EUR
proposed_asset_class: equity
mapping_status: needs_manual_review
created_at: 2026-05-15T19:51:37.198251+00:00
updated_at: 2026-05-15T20:48:32.706924+00:00
review_note:
  ISIN is empty. Ticker APC is ambiguous (e.g., Associated Press, or former APC Energy). Currency EUR suggests European listing, but ticker is primarily US. High risk of ambiguity. Manual verification required.


candidate_id: instrument_candidate_92a693b025538e765b52393e
source_file: 260514_Portfolio_Postfinance.docx
platform: postfinance
source_row_number: 132
raw_name: APP
raw_ticker: APP
raw_currency: USD
raw_quantity: 13 372.386
raw_asset_class: equity
extracted_by: deterministic_parser
extraction_confidence: medium
proposed_name: DoorDash, Inc.
proposed_ticker: DASH
proposed_currency: USD
proposed_asset_class: equity
mapping_status: needs_manual_review
created_at: 2026-05-15T19:51:37.198350+00:00
updated_at: 2026-05-15T20:48:32.706965+00:00
review_note:
  ISIN is empty. Ticker APP is currently used by Booking Holdings (formerly Priceline). The product name 'APP' likely refers to DoorDash, which trades under DASH. Ticker mismatch detected. Manual verification required.


candidate_id: instrument_candidate_637d6d093be4a119fce6f939
source_file: 260514_Portfolio_Postfinance.docx
platform: postfinance
source_row_number: 143
raw_name: AVGO
raw_ticker: AVGO
raw_currency: USD
raw_quantity: 56
raw_asset_class: equity
extracted_by: deterministic_parser
extraction_confidence: medium
proposed_name: Broadcom Inc.
proposed_ticker: AVGO
proposed_currency: USD
proposed_asset_class: equity
mapping_status: needs_manual_review
created_at: 2026-05-15T19:51:37.198397+00:00
updated_at: 2026-05-15T20:48:32.707013+00:00
review_note:
  ISIN is empty. Ticker AVGO corresponds to Broadcom Inc., but without ISIN, exact match cannot be confirmed. Manual verification required.


candidate_id: instrument_candidate_ea496ba063247a7efbf2fc74
source_file: 260514_Portfolio_Postfinance.docx
platform: postfinance
source_row_number: 163
raw_name: BABA
raw_ticker: BABA
raw_currency: USD
raw_quantity: 46 170.82391
raw_asset_class: equity
extracted_by: deterministic_parser
extraction_confidence: medium
proposed_name: Alibaba Group Holding Ltd
proposed_ticker: BABA
proposed_exchange: NYSE
proposed_currency: USD
proposed_asset_class: equity
mapping_status: needs_manual_review
created_at: 2026-05-15T19:51:37.198439+00:00
updated_at: 2026-05-15T20:48:32.707047+00:00
review_note:
  ISIN missing. Ticker BABA corresponds to Alibaba Group Holding Ltd on NYSE. Manual verification required to confirm ISIN and exchange.


candidate_id: instrument_candidate_19716bb81f8a16940852e7f1
source_file: 260514_Portfolio_Postfinance.docx
platform: postfinance
source_row_number: 172
raw_name: CRWD
raw_ticker: CRWD
raw_currency: USD
raw_quantity: 12 423.00
raw_asset_class: equity
extracted_by: deterministic_parser
extraction_confidence: medium
proposed_name: CrowdStrike Holdings Inc
proposed_ticker: CRWD
proposed_exchange: NASDAQ
proposed_currency: USD
proposed_asset_class: equity
mapping_status: needs_manual_review
created_at: 2026-05-15T19:51:37.198480+00:00
updated_at: 2026-05-15T20:48:32.707077+00:00
review_note:
  ISIN missing. Ticker CRWD corresponds to CrowdStrike Holdings Inc on NASDAQ. Manual verification required to confirm ISIN and exchange.


candidate_id: instrument_candidate_1ec1155cea3d7ec5750a4c17
source_file: 260514_Portfolio_Postfinance.docx
platform: postfinance
source_row_number: 182
raw_name: GOOG
raw_ticker: GOOG
raw_currency: USD
raw_quantity: 96
raw_asset_class: equity
extracted_by: deterministic_parser
extraction_confidence: medium
proposed_name: Alphabet Inc Class C
proposed_ticker: GOOG
proposed_exchange: NASDAQ
proposed_currency: USD
proposed_asset_class: equity
mapping_status: needs_manual_review
created_at: 2026-05-15T19:51:37.198523+00:00
updated_at: 2026-05-15T20:48:32.707106+00:00
review_note:
  ISIN missing. Ticker GOOG corresponds to Alphabet Inc Class C on NASDAQ. Manual verification required to confirm ISIN and exchange.


candidate_id: instrument_candidate_2f05b84424048fa128f1a705
source_file: 260514_Portfolio_Postfinance.docx
platform: postfinance
source_row_number: 191
raw_name: MCD
raw_ticker: MCD
raw_currency: USD
raw_quantity: 14 129.97071
raw_asset_class: equity
extracted_by: deterministic_parser
extraction_confidence: medium
proposed_name: McDonald's Corp
proposed_ticker: MCD
proposed_exchange: NYSE
proposed_currency: USD
proposed_asset_class: equity
mapping_status: needs_manual_review
created_at: 2026-05-15T19:51:37.198569+00:00
updated_at: 2026-05-15T20:48:32.707156+00:00
review_note:
  ISIN missing. Ticker MCD corresponds to McDonald's Corp on NYSE. Manual verification required to confirm ISIN and exchange.


candidate_id: instrument_candidate_4f35bed10b8653aff2436c97
source_file: 260514_Portfolio_Postfinance.docx
platform: postfinance
source_row_number: 201
raw_name: MSFT
raw_ticker: MSFT
raw_currency: USD
raw_quantity: 19 402.66
raw_asset_class: equity
extracted_by: deterministic_parser
extraction_confidence: medium
proposed_name: Microsoft Corporation
proposed_ticker: MSFT
proposed_currency: USD
proposed_asset_class: equity
mapping_status: needs_manual_review
created_at: 2026-05-15T19:51:37.198611+00:00
updated_at: 2026-05-15T20:48:32.707227+00:00
review_note:
  ISIN is empty. Ticker alone is not enough for confirmation. Manual verification required to assign correct ISIN.


candidate_id: instrument_candidate_73995e5e983c42f19d7e3fde
source_file: 260514_Portfolio_Postfinance.docx
platform: postfinance
source_row_number: 253
raw_name: PANW
raw_ticker: PANW
raw_currency: USD
raw_quantity: 31 168.50
raw_asset_class: equity
extracted_by: deterministic_parser
extraction_confidence: medium
proposed_name: PANW
proposed_ticker: PANW
proposed_currency: USD
proposed_asset_class: equity
mapping_status: needs_manual_review
created_at: 2026-05-15T19:51:37.198847+00:00
updated_at: 2026-05-15T20:48:32.707380+00:00
review_note:
  ISIN is empty. Ticker alone is not sufficient for confirmation. Manual verification required to assign correct ISIN and exchange.


candidate_id: instrument_candidate_d6dd6a84b6e7fc87d2282f7b
source_file: 260514_Portfolio_Postfinance.docx
platform: postfinance
source_row_number: 308
raw_name: BCHE
raw_ticker: BCHE
raw_currency: USD
raw_quantity: 98
raw_asset_class: etf
extracted_by: deterministic_parser
extraction_confidence: medium
proposed_name: BCHE
proposed_ticker: BCHE
proposed_currency: USD
proposed_asset_class: etf
mapping_status: needs_manual_review
created_at: 2026-05-15T19:51:37.199052+00:00
updated_at: 2026-05-15T20:48:32.707511+00:00
review_note:
  ISIN is empty. Ticker BCHE is not unique enough for confirmation. Requires manual verification of the underlying asset.


candidate_id: instrument_candidate_bbbdba0e4d56ee9db9072c23
source_file: 260514_Portfolio_Postfinance.docx
platform: postfinance
source_row_number: 317
raw_name: IUIT
raw_ticker: IUIT
raw_currency: USD
raw_quantity: 400
raw_asset_class: etf
extracted_by: deterministic_parser
extraction_confidence: medium
proposed_name: IUIT
proposed_ticker: IUIT
proposed_currency: USD
proposed_asset_class: etf
mapping_status: needs_manual_review
created_at: 2026-05-15T19:51:37.199090+00:00
updated_at: 2026-05-15T20:48:32.707541+00:00
review_note:
  ISIN is empty. Ticker IUIT is not unique enough for confirmation. Requires manual verification of the underlying asset.


candidate_id: instrument_candidate_2210109058da8500d7d28d97
source_file: 260514_Portfolio_Postfinance.docx
platform: postfinance
source_row_number: 326
raw_name: WTAI
raw_ticker: WTAI
raw_currency: USD
raw_quantity: 68
raw_asset_class: etf
extracted_by: deterministic_parser
extraction_confidence: medium
proposed_name: WTAI
proposed_ticker: WTAI
proposed_currency: USD
proposed_asset_class: etf
mapping_status: needs_manual_review
created_at: 2026-05-15T19:51:37.199141+00:00
updated_at: 2026-05-15T20:48:32.707567+00:00
review_note:
  ISIN is empty. Ticker WTAI is not unique enough for confirmation. Requires manual verification of the underlying asset.


# budget_plan_items

plan_item_id: bplan_7018cd98726d44f6
plan_month: 2026-01
category_id: bcat_38c8f7bf53964431
monthly_amount_chf: 583.3333333333334
cadence: monthly
source_type: excel_seed_dry_run
notes: Budget Seed Review 2026
created_at: 2026-05-17T07:57:37Z
updated_at: 2026-05-17T07:57:37Z
name:
  Spezielle einmalige Anschaffungen (Pneu, Möbel, Mathe-Nachhilfe, Pool, Sonnensegel, Reitlager, Eisenhorn, Dreame)


plan_item_id: bplan_ccf9bd20dbbc4176
plan_month: 2026-01
category_id: bcat_73be2f95230c462c
name: Rückvergütung Solarstrom
cadence: annual
source_type: system
created_at: 2026-05-18T11:57:00Z
updated_at: 2026-05-18T11:57:00Z
notes:
  person=Haushalt;income_type=Rückvergütung;target_month=noch festzulegen;template=true;employer=Solarstrom


plan_item_id: bplan_dd82aa4ef5564c40
plan_month: 2026-01
category_id: bcat_eccbd333bd79493b
name: Hotfix Smoke Test Einkommen
monthly_amount_chf: 1.00
cadence: monthly
source_type: manual
created_at: 2026-05-18T12:05:36Z
updated_at: 2026-05-18T12:07:03Z
notes:
  person=Marcel;income_type=Lohn;target_month=;employer=Hotfix QA;temporary smoke test; archive immediately


# budget_import_rules

rule_id: rule_raiffeisen_swisslos_akb_transfer
rule_type: internal_transfer
pattern: TWINT SWISSLOS|SWISSLOS E-COMMERCE
source_type: raiffeisen_bank
target_action: transfer_candidate
confidence: 0.96
created_at: 2026-05-21T19:29:32Z
updated_at: 2026-05-21T19:29:32Z
notes:
  {"rule_name": "Raiffeisen TWINT Swisslos → AKB Haushaltskonto Transfer", "from_account": "Raiffeisen", "to_account": "AKB Haushaltskonto", "budget_impact": "neutral", "requires_review_when_unmatched": true, "applies_from_year": "2026"}


# budget_transaction_candidates

transaction_candidate_id: btxcand_2cc80dc8194693de35049d39
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R2
source_type: akb_bank
transaction_date: 2026-05-18
description: TWINT-Gutschrift Geld erhalten von
amount_original: 100
currency_original: CHF
proposed_category_id: bcat_73be2f95230c462c
proposed_category_name: Sonstige Einnahmen
confidence: 0.65
status: confirmed
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-18T17:19:03Z
classification: possible_income
review_reason: user_category_override
rule_id: bank_review
raw_fingerprint: 038aff389121219cb0e355473e2b4266
confirmed_transaction_id: btx_9e4e41220c9c4775
confirmed_at: 2026-05-18T17:19:03Z
confirmed_by: user
notes:
  {"transaction_type": "income", "reason": "possible_income_pattern", "reclassified_by": "income_csv_recognition_v1"}


transaction_candidate_id: btxcand_3d4bd2ccb8734ddd584fd10d
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R20
source_type: akb_bank
transaction_date: 2026-04-28
description: Zahlungseingang / Ref.-Nr. 1524946250 Marcel Gasser
amount_original: 7500.00
currency_original: CHF
confidence: 0.50
status: needs_review
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-18T12:52:09Z
classification: bank_review
review_reason: bank_payment_unclear
rule_id: transfer_candidate
raw_fingerprint: cd2037ada3e5476aeef15b2c9a9a398b
notes:
  {"transaction_type": "expense", "reason": "bank_payment_unclear", "reclassified_by": "income_csv_recognition_v1"}


transaction_candidate_id: btxcand_32b77a022cffd65563c00036
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R27
source_type: akb_bank
transaction_date: 2026-04-24
description: Zahlungseingang / Ref.-Nr. 1523127964 Gasser Bauunternehmen GmbH
amount_original: 349.9
currency_original: CHF
proposed_category_id: bcat_incomelohnmelanie
proposed_category_name: Lohn Melanie
confidence: 0.90
status: confirmed
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-18T17:16:35Z
classification: income_candidate
review_reason: user_category_override
rule_id: bank_review
raw_fingerprint: 11f6119d5f3e678f87968ee0cbe331e2
confirmed_transaction_id: btx_783e6b57a0e84b9b
confirmed_at: 2026-05-18T17:16:35Z
confirmed_by: user
notes:
  {"transaction_type": "income", "reason": "strong_income_pattern", "reclassified_by": "income_csv_recognition_v1"}


transaction_candidate_id: btxcand_d35e7483a7f73aca158e4061
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R29
source_type: akb_bank
transaction_date: 2026-04-21
amount_original: 1178.00
currency_original: CHF
confidence: 0.50
status: needs_review
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-18T12:52:09Z
classification: bank_review
review_reason: bank_payment_unclear
rule_id: transfer_candidate
raw_fingerprint: 40f5ed969a1703b9785eefb33a60049c
description:
  Belastung e-banking / Ref.-Nr. 1521838513 EINWOHNERGEMEINDE WINDISCH DOHLENZELGSTRASSE 6 5210 WINDISCH Schweiz Ursprünglicher Auftraggeber: MARCEL GASSER, MELANIE GASSER-SCHWAGER 000000000110320005120901003

notes:
  {"transaction_type": "expense", "reason": "bank_payment_unclear", "reclassified_by": "income_csv_recognition_v1"}


transaction_candidate_id: btxcand_350449992652771cd748e75e
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R30
source_type: akb_bank
transaction_date: 2026-04-21
amount_original: 2400.00
currency_original: CHF
confidence: 0.50
status: needs_review
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-18T12:52:09Z
classification: bank_review
review_reason: bank_payment_unclear
rule_id: transfer_candidate
raw_fingerprint: 8762b3fb49857ca8f2c3437da17929cb
description:
  Belastung e-banking / Ref.-Nr. 1521838535 HELVETIA SCHWEIZERISCHE LEBENSVERSICHERUNGSGESELLSCHAFT AG ST. ALBAN-ANLAGE 26 4002 BASEL Schweiz Mitteilung: 1210.P0.75275593 Ursprünglicher Auftraggeber: MARCEL GASSER 010075275593010526044401004

notes:
  {"transaction_type": "expense", "reason": "bank_payment_unclear", "reclassified_by": "income_csv_recognition_v1"}


transaction_candidate_id: btxcand_02950f34fa882acf986f2523
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R43
source_type: akb_bank
transaction_date: 2026-04-07
amount_original: 4796.30
currency_original: CHF
confidence: 0.50
status: needs_review
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-18T12:52:09Z
classification: bank_review
review_reason: bank_payment_unclear
rule_id: transfer_candidate
raw_fingerprint: 9faa3be050a7ddef8c54ef8382786da3
description:
  Belastung e-banking / Ref.-Nr. 1517440460 VISECA PAYMENT SERVICES AG HAGENHOLZSTRASSE 56 8050 ZUERICH Schweiz Ursprünglicher Auftraggeber: MARCEL GASSER 000000000011075681090589545

notes:
[cell repeats an earlier one in this file: 113 characters]


transaction_candidate_id: btxcand_077bfb60651ebf2c950f4dd4
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R44
source_type: akb_bank
transaction_date: 2026-04-07
amount_original: 133.85
currency_original: CHF
confidence: 0.50
status: needs_review
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-18T12:52:09Z
classification: bank_review
review_reason: bank_payment_unclear
rule_id: transfer_candidate
raw_fingerprint: bf65318c0a803f6930ce778d32b63ce5
description:
  Belastung e-banking / Ref.-Nr. 1517440446 JAKOB VOGT AG MITTELDORFSTRASSE 7 5234 VILLIGEN Schweiz Mitteilung: RECHNUNG NR. 189176 VOM 01.04.2026 Ursprünglicher Auftraggeber: MELANIE U. MARCEL GASSER 801472000000000000001891766

notes:
[cell repeats an earlier one in this file: 113 characters]


transaction_candidate_id: btxcand_183c754cb3c79308f95fab1d
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R53
source_type: akb_bank
transaction_date: 2026-03-23
amount_original: 132.26
currency_original: CHF
confidence: 0.50
status: needs_review
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-18T12:52:09Z
classification: bank_review
review_reason: bank_payment_unclear
rule_id: transfer_candidate
raw_fingerprint: 91746fe25cf31c8a0c89c295308daa25
description:
  Belastung e-banking / Ref.-Nr. 1511192635 VISECA PAYMENT SERVICES AG HAGENHOLZSTRASSE 56 8050 ZUERICH Schweiz Ursprünglicher Auftraggeber: MARCEL GASSER 000000000011075681090589545

notes:
[cell repeats an earlier one in this file: 113 characters]


transaction_candidate_id: btxcand_b1eb9d6aea826b31439ec199
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R54
source_type: akb_bank
transaction_date: 2026-03-23
amount_original: 67.99
currency_original: CHF
confidence: 0.50
status: needs_review
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-18T12:52:09Z
classification: bank_review
review_reason: bank_payment_unclear
rule_id: transfer_candidate
raw_fingerprint: 72aa7ce3a44c14258e2ed0f5dbda6fd7
description:
  Belastung e-banking / Ref.-Nr. 1511192618 KLARNA BANK AB SVEAVAEGEN 46 111 34 STOCKHOLM Schweden Mitteilung: VIDAXL.CH Ursprünglicher Auftraggeber: MELANIE GASSER 771600000013982424040092646

notes:
[cell repeats an earlier one in this file: 113 characters]


transaction_candidate_id: btxcand_26d832b5a74759d0edb7b6b5
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R59
source_type: akb_bank
transaction_date: 2026-03-19
amount_original: 580
currency_original: CHF
confidence: 0.50
status: needs_review
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-18T12:52:09Z
classification: bank_review
review_reason: bank_payment_unclear
rule_id: transfer_candidate
raw_fingerprint: 1adef39248d64efe9138bc930477f39c
description:
  Belastung e-banking / Ref.-Nr. 1510052520 GISI EDITH BIRCHHOF 1 5412 GEBENSTORF Schweiz Mitteilung: VALERIE GASSER 06.04. - 10.04.2026 Ursprünglicher Auftraggeber: MELANIE GASSER

notes:
[cell repeats an earlier one in this file: 113 characters]


transaction_candidate_id: btxcand_c19fdcf158fc4f773892566f
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R60
source_type: akb_bank
transaction_date: 2026-03-19
amount_original: 580
currency_original: CHF
confidence: 0.50
status: needs_review
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-18T12:52:09Z
classification: bank_review
review_reason: bank_payment_unclear
rule_id: transfer_candidate
raw_fingerprint: ab9e1a5b46c4756230e1742103c2b4b2
description:
  Belastung e-banking / Ref.-Nr. 1510052495 GISI EDITH BIRCHHOF 1 5412 GEBENSTORF Schweiz Mitteilung: EMILIA GASSER 06.04. - 10.04.2026 Ursprünglicher Auftraggeber: MELANIE GASSER

notes:
[cell repeats an earlier one in this file: 113 characters]


transaction_candidate_id: btxcand_3640c5b3c570642189f85c5c
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R61
source_type: akb_bank
transaction_date: 2026-03-19
amount_original: 36
currency_original: CHF
confidence: 0.50
status: needs_review
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-18T12:52:09Z
classification: bank_review
review_reason: bank_payment_unclear
rule_id: transfer_candidate
raw_fingerprint: 45a9c70740dc3ede0615464dae80718c
description:
  Belastung e-banking / Ref.-Nr. 1510052533 KLARNA BANK AB SVEAVAEGEN 46 111 34 STOCKHOLM Schweden Mitteilung: TALLOW Ursprünglicher Auftraggeber: MELANIE GASSER 771600000018410135040092614

notes:
[cell repeats an earlier one in this file: 113 characters]


transaction_candidate_id: btxcand_7c88369cdf743a9cf52d558b
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R93
source_type: akb_bank
transaction_date: 2026-02-16
amount_original: 1565.00
currency_original: CHF
confidence: 0.50
status: needs_review
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-18T12:52:09Z
classification: bank_review
review_reason: bank_payment_unclear
rule_id: transfer_candidate
raw_fingerprint: 756b9cae2237a4e16a10dbced2db51a7
description:
  Belastung e-banking / Ref.-Nr. 1498782151 ABTEILUNG FINANZEN AARGAU SEKTION TRESORERIE 5004 AARAU Schweiz Ursprünglicher Auftraggeber: MARCEL GASSER 236111510325110000001000005

notes:
[cell repeats an earlier one in this file: 113 characters]


transaction_candidate_id: btxcand_0c9dec68d5e7ff250ea322cb
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R94
source_type: akb_bank
transaction_date: 2026-02-16
amount_original: 13842.60
currency_original: CHF
confidence: 0.50
status: needs_review
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-18T12:52:09Z
classification: bank_review
review_reason: bank_payment_unclear
rule_id: transfer_candidate
raw_fingerprint: bbd9a69b26abb4bc71503856a62f6361
description:
  Belastung e-banking / Ref.-Nr. 1498782177 STEUERBEZUG AARGAUER GEMEINDEN 5004 AARAU Schweiz Ursprünglicher Auftraggeber: MARCEL GASSER 104123236111510726110000007

notes:
[cell repeats an earlier one in this file: 113 characters]


transaction_candidate_id: btxcand_752c4722020616811690d77c
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R116
source_type: akb_bank
transaction_date: 2026-01-26
description: TWINT-Zahlung SWISSLOS E-COMMERCE, BASEL
amount_original: 100
currency_original: CHF
confidence: 0.96
status: transfer_candidate
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-21T19:29:32Z
classification: transfer_candidate
review_reason: swisslos_raiffeisen_akb_internal_transfer
rule_id: transfer_candidate
rule_name: Raiffeisen TWINT Swisslos → AKB Haushaltskonto Transfer
linked_candidate_id: btxcand_b0746de0143f28f573d52caf
raw_fingerprint: 3c5eeeabef48efade1ac6010938c11de
notes:
  {"transaction_type": "transfer", "reason": "swisslos_raiffeisen_akb_internal_transfer", "target_account_hint": "AKB Haushaltskonto", "transfer": {"budget_impact": "neutral", "pair_status": "matched", "from_account_name": "Raiffeisen", "to_account_name": "AKB Haushaltskonto", "counterparty_candidate_id": "btxcand_b0746de0143f28f573d52caf", "hint": "Gegenbuchung gefunden."}, "rule_name": "Raiffeisen TWINT Swisslos → AKB Haushaltskonto Transfer"}


transaction_candidate_id: btxcand_a549dd62d51c9763eca67fc9
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R127
source_type: akb_bank
transaction_date: 2026-01-09
description: Übertrag auf 6484.4816.2002 Gasser Marcel und Gasser Melanie Marlis / Ref.-Nr. 1486166616
amount_original: 4500.00
currency_original: CHF
confidence: 0.88
status: transfer_candidate
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-18T12:52:09Z
classification: transfer_candidate
review_reason: possible_internal_transfer
rule_id: transfer_candidate
raw_fingerprint: 496a0109ad7a5f62450427ad663d24e6
notes:
  {"transaction_type": "transfer", "reason": "possible_internal_transfer", "reclassified_by": "income_csv_recognition_v1"}


transaction_candidate_id: btxcand_9e09cecdb26d0a54dcb4bb14
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R201
source_type: akb_bank
transaction_date: 2025-10-28
amount_original: 247.15
currency_original: CHF
confidence: 0.85
status: reference_2025
notes: {"transaction_type": "transfer", "reason": "possible_internal_transfer"}
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-21T15:08:13Z
classification: transfer_candidate
review_reason: possible_internal_transfer
rule_id: transfer_candidate
raw_fingerprint: 1da99f7cae5912efaec8fee9eaacd9bf
description:
  Belastung e-banking / Ref.-Nr. 1458992597 Dr. med. dent. Andre Raetzer Stapferstrasse 28 5200 Brugg Schweiz Mitteilung: PP - 945/7223 - 225060357 Ursprünglicher Auftraggeber: Gasser Melanie 803884000000072232256035775


transaction_candidate_id: btxcand_12276c1d7b9ba7b193ce902b
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R202
source_type: akb_bank
transaction_date: 2025-10-28
amount_original: 90
currency_original: CHF
confidence: 0.85
status: reference_2025
notes: {"transaction_type": "transfer", "reason": "possible_internal_transfer"}
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-21T15:08:13Z
classification: transfer_candidate
review_reason: possible_internal_transfer
rule_id: transfer_candidate
raw_fingerprint: 1c70e23c3d887361242773bea2802b05
description:
  Belastung e-banking / Ref.-Nr. 1458992617 Goenner-Vereinigung der Schweizer Paraplegiker-Stiftung 6207 Nottwil Schweiz Mitteilung: Herzlichen Dank fuer die Erneuerung Ihrer Mitgliedschaft 2026 Ursprünglicher Auftraggeber: Melanie und Marcel Gasser 420343560400000003541970389


transaction_candidate_id: btxcand_e1ab1d21eb39da8e31ed86f8
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R221
source_type: akb_bank
transaction_date: 2025-10-10
amount_original: 106.35
currency_original: CHF
confidence: 0.85
status: reference_2025
notes: {"transaction_type": "transfer", "reason": "possible_internal_transfer"}
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-21T15:08:13Z
classification: transfer_candidate
review_reason: possible_internal_transfer
rule_id: transfer_candidate
raw_fingerprint: ee54fb72d2817fe831911cd9173a1566
description:
  Belastung e-banking / Ref.-Nr. 1453198426 Dr. med. dent. Carol Erzberger Landstrasse 99 5430 Wettingen Schweiz Mitteilung: PP - 17227/23534 - 225244640 Ursprünglicher Auftraggeber: Gasser Marcel und Melanie 040905000000235342254464074


transaction_candidate_id: btxcand_3351c911de5a86111450f6d9
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R222
source_type: akb_bank
transaction_date: 2025-10-10
amount_original: 1228.00
currency_original: CHF
confidence: 0.85
status: reference_2025
notes: {"transaction_type": "transfer", "reason": "possible_internal_transfer"}
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-21T15:08:13Z
classification: transfer_candidate
review_reason: possible_internal_transfer
rule_id: transfer_candidate
raw_fingerprint: b9c98a4c35a0c0a27541b48c1499807a
description:
  Belastung e-banking / Ref.-Nr. 1453198401 Einwohnergemeinde Windisch Dohlenzelgstrasse 6 5210 Windisch Schweiz Ursprünglicher Auftraggeber: Marcel Gasser, Melanie Gasser-Schwager 000000000110320005001861001


transaction_candidate_id: btxcand_5d1fc74dd2224966fe8fe9f6
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R281
source_type: akb_bank
transaction_date: 2025-07-25
amount_original: 14.55
currency_original: CHF
confidence: 0.85
status: reference_2025
notes: {"transaction_type": "transfer", "reason": "possible_internal_transfer"}
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-21T15:08:13Z
classification: transfer_candidate
review_reason: possible_internal_transfer
rule_id: transfer_candidate
raw_fingerprint: 07edb350296787f1d4fd11954a66267f
description:
  Belastung e-banking / Ref.-Nr. 1426520814 POST CH AG WANKDORFALLEE 4 3030 BERN Schweiz Ursprünglicher Auftraggeber: MARCEL GASSER 104020346628030400011049692


transaction_candidate_id: btxcand_1f82dfb9bce19af5ec877c9a
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R282
source_type: akb_bank
transaction_date: 2025-07-25
amount_original: 719.2
currency_original: CHF
confidence: 0.85
status: reference_2025
notes: {"transaction_type": "transfer", "reason": "possible_internal_transfer"}
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-21T15:08:13Z
classification: transfer_candidate
review_reason: possible_internal_transfer
rule_id: transfer_candidate
raw_fingerprint: 3c14bfb285fdf4b23fd38efa0b419378
description:
  Belastung e-banking / Ref.-Nr. 1426520786 NACHFUEHRUNGSGEOMETER KREIS BRUGG NEUMARKT 1 5201 BRUGG AG Schweiz Ursprünglicher Auftraggeber: MARCEL GASSER 000000000213510602504531002


transaction_candidate_id: btxcand_7b1bdedd386f03d79ceba0ad
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R323
source_type: akb_bank
transaction_date: 2025-06-02
amount_original: 5913.25
currency_original: CHF
confidence: 0.85
status: reference_2025
notes: {"transaction_type": "transfer", "reason": "possible_internal_transfer"}
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-21T15:08:13Z
classification: transfer_candidate
review_reason: possible_internal_transfer
rule_id: transfer_candidate
raw_fingerprint: 26b6340a0b973f0df2e6ce32845da82a
description:
  Belastung e-banking / Ref.-Nr. 1408632441 SONNENSEGEL VETSCH AG SCHLOSSTALSTRASSE 209 8408 WINTERTHUR Schweiz Mitteilung: NUMMER 55290 Ursprünglicher Auftraggeber: GASSER MELANIE 000000000000000000000552906


transaction_candidate_id: btxcand_d6e54dc23424a28fb73908d7
source_file_label: Kontoauszug_360 Tage_AKB.csv
source_row_or_range: R324
source_type: akb_bank
transaction_date: 2025-06-02
amount_original: 339.85
currency_original: CHF
confidence: 0.85
status: reference_2025
notes: {"transaction_type": "transfer", "reason": "possible_internal_transfer"}
created_at: 2026-05-18T08:15:04Z
updated_at: 2026-05-21T15:08:13Z
classification: transfer_candidate
review_reason: possible_internal_transfer
rule_id: transfer_candidate
raw_fingerprint: 3a531c6260f5221c2828ef972229de6a
description:
  Belastung e-banking / Ref.-Nr. 1408632409 ROTHEN MEDIZINISCHE LABORATORIEN AG KORNHAUSGASSE 2 4051 BASEL Schweiz Mitteilung: RECHNUNG NR. 2673850 Ursprünglicher Auftraggeber: MARCEL GASSER 000000000000000000026738502


transaction_candidate_id: btxcand_b0746de0143f28f573d52caf
source_file_label: 260518_Konto_Raiffeisen_20260518085941.csv
source_row_or_range: R14
source_type: raiffeisen_bank
transaction_date: 2026-01-26
description: Einkauf TWINT SWISSLOS E-COMMERCE
amount_original: 100
currency_original: CHF
confidence: 0.96
status: transfer_candidate
created_at: 2026-05-18T08:15:05Z
updated_at: 2026-05-21T19:29:32Z
classification: transfer_candidate
review_reason: swisslos_raiffeisen_akb_internal_transfer
rule_id: transfer_candidate
rule_name: Raiffeisen TWINT Swisslos → AKB Haushaltskonto Transfer
linked_candidate_id: btxcand_752c4722020616811690d77c
account_source: CH1280808006766055632
raw_fingerprint: 1aba5131974290910358fba13039b1c7
notes:
  {"transaction_type": "transfer", "reason": "swisslos_raiffeisen_akb_internal_transfer", "target_account_hint": "AKB Haushaltskonto", "transfer": {"budget_impact": "neutral", "pair_status": "matched", "from_account_name": "Raiffeisen", "to_account_name": "AKB Haushaltskonto", "counterparty_candidate_id": "btxcand_752c4722020616811690d77c", "hint": "Gegenbuchung gefunden."}, "rule_name": "Raiffeisen TWINT Swisslos → AKB Haushaltskonto Transfer"}


transaction_candidate_id: btxcand_e9fa628543458ffc5a167325
source_file_label: 260518_Konto_Raiffeisen_20260518085941.csv
source_row_or_range: R81
source_type: raiffeisen_bank
transaction_date: 2026-05-13
description: Einkauf TWINT SWISSLOS E-COMMERCE
amount_original: 100
currency_original: CHF
confidence: 0.96
status: transfer_candidate
created_at: 2026-05-18T08:15:05Z
updated_at: 2026-05-21T19:29:32Z
classification: transfer_candidate
review_reason: swisslos_raiffeisen_akb_internal_transfer
rule_id: transfer_candidate
rule_name: Raiffeisen TWINT Swisslos → AKB Haushaltskonto Transfer
account_source: CH1280808006766055632
raw_fingerprint: 1871255a787194277caa14f763727eaa
notes:
  {"transaction_type": "transfer", "reason": "swisslos_raiffeisen_akb_internal_transfer", "target_account_hint": "AKB Haushaltskonto", "transfer": {"budget_impact": "neutral", "pair_status": "unmatched", "from_account_name": "Raiffeisen", "to_account_name": "AKB Haushaltskonto", "counterparty_candidate_id": null, "hint": "Vermutlich interner Kontoübertrag. Gegenbuchung im AKB-Konto noch nicht gefunden."}, "rule_name": "Raiffeisen TWINT Swisslos → AKB Haushaltskonto Transfer"}


transaction_candidate_id: btxcand_e17e3390a4dcf5fcfd9945cb
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-05-13:12:20:27:MMM Brugg Neumarkt:253:36
source_type: migros_receipts
transaction_date: 2026-05-13
description: Migros Bon MMM Brugg Neumarkt
merchant: MMM Brugg Neumarkt
amount_original: 27.90
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_fb05da1269e846bb
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: f3e0159d8ef11bcfb03fc5a19e26b138
raw_fingerprint: f3e0159d8ef11bcfb03fc5a19e26b138
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 2, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_ef211fde4a2819c4aae60917
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-05-12:18:18:27:M Windisch:260:60
source_type: migros_receipts
transaction_date: 2026-05-12
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 218.73
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_0af4f2631aad4918
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 28b9971957089de890e0aeec0bc3d463
raw_fingerprint: 28b9971957089de890e0aeec0bc3d463
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 38, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_a09487412ca07c4278a90938
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-05-06:15:12:24:MMM Brugg Neumarkt:267:191
source_type: migros_receipts
transaction_date: 2026-05-06
description: Migros Bon MMM Brugg Neumarkt
merchant: MMM Brugg Neumarkt
amount_original: 341.89
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_6b18ec2381ba48c7
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 85f593224f0018af26ee91740758c995
raw_fingerprint: 85f593224f0018af26ee91740758c995
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 48, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_61eee9f6aaeaef5a64371582
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-05-04:11:09:20:M Windisch:259:22
source_type: migros_receipts
transaction_date: 2026-05-04
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 146.55
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_30518bcece1a445d
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 0ed4cfd1615e0fdaaea121434a53c7a2
raw_fingerprint: 0ed4cfd1615e0fdaaea121434a53c7a2
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 24, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_a8d15230cc0defbedb8b7df2
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-04-29:17:14:42:M Windisch:262:76
source_type: migros_receipts
transaction_date: 2026-04-29
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 270.01
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_cbce0ecfc4dd4485
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: f9e75b7752fc66991c6c7faaf2212a92
raw_fingerprint: f9e75b7752fc66991c6c7faaf2212a92
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 55, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_e63bd40d0212205afa8d636b
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-04-24:14:05:40:MMM Brugg Neumarkt:275:63
source_type: migros_receipts
transaction_date: 2026-04-24
description: Migros Bon MMM Brugg Neumarkt
merchant: MMM Brugg Neumarkt
amount_original: 65.85
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_a101bfc5f6e7442d
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 810b92da9b5d9a425b13dbd19ba82e42
raw_fingerprint: 810b92da9b5d9a425b13dbd19ba82e42
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 7, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_caaab602ba9fe44b378e8a3b
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-04-23:13:36:16:MMM Brugg Neumarkt:600:11
source_type: migros_receipts
transaction_date: 2026-04-23
description: Migros Bon MMM Brugg Neumarkt
merchant: MMM Brugg Neumarkt
amount_original: 418.76
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_186869b414454ffe
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 4a11426038b7efdab5b5e3e3c2d7c088
raw_fingerprint: 4a11426038b7efdab5b5e3e3c2d7c088
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 65, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_82cd6dc629a2118031e3dbf0
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-04-21:16:03:00:M Windisch:600:7
source_type: migros_receipts
transaction_date: 2026-04-21
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 87.00
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_1593deac2ebd4f74
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 90482fb6c5880df948e7f84c2d43e645
raw_fingerprint: 90482fb6c5880df948e7f84c2d43e645
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 19, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_0f9e0b4770221a483cb6e507
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-04-18:12:53:02:M Windisch:261:52
source_type: migros_receipts
transaction_date: 2026-04-18
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 30.25
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_dcf6d377a77f41f2
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: e8023e5dcda86ca4493686025728281a
raw_fingerprint: e8023e5dcda86ca4493686025728281a
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 9, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_6ae603a9b4814e34956c4f22
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-04-16:18:21:08:MMM Brugg Neumarkt:600:30
source_type: migros_receipts
transaction_date: 2026-04-16
description: Migros Bon MMM Brugg Neumarkt
merchant: MMM Brugg Neumarkt
amount_original: 285.10
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_406174faa77a4843
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 082e29205a806c9cfcea12e1473a7d04
raw_fingerprint: 082e29205a806c9cfcea12e1473a7d04
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 57, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_8247fae167c491553b561297
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-04-10:09:47:59:MMM Brugg Neumarkt:600:7
source_type: migros_receipts
transaction_date: 2026-04-10
description: Migros Bon MMM Brugg Neumarkt
merchant: MMM Brugg Neumarkt
amount_original: 212.16
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_028f0258a64c4f20
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 7989e53a5fe729dbee915ab84797907b
raw_fingerprint: 7989e53a5fe729dbee915ab84797907b
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 37, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_e90ff95e587c8dd8b4e1263e
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-04-07:17:23:07:M Windisch:256:180
source_type: migros_receipts
transaction_date: 2026-04-07
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 273.16
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_271e58da64174215
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 999cea044f2f8334af8e94fa65cd54fe
raw_fingerprint: 999cea044f2f8334af8e94fa65cd54fe
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 50, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_e5999b3da7d15d481437c9e1
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-04-02:10:37:05:M Windisch:600:4
source_type: migros_receipts
transaction_date: 2026-04-02
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 256.24
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_bb79a073b226444b
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 8c1220da61b5efc019eb60cfd5279e18
raw_fingerprint: 8c1220da61b5efc019eb60cfd5279e18
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 33, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_0bf6a52e7fa2cbc467bcc6ce
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-03-30:17:59:57:M Windisch:252:87
source_type: migros_receipts
transaction_date: 2026-03-30
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 352.87
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_e023da1b190140d9
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: d7494fcc7854f63ce9ca33baa9670bf5
raw_fingerprint: d7494fcc7854f63ce9ca33baa9670bf5
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 56, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_9182a0817eaf8cbc67c34e8e
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-03-25:13:22:35:M Windisch:600:5
source_type: migros_receipts
transaction_date: 2026-03-25
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 543.37
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_164959fcf40f4a37
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 45df8f224d64add24223dd4e8020fe56
raw_fingerprint: 45df8f224d64add24223dd4e8020fe56
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 72, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_d5d617b1a3bfacab600d467e
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-03-20:18:26:48:M Windisch:600:17
source_type: migros_receipts
transaction_date: 2026-03-20
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 0.40
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_ecb154848380489f
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: afcaaed32f2e0188ac95f8bc306125c4
raw_fingerprint: afcaaed32f2e0188ac95f8bc306125c4
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 1, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_89ec06ff2b1da02cf0483ba9
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-03-20:18:02:19:M Windisch:600:16
source_type: migros_receipts
transaction_date: 2026-03-20
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 166.62
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_b6640cdd155b48c4
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 08c8c4a2f6f8c59b762043cbc6a283ea
raw_fingerprint: 08c8c4a2f6f8c59b762043cbc6a283ea
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 28, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_994633619c4959e30237936a
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-03-18:12:40:14:M Windisch:600:5
source_type: migros_receipts
transaction_date: 2026-03-18
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 54.30
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_e15be218c71c4bae
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: b0df97a2a424c40344ce8f188dfda040
raw_fingerprint: b0df97a2a424c40344ce8f188dfda040
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 16, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_41e8d08e6ed3ce4a1066d379
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-03-17:17:43:52:M Windisch:600:7
source_type: migros_receipts
transaction_date: 2026-03-17
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 89.98
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_d7ad76dc888e4890
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 2837129262210fc2fd13cc889d43bb5d
raw_fingerprint: 2837129262210fc2fd13cc889d43bb5d
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 21, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_18c23989833fc4eae64da43d
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-03-12:13:23:59:M Windisch:600:9
source_type: migros_receipts
transaction_date: 2026-03-12
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 199.71
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_5855dac5c56e4f90
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: d62b98b970a9346926ae3e607e62eb50
raw_fingerprint: d62b98b970a9346926ae3e607e62eb50
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 42, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_5aab4735d47814ad89b30917
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-03-10:14:33:49:M Windisch:600:7
source_type: migros_receipts
transaction_date: 2026-03-10
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 183.75
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_3fc6e657b7824283
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 025f443e063a27c5fc19baf4fccadaee
raw_fingerprint: 025f443e063a27c5fc19baf4fccadaee
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 32, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_7fb1d1e53f5c085c3442a328
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-03-07:12:52:09:M Windisch:252:43
source_type: migros_receipts
transaction_date: 2026-03-07
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 135.95
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_a8d81d1a475c4132
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 85816b2f7731d15803d3f00abffec4b1
raw_fingerprint: 85816b2f7731d15803d3f00abffec4b1
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 29, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_7ca53c8fe12131d2e7076660
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-02-28:12:13:34:M Windisch:260:34
source_type: migros_receipts
transaction_date: 2026-02-28
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 131.25
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_336d93ddb2194882
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 499db65d8b780d85ccc06b352673d77f
raw_fingerprint: 499db65d8b780d85ccc06b352673d77f
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 27, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_be8b2af35d4fd66ff585b23e
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-02-26:12:29:19:M Windisch:600:2
source_type: migros_receipts
transaction_date: 2026-02-26
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 191.60
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_153d5533d59a4325
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 5244cbbc507e1ff3a6ba26867916d224
raw_fingerprint: 5244cbbc507e1ff3a6ba26867916d224
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 25, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_d437ba19d2721f0ba98ee28c
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-02-24:13:44:56:M Windisch:600:7
source_type: migros_receipts
transaction_date: 2026-02-24
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 187.95
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_bce30088acf74c8c
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 9c6c3f4999a7f2202ef5d87ad14920e4
raw_fingerprint: 9c6c3f4999a7f2202ef5d87ad14920e4
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 31, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_da805d2042d8832689b41262
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-02-21:15:31:38:M Windisch:261:71
source_type: migros_receipts
transaction_date: 2026-02-21
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 111.35
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_fc34c8cecf014271
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 638469fad5294b7825dc3da189c6ca6a
raw_fingerprint: 638469fad5294b7825dc3da189c6ca6a
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 15, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_3b517fe7e34a1446545d9d64
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-02-18:17:49:53:MM Frick:259:39
source_type: migros_receipts
transaction_date: 2026-02-18
description: Migros Bon MM Frick
merchant: MM Frick
amount_original: 181.45
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_13c961bf2d554173
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 4c419f3c7e2e3f0c2d53b87defcd1a18
raw_fingerprint: 4c419f3c7e2e3f0c2d53b87defcd1a18
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 40, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_9b0f0e34425a2e6edbe95306
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-02-07:10:56:44:M Windisch:600:4
source_type: migros_receipts
transaction_date: 2026-02-07
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 39.97
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_b02eeb784ef34c0c
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 263c39045dbcf778cb10a4c8adfc0115
raw_fingerprint: 263c39045dbcf778cb10a4c8adfc0115
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 12, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_93db4614c935c6143670da6e
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-02-04:16:29:27:M Windisch:600:7
source_type: migros_receipts
transaction_date: 2026-02-04
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 274.46
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_df21fdf9ee5243af
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 82f2948310b454518128b58271e12fca
raw_fingerprint: 82f2948310b454518128b58271e12fca
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 51, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_bafc5628a7354a43417c4250
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-01-27:13:24:29:M Windisch:600:2
source_type: migros_receipts
transaction_date: 2026-01-27
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 347.81
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_16f7834ac4264493
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 4ae9c44843b99382fd782f7a31a9e2d0
raw_fingerprint: 4ae9c44843b99382fd782f7a31a9e2d0
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 36, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_a0d558acfab3fafc6ac71af7
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-01-23:16:41:01:M Windisch:600:8
source_type: migros_receipts
transaction_date: 2026-01-23
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 197.01
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_a9e321df58b54100
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 26565c7472e8838b9dbca9eaa46be779
raw_fingerprint: 26565c7472e8838b9dbca9eaa46be779
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 26, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_68c3e97e7aed4bd55b0a7cbe
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-01-21:09:41:07:M Windisch:600:3
source_type: migros_receipts
transaction_date: 2026-01-21
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 126.35
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_b67a85d5858940cb
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: b0664b055730a06e96c3ea2ac6e072ec
raw_fingerprint: b0664b055730a06e96c3ea2ac6e072ec
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 17, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_9d706737d30722929a70bddb
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-01-19:17:17:39:MM Frick:252:35
source_type: migros_receipts
transaction_date: 2026-01-19
description: Migros Bon MM Frick
merchant: MM Frick
amount_original: 54.10
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_795f78b977894657
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: c33a254580cfdb4fa5774c9adecf75cf
raw_fingerprint: c33a254580cfdb4fa5774c9adecf75cf
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 10, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_89026fd291aa62b2af701d08
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-01-17:11:07:52:M Windisch:600:6
source_type: migros_receipts
transaction_date: 2026-01-17
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 17.55
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_74cf02455c0a4854
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 253e80854c46a1acbb842d066a8c31d3
raw_fingerprint: 253e80854c46a1acbb842d066a8c31d3
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 4, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_e7f7ce9c1e7728d348f9e3d2
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-01-13:13:41:58:M Windisch:600:4
source_type: migros_receipts
transaction_date: 2026-01-13
description: Migros Bon M Windisch
merchant: M Windisch
amount_original: 266.55
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_b0306c86d19d404d
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: 70074f885b3d6a676fdf84dc7b8bf318
raw_fingerprint: 70074f885b3d6a676fdf84dc7b8bf318
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 39, "article_rows_are_detail_only": true}


transaction_candidate_id: btxcand_ea78b3993329672120a5ac89
source_file_label: 2026 Migros Einkäufe.csv
source_row_or_range: BON:2026-01-02:13:56:42:MM Wettingen Landstrasse:600:8
source_type: migros_receipts
transaction_date: 2026-01-02
description: Migros Bon MM Wettingen Landstrasse
merchant: MM Wettingen Landstrasse
amount_original: 287.90
currency_original: CHF
proposed_category_id: bcat_food_household
proposed_category_name: Essen & Haushalt
duplicate_of_transaction_id: btx_0b77cbbc6860469d
confidence: 0.90
status: duplicate_candidate
created_at: 2026-05-18T08:15:08Z
updated_at: 2026-05-19T18:18:47Z
classification: migros_receipt_food_household
review_reason: duplicate_detection_v1
rule_id: migros_receipt_food_household
rule_name: Migros Bon = Essen & Haushalt
receipt_key: de19ef5c3c801349641e0c7b6187f6f6
raw_fingerprint: de19ef5c3c801349641e0c7b6187f6f6
status_label: Mögliches Duplikat
notes:
  {"rule": "migros_receipt_food_household", "legacy_threshold_chf": "50.00", "line_items": 62, "article_rows_are_detail_only": true}


