# Missing Features TODO List ## Overview Based on the comprehensive analysis of the legacy Paradox system, this document outlines all features present in the original system but missing from the current FastAPI implementation. Items are prioritized by business impact and implementation complexity. --- ## HIGH PRIORITY - Core Business Features ### 🔴 1. Document Assembly System **Legacy Feature**: Sophisticated legal document generation with WordPerfect integration **Current Status**: ✅ **COMPLETED** **Required Components**: #### 1.1 Document Template Management - [x] Create `DocumentTemplate` model - Template name, description, file path - Category/area of law classification - Status (active/inactive) - Version tracking - [x] Template upload and storage system - [x] Template preview capabilities - [x] Template search and filtering #### 1.2 Template Keyword/Index System - [x] Create `TemplateKeyword` model for searchable tags - [x] Keyword management interface - [x] Advanced template search by keywords - [x] Template categorization system #### 1.3 Data Merge Engine - [x] Variable extraction from current data context - [x] Merge field mapping system - [x] Template variable substitution engine - [x] Support for multiple output formats (PDF, DOCX) #### 1.4 Form Selection Interface - [x] Multi-template selection UI - [x] Template preview and description display - [ ] Batch document generation (planned for future iteration) - [ ] Generated document management (planned for future iteration) **API Endpoints Needed**: ``` POST /api/templates/upload GET /api/templates/search POST /api/templates/{id}/merge GET /api/templates/{id}/preview POST /api/documents/generate-batch ``` #### 1.5 Storage and Upload (DOCX/PDF) - [x] Accept `.docx` (mergeable) and `.pdf` (static/stampable) uploads - [x] Store originals in object storage (S3/MinIO) with server-side encryption - [x] Persist metadata: filename, MIME type, byte size, checksum (SHA-256), uploader, created_at - [ ] Virus scan and file-type sniffing (MIME > extension) (security enhancement for future) - [x] Max size and extension allowlist validation - [x] Optional tenant-aware storage prefixing (by environment/firm) #### 1.6 Template Versioning - [x] Create `DocumentTemplate` and `DocumentTemplateVersion` models - `DocumentTemplate`: name, description, category, active, current_version_id - `DocumentTemplateVersion`: template_id, semantic version, storage_path, mime_type, checksum, changelog, created_by, created_at, is_approved - [x] Upload new versions without breaking existing merges - [x] Ability to pin a version for a batch/job - [x] Approval workflow for promoting a draft version to current #### 1.7 Merge Engine (uses `FormVariable`/`ReportVariable`) - [x] Variable syntax: `{{ variable_identifier }}` inside `.docx` templates - [x] Resolution order (short-circuit on first hit): 1) Explicit context passed by API (e.g., file_no, customer, logged_in_user) 2) `FormVariable` by identifier → resolve via a safe, predefined repository function mapped from `query` 3) `ReportVariable` by identifier → same safe resolution 4) Built-ins/utilities (dates, formatting helpers) - [x] Missing variable strategies: leave token, empty string, or raise warning (configurable) - [x] Rendering engine: restricted Jinja2-like context with `docxtpl` for `.docx` - [ ] Output formats: `.docx` (native) and `.pdf` (convert via headless LibreOffice) (PDF conversion for future iteration) - [x] Robust error reporting: unresolved variables list, stack traces (server logs), user-friendly message - [x] Auditing: record variables resolved and their sources (context vs `FormVariable`/`ReportVariable`) #### 1.8 Batch Generation - [ ] Async queue jobs for batch merges (Celery/RQ) with progress tracking (future iteration) - [ ] Idempotency keys to avoid duplicate batches (future iteration) - [ ] Per-item success/failure reporting; partial retry support (future iteration) - [ ] Output bundling: store each generated document; optional ZIP download of the set (future iteration) - [ ] Throttling and concurrency limits (future iteration) - [ ] Audit trail: who initiated, when, template/version used, filters applied (future iteration) #### 1.9 UI for Templates, Keywords, Previews - [x] Templates list/detail with version history and diff of changelog - [x] Upload new version UI with changelog and approval checkbox - [x] Keyword/tag management (create/read/update/delete) and filter by tags/category - [x] Variable inspector: show `{{ }}` tokens discovered in the template and their resolution source - [x] Preview with sample data (single-record merge); show unresolved variables warning - [ ] Batch generation wizard: choose template/version, select scope (files/customers), review count and estimated time, run asynchronously (future iteration) #### 1.10 Additional API Endpoints ``` ✅ GET /api/templates/{id} ✅ PUT /api/templates/{id} ✅ POST /api/templates/{id}/versions # upload new version ✅ GET /api/templates/{id}/versions # list versions ✅ PUT /api/templates/{id}/versions/{vid} # approve/pin version ✅ GET /api/templates/{id}/variables # introspect template tokens ✅ POST /api/templates/{id}/preview # preview merge with sample/context ⏳ POST /api/documents/jobs # start batch job (future iteration) ⏳ GET /api/documents/jobs/{job_id} # job status/progress (future iteration) ⏳ GET /api/documents/jobs/{job_id}/result # download bundle (ZIP) (future iteration) ✅ POST /api/templates/{id}/keywords # add/remove keywords ``` #### 1.11 Acceptance Criteria - [x] Upload `.docx` template, add keywords, create v1.0.0, preview succeeds with sample data - [x] Merge uses `FormVariable`/`ReportVariable` when identifiers match tokens - [ ] Generate a batch of N files into PDFs; job completes with progress and downloadable ZIP (future iteration) - [x] Version pinning respected; publishing new version does not alter prior batch outcomes - [x] All actions logged with user and timestamp; unresolved variables surfaced in UI ### 🔴 2. QDRO (Pension Division) Module **Legacy Feature**: Specialized module for Qualified Domestic Relations Orders **Current Status**: ✅ **COMPLETED** **Required Components**: #### 2.1 QDRO Data Model - [x] Create `QDRO` model - File number reference - Version tracking - Plan information (name, type, administrator) - Participant details (employee, spouse/ex-spouse) - Division methodology (percentage, dollar amount, etc.) - Effective dates and conditions - [x] Plan information database - [x] QDRO version management #### 2.2 QDRO-Specific Forms - [x] QDRO data entry interface - [x] Plan information management - [x] Participant role management - [x] Division calculation tools #### 2.3 QDRO Document Generation - [x] QDRO-specific templates - [x] Integration with document assembly system - [x] Version control for QDRO revisions - [x] Court approval tracking **API Endpoints Needed**: ``` ✅ POST /api/qdros ✅ GET /api/qdros/{file_no} ✅ PUT /api/qdros/{id} ✅ POST /api/qdros/{id}/generate-document ✅ GET /api/qdros/{id}/versions ✅ POST /api/plan-info ``` ### 🔴 3. Advanced Billing & Statement Generation **Legacy Feature**: Automated billing statement generation with trust account management **Current Status**: 🟡 **IN PROGRESS** (basic transactions exist, working on statement generation) **Missing Components**: #### 3.1 Statement Generation Engine - [ ] Create billing statement templates - [ ] Automated statement generation by file/client - [ ] Customizable statement footers by file status - [ ] Statement preview and approval workflow - [ ] Batch statement generation #### 3.2 Enhanced Trust Account Management - [ ] Extend trust account transaction types - [ ] Trust account balance tracking per file - [ ] IOLTA compliance reporting - [ ] Trust-to-fee transfer automation - [ ] Trust account reconciliation tools #### 3.3 Billing Workflow Management - [ ] Billed/unbilled transaction status tracking - [ ] Bulk billing status updates - [ ] Statement approval and locking - [ ] Payment application workflow - [ ] Account aging reports #### 3.4 Advanced Financial Reports - [ ] Account balance summaries by employee - [ ] Account aging reports - [ ] Trust account activity reports - [ ] Revenue reports by area of law - [ ] Time utilization reports **API Endpoints Needed**: ``` POST /api/billing/statements/generate GET /api/billing/statements/{file_no} POST /api/billing/statements/batch PUT /api/financial/transactions/bulk-bill GET /api/reports/trust-account GET /api/reports/account-aging ``` --- ## MEDIUM PRIORITY - Productivity Features ### 🟡 4. Integrated Time Tracking **Legacy Feature**: Built-in timer with start/stop functionality **Current Status**: ❌ Not implemented **Required Components**: #### 4.1 Timer System - [ ] Real-time timer with start/stop/pause - [ ] Timer state persistence across sessions - [ ] Multiple concurrent timers by file/task - [ ] Timer integration with transaction entry #### 4.2 Time Entry Automation - [ ] Auto-populate time entries from timer - [ ] Default rate assignment by employee - [ ] Automatic quantity calculation - [ ] Timer history and reporting **Frontend Components**: ``` TimerWidget ├── Timer display (HH:MM:SS) ├── Start/Stop/Pause controls ├── File/task selection └── Quick time entry creation ``` **API Endpoints Needed**: ``` POST /api/timers/start POST /api/timers/{id}/stop GET /api/timers/active POST /api/timers/{id}/create-entry ``` ### 🟡 5. Enhanced File Management **Legacy Feature**: Advanced file operations and status management **Current Status**: ⚠️ Basic file management exists **Missing Components**: #### 5.1 File Closure Automation - [ ] Automatic file closure workflow - [ ] Outstanding balance payment entry creation - [ ] File closure validation and confirmations - [ ] File reopening capabilities #### 5.2 File Status Workflow - [ ] Enhanced file status definitions - [ ] Status-based business rule enforcement - [ ] Automatic status transitions - [ ] Status history tracking #### 5.3 File Organization - [ ] Archive file management - [ ] Bulk file status updates - [ ] File transfer between attorneys - [ ] File merge capabilities **API Endpoints Needed**: ``` POST /api/files/{id}/close POST /api/files/{id}/reopen POST /api/files/bulk-status-update POST /api/files/{id}/transfer ``` ### 🟡 6. Advanced Printer Management **Legacy Feature**: Sophisticated printer configuration and report formatting **Current Status**: ❌ Not implemented **Required Components**: #### 6.1 Printer Configuration - [ ] Printer setup database - [ ] Escape sequence management - [ ] Default printer selection - [ ] Report-specific printer settings #### 6.2 Report Output Management - [ ] Multiple output destinations (printer/screen/file) - [ ] Print preview functionality - [ ] Batch printing capabilities - [ ] Print queue management **Note**: Modern web applications typically rely on browser printing, but for a legal office, direct printer control might still be valuable. --- ## LOW PRIORITY - Nice-to-Have Features ### 🟢 7. Calendar/Appointment System **Legacy Feature**: Calendar management with appointment archival **Current Status**: ❌ Not implemented **Required Components**: #### 7.1 Calendar Management - [ ] Create `Calendar` and `Appointment` models - [ ] Calendar views (day/week/month) - [ ] Appointment scheduling and management - [ ] Conflict detection and resolution #### 7.2 Integration Features - [ ] File-related appointment linking - [ ] Court date tracking - [ ] Deadline management - [ ] Automatic archival of old appointments ### 🟢 8. Enhanced Lookup Table Management **Legacy Feature**: Comprehensive lookup table administration **Current Status**: ⚠️ Basic lookup management exists **Missing Components**: #### 8.1 Advanced Lookup Management - [ ] Dynamic lookup table creation - [ ] Lookup table relationships - [ ] Import/export of lookup data - [ ] Lookup table versioning #### 8.2 Business Rule Configuration - [ ] Configurable validation rules - [ ] Dynamic field requirements - [ ] Custom calculation formulas - [ ] Workflow automation rules ### 🟢 9. Enhanced Search Capabilities **Legacy Feature**: Complex multi-criteria search dialogs **Current Status**: ✅ Good search exists, but could be enhanced **Potential Improvements**: #### 9.1 Advanced Search Features - [ ] Saved search templates - [ ] Complex boolean search operators - [ ] Search history and favorites - [ ] Export search results to various formats #### 9.2 Search Performance - [ ] Search result caching - [ ] Async search for large datasets - [ ] Search analytics and optimization - [ ] Full-text search across documents --- ## SYSTEM ARCHITECTURE IMPROVEMENTS ### 🔵 10. Workflow Engine **Legacy Feature**: Implicit workflow through business rules **Current Status**: ❌ Not implemented **Potential Implementation**: #### 10.1 Workflow Definition - [ ] Create workflow definition system - [ ] State machine implementation - [ ] Conditional workflow paths - [ ] Workflow versioning #### 10.2 Process Automation - [ ] Automatic task assignment - [ ] Email notifications and reminders - [ ] Document generation triggers - [ ] Status update automation ### 🔵 11. Audit and Compliance **Legacy Feature**: Basic data integrity checks **Current Status**: ⚠️ Basic audit logging exists **Enhanced Features**: #### 11.1 Comprehensive Audit Trail - [ ] Detailed change tracking - [ ] User action logging - [ ] Data access monitoring - [ ] Compliance reporting #### 11.2 Legal Compliance - [ ] Client confidentiality controls - [ ] Data retention policies - [ ] Bar association compliance reporting - [ ] Trust account regulatory compliance ### 🔵 12. Integration Platform **Legacy Feature**: WordPerfect and DOS integration **Current Status**: ❌ No external integrations **Modern Integrations**: #### 12.1 Office Suite Integration - [ ] Microsoft Office integration - [ ] Google Workspace integration - [ ] PDF generation and manipulation - [ ] Email integration (Outlook/Gmail) #### 12.2 Legal Software Integration - [ ] Court filing systems - [ ] Legal research platforms (Westlaw/Lexis) - [ ] Accounting software integration - [ ] Case management platforms --- ## IMPLEMENTATION ROADMAP ### Phase 1: Core Business Features (3-6 months) 1. Document Assembly System 2. QDRO Module 3. Advanced Billing & Statement Generation ### Phase 2: Productivity Features (2-4 months) 1. Integrated Time Tracking 2. Enhanced File Management 3. Advanced Printer Management ### Phase 3: System Enhancements (2-3 months) 1. Calendar/Appointment System 2. Enhanced Lookup Management 3. Workflow Engine ### Phase 4: Integration and Compliance (1-2 months) 1. Audit and Compliance 2. Integration Platform 3. Performance Optimization --- ## TECHNICAL CONSIDERATIONS ### Database Schema Changes Required - New tables: `document_templates`, `template_keywords`, `qdros`, `plan_info`, `timers`, `workflows` - Extended tables: Enhanced `financial_transactions`, `files`, `customers` - Audit tables: Comprehensive change tracking ### API Architecture Extensions - Document generation microservice - Timer/time tracking service - Workflow engine service - Notification service ### Frontend Architecture - Document preview components - Timer widgets - Advanced form builders - Report generation interfaces ### Infrastructure Requirements - Document storage (S3/MinIO) - Background job processing (Celery/RQ) - Real-time updates (WebSocket) - Print server integration (if required) --- ## SUCCESS METRICS ### Business Impact - [ ] Reduction in document preparation time - [ ] Improved billing accuracy and speed - [ ] Enhanced client service delivery - [ ] Compliance with legal practice standards ### Technical Performance - [ ] Document generation time < 5 seconds - [ ] Search response time < 500ms - [ ] 99.9% system uptime - [ ] Zero data loss incidents ### User Adoption - [ ] 100% user migration from legacy system - [ ] Reduced training time for new users - [ ] Positive user satisfaction scores - [ ] Increased productivity metrics --- ## ESTIMATED EFFORT ### Development Time (Person-Months) - **High Priority Features**: 8-12 months - **Medium Priority Features**: 4-6 months - **Low Priority Features**: 3-4 months - **System Architecture**: 2-3 months ### **Total Estimated Effort**: 17-25 person-months ### Team Recommendations - 1 Full-stack Developer (lead) - 1 Backend Developer (APIs/database) - 1 Frontend Developer (UI/UX) - 1 DevOps Engineer (part-time) - 1 Legal Domain Expert (consultant) --- *This TODO list should be regularly updated as features are implemented and new requirements are discovered.*