Skip to content

Understand work hours contracts

A work hours contract is the core building block of human resource management in RevasOS. It defines how much a resource is expected to work — which days, how many hours per day, and at what baseline cost. Without it, time tracking still works, but reports, balances, and allocations have nothing to compare against.

What a work hours contract contains

Each work hours contract specifies:

  • Validity period — the start date and (optionally) the end date of the contract.
  • Weekly schedule — which days of the week are working days and how many hours are expected each day.
  • Baseline hourly cost — the default cost-per-hour for this resource during this contract period.

The weekly schedule is what allows the system to calculate expected hours for any given day, week, or month. The baseline cost is used in project budgets and financial reports.

Why contracts are versioned

In the real world, an employee's contract changes over time. They may go from full-time to part-time, change their weekly schedule, or receive a new hourly rate.

In RevasOS, each of these changes is represented as a separate work hours contract. The system does not overwrite the old one — it keeps both, each with its own validity period. This means:

  • past reports stay accurate, because they reference the contract that was active at the time;
  • allocations are not recalculated retroactively;
  • you maintain a full audit trail of every contractual change.

Key principle

RevasOS never rewrites history. When a contract changes, a new work hours item is created with its own start date. All data recorded under the previous contract remains untouched.

What work hours contracts enable

Without a work hours contract, a collaborator can still clock in, create time entries, and be assigned to tasks. But the system cannot compare actual work against expectations.

Once a contract is in place, the following features become available:

FeatureWithout contractWith contract
Time entries in TimesheetsYesYes
Clock-in with TimecardsYesYes
Task assignment in ProjectsYesYes
Hour balance (expected vs. actual)NoYes
Monthly/period time reportsPartial (no expected hours)Full
Task time reports (missing/exceeding)PartialFull
Allocation views in WorkforceNoYes
Allocation views in ProjectsNoYes

How contracts connect to other apps

The work hours contract is the bridge between Workforce and the rest of the platform:

  • Timesheets — reads the contract to calculate expected hours, balances, and report metrics. The balance is the difference between actual hours recorded and expected hours from the contract.
  • Timecards — does not directly use the contract, but the workplace and presence stamps feed into Timesheets, where the contract is needed for balance calculations.
  • Projects — reads the contract to know a resource's daily capacity. This feeds into allocation views that show how much capacity is used, available, or overbooked.
  • Cost corrections — the baseline hourly cost set in the contract can be temporarily overridden for specific periods using cost corrections.

Active vs. expired contracts

A work hours contract can be in one of two states:

  • Active — the current date falls within the contract's validity period (or no end date is set). The resource appears in active resource lists and allocation views.
  • Expired — the contract's end date is in the past, and no newer contract exists. The resource moves to the archived state automatically.

There is no manual "expire" or "archive" action. The status is derived entirely from the contract dates. If a new contract is created for the same resource with a future start date, the resource stays active.

Multiple contracts over time

A single resource can have many work hours contracts across its lifetime. For example:

  1. Jan 2024 – Jun 2024: Full-time, 40 hours/week, €25/hour.
  2. Jul 2024 – Dec 2024: Part-time, 20 hours/week, €25/hour.
  3. Jan 2025 – ongoing: Full-time, 40 hours/week, €28/hour.

Each contract is independent. Reports for January 2024 will use the first contract's schedule. Reports for August 2024 will use the second. The system never mixes them.

Best practice

When a resource's contract changes, always create a new work hours item with the correct start date. Do not edit the existing one, or you will lose the historical record.