---
title: "Create an imprest fund"
method: POST
path: "/v1/erp/payouts/imprest_funds"
tags: ["Imprest Fund"]
---

# Create an imprest fund

`POST /v1/erp/payouts/imprest_funds`

## Request

- Base URL: `https://api.cardda.com`
- URL: `https://api.cardda.com/v1/erp/payouts/imprest_funds`
- Auth: HTTP bearer

Creates an imprest fund assigned to `user_id` (who must be a member of the company).
An initial company-refund payable is created alongside it; supply `initial_amount` and
an optional `bank_account` to fund the assignee's reimbursement.

Requires the `erp_imprest_funds_create` permission (or company admin).

## Parameters

- `#/paths/~1v1~1erp~1payouts~1rules/get/parameters/0` (unresolved $ref)

## Request body

- object: Body used to create an imprest fund. `user_id` (the assignee) is required and must be a member of the company. On creation an initial company-refund payable is also created.
  - `user_id` string, required: Id of the user the fund is assigned to. Must be a member of the company.
  - `description` string
  - `start_date` string, date
  - `end_date` string, date
  - `initial_amount` integer: Initial amount funded (defaults to 0). Used for the company-refund payable.
  - `bank_account` object: Optional bank account to link to the initial company-refund payable, so the assignee can be reimbursed.
    - `account_number` string
    - `account_type` string
    - `bank_id` string
    - `email` string
    - `rut` string

## Response `201`

The created imprest fund. This response is the bare fund record only — unlike the
`index`/`show` responses it does not embed `user`, `creator`, `paid_amount`,
`reported_amount`, or `custom_column_values`.

- ImprestFund: An imprest fund (fondo por rendir) assigned to a user, against which expense reports and refunds are tracked.
  - `id` string, uuid, required
  - `company_id` string, uuid, required
  - `user_id` string: The user the fund is assigned to (the assignee).
  - `creator_id` string: The user that created the fund.
  - `number` integer: Sequential number of the fund within the company.
  - `paid_amount_cents` integer, nullable
  - `reported_amount_cents` integer, nullable
  - `currency` string
  - `description` string, nullable
  - `status` string, nullable
  - `start_date` string, date, nullable
  - `end_date` string, date, nullable
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `paid_amount` object: Total amount paid into the fund, serialized as a Money object. Included in the `index` response (via method).
    - `amount` number
    - `formatted` string
    - `cents` integer
    - `currency_iso` string
  - `reported_amount` object: Total amount reported/spent, serialized as a Money object. Included in the `index` response (via method).
    - `amount` number
    - `formatted` string
    - `cents` integer
    - `currency_iso` string
  - `custom_column_values` object[]: Custom column values. Included in the `index` response (via method).
  - `user` object: The assignee. Included in both `index` and `show`.
    - `id` string
    - `identifier` string
    - `name` string
  - `creator` object: The creator. Included only in the `show` response.
    - `id` string
    - `identifier` string
    - `name` string

## Other responses

- `401`: Unauthorized — missing auth, or the assignee is not a member of the company.
- `404`: Not Found — `user_id` does not match any user.
- `422`: Unprocessable Entity

---

[API](https://skmtc.dev/cardda/apis/erp-api.md) - [All operations](https://skmtc.dev/cardda/apis/erp-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cardda/apis/erp-api/revisions/0730ed26bc3c?raw)
