---
title: "Create a new ExpenseCategory"
method: POST
path: "/expense_categories.json"
tags: ["Expense Categories"]
---

# Create a new ExpenseCategory

`POST /expense_categories.json`

Outlines the parameters and data fields used when creating a new ExpenseCategory

## Query parameters

- `fields` string

## Headers

- `X-API-VERSION` string

## Request body

- object
  - `data` object, required
    - `currency` object — Currency of the Expense Category.
    - `description` string — A predefined description that pre-fills the note when this Expense Category is selected on an expense entry.
    - `entry_type` 'hard_cost' | 'soft_cost' | 'unassociated' — Defaults to unassociated.
    - `groups` object[]
      - `id` integer — The unique identifier for a single Group associated with the ExpenseCategory. The keyword `null` is not valid for this field.
      - `_deleted` boolean — A flag to determine if this Group should lose access to this ExpenseCategory.
    - `input_tax_settings` object[] — Array of objects, with each object representing an input tax setting that can be applied to a hard cost expense category with 'tax_rate_configuration_id', 'order', and 'rule' as the object properties.
      - `tax_rate_configuration_id` integer, required — The unique identifier of the tax rate configuration associated with the input tax setting.
      - `order` integer, required — The order in which the input tax is applied. Up to two input taxes can be configured — order 1 is applied first, order 2 second. Whether the second compounds on the first depends on its 'rule'.
      - `rule` 'Pre' | 'Post' — Controls how the input tax is applied. 'Pre' calculates it on the base amount; 'Post' compounds it on top of the preceding tax. The input tax with order 1 is always 'Pre'.
    - `name` string, required — Name of the Expense Category.
    - `rate` number, double — Rate of the Expense Category, default is null.
    - `tax_settings` object[] — Array of objects, with each object representing a tax setting with 'tax_rate_configuration_id', 'order', and 'rule' properties.
      - `tax_rate_configuration_id` integer, required — The unique identifier of the tax rate configuration associated with the tax setting.
      - `order` integer, required — The order that the tax setting should be applied in.
      - `rule` 'Pre' | 'Post' — The rule that the tax setting should be applied in.
    - `utbms_code` object
      - `id` integer — The unique identifier for a single UtbmsCode associated with the ExpenseCategory. The keyword `null` is not valid for this field.

## Response `201`

Created

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `422` — Unprocessable Entity
- `429` — Too Many Requests

---

[API](https://skmtc.net/clio/apis/clio-api-documentation.md) · [All operations](https://skmtc.net/clio/apis/clio-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/clio/clio-api-documentation/versions/94a82114ec3b/schema)
