Appearance
Implementation Backlog
Prioritized engineering backlog derived from roadmap phases and live test findings. Update as items complete.
P0 — Safety / correctness
- [ ] Finish OUTGOING_INVOICE readback strategy — alternate probes (
getPaymentTransactions,getAbstractDocument) whengetUnpaidSumForAGivenInvoicelags - [x] Verify anomaly creation from PASS_WRITE/FAIL_RECONCILE case — verified 2026-06-19 (report)
- [x] Block repeat write on open critical anomaly — API retry gate + UI disabled buttons
- [ ] Add BackOffice verification workflow UX — API exists; operator procedure and UI polish
- [ ] Confirm transaction type guard for write responses —
OUTGOING_DOCUMENT_PAYMENTassertion in facade - [ ] Tune reconciliation backoff — validate
ReadbackRetryDelaysSecondsagainst live iiko lag - [ ] Separate optimistic
afterfromliveReadbackin all evidence consumers (document for operators) - [ ] Add
payment.anomalies.manageandnotifications.viewto Accountant seed role - [ ] Repeat PASS_WRITE + PASS_RECONCILE in test after readback fix
P1 — Multi-tenant foundation
- [ ]
Organizationentity + API + migrations - [ ]
Locationentity + API + migrations - [ ]
OrganizationQuotaentity + enforcement - [ ] Scoped
UserRoleAssignment(user + role + org + optional location) - [ ] Target roles: MegaAdmin, MegaManager, OrganizationAdmin, LocationAdmin (map from current Admin)
- [ ] Ownership fields on:
BankStatementImport,SyrveConnection,SyrveDocumentSnapshot,PaymentAllocation,SyrvePaymentPosting - [ ] Scope-aware API filters on all list/query endpoints
- [ ] Quota enforcement on location/user/connection creation
- [ ] Migrate nullable
OrganizationId/LocationIdonPaymentAnomaly,AppNotificationto required where applicable
P2 — Product UX
- [ ] Allocation UI hardening — partial payment, overpayment warnings, manual line edit
- [ ] Payment anomaly dashboard — filters, severity, link to posting/evidence
- [ ] Notification center UX — mark read, deep links, severity grouping
- [ ] Syrve connection wizard — credential mode, health, bridge status in one flow
- [ ] Posting detail — preflight status, attempt history, evidence tabs (before/live/optimistic)
- [ ] Dashboard "requires attention" widgets — open anomalies, failed imports, unreconciled postings
- [ ] Import list quality indicators — adapter confidence, parse warnings
- [ ] Russian/operator copy review across
statusMessages.ts
P3 — Bank adapters
- [x]
docs/docs/architecture/bank-statement-parsing.md - [x] Permata adapter (CSV/TXT/MT940-like) — Beta
- [x] Corporate explicit debit/credit CSV adapter — Beta
- [x] Multi-account CR/DB CSV adapter — Beta
- [x] Duplicate bank reference detection across imports
- [x] Counterparty extraction improvements per format (heuristics)
- [x] Adapter fixture test suite with sanitized samples
- [x] Import quality report API + UI
- [ ] Duplicate review actions in operator workflow (confirm/dismiss wired; bulk review pending)
- [ ] Live pilot validation on production bank exports
P4 — Production readiness
- [ ] Production posting authorization/procedure by organization and Outlet (without capability flags)
- [ ] Confirm deprecated DB capability columns are ignored across API/UI/runtime
- [ ] Owner approval record for production pilot
- [ ] Production write monitoring / alerts
- [ ] Rollback and manual correction runbook
- [ ] Backup/restore notes for Pay DB + evidence
- [ ] Support/admin diagnostics page (connection health, worker status, flags)
- [ ] Deployment runbook for test vs production Syrve profiles
- [ ] Integration test: scoped user cannot see other org data
- [ ] Full audit coverage review for payment write path
P5 — Nice to have
- [ ] Name matching ML/synonym expansion beyond rules
- [ ] Bulk allocation from multi-transaction import
- [ ] Export reconciliation report PDF/CSV
- [ ] Playwright screenshots for docs portal
- [ ] Optional codegraph MCP in CI (developer tooling only)
- [ ] Webhook notifications (Slack/email) in addition to in-app
- [ ] Document sync selective filters per location department
Completed (reference)
- Method-specific write preflight (
ISyrvePaymentWritePreflightService) - IikoConnector Pay host DI subset (
AddIikoConnectorForPayHost) - Auth diagnostics in connection health API
- Evidence typed JSON via
SyrvePostingEvidenceJson/PayJsonSerializer - Anomaly + notification creation on reconcile failure
- Retry API block when open critical anomaly