Workforce, time, billing, and pay workflow

Project Alpha separates the service a client receives from the work a person performs. This keeps client pricing independent from worker compensation while allowing both to use the same Job and Time Entry.

Domain model

Projects, Jobs, and documents

A one-off service uses a Job without a Project. Long-running engagements use a Project containing one or more Jobs. Each document family belongs to its Job:

  1. Create or select the Job when preparing the quote, contract, or invoice.
  2. Converting a quote to a contract or invoice preserves the Job and Project.
  3. Workers record time against the Assignment or Job.
  4. Client, Project, and Service context is inherited from the Job rather than independently rewritten on the Time Entry.

Unclassified time is allowed and does not create a hidden Job. An admin must assign a real Job before that time can become client-billable.

Services and Work Activities

Services and Work Activities are independent by default. This supports businesses where a client-facing service and employee labor do not have matching names, such as a bleacher rental performed through Setup, Driving, and Maintenance activities.

A Service may optionally have one exclusive Work Activity link. The link is useful when the client service and internal labor represent the same work, such as Mapping or On-site Work.

Time and automatic invoice attachment

Workers select a Work Activity and may select an Assignment or Job. They do not choose client billing rates or worker compensation treatment.

After time is confirmed:

Selecting a draft invoice while entering time records the intended destination, but it does not create a financial line before confirmation. The draft invoice editor shows matching pending time and its current review state. A verified Owner can use Confirm and add for their own nonpayable owner time. Built-in admin and owner account roles may also confirm their own completed time while retaining the compensation policy from their Worker Profile. Other employee and contractor entries remain behind the normal reviewer control. Once confirmed, the selected draft invoice is updated automatically and its totals are recalculated.

Verified-Owner confirmation and administrative self-confirmation have different pay semantics. The verified Owner relationship remains nonpayable owner time. Administrative self-confirmation is an account-role privilege and preserves ordinary employee or contractor compensation rules. Permission grants such as time-management access do not provide this self-confirmation bypass. Closed periods and finalized historical records remain unchanged and must be handled as audited exceptions.

Owner self-confirmation depends on the verified Owner relationship in the Worker Profile, not an admin or owner account role by itself. Verifying that relationship reconciles completed pending entries in open review periods through the normal approval service. Closed periods and finalized historical records remain unchanged and must be handled as audited exceptions.

Hourly Service lines on quotes and contracts are estimates. They show estimated hours, hourly price, and an estimated total. They do not become collectible invoice charges during conversion. Confirmed time creates the actual hourly invoice lines. Fixed-price time is operational history and does not create an additional client charge.

Corrections and disputes

Immutable means the historical calculation cannot be silently replaced; it does not mean mistakes cannot be corrected.

Before approval, the available action follows the entry state:

Entry state Worker action Authorized administrator action Audit result
Draft or returned Edit their own entry Edit an accessible entry Previous revision is archived; the entry stays draft
Submitted and awaiting review Withdraw and edit their own entry Withdraw and edit an accessible entry Submitted revision is marked withdrawn; edited entry returns to draft
Confirmed Request correction Edit with a required reason Original approval remains intact; a corrected revision and deltas are recorded
Included on an open statement Request correction Edit with a required reason Original earning snapshot remains intact; open projections are rebuilt
Closed or settled period Request correction Edit with a required reason Closed statement stays locked; the adjustment moves to the next open period
Attached to a finalized invoice Request correction Edit with a required reason Finalized invoice stays locked; billing uses an explicit charge, credit, move, or absorbed exception
  1. A worker requests a correction with proposed time and a reason, or an authorized admin creates it directly.
  2. Work Review shows the original and proposed values together with separate worker-pay and client-billing effects.
  3. Approval creates a new Time Entry revision and preserves the prior revision and snapshots.
  4. Hourly and base-plus-overage impacts use the rate or rule snapshot that applied to the original work. Fixed Assignment pay does not change only because the logged duration changes.

Statement handling depends on its state:

The client decision is independent:

Project Alpha records gross worker corrections but does not withdraw money. External payroll determines how a previously paid negative adjustment is legally handled.

Pay-period deadline

The organization configures the pay-period deadline time in the Workforce settings. Workers who have not approved the period receive reminders four, two, and one hour before the deadline.

At the deadline, Project Alpha submits and confirms completed entries, creates their snapshots, and locks worker editing. Running or incomplete entries remain in the exception queue. Later changes use the admin correction workflow.

Statements calculate what is owed. Worker Payment Records separately document what was actually paid. Payroll exports contain stable statement, earning, worker, work-date, method, quantity, rate, gross-delta, currency, and correction identifiers for reconciliation.