# Task Plan ## Phase 1 - Import Core (completed) - Header-driven `.xls`/`.xlsx` parsing for six supplied bank formats. - Unified transaction fields, decimal amounts, and regression tests. ## Phase 2 - Dual-Portal Prototype (completed) - [x] Record role boundaries, calculation-window rules, hierarchy, exports, and reminders in product behavior documents. - [x] Replace the single dashboard with login, administrator, and cashier pages. - [x] Implement administrator company drill-down and A-B pair query. - [x] Implement audit, flow filters/export, company/user management, accounting settings, and reminders as working prototype interactions. - [x] Implement cashier task queue, upload/parser flow, own-company flows, reconciliation, bank accounts, and notifications. - [x] Add cashier manual records as audited evidence, with administrator review before any record can affect intercompany calculations. - [x] Complete cashier account submission -> administrator review -> enabled upload-account workflow; pending accounts remain excluded from recognition. - [x] Localize unsupported-template diagnostics with original filename, worksheet, scanned range, and candidate header rows. - [x] Verify desktop/mobile layouts, keyboard behavior, console output, live bank parsing, and the parser regression suite. ## Phase 3 - Data Service - Persist dynamic companies, users, bank accounts, immutable source files, and imports with server-side access controls. - Build coverage intervals, matching, subject-rule, audit, reminder, export, and monthly-close APIs. - Add canonical same-company and intercompany transfer event storage. ## Phase 4 - Production Reconciliation - Add opening-balance migrations, closed-period reopening, adjustment approval, transit-account mapping, and comprehensive audit reporting. - Add external messaging only after in-product reminders are stable. ## Definition Of Done For Phase 2 - The login entry makes the two portals and their responsibilities unmistakable. - Administrator can reach company -> direction -> counterparty/subject -> row. - Administrator can query any A-B pair and find audit/flow/settings/reminder tools. - Cashier sees only one company's actionable tasks and data. - Upload still calls the real parser and reports detected bank/header/row count. - Manual records and account registrations remain excluded until administrator approval, and review outcomes are visible in both portals. - Layouts remain usable at 375px, 768px, 1024px, and 1440px.