---
title: "Create an expense"
method: POST
path: "/api/v1/expenses"
tags: ["Expenses"]
---

# Create an expense

`POST /api/v1/expenses`

## Request

- Base URL: `https://api.checkcherry.com`
- URL: `https://api.checkcherry.com/api/v1/expenses`
- Auth: none declared. Required headers: `Api-Key`

Create a new expense record for the business. Expenses track costs like equipment purchases, venue fees, staff payments, and other business expenditures.

The payee can be either a custom text value or a reference to a staff member. Set `payee_type` to `"custom"` and provide `payee_value`, or set `payee_type` to `"staff"` and provide `staff_id`.

**Required permission:** `expense_create`

## Headers

- `Api-Key` string, required

## Request body

- object
  - `payee_type` 'custom' | 'staff': Payee type
  - `payee_value` string: Payee name (required when payee_type is "custom")
  - `staff_id` integer: Staff member ID (required when payee_type is "staff")
  - `payment_date` string, required: Date of payment (YYYY-MM-DD)
  - `payment_method` string: Payment method (e.g., "Cash", "Check", "Credit Card")
  - `amount` number, required: Expense amount
  - `ref_no` string, required: Reference number
  - `description` string: Description of the expense
  - `expense_category_id` integer: Expense category ID
  - `event_id` integer: Associated event ID (optional)

## Response `200`

expense created

---

[API](https://skmtc.dev/checkcherry/apis/check-cherry-business-api.md) · [All operations](https://skmtc.dev/checkcherry/apis/check-cherry-business-api/llms.txt) · [OpenAPI document](https://skmtc.dev/checkcherry/apis/check-cherry-business-api/revisions/84a9aabdf519?raw)
