---
title: "Create an expense"
method: POST
path: "/consumers/{consumer_id}/accounting/expenses"
tags: ["Accounting", "Expenses"]
---

# Create an expense

`POST /consumers/{consumer_id}/accounting/expenses`

Create a new employee expense

## Path parameters

- `consumer_id` string, uuid, required

## Query parameters

- `folder_id` string, nullable

## Request body

- ExpenseItemIn
  - `employee_id` string, required — Employee identifier in the accounting system.
  - `total` number, required — Total amount including taxes for the expense.
  - `untaxed_amount` number, required — Total untaxed amount for the expense.
  - `tax_amount` number, required — Total tax amount for the expense.
  - `reference` string, nullable — External reference.
  - `number` string, nullable — Unique number for idempotency in the accounting system.
  - `currency` string, required — Currency of the expense (e.g., EUR, USD).
  - `currency_exchange_rate` number, nullable — Exchange rate at expense date if currency differs from folder currency. Must be positive if provided.
  - `date` string, date, required — Expense date.
  - `pdf` string, nullable — Base64 PDF attachment of the expense document.
  - `pdf_name` string, nullable — A name for the PDF file to be created for accounting software that support it.
  - `lines` ExpenseLineItem[], required — Expense lines.
    - `total` number, required — Total amount for the line including taxes.
    - `untaxed_amount` number, required — Untaxed amount for the line.
    - `tax_amount` number, required — Tax amount for the line.
    - `description` string, nullable — Line description
    - `account_number` string, required — General ledger account number to book the expense.
    - `tax_rate` number, required — Tax rate (e.g., 21.0 for 21%).
    - `tax_id` string, required — Tax identifier to validate against the provided tax_rate.

## Response `200`

Successful Response

- ExpenseItemOut
  - `employee_id` string, required — Employee identifier in the accounting system.
  - `total` number, required — Total amount including taxes for the expense.
  - `untaxed_amount` number, required — Total untaxed amount for the expense.
  - `tax_amount` number, required — Total tax amount for the expense.
  - `reference` string, nullable — External reference.
  - `number` string, nullable — Unique number for idempotency in the accounting system.
  - `currency` string, required — Currency of the expense (e.g., EUR, USD).
  - `currency_exchange_rate` number, nullable — Exchange rate at expense date if currency differs from folder currency. Must be positive if provided.
  - `date` string, date, required — Expense date.
  - `pdf` string, nullable — Base64 PDF attachment of the expense document.
  - `pdf_name` string, nullable — A name for the PDF file to be created for accounting software that support it.
  - `lines` ExpenseLineItem[], required — Expense lines.
    - `total` number, required — Total amount for the line including taxes.
    - `untaxed_amount` number, required — Untaxed amount for the line.
    - `tax_amount` number, required — Tax amount for the line.
    - `description` string, nullable — Line description
    - `account_number` string, required — General ledger account number to book the expense.
    - `tax_rate` number, required — Tax rate (e.g., 21.0 for 21%).
    - `tax_id` string, required — Tax identifier to validate against the provided tax_rate.
  - `id` string, required — Unique id of the expense in the accounting system.

## Other responses

- `400` — Bad Request
- `422` — Validation Error

---

[API](https://skmtc.net/chift/apis/chift-api.md) · [All operations](https://skmtc.net/chift/apis/chift-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/chift/chift-api/revisions/b5f1214a482a/schema)
