> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Contractor & Contingent Workforce – Integration Contract

> Version: 0.1.1 Created: 2026-03-24 Last Updated: 2026-03-24 Status: Planned — MVP integration contracts documented; expand event registry + HR-PAY-04 payload v…

**Version:** 0.1.1\
**Created:** 2026-03-24\
**Last Updated:** 2026-03-24\
**Status:** Planned — MVP integration contracts documented; expand event registry + HR-PAY-04 payload versioning in Phase 4 per HR-34 plan\
**Owner:** HR (Workforce & HRIS)\
**Spec Reference:** [HR-34-contractor-contingent-workforce-management.md](../../../specs/hr/specs/HR-34-contractor-contingent-workforce-management.md)

***

## Overview

Formalizes integration points for contractor lifecycle: HR-internal modules (HR-01, HR-02, HR-03, HR-29), HR-PAY-04 (1099-NEC inputs), and PF-10 (notifications). HR-34 uses the Platform Integration Layer and HR platform patterns only; no direct imports from other cores.

**Constitution:** §1.3 integration patterns; tenant isolation on every contract.

***

## 1. HR-01 (Employee Directory)

**Purpose:** Shared organizational context (departments, sites). Contractors are **not** `hr_employees`; link via `department_id` and org only.

**Contract:** Read-only use of org structure; contractor rows live in `hr_contractors`.

***

## 2. HR-02 (Credentialing)

**Purpose:** Reuse credential **types** and alerting patterns for contractors.

**Contract (clarified 2026-03-24):** Phase 1 uses **`hr_contractor_credentials`** (`contractor_id`, `credential_type_id` → `hr_credential_types`, expiration, status, documents). Do **not** attach contractors to `hr_employee_credentials`. PSV / verification flows align with HR-02 where product allows; expiration events feed PF-10 and HR-34 compliance dashboard.

***

## 3. HR-03 (Onboarding)

**Purpose:** Subset of onboarding steps for contractors.

**Contract:** Workflow references HR-03 patterns; no duplicate full employee onboarding state machine unless explicitly shared via platform workflow.

***

## 4. HR-29 (FLSA / employee classification)

**Purpose:** Cross-reference only — HR-29 addresses **employee** FLSA; HR-34 addresses **contractor vs employee** IRS-style documentation.

**Contract:** Optional deep link from classification UI; no shared table without ADR.

***

## 5. HR-PAY-04 (Tax forms / 1099-NEC)

**Purpose:** Supply organization-scoped, approved contractor payment aggregates for tax year **Y**.

**Contract (draft):**

* **Input:** Query or export keyed by `organization_id`, tax year, contractor identity (EIN/SSN hash or internal contractor id + tax id resolution server-side only).
* **Rows:** Sum of approved `hr_contractor_time_entries.amount` (and adjustments TBD).
* **Auth:** Service role or SECURITY DEFINER path; caller must prove org access.
* **Idempotency:** Re-runs for same org/year replace staging snapshot or use versioned batch id (finalize in implementation).

***

## 6. PF-10 (Notifications)

**Purpose:** Renewal alerts, classification review due, credential expiration (possibly delegated to HR-02 events).

**Contract (draft):** Notification payloads include `organization_id`, `contractor_id`, `contract_id` (if applicable), `due_date`, `notification_kind` enum; no tax IDs in payload body.

***

## 7. Platform events (contractor lifecycle)

**Purpose:** Optional decoupling for analytics and downstream consumers.

**Stub:** Define event names (e.g. `hr.contractor.created`, `hr.contractor_contract.renewal_due`) and JSON payload shapes in Phase 4; register in `EVENT_CONTRACTS.md` when stable.

***

## Migration / compatibility

* Additive schema; existing HR employee and payroll tables unchanged in MVP.
* Coordinate with HR-PAY-04 release train if 1099 consumer ships in the same train.
