People · ATS
Route /recruiting/offers Flag recruitingEnabled

Offers

Offer letters on candidates — compensation drafts with masking — not Purchase Orders and not salary structures until they are Employee.

Scroll to Flowcharts. Scenario: Issue an offer to a candidate.

Offer desk

Letters to candidates, not customer POs

Offers sit on the ATS candidate. They are not purchase contracts and not live payroll. Mask package fields.

People → Offers Route /recruiting/offers Org flag recruitingEnabled HR Admin · Admin

The job of this console

Draft, send, track accept/decline, then create Employee on accept. Do not run pay from the offer row.

Seat at the table

HR Admin and Admin. Hiring managers may see limited package fields. Candidates receive the letter, not this register.

The working rhythm

Open from candidate, draft, send, wait, convert or close.

Moments that bring you here

Verbal yes. Competing offer. Compensation exception. After a declined letter.

ⓘ
Masked compensation
Do not persist raw offer salary in AI audits or graph metadata. PO remains the customer contract.

Flowcharts

1 — Issue and accept

Draft offer, send, convert hire to Employee.

flowchart TD
  A[Open Offers] --> B[Draft on candidate]
  B --> C[Send]
  C --> D{Accepted?}
  D -->|Yes| E[Employee + onboarding]
  D -->|No| F[Candidate stays ATS]
  E --> G[Salary structure / payroll later]
            
  1. 1
    OpenPeople → Offers.
  2. 2
    DraftMasked compensation.
  3. 3
    DecisionAccept or decline.
  4. 4
    HireEmployee is the source going forward.

Overview

Offers are ATS commercial-to-candidate. Purchase orders are customer contracts. Salary structures apply to employees.

How to use

1. Mask compensation
Persona and graph rules.
2. Accept ≠ active worker
Onboarding and Employee still required.
3. Decline
Keep the candidate history.