Phase Roadmap
Proxima Invoice is developed in 6 phases. Each phase builds on the previous one.
Phase Overview
Phase 1: Core Invoice Builder
Status: Complete
The foundation — client browsing, invoice generation, editing, and PDF output.
| Feature | Status |
|---|---|
| PostgreSQL + ClickHouse setup | Done |
| Database migrations (15 files) | Done |
| Client list from ClickHouse | Done |
| 3-step invoice generator | Done |
| Prefill pipeline (ClickHouse → preview) | Done |
| Financial calculations (SUP/HR/FP) | Done |
| Draft editing with audit trail | Done |
| HTML template rendering (Russian + English) | Done |
| PDF generation via Gotenberg | Done |
| Invoice registry with filters | Done |
| React frontend with shadcn/ui | Done |
| 29 test functions, 166 test cases | Done |
Phase 2: Approval Workflow
Status: Complete
Status state machine enforcement with approve/decline/send/accept/reject/mark-paid actions.
| Feature | Status |
|---|---|
| Approve/decline/send/accept/reject/mark-paid API endpoints | Done |
| Status transition enforcement | Done (Phase 1) |
| Decline with reason | Done |
| Reject with reason | Done |
| Full-page invoice detail (replaces sliding panel) | Done |
| Regenerate from declined/rejected/approved | Done |
| Monthly limit stored on invoice | Done |
| Overtime row format fix | Done |
| Period date range format | Done |
| International template preamble | Done |
| Telegram notifications (optional) | Done |
| Editable HTML preview | Done |
| Worklog dates on line items | Done |
Phase 3: PlanFact + R2
Status: Complete
Auto-sync approved invoices to PlanFact accounting and store PDFs in Cloudflare R2.
| Feature | Status |
|---|---|
| Cloudflare R2 PDF upload (best-effort on approve) | Done |
| R2 public URL generation | Done |
| PlanFact shipment creation (async on approve) | Done |
| PlanFact deal + project lookup by application_key | Done |
| PlanFact item building by deal type (SUP/HR/FP) | Done |
Manual retry endpoint (POST /sync-planfact) | Done |
| Integrations card in frontend (R2 link + PlanFact status + Retry) | Done |
| Nil-safe services (disabled when env vars not set) | Done |
| E2E tests (backend + Playwright) | Done |
Phase 4: Didox.uz
Status: Planned
E-invoicing for local (UZS) clients via Didox.uz and email delivery for international clients.
| Feature | Status |
|---|---|
| Didox API integration | Planned |
| Document submission | Planned |
| Status tracking (webhook callbacks) | Planned |
| International email delivery | Planned |
| Status: sent → accepted/rejected | Planned |
Phase 5: Pricing Calculator
Status: Planned
Unit economics analysis, client margin calculations, and quote generation using dbt finance models from ClickHouse.
| Feature | Status |
|---|---|
| Client margin analysis | Planned |
| Quote generation | Planned |
| What-if scenarios | Planned |
| Calculator snapshots | Planned (DB ready) |
| SLA tier comparison | Planned |
Phase 6: Dashboard + Reporting
Status: Planned
Revenue trends, payment tracking, aging reports, and operational dashboards.
| Feature | Status |
|---|---|
| Revenue by month/client | Planned |
| Payment status tracking | Planned |
| Aging reports | Planned |
| Client health metrics | Planned |
| Export to CSV/Excel | Planned |