Clients

PMO Tracker / Clients
Role: Admin / PM
DE

Welcome back

Snapshot across clients, projects, commercials, resources and timesheets.

Total Clients
3
↗ 3 active, 0 inactive
Total Projects
4
↗ 3 active, 1 completed
Total Contract Value
INR 38.8M
3 contracts
Not Invoiced
INR 19.3M
7 milestones pending
Total Resources
85
3 over-allocated · 71 on bench
Approved Timesheet Hours
1K
45 entries approved
Submitted (awaiting approval)
1
17 still in draft
Ready to Invoice
INR 4.45M
1 milestone pending billing
Quick links

Clients

Manage client records, contacts and business units.

ClientFinance / Billing ContactBusiness UnitAdditional Contacts RestoredProjectsStatus
cdmarkets.com
Elena Cho
elena@cdmarkets.com
Enterprise Retail 2 contacts (Security, Ops) 6 Active
picklesco.io
Marcus Reed
marcus@picklesco.io
SMB Consumer 1 contact (Escalation) 3 Active
smlgroup.com
Ravi Nair
ravi@smlgroup.com
Enterprise Manufacturing No additional contacts 4 Onboarding

Projects

Every engagement created under a client.

ProjectClientBusiness UnitPMTypeStageStatus
SML GroupEnterprise ManufacturingAmanjot K.MigrationBuildIn Progress
CD MarketsEnterprise RetailRoy V.ImplementationDiscoveryPipeline
CD MarketsEnterprise RetailRoy V.EnhancementHypercareActive
Pickles Co.SMB ConsumerAbhilash K.SupportOngoingActive

Commercials

Milestone & billing visibility across every contract.

Kanban view
List view
Contracts

Previously "Overview" and "All milestones" showed the same data in two confusing tabs — consolidated into one Kanban/List toggle. Simplified · Contracts moved here from its own top-level menu item Nav fix

New: filters
Not Invoiced 3
CD Markets
ERP Rollout Proj. shown
Milestone 3 — UAT Signoff
$9,000
SML Group
Website Migration
Milestone 2 — Content Freeze
$4,500
Pickles Co.
Loyalty App Support
October Retainer
$3,200
Ready to Invoice 2
SML Group
Website Migration
Milestone 1 — Kickoff
$5,720
CD Markets
Change Request Batch 3
CR-08 Delivery
$2,100
Invoiced 4
CD Markets
ERP Rollout
Milestone 1 — Kickoff
$9,000
Pickles Co.
Loyalty App Support
September Retainer
$3,200

Billing New module

Billing visibility only — invoice generation stays manual for now.

Milestone billing
TNM billing
Status visibility
No billing period or timesheet selection here — fixed/milestone billing is driven entirely by the milestone chosen above.

Resources

Team members, allocations and billability by contract.

ResourceContract Role/RateAllocated ProjectContractHrs/day allocatedRemaining / unallocated NewUtilizationBillable (default)
QA — $40/hr Website Migration 50% SOW-021 4 / 8 hrs 4 hrs/day 92% Billable i
Senior DevOps — $65/hr ERP Rollout 100% SOW-014 8 / 8 hrs 0 hrs/day 78% Not Billable i

Timesheets

Daily entries, task-level detail, and approvals.

Week entry
Pending approval
Attendance validation (Keka) — planned, Phase 2
Mon 1
Tue 2
Wed 3
Thu 4
Fri 5
Sat 6
Sun 7
Website Migration
SOW-021 · auto-filled: 8 hrs/day New
Content QA
Content QA
Regression
Regression
Sign-off prep
Non-project time New
Locked: leave
Task field is optional for now Phase 2 — full task-level tracking is planned but not required for this MVP.
Actual worked hours (timesheet) New
44 hrs
Project hours — potentially billable
38 hrs
Non-project hours
6 hrs
"Project hours" here is the actual-hours split, not the final billed amount — the exact Billable Hours figure is still confirmed on the Billing → TNM Billing screen, where it can be overridden per resource.

What changed in this prototype

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.