Skip to main content Enter
ERP.AI Resource Planning System

Resource Planning System

Start now
Pricing Frequently asked questions Get started
Build with Proto

Modules

People and skillsFind relevant experience and verified qualifications without losing the person behind a staffing profile. Capacity planningCompare net available hours with existing commitments before promising another week of delivery. Staffing requestsTurn project demand into an explicit role, date range and set of requirements that a staffing team can review.
Assignments and substitutionsKeep approved staffing, rate snapshots and mid-project replacements connected to their original decisions. Rates and forecastsUse reviewed effective rates to explain the value of forward staffing commitments. Utilisation and benchCompare planned capacity with verified actual work and identify where future availability needs attention.

Resource Planning System

Start now
Pricing Frequently asked questions Get started
Build with Proto

Processes

Profile to eligible candidatePrepare verified profiles before comparing people against project requirements. Request to project assignmentReview current fit and capacity before creating one approved assignment.
Capacity change to substitutionResolve capacity changes while retaining the history of the original commitment. Accepted time to planning insightReconcile approved source time before publishing utilization and bench signals.

Resource Planning System

Start now
Pricing Frequently asked questions Get started
Build with Proto

Industries

Consulting practicesBalance specialist demand across client engagements. Technology servicesFind verified technical skills for implementation and support projects.
Internal delivery teamsPlan scarce internal capacity across competing initiatives.

Resource Planning System

Start now
Pricing Frequently asked questions Get started
Build with Proto

Reference

Roles and permissionsProject and practice scope is enforced on records, APIs and exports. Resource users see their own delivery context. Protected CostRate is Finance-owned; independent staffing and rate decisions cannot be supplied by Admin configuration rights. Reports and analyticsUnderstand capacity, utilisation and forward demand Data modelRecords and relationships behind Resource Planning System.
IntegrationsConnect HR availability with delivery commitments ImplementationConfigure Resource Planning System around your team’s operating policy. Agent referenceUse Proto to configure Resource Planning System.

Resource Planning System

Start now
Pricing Frequently asked questions Get started
Build with Proto
All systems
Modules
People and skillsFind relevant experience and verified qualifications without losing the person behind a staffing profile.Capacity planningCompare net available hours with existing commitments before promising another week of delivery.Staffing requestsTurn project demand into an explicit role, date range and set of requirements that a staffing team can review.Assignments and substitutionsKeep approved staffing, rate snapshots and mid-project replacements connected to their original decisions.Rates and forecastsUse reviewed effective rates to explain the value of forward staffing commitments.Utilisation and benchCompare planned capacity with verified actual work and identify where future availability needs attention.
Processes
Profile to eligible candidatePrepare verified profiles before comparing people against project requirements.Request to project assignmentReview current fit and capacity before creating one approved assignment.Capacity change to substitutionResolve capacity changes while retaining the history of the original commitment.Accepted time to planning insightReconcile approved source time before publishing utilization and bench signals.
Industries
Consulting practicesBalance specialist demand across client engagements.Technology servicesFind verified technical skills for implementation and support projects.Internal delivery teamsPlan scarce internal capacity across competing initiatives.
Reference
Roles and permissionsProject and practice scope is enforced on records, APIs and exports. Resource users see their own delivery context. Protected CostRate is Finance-owned; independent staffing and rate decisions cannot be supplied by Admin configuration rights.Reports and analyticsUnderstand capacity, utilisation and forward demandData modelRecords and relationships behind Resource Planning System.IntegrationsConnect HR availability with delivery commitmentsImplementationConfigure Resource Planning System around your team’s operating policy.Agent referenceUse Proto to configure Resource Planning System.
Sign in
Sign in Start now
Resource Planning System References
Data model3 of 6
  • Roles and permissions1 of 6
  • Reports and analytics2 of 6
  • Data model3 of 6
  • Integrations4 of 6
  • Implementation5 of 6
  • Agent reference6 of 6

Data model

Records and relationships behind Resource Planning System.

21 tables · 38 relationships

Data model 21 tables
mastertransactionline item Resources.Employee → Employees Resources.Practice → Practices Resources.PrimaryRole → Roles Practices.PracticeLead → Resources Roles.Practice → Practices RateCards.Practice → Practices RateCards.ApprovedBy → Resources Projects.ProjectManager → Resources WeeklyCapacity.Resource → Resources PTOImports.Resource → Resources ResourceRequests.Project → Projects ResourceRequests.RequestedBy → Resources ResourceRequests.RoleNeeded → Roles ResourceRequests.Practice → Practices Assignments.Resource → Resources Assignments.Project → Projects Assignments.ResourceRequest → ResourceRequests Assignments.Role → Roles Assignments.RateCard → RateCards Substitutions.OriginalAssignment → Assignments Substitutions.OutgoingResource → Resources Bench.Resource → Resources Bench.Practice → Practices Utilization.Resource → Resources TimeActuals.AssignmentPeriod → AssignmentPeriods ResourceSkills.Resource → Resources ResourceSkills.Skill → Skills SkillCertifications.ResourceSkill → ResourceSkills SkillCertifications.VerifiedBy → Resources RequestSkills.ResourceRequest → ResourceRequests RequestSkills.Skill → Skills RequestSuggestions.ResourceRequest → ResourceRequests RequestSuggestions.Resource → Resources AssignmentPeriods.Assignment → Assignments AssignmentPeriods.Resource → Resources RateCardRows.RateCard → RateCards RateCardRows.Role → Roles ResourcesmasterResourceCodeStatusEmployee SkillsmasterSkillCodeRetiredByName PracticesmasterPracticeCodePracticeLeadName RolesmasterRoleCodePracticeName RateCardsmasterRateCardCodeStatusPractice EmployeesmasterEmployeeNumberSourceEmployeeIDFullName ProjectsmasterProjectNumberStatusProjectManager WeeklyCapacitytransactionResourceWeekStartWeekEnd PTOImportstransactionStatusResourceDate ResourceRequeststransactionRequestNumberStatusProject AssignmentstransactionAssignmentNumberStatusProjectSyncStatus SubstitutionstransactionSubstitutionNumberStatusOriginalAssignment BenchtransactionStatusResourcePractice UtilizationtransactionResourcePeriodStartPeriodEnd TimeActualstransactionActualNumberStatusAssignmentPeriod ResourceSkillslineResourceSkillAttestedBy SkillCertificationslineCertificateNumberStatusResourceSkill RequestSkillslineResourceRequestSkillMinProficiency RequestSuggestionslineResourceRequestResourceMatchScore AssignmentPeriodslineStatusAssignmentResource RateCardRowslineRateCardRoleBillRate
Data modelTable names and relationships

How the model is organised

People and skills

Resources, Employees, Skills, ResourceSkills, SkillCertifications.

  • Resources
  • Employees
  • Skills
  • ResourceSkills
  • SkillCertifications

Capacity planning

WeeklyCapacity, PTOImports, Assignments, AssignmentPeriods.

  • WeeklyCapacity
  • PTOImports
  • Assignments
  • AssignmentPeriods

Staffing requests

ResourceRequests, RequestSkills, RequestSuggestions, Projects.

  • ResourceRequests
  • RequestSkills
  • RequestSuggestions
  • Projects

Assignments and substitutions

Assignments, AssignmentPeriods, Substitutions, ResourceRequests.

  • Assignments
  • AssignmentPeriods
  • Substitutions
  • ResourceRequests

Rates and forecasts

RateCards, RateCardRows, Assignments, AssignmentPeriods, Practices.

  • RateCards
  • RateCardRows
  • Assignments
  • AssignmentPeriods
  • Practices

Utilisation and bench

TimeActuals, AssignmentPeriods, Utilization, Bench, WeeklyCapacity.

  • TimeActuals
  • AssignmentPeriods
  • Utilization
  • Bench
  • WeeklyCapacity

Keys and references

Employee and project mirrors retain source workspace and identity. AssignmentPeriods derive Resource from their parent. TimeActuals is unique by source time entry and revision; accepted history is preserved through linked corrections.

Migration order

  1. 1 Bind Employees and Resources to verified principals and source systems.
  2. 2 Load Practices, Roles, Skills and reviewed ResourceSkills evidence.
  3. 3 Reconcile approved leave, holidays and complete weekly capacity inputs.
  4. 4 Load effective RateCards, accepted requests and active Assignments with their exact periods.
  5. 5 Reconcile source-approved TimeActuals, prior corrections and project memberships.
  6. 6 Configure scopes and independent decisions; verify capacity, replay, substitution and rate cases.

Tables

21 tables
ResourcesThe person-level resource record — one row per billable ormaster
FieldTypeRequiredDetails
ResourceCodetextyes
Employeereference→ Employees (read-only HR mirror; null for non-employee resources)
FullNametextyes
Emailtextyes
Practicereferenceyes→ Practices
PrimaryRolereferenceyes→ Roles
ResourceTypeselectyesFTE, Contractor, Vendor, Intern
LocationtextUS city / state
HomeStateselectUS state code
BaseHoursPerWeeknumberyesDefault 40 for FTE
BillRatecurrencyPer hour, USD; masked except Resource Manager / Finance / Admin
CostRatecurrencyPer hour, USD; masked except scoped Finance; Admin-only configuration does not grant cost access
ManagerOfRecordreference→ Resources (self) — staffing manager, not HR manager
StartDatedateyesRoster entry date
EndDatedateRoster exit date
StatusselectyesActive, OnLeave, Terminated, PendingStart
Activetoggleyes
PrincipalIDtextVerified platform principal; one active resource binding per person and workspace
SourceWorkspacetextConfigured source HR or supplier identity workspace
SkillsThe catalog of named skills used to describe what a Resource canmaster
FieldTypeRequiredDetails
SkillCodetextyes
Nametextyes
CategoryselectyesTechnical, Functional, Industry, Language, Methodology
Descriptiontext
ProficiencyScaleselectyesOneToFive, NoviceToExpert
RetiredByreference→ Skills (self) — replacement skill when retired
Activetoggleyes
ResourceSkillsThe Resource × Skill matrix with proficiency, last-used, and a Line item of Resources.line item
FieldTypeRequiredDetails
Resourcereferenceyes→ Resources
Skillreferenceyes→ Skills
Proficiencynumberyes1-5
YearsOfExperiencenumber
LastUsedAtdateDrives stale-skill flagging
SourceselectyesSelfReported, ManagerAttested, CertificationDerived, ProjectDerived
AttestedByreference→ Resources (Manager who attested)
AttestedAtdate
Activetoggleyes
SkillCertificationsFormal certifications backing a ResourceSkills row — the Line item of ResourceSkills.line item
FieldTypeRequiredDetails
ResourceSkillreferenceyes→ ResourceSkills
CertificationNametextyes
Issuertextyese.g. AWS, Microsoft, PMI, Salesforce
CertificateNumbertext
IssuedAtdateyes
ExpiresAtdate
EvidenceURLtextLink to PDF / verifier
VerifiedByreference→ Resources; independent scoped Resource Manager, not an Admin-only configuration grant
StatusselectyesActive, Expired, Revoked, PendingVerify
PracticesOrganizational practice unit — a Practice owns a set ofmaster
FieldTypeRequiredDetails
PracticeCodetextyes
Nametextyes
Descriptiontext
PracticeLeadreferenceyes→ Resources
RegionselectNortheast, Southeast, Midwest, West, South, National
Activetoggleyes
AllowOvercommittoggleDefault false; permitted documented independent capacity exceptions only
RolesGeneric role catalog — Senior Engineer, Tech Lead, Projectmaster
FieldTypeRequiredDetails
RoleCodetextyes
Nametextyes
Practicereference→ Practices (null = cross-practice)
LevelselectyesJunior, Mid, Senior, Lead, Principal, Director
DefaultBillRatecurrencyPer hour, USD; masked except Resource Manager / Finance / Sales Engineer / Admin (Sales Engineer needs catalog default for opportunity quoting alongside RateCardRows.BillRate)
Descriptiontext
Activetoggleyes
RateCardsVersioned rate cards per Practice (and optionally per US region).master
FieldTypeRequiredDetails
RateCardCodetextyes
Nametextyes
Practicereferenceyes→ Practices
RegionselectNortheast, Southeast, Midwest, West, South, National
CurrencyselectyesUSD
EffectiveFromdateyes
EffectiveTodate
StatusselectyesDraft, Active, Superseded, Retired
ApprovedByreference→ Resources (Practice Lead)
FinanceApprovedByreference→ Resources (Finance)
ApprovedAtdate
PreparedByreference→ Resources; immutable preparing principal
FinanceApprovedAtdatetimeDistinct Finance approval timestamp
RateCardRowsPer-Role rate row inside a RateCard. The lookup grain for Line item of RateCards.line item
FieldTypeRequiredDetails
RateCardreferenceyes→ RateCards
Rolereferenceyes→ Roles
BillRatecurrencyyesPer hour, USD
StandardCostcurrencyPer hour, USD; protected Finance-only input, masked from all other readers of RateCardRows
MinDiscountPctnumber0-100; floor for project-level discounting
WeeklyCapacityPer-Resource per-Week capacity grid. Computed nightly bytransaction
FieldTypeRequiredDetails
Resourcereferenceyes→ Resources
WeekStartdateyesMonday
WeekEnddateyesSunday
BaseHoursnumberyesFrom Resources.BaseHoursPerWeek
PTOHoursnumberyesApproved leave in week
HolidayHoursnumberyesPublic + company holidays in week
AvailableHoursformulayesfx: MAX(0, BaseHours − nonoverlapping approved PTOHours − HolidayHours)
AllocatedHoursformulayesfx: SUM(AssignmentPeriods.AllocationHours for this Resource and WeekStart where Assignment.Status IN Active,Completed,Substituted AND period Status IN Planned,InProgress,Closed,Frozen; use clipped accepted intervals, exclude cancelled periods)
RemainingHoursformulayesfx: AvailableHours − AllocatedHours
ObservedAtdatetimeLatest successful capacity-feed calculation
InputsCompletetoggleFalse when required leave/calendar source is missing or stale
PTOImportsInbound feed from `hrms-leave-attendance` — approved leave andtransaction
FieldTypeRequiredDetails
Resourcereferenceyes→ Resources
Datedateyes
Hoursnumberyes
LeaveTypeselectyesPTO, Sick, Holiday, Bereavement, Jury, Unpaid, Other
SourceLeaveIDtextyesID in hrms-leave-attendance for traceback
StatusselectyesApproved, Cancelled
ImportedAtdateyes
ResourceRequestsDemand from a Project — "we need a Senior Data Engineer withtransaction
FieldTypeRequiredDetails
RequestNumbertextyes
Projectreferenceyes→ Projects
RequestedByreferenceyes→ Resources (Project Manager)
RoleNeededreferenceyes→ Roles
Practicereference→ Practices (defaults from RoleNeeded.Practice)
StartDatedateyes
EndDatedateyes
AllocationPctnumberyes0-100
PriorityselectyesLow, Medium, High, Critical
Justificationtext
LocationPreferencetextUS city / state / Remote
MaxBillRatecurrencyPer hour, USD ceiling
MatchedResourcereference→ Resources (set on approval)
StatusselectyesDraft, Submitted, PendingApproval, Approved, Rejected, Cancelled, Fulfilled
Approverreference→ Resources (Resource Manager)
ApprovedAtdate
RejectionReasontext
CapacitySnapshotlongtextReviewed weekly capacity versions and conflict details
OvercommitApprovedByreference→ Resources; independent Resource Manager acknowledgment under enabled practice policy
OvercommitReasonlongtextRequired for any permitted capacity exception
RequestSkillsRequired skills for a ResourceRequest with minimum Line item of ResourceRequests.line item
FieldTypeRequiredDetails
ResourceRequestreferenceyes→ ResourceRequests
Skillreferenceyes→ Skills
MinProficiencynumberyes1-5
ImportanceselectyesMustHave, NiceToHave
Notestext
RequestSuggestionsTop-N candidate Resources scored by `skill-match-suggester` for a Line item of ResourceRequests.line item
FieldTypeRequiredDetails
ResourceRequestreferenceyes→ ResourceRequests
Resourcereferenceyes→ Resources
MatchScorenumberyesComposite 0-100 score from skill-match-suggester
SkillMatchPctnumber% of required skills met at min proficiency
ProficiencyDeltanumberAverage proficiency above required
CapacityFitPctnumber% of requested allocation that fits in available capacity
BillRateFitPctnumber% alignment with target bill rate
Ranknumberyes1 = top suggestion
SuggestedAtdateyes
AssignmentsThe staffing record — a Resource on a Project at a Role at antransaction
FieldTypeRequiredDetails
AssignmentNumbertextyes
Resourcereferenceyes→ Resources
Projectreferenceyes→ Projects
ResourceRequestreference→ ResourceRequests (null for direct-staffed)
Rolereferenceyes→ Roles
RateCardreference→ RateCards (resolved from Practice + StartDate)
BillRatecurrencyyesPer hour, USD; resolved from RateCardRows on create, frozen at assign
CostRatecurrencyPer hour, USD; from Resources.CostRate snapshot
StartDatedateyes
EndDatedateyes
AllocationPctnumberyes0-100 average across span
BillabletoggleyesFalse for internal / investment work
OverAllocatedtoggleyesSet true by over-allocation-alert when sum > capacity
StatusselectyesDraft, Active, Completed, Cancelled, Substituted
AssignedByreferenceyes→ Resources (Resource Manager)
AssignedAtdateyes
ProjectSyncStatusselectPending, Succeeded, Failed, Unknown; staffing membership handoff is separate from local assignment
ProjectSyncKeytextStable project membership command identity
ProjectSyncReceipttextVerified target membership acknowledgement
AssignmentPeriodsWeek-by-week allocation rows for an Assignment. Generated on Line item of Assignments.line item
FieldTypeRequiredDetails
Assignmentreferenceyes→ Assignments
Resourcereferenceyes→ Resources; server-derived from Assignment.Resource; reject any mismatch
WeekStartdateyesMonday
WeekEnddateyesSunday
AllocationHoursnumberyesPlanned hours for the week
ActualHoursnumberReconciled from approved Timesheets
VarianceHoursformulayesfx: ActualHours − AllocationHours
StatusselectyesPlanned, InProgress, Closed, Frozen, Cancelled
PeriodStartdateyesActual accepted allocation interval start, clipped to assignment StartDate and this WeekStart
PeriodEnddateyesActual accepted allocation interval end, clipped to assignment EndDate and this WeekEnd
SubstitutionsA formal swap mid-Assignment — Resource A rotates off, Resourcetransaction
FieldTypeRequiredDetails
SubstitutionNumbertextyes
OriginalAssignmentreferenceyes→ Assignments
ReplacementAssignmentreference→ Assignments (created on approval)
OutgoingResourcereferenceyes→ Resources
IncomingResourcereferenceyes→ Resources
EffectiveDatedateyes
ReasonselectyesResignation, Reassignment, MedicalLeave, PerformanceSwap, ClientRequest, Other
Notestext
ApprovedByreference→ Resources (Resource Manager)
StatusselectyesProposed, Approved, Rejected, Completed
ProposedByreference→ Resources; independent of ApprovedBy
BenchDerived (workflow-written) row per Resource flagged astransaction
FieldTypeRequiredDetails
Resourcereferenceyes→ Resources
FlaggedAtdateyes
ForwardWindowWeeksnumberyesDefault 4
AverageUtilizationPctnumberForward accepted AllocationHours / complete AvailableHours * 100 across the window; may exceed 100 for reviewed overcommit, null when denominator is zero or inputs incomplete
ProjectedAvailableHoursnumberyesSum of RemainingHours across the window
Practicereferenceyes→ Practices
ManagerOfRecordreference→ Resources
NotestextPractice Lead annotation
StatusselectyesActive, Cleared, AcceptedInvestment
UtilizationPer-Resource per-Period rollup of allocation, billable hours,transaction
FieldTypeRequiredDetails
Resourcereferenceyes→ Resources
PeriodStartdateyesMonday
PeriodEnddateyesSunday
AvailableHoursnumberyesFrom WeeklyCapacity
AllocatedHoursnumberyesFrom AssignmentPeriods.AllocationHours
ActualHoursnumberyesFrom AssignmentPeriods.ActualHours
BillableHoursnumberyesSum effective source-approved TimeActuals.Hours where Billable=true for this Resource and reporting period
NonBillableHoursnumberyesSum effective source-approved TimeActuals.Hours where Billable=false for this Resource and reporting period
UtilizationPctformulayesfx: AllocatedHours ÷ AvailableHours × 100 when AvailableHours > 0; otherwise null with zero-capacity flag
BillableUtilizationPctformulayesfx: BillableHours ÷ AvailableHours × 100 when AvailableHours > 0; otherwise null with zero-capacity flag
ComputedAtdateyes
EmployeesRead-only identity mirror from Core HR; employment records and payroll remain owned by HR.master
FieldTypeRequiredDetails
EmployeeNumbertextyes
SourceEmployeeIDtextyesUnique in the configured source HR workspace
FullNametextyes
PrincipalIDtextVerified authenticated principal binding
Activetoggleyes
ProjectsScoped delivery-project mirror used for staffing; tasks, delivery approvals and billing remain in the connected project app.master
FieldTypeRequiredDetails
ProjectNumbertextyes
SourceProjectIDtextyesUnique in the configured source project workspace
Nametextyes
ProjectManagerreferenceyes→ Resources
StatusselectyesPlanning, Active, OnHold, Closed
ObservedAtdatetimeyesLatest verified source observation
TimeActualsImmutable approved source-time observations for one assignment period; corrections retain source revision and reversal linkage.transaction
FieldTypeRequiredDetails
ActualNumbertextyes
SourceTimeIDtextyesSource workspace and time-entry identity
SourceRevisionnumberyesMonotonic source revision
AssignmentPeriodreferenceyes→ AssignmentPeriods
HoursnumberyesNonnegative approved source hours
Billabletoggleyes
SourceApprovedAtdatetimeyes
StatusselectyesApproved, Reversed
Reversesreference→ TimeActuals
ImportedAtdatetimeyes
ERP•AI workspace

Start now Resource Planning System

Create your ERP.AI account and get started with Proto.

Start now Download agent
Previous · reference 2 of 6Reports and analyticsNext · reference 4 of 6Integrations

Customize Resource Planning System. With Proto, your desktop AI agent.

Ask Proto to help you customize Resource Planning System.

Customize
Resource Planning System.
Ask: “Adapt People and skills.”
ProtoYour desktop AI agent
Download nowFree install · ~1 GB · AI usage extra
macOSWindowsLinux

Bring your first idea to Proto.

Keep this page open while you install Proto. Connect your account and model, then paste this into a new chat.

AI usage is paid separately. You can edit the prompt before copying.

ERP.AI

Business apps and the Proto desktop agent.

  • Business Apps
  • Proto
  • Workflows
  • Headless SaaS
  • Enterprise
  • Pricing
  • Contact
  • Terms of Service
  • Privacy Policy
  • Cookie Policy
© 2026 ERP•AI. All rights reserved.
System status

Your Privacy, Your Choice

We use essential cookies to run the site and optional cookies for features, analytics, and relevant content. See Cookie policy

Manage Your Cookie Preferences

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 cookies

These 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.