hcm

Year-end tax filing

ENTERPRISEEstimated read: 12 min· Updated 2026-08-30

Year-end tax filing

EnterpriseAdmin

/hcm/payroll/year-end is the HR-admin surface for generating, sealing, and transmitting year-end tax forms — W-2 + W-3 (US wage), 1099-NEC + 1096 (contractors), 1095-C (ACA coverage), T4 + T4A (Canada), RL-1 (Quebec). The run follows a strict four-step pattern with 4-eyes SoD on the seal, step-up-protected transmission, and an AI reasonableness narrative that catches the typical errors before they reach the IRS.

TL;DR — In January, run Year-end → New run. The engine generates forms + transmits files in supported formats: EFW2 (SSA), FIRE (IRS), CRA Internet File Transfer. A different HR admin seals; a third (or first again) transmits with step-up. Corrections (W-2c / 1099-COR) flow through the same pattern.

Before you start

  • All pay runs for the tax year must be closed before generation. A reopened pay run blocks the seal.
  • Employees who haven't given § 31.6051-1(j) electronic-delivery consent receive paper copies; the surface lists them.
  • For ACA 1095-C generation, the workspace must be an ALE (50+ FTE on average for the prior year). If your workspace isn't, the 1095-C step is skipped.
  • The AI reasonableness narrative runs as a check on the generated set — it flags YTD anomalies, missing W-4 changes, reciprocity mismatches. Reviewer signs off before the seal step.

The four-step pattern

  1. 1. Initiate the run

    Pick the tax year + the jurisdictions to include. Audit log records HCM_YEAREND_RUN_INITIATED.

  2. 2. Generate forms

    The engine produces every form for every employee + contractor +-applicable plan. Per-form audit codes (one per employee-form) flow through HCM_YEAREND_FORM_GENERATED.

  3. 3. Reasonableness review

    The AI generates a narrative covering YTD totals, deduction consistency, multi-state allocation, year-over-year change summary. HR admin reviews + signs off. Audit log records HCM_YEAREND_RUN_REASONABLENESS_REVIEW.

  4. 4a. Seal (different HR admin than initiator)

    The seal locks the run against further changes; corrections after this point use the W-2c / 1099-COR / T4-amended path. HCM_YEAREND_RUN_SEALED recorded.

  5. 4b. Transmit (step-up + 4-eyes)

    Step-up-protected; phishing-resistant proof required. Forms flow to SSA via EFW2, IRS via FIRE, CRA via Internet File Transfer. HCM_YEAREND_RUN_TRANSMITTED at critical severity.

4-eyes SoD on seal vs transmit

The admin who initiated the run cannot be the admin who seals it. A third admin (or the first) transmits — but every transmit requires a fresh step-up regardless of identity. This is the strictest 4-eyes pattern the platform offers.

Supported forms

FieldWhat it doesAccepted values / default
W-2 + W-3 (US)Per-employee wage statement + workspace transmittal.EFW2 file format for SSA. Per-state W-2 reports for state agencies.
1099-NEC (US)Contractor non-employee compensation.FIRE file format for IRS. Includes 1099-MISC where applicable.
1096 (US)Transmittal for paper 1099s.Auto-generated; only used for paper-filing employers.
1095-C (US, ACA-applicable)Employer-provided health-coverage statement.Required for ALE (50+ FTE). Includes Form 1094-C transmittal.
T4 (Canada)Per-employee statement of remuneration paid.CRA Internet File Transfer format.
T4A (Canada)Pensions, retiring allowances, scholarships.CRA IFT format. Generated when applicable.
RL-1 (Quebec)Quebec equivalent of T4; required for QC residents.Revenu Québec format. Generated automatically alongside T4.

AI reasonableness narrative

The narrative is a read-side check on the generated forms. The AI never authors filings; it summarizes anomalies for human review.

FieldWhat it doesAccepted values / default
YTD totals reconciliationDoes every employee's W-2 box match the sum of their pay slips for the tax year?Drift flagged for review.
Deduction consistencyAre pre-tax + post-tax categories captured on the right boxes?FSA / HSA / 401(k) / Roth correctly assigned.
Multi-state allocationDo per-state W-2 boxes sum to the federal total?Out-of-balance multi-state allocations flagged.
Year-over-year changeHow does this year compare to last year on aggregate.Helps spot configuration drift.
Consent + delivery postureWho's on electronic delivery vs paper.Confirms paper recipients have their forms queued for mailing.
The AI receives anonymized totals — no employee names, no SSN, no per-individual detail beyond aggregates. PII stays out of the prompt.

Corrections (W-2c / 1099-COR / T4-amended)

If an error is discovered after the seal, the correction path:

  1. Open the sealed run

    Click + Issue correction.

  2. Pick the form + the box to correct

    The system shows the prior-filed amount + accepts the corrected amount.

  3. Sign rationale

    Free-text. Stored against the correction record.

  4. Generate the corrected form

    Audit log records HCM_YEAREND_CORRECTION_ISSUED.

  5. Transmit the correction

    Same step-up + 4-eyes pattern as the original. The correction file format differs (W-2c instead of W-2; same SSA EFW2 with correction marker).

Per-employee detail

Every employee with year-end forms in the run sees:

  • A view-only copy of the form on /hcm/me/tax-forms (after seal).
  • An electronic-delivery copy if they have § 31.6051-1(j) consent.
  • A mailed paper copy if not.

See Pay stubs & tax forms for the employee side.

Every field, explained

FieldWhat it doesAccepted values / default
Tax yearWhich calendar year the forms cover.Cannot run a tax year more than once without explicit reset.
JurisdictionsWhich countries / regions are in scope.US, Canada, Quebec. UK + EU on roadmap.
InitiatorHR admin who started the run.Cannot be the sealer.
SealerHR admin who locks the run for transmission.Different from initiator; can be the transmitter.
TransmitterHR admin who completes step-up + transmits.Step-up always required; identity logged.
Form listPer-form per-employee status.GENERATED / SEALED / TRANSMITTED / CORRECTED.
Correction markerIndicates a form is a correction.Flows to W-2c / 1099-COR / T4-amended file formats.

Audit codes

For SIEM ingestion + compliance review, this surface emits:

See Reference → Audit codes for the canonical description of each. HCM_YEAREND_RUN_TRANSMITTED is the critical-severity row — forms go to SSA / IRS / CRA.

Common gotchas

  • "Generate ran with errors but the run advanced anyway." The engine generates everything it can; per-form errors surface in the run report. Resolve each before sealing.
  • "Initiator can't seal." 4-eyes SoD. A different HR admin seals. The UI hides the seal button for the initiator.
  • "Transmit step-up keeps failing." Phishing-resistant requirement; ensure you have a passkey or hardware key enrolled (TOTP won't satisfy YEAREND_TAX_TRANSMIT).
  • "Corrected W-2 confused the employee." Workspace policy decides whether the original W-2 stays visible on /hcm/me/tax-forms. Most workspaces keep both visible; the newer takes precedence for filing purposes.
  • "State filings show different numbers than federal." A common reciprocity-routing artefact; the federal W-2 sums to the workspace total, but state boxes reflect only the work-state allocation. Confirms multi-state routing is working.

Troubleshooting

Error codeWhat it meansFix
YEAREND_PAYROLL_OPENA pay run for the year is still open.Close all pay runs.
YEAREND_SEAL_4EYES_VIOLATIONThe initiator tried to seal.Different admin seals.
YEAREND_TRANSMIT_STEPUP_FAILEDStep-up didn't complete.Re-attempt with phishing-resistant.
YEAREND_AI_NARRATIVE_TIMEOUTThe reasonableness AI run timed out.Retry; if persistent, skip the AI step and do manual review.
YEAREND_CORRECTION_RUN_LOCKEDThe base run isn't sealed yet.Seal first, then issue corrections.

Related