# 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.
