Assignment Aging
Active Assignments by days from StartDate, days remaining to EndDate, and the percent of the span elapsed. Surfaces Assignments approaching EndDate that need extension or close-out before assignment-end-cleanup fires.
Keep approved staffing, rate snapshots and mid-project replacements connected to their original decisions.
| Assignment Number | Resource | Project | Start Date | End Date | Allocation Pct |
|---|---|---|---|---|---|
| ASS-10566 | RSR-1421 | PRJ-46246 | 20 Sep | 27 Sep | 77 |
| ASS-39706 | RSR-6543 | PRJ-45613 | 16 Sep | 25 Sep | 64 |
| ASS-48447 | RSR-8781 | PRJ-14111 | 25 Sep | 03 Oct | 100 |
| ASS-61160 | RSR-5306 | PRJ-29664 | 21 Sep | 26 Sep | 89 |
| ASS-73846 | RSR-9815 | PRJ-70002 | 26 Sep | 28 Sep | 82 |
| ASS-75429 | RSR-1720 | PRJ-90210 | 07 Sep | 09 Sep | 82 |
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.
When a Resource needs to come off a project mid-flight (resignation, medical leave, reassignment, performance swap, client request), the Project Manager (or Resource Manager) proposes a Substitutions row with OutgoingResource, IncomingResource, EffectiveDate, and Reason. On independent approval (Status: Proposed → Approved), the workflow rechecks incoming capacity and the current assignment revision, then atomically truncates the original Assignment’s EndDate to EffectiveDate − 1, keeps it Active until the boundary becomes effective, and creates a new Assignments row + AssignmentPeriods for the IncomingResource starting EffectiveDate.
Daily, assignment-end-cleanup flips every Assignments row with EndDate < today AND Status: Active to Status: Completed (or Substituted for an approved effective replacement), freezes the trailing AssignmentPeriods to Status: Frozen, and recomputes the Resource’s forward WeeklyCapacity to release the freed AllocatedHours. The Resource is now visible to skill-match-suggester for the next request.
A substitution starts from the original assignment and a specific effective date. The outgoing resource must match that assignment, and the incoming person must be a different eligible resource. Recheck the incoming person’s capacity before accepting the replacement; an open request is not enough. A future handoff retains the outgoing person’s booked hours before its effective date. In a split week, each person carries only their agreed days, so the change neither frees already committed time nor books the whole week twice.
Split the approved date range at the boundary in one transaction. Earlier weeks and their source-approved actuals remain attached to the original assignment. Later planned periods move to the new assignment once, with no duplicated allocation in the effective week. A repeated approval returns the same replacement identity.
The project membership connection is a separate outcome. If the delivery app times out after accepting the request, keep the original membership command key and reconcile it. The staffing team can see that the local assignment exists while the external membership is still unresolved. Repeating a new command would risk duplicate project memberships and notifications.
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.
Active Assignments by days from StartDate, days remaining to EndDate, and the percent of the span elapsed. Surfaces Assignments approaching EndDate that need extension or close-out before assignment-end-cleanup fires.
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.DefaultBillRateReview 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.