Forward-Booked Revenue
Sum of AllocationHours × BillRate per Project per Resource per Week, rolled up to Practice and org for the next 90 days. The Finance forecast feed; reconciles to the pm-billing app's revenue recognition.
Use reviewed effective rates to explain the value of forward staffing commitments.
| Rate Card Code | Practice | Region | Effective From | Effective To | Approved By |
|---|---|---|---|---|---|
| RCC-328 | PRC-5304 | Northeast | 14 Sep | RSR-9806 | |
| RCC-657 | PRC-7944 | Southeast | 16 Sep | RSR-5502 | |
| RCC-688 | PRC-6851 | Midwest | 17 Sep | RSR-7467 | |
| RCC-757 | PRC-6887 | West | 10 Sep | RSR-7903 | |
| RCC-270 | PRC-3556 | South | 15 Sep | RSR-7125 | |
| RCC-644 | PRC-3775 | National | 05 Sep | RSR-5822 |
Admin and Practice Leads configure Practices (one per delivery practice with a PracticeLead and US region scope), Roles (the demand language — Senior Engineer, Tech Lead, Solution Architect — each with a Level and DefaultBillRate), Skills (the Technical / Functional / Industry / Language / Methodology catalog with ProficiencyScale), and the initial RateCards with RateCardRows per Practice per Region per Role. RateCard activation requires Practice Lead + Finance co-approval stamped on the RateCard before Status: Draft → Active; the prior active card’s EffectiveTo is set automatically.
On approval the assignment-on-approval workflow fires: a code node creates an Assignments row (Resource, Project, Role, RateCard resolved from Practice + StartDate, BillRate resolved from RateCardRows and frozen on the Assignment, CostRate snapshotted from Resources.CostRate, AllocationPct carried from the request) plus N AssignmentPeriods rows (one per week from StartDate to EndDate at the requested AllocationPct). The workflow then writes the Resource into the matched pm-projects project as a project member via the connected record service so the team appears in the project workspace. The Resource and Project Manager are emailed.
Weekly on Monday, utilization-rollup aggregates the prior week’s closed or frozen AssignmentPeriods and effective TimeActuals into one Utilization row per Resource (AvailableHours, AllocatedHours, ActualHours, BillableHours, NonBillableHours, UtilizationPct, BillableUtilizationPct). Right after, bench-detection scans the latest Utilization plus forward-booking coverage and writes a Bench row for every Resource whose forward-4-week AverageUtilizationPct falls below the BenchThreshold (default 60%). Practice Leads get a digest; the bench-clearing motion (cross-Practice loan, investment work or training time) starts from the Bench Report.
An approved rate card applies to a practice, region, role and effective interval. Resolve the card using the assignment’s start date and preserve the resulting rate on the assignment. A new catalog rate does not reprice an assignment that was already accepted.
Finance can prepare a proposed revision, but the preparer cannot supply either independent approval. Practice Lead and a separate Finance reviewer sign the same submitted version. If the proposed dates overlap another active card, resolve the overlap before activation so a staffing decision has one applicable rate.
Forward-booked revenue multiplies the relevant planned billable hours by their frozen assignment rates. This is a forecast of staffing value. It is not proof that work was delivered, an invoice was sent or revenue was recognized. Cost-rate visibility remains more restricted than quoted bill rates, including in exports and candidate comparisons.
Find relevant experience and verified qualifications without losing the person behind a staffing profile.
Compare net available hours with existing commitments before promising another week of delivery.
Turn project demand into an explicit role, date range and set of requirements that a staffing team can review.
Keep approved staffing, rate snapshots and mid-project replacements connected to their original decisions.
Use reviewed effective rates to explain the value of forward staffing commitments.
Compare planned capacity with verified actual work and identify where future availability needs attention.
Sum of AllocationHours × BillRate per Project per Resource per Week, rolled up to Practice and org for the next 90 days. The Finance forecast feed; reconciles to the pm-billing app's revenue recognition.
| Resource | Assignment.Project | Week Start | Allocation Hours | Assignment.Bill Rate |
|---|---|---|---|---|
| RSR-7980 | ASS-522 | 22 Sep | 6 | AR-746 |
| RSR-4564 | ASS-471 | 17 Sep | 11 | AR-127 |
| RSR-4044 | ASS-699 | 16 Sep | 8 | AR-814 |
| RSR-9829 | ASS-618 | 22 Sep | 14 | AR-168 |
| RSR-6462 | ASS-832 | 27 Sep | 13 | AR-232 |
| RSR-8679 | ASS-172 | 27 Sep | 2 | AR-226 |
Owns the demand-supply marketplace for one or more Practices. Sole authority to approve ResourceRequests for own Practice, match a Resource, create the Assignment, intake Substitutions, and clear Bench rows.
CRUD on Resources (own Practice, including BillRateCostRate remains Finance-owned), ResourceSkills and SkillCertifications for own Practice's Resources (verify), ResourceRequests (own Practice, approve / reject / match), Assignments (own Practice, create / extend / end / cancel), AssignmentPeriods, Substitutions (intake and approve), and Bench (annotate and clear)Read on Skills, Practices, Roles, RateCards, RateCardRows, WeeklyCapacity, PTOImports, Utilization (all Practices for cross-Practice borrowing)Approve ResourceRequests (PendingApproval → Approved)Project owner — files ResourceRequests for own projects, sees Assignments staffed against own projects, requests Substitutions, and consumes the staffed team into the pm-projects workspace. No write on Resources or Skills catalog.
CRUD on ResourceRequests where RequestedBy = self AND Status IN (Draft, Submitted)Read on Resources (FullName, Practice, PrimaryRole, LocationBillRate and CostRate masked) for the staffing searchRead on Skills, ResourceSkills (own project's suggested matches), Roles, Practices, WeeklyCapacity (filtered to candidates for own open requests), Assignments where Project IN (own projects), AssignmentPeriods where Assignment.Project IN (own projects)The staffed person. Self-service on own Skills profile and read-only on own Assignments. Cannot see other Resources' rates, costs, or assignments.
Read on own Resources row (BillRate, CostRate masked)CRUD on own ResourceSkills (subject to Manager attestation before Source: SelfReported → ManagerAttested) and own SkillCertifications (subject to verification before Status: PendingVerify → Active)Read on own Assignments, AssignmentPeriods, WeeklyCapacity, PTOImports, UtilizationRead on Skills, Roles, Practices catalogsPre-sales staffing planner. Read-only on capacity and skill inventory to scope opportunities — "do we have three Snowflake-fluent Senior Engineers free in the West region in Q3?" Cannot create Assignments or modify Resources.
Read on Resources (FullName, Practice, PrimaryRole, Location, ResourceTypeBillRate and CostRate masked), Skills, ResourceSkills (no individual proficiency edits), Practices, Roles, RateCards, RateCardRows (BillRate visible for opportunity quoting), WeeklyCapacity (forward-looking), and Utilization (org-wide rollups)No write anywhereCan run skill-match queries for opportunities not yet booked as Projects, but cannot file ResourceRequests (that requires a real Project)| Resource | Week Start | Base Hours | PTOHours | Available Hours |
|---|---|---|---|---|
| RSR-8426 | 13 Sep | 16 | 11 | 2 |
| RSR-5235 | 18 Sep | 12 | 9 | 7 |
| RSR-9229 | 15 Sep | 14 | 13 | 16 |
| RSR-6743 | 24 Sep | 12 | 5 | 14 |
| RSR-7607 | 13 Sep | 4 | 14 | 6 |
| RSR-2798 | 11 Sep | 8 | 16 | 12 |
Owns revenue forecasting from forward-booked Assignments and the financial integrity of RateCards. Co-approver on RateCard activation alongside the Practice Lead.
Read on all Resources (including BillRate and CostRate), Roles (DefaultBillRate visible), Assignments, AssignmentPeriods, UtilizationCRUD on RateCards and RateCardRows for Finance approval (FinanceApprovedBy and FinanceApprovedAt stamping)Read on ResourceRequests, WeeklyCapacity, BenchMaintain only the protected Resources.CostRate input with effective evidence| Resource | Assignment.Project | Week Start | Allocation Hours | Assignment.Bill Rate |
|---|---|---|---|---|
| RSR-7980 | ASS-522 | 22 Sep | 6 | AR-746 |
| RSR-4564 | ASS-471 | 17 Sep | 11 | AR-127 |
| RSR-4044 | ASS-699 | 16 Sep | 8 | AR-814 |
| RSR-9829 | ASS-618 | 22 Sep | 14 | AR-168 |
| RSR-6462 | ASS-832 | 27 Sep | 13 | AR-232 |
| RSR-8679 | ASS-172 | 27 Sep | 2 | AR-226 |
Executive read-only on org-wide Utilization and Bench. Used by the CEO, COO, and PMO Lead for the quarterly headline ("utilization is 74% across delivery"). No personally identifying detail beyond Resource FullName.
Read on Utilization (org-wide rollups onlyindividual rows aggregated to Practice / Region), Bench (count and Practice rollup), Practices, and Roles catalogsAggregated read on Assignments (Practice-level hours, no per-Resource detail)Field-level masking on all Resources.BillRate, Resources.CostRate, Roles.DefaultBillRateOwns rate-policy review and resource planning priorities within assigned practices.
View assigned Practices, Resources and scoped capacity/bench reports with CostRate maskedReview RateCards and RateCardRowsCo-approve a rate revision independently of its preparer and the Finance signerNo self-approval, project staffing bypass or direct actuals editsReview current fit and capacity before creating one approved assignment.
3 stages · 1 approval
Resolve capacity changes while retaining the history of the original commitment.
3 stages · 1 approval
Reconcile approved source time before publishing utilization and bench signals.
3 stages · 0 approvals
Create your ERP.AI account and get started with Proto.
We use essential cookies to run the site and optional cookies for features, analytics, and relevant content. See Cookie policy
We use cookies to enhance your experience, analyze site traffic, and serve relevant content. By clicking "Accept All," you agree to our use of cookies. You can customize your preferences at any time.
Learn more about how we use cookiesThese cookies are required for the website to function properly. They ensure security, enable basic features like page navigation, and store user session data. You cannot disable these cookies.
These cookies enable additional features that enhance your experience, such as live chat, video playback, personalized content recommendations, and remembering user preferences.
These cookies help us understand how visitors interact with our site by collecting anonymous usage data. This allows us to measure performance, detect issues, and continuously improve the user experience.
These cookies allow us and advertising partners, including X, to deliver ads tailored to your interests. They track browsing habits across sites to provide relevant advertising and measure ad effectiveness.