Process
MVP scope locked to: Client, Project, Contract/Commercials, Billing, Resources, Timesheets. RAID logs, advanced reports, full invoicing and productivity tracking are parked.
Confirmed hierarchy shown in the Project modal: Client → Project → Contract/SOW → Resource Allocation → Timesheet → Billing.
Added hash-based URL routing for every view and tab (e.g. #/commercials/com-list) — refresh or back/forward now returns to the same screen instead of resetting to the parent page.
UI Consistency This pass
Color palette corrected to match the original screenshots — deep purple/violet sidebar and primary accent (previously an indigo/blue-purple placeholder tone), applied consistently across buttons, active nav state, pills, and banners.
All "Add" slide-over panel headers (Client, Project, Contract, Resource Allocation, Timesheet) now use the original's colored gradient header bar with an icon + title + one-line subtitle, instead of a plain white header — matching the source screenshots' panel style.
Navigation Fix This pass
"Contracts" removed as a standalone sidebar item and moved to its correct place: a tab inside Commercials (alongside Kanban view and List view), matching the original design's Overview / Contracts / All milestones tab grouping.
Dashboard This pass
Dashboard now shows real KPI cards sourced from data already established elsewhere in the prototype: Total Clients, Total Projects, Total Contract Value, Not Invoiced, Total Resources, Approved Timesheet Hours, Submitted/Draft counts, and Ready to Invoice — plus quick links into each module. No unrelated or invented metrics were introduced.
Clients
Primary Contact relabeled to Finance / Billing Contact for MVP, since this is who receives billing communication.
Additional contacts sub-list restored — name, email, phone, role (Finance / Security / Access Management / Escalation / Ops), alongside the finance/billing contact.
Projects
Business Unit field clarified as the client-side business unit (not Softobiz's internal unit) — used for per-unit billing.
Contracts / Commercials
Contract type restructured to two effective models: Milestone-based (Fixed Price) and TNM. GCC is kept but simplified/deferred.
Add Contract flow is now fully split by type: Milestone (Fixed Price) shows only the milestone fields (name, invoice type, milestone start date, %) — the Resource Rates section is hidden entirely, since billing is milestone-driven, not resource-time-driven.
Added Milestone start date as a field per milestone row.
TNM shows a Resource Rates & Time Allocation section instead — role, rate label, rate, hours/day, and an allocation start/end window per row — and hides milestones entirely, replaced with a note pointing to TNM billing.
TNM contracts add Billing frequency (Monthly / Bi-weekly / Weekly) and Engagement type (Ongoing vs Fixed-term); Ongoing makes End date optional, Fixed-term requires it.
Removed the Qty field from rate lines — two resources in the same role at different rates are now two separate rows, not one confusing quantity count.
Added a note that the contract is a locked document — rate changes after activation create an amendment/new version, so historical billing keeps the original rate.
Commercials: added Client/Project/Contract filters; Kanban and list now show Project name; the old duplicate "Overview" and "All milestones" tabs are consolidated into one Kanban/List toggle.
Billing New module
Added as its own screen, separate from Commercials, per the "billing visibility vs invoicing" split.
Milestone billing: select Client → Project → Contract → Milestone and generate the billing record — no date range or timesheet dependency.
TNM billing: select a billing period (from the contract's frequency), pull approved timesheet hours, and override billable hours per resource before finalizing — the underlying timesheet is never edited.
Status visibility: tracks Billed / Invoiced / Received / Pending per contract. Invoice PDF generation and payment reconciliation stay manual, outside this MVP.
Resources
Allocation now maps a resource to a specific contract role/rate line (e.g. "Senior DevOps — $65/hr") instead of a generic role — so the system always knows the correct rate to bill, even if the same person works multiple contracts at different rates.
Billable stays a default at allocation level, with an explicit note that it can be overridden per timesheet entry at billing time.
Unallocated time visibility (New): allocation form now shows Daily capacity, Hours/day allocated, and a live-calculated Remaining / unallocated figure. The Resources table surfaces the same remaining-hours figure per resource, so partial allocations (e.g. 4 of 8 hrs/day) are never invisible.
Timesheets
Storage model: one row per day, not one row per week — the week grid UI is kept only for fast entry.
Start/end-date-heavy entry replaced with a plain date + hours structure.
Task field is now optional, not required — full task-level tracking is explicitly a Phase 2 item, not MVP.
Attendance validation (Keka) shown as a planned, Phase 2 note rather than an active feature — no auto-fill logic is implied.
Approval screen keeps a per-entry Billable / Non-billable override — changes only what flows to billing, never the logged hours.
Auto-population from allocation (New): project rows in the week grid, and the Hours field in the single-entry form, default from the resource's allocation (e.g. 8 hrs/day), fully overridable for leave, overtime, or partial days.
Non-project time capture (New): a dedicated categorized row (Internal Task / Certification / Training / Other non-project) sits alongside project rows in the week grid, with a live Actual / Project / Non-project hours split. The single-entry modal has a matching Project vs Non-project entry-type toggle.
Approval routing (New): the Pending approval list now explicitly names the Project Manager of that project as the Approver for every entry, including non-project entries (routed to the resource's reporting PM).
Deferred / out of scope
Raid Log hidden from navigation.
Automated reminders, Keka integration, TeamLogger-style tracking, Upwork/TDS deductions, and customer e-signature on contract amendments are not built — flagged as future phases only.