---
title: "Delete Payroll Contract"
method: DELETE
path: "/companies/{company_id}/payroll/contracts/{contract_id}"
tags: ["payroll"]
---

# Delete Payroll Contract

`DELETE /companies/{company_id}/payroll/contracts/{contract_id}`

## Request

- Base URL: `https://app.zeno-works.ch` (the document declares no server; this is the origin it was published from)
- URL: `https://app.zeno-works.ch/companies/{company_id}/payroll/contracts/{contract_id}`
- Auth: none declared

Remove a contract entered in error (wrong employee, wrong dates).

A predecessor this contract closed is re-opened, so the employee keeps
unbroken coverage. **409** once a posted/paid/locked run stands on the
contract, or a Lohnausweis has been issued for a year it touches — correct
the terms with ``amend_payroll_contract`` instead, or reverse those runs
first.

## Path parameters

- `company_id` string, required
- `contract_id` string, required

## Query parameters

- `reason` string, nullable: Why the contract was removed (audited).

## Headers

- `authorization` string, nullable

## Cookies

- `access_token` string, nullable

## Response `200`

Successful Response

- PayrollContractDeleteResult
  - `ok` boolean
  - `impact` PayrollContractImpactOut, required: What the correction left stale: calculated amounts stay frozen, but the declarations derived from the live contract (AHV/UVG/BVG grouping, Lohnausweis segments) will now differ from what was declared.
    - `runs` PayrollAffectedRunOut[]
      - `run_id` string, required
      - `period_start` string, date, required
      - `period_end` string, date, required
      - `status` string, required
      - `run_kind` string, required
      - `action` string, required
    - `filings` PayrollAffectedFilingOut[]
      - `filing_id` string, required
      - `provider_kind` string, required
      - `period_start` string, date, required
      - `period_end` string, date, required
      - `status` string, required
    - `issued_lohnausweis` PayrollAffectedLohnausweisOut[]
      - `lohnausweis_id` string, required
      - `year` integer, required
      - `seq` integer, required
      - `status` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zeno-works/apis/zeno-api.md) · [All operations](https://skmtc.dev/zeno-works/apis/zeno-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zeno-works/apis/zeno-api/revisions/1eb93dde146c?raw)
