---
title: "Submit Expense Claim"
method: POST
path: "/companies/{company_id}/expenses/claims/{claim_id}/submit"
tags: ["payroll"]
---

# Submit Expense Claim

`POST /companies/{company_id}/expenses/claims/{claim_id}/submit`

## 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}/expenses/claims/{claim_id}/submit`
- Auth: none declared

## Path parameters

- `company_id` string, required
- `claim_id` string, required

## Headers

- `authorization` string, nullable

## Cookies

- `access_token` string, nullable

## Response `200`

Successful Response

- ExpenseClaimSubmitResponse
  - `claim` ExpenseClaimDetailOut, required
    - `id` string, required
    - `employee_id` string, required
    - `claim_no` integer, required
    - `status` 'draft' | 'submitted' | 'approved' | 'rejected' | 'reimbursed' | 'cancelled', required: Expense-claim lifecycle (SP9; guide §5.5 "locked, auditable approval states"): immutable from ``approved`` on — corrections only via cancel (reverse) + a new claim.
    - `reimburse_via` 'payroll' | 'ap', required: How an approved claim's employee-payable open item settles: fed to a payroll run (6000 line + clearing settlement, MASTER R5) or paid directly via e-banking + bank reconciliation (MASTER R21).
    - `currency` string, required
    - `purpose` string, nullable, required
    - `total_gross` string, required
    - `reimbursable_gross` string, required
    - `submitted_at` string, date-time, nullable, required
    - `approved_at` string, date-time, nullable, required
    - `rejected_reason` string, nullable, required
    - `commercial_document_id` string, nullable, required
    - `open_item_id` string, nullable, required
    - `journal_entry_id` string, nullable, required
    - `payroll_run_id` string, nullable, required
    - `reimbursed_at` string, date-time, nullable, required
    - `created_at` string, date-time, required
    - `lines` ExpenseClaimLineOut[], required
      - `line_no` integer, required
      - `expense_date` string, date, required
      - `category_id` string, required
      - `description` string, nullable, required
      - `amount_gross` string, required
      - `vat_code_id` string, nullable, required
      - `is_private` boolean, required
      - `receipt_item_id` string, nullable, required
      - `receipt_sha256` string, nullable, required
      - `dimension_value_id` string, nullable, required
      - `quantity` string, nullable, required
      - `unit` string, nullable, required
  - `warnings` 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)
