---
title: "Create a financial entry"
method: POST
path: "/consumers/{consumer_id}/accounting/financial-entries"
tags: ["Accounting", "Journal entries"]
---

# Create a financial entry

`POST /consumers/{consumer_id}/accounting/financial-entries`

Create a new financial entry (Bank or Cash operation)

## Path parameters

- `consumer_id` string, uuid, required

## Query parameters

- `folder_id` string, nullable
- `financial_counterpart_account` string, nullable
- `force_currency_exchange` boolean, nullable
- `ignore_accounting_id` boolean

## Request body

- FinancialEntryItemIn
  - `date` string, date, required — Accounting date of the financial entry (format: YYYY-MM-DD). This is the date when the financial entry is recorded in the accounting system.
  - `journal_id` string, required — Id of the journal instance in the accounting system in which the financial entry is recorded.
  - `currency` string, required — Indicates the currency of the operation (e.g., EUR, USD).
  - `currency_exchange_rate` number, nullable — Indicates the exchange rate at the date of the operation. Must be filled in when creating the operation in another currency from the folder's default currency.
  - `reference` string, nullable — Optional reference field that can be used for lettering by storing an external or contextual identifier related to the entry . For example, it can be used to store a reference number, such as the invoice number associated with the payment.
  - `number` string, nullable — Unique 'number' of the financial entry in the accounting software. This is an internal number or identifier assigned to the financial entry. It is recommended to use this number for idempotency to prevent duplicate entries. Refer to the idempotency documentation in the Developer Guides for more details.
  - `items` FinancialEntryLineItem[], required
    - `account_type` 'customer_account' | 'supplier_account' | 'employee_account' | 'general_account', required
    - `account` string, required — Depending on account_type, if the account_type is 'general_account', this is the general ledger account number used to book the journal item against. If the account_type is 'customer_account', 'supplier_account' or 'employee_account', this is the thirdparty_id (id of the customer, supplier or employee in the accounting system).
    - `amount` number, required — A positive value represents funds received in the bank or cash account (i.e., the bank/cash account is debited and the specified account_number is credited). A negative value represents funds leaving the bank/cash account.
    - `description` string, nullable — Text description for this line item. This is typically used to provide additional context or information.
    - `tax_info` TaxInfo
      - `tax_code` string, required — VAT code of the tax line. This is the Id of the Tax code instance in the accounting software.
      - `tax_amount` number, required — Amount of the tax line. The amount must be positive and is required even with reversed VAT.
      - `vat_account` string, nullable — VAT ledger account of the tax line. This is the ledger account number used to book the tax amount. The account is mandatory if tax amount is different from 0. The ledger account will ONLY be used when it is mandatory to pass this information to the accounting software.
      - `reversed_vat_account` string, nullable — Reversed VAT ledger account of the tax line. This is the ledger account number used to book the reversed tax amount. The account is mandatory if you are using a reversed VAT code. The ledger account will ONLY be used when it is mandatory to pass this information to the accounting software.
      - `description` string, nullable — Optional extra description of the tax line.
    - `automated_matching_number` string, nullable — Automated matching number of the financial entry line item. This is used to let the accounting system do an automated matching based on this value. This is not supported on all accounting systems.
  - `pdf` string, nullable — Base 64 string representing the PDF attached to the sale/purchase entry.
  - `pdf_name` string, nullable — A name for the PDF file to be created for accounting software that support it.

## Response `200`

Successful Response

- FinancialEntryItemOut
  - `date` string, date, required — Accounting date of the financial entry (format: YYYY-MM-DD). This is the date when the financial entry is recorded in the accounting system.
  - `journal_id` string, required — Id of the journal instance in the accounting system in which the financial entry is recorded.
  - `currency` string, required — Indicates the currency of the operation (e.g., EUR, USD).
  - `currency_exchange_rate` number, nullable — Indicates the exchange rate at the date of the operation. Must be filled in when creating the operation in another currency from the folder's default currency.
  - `reference` string, nullable — Optional reference field that can be used for lettering by storing an external or contextual identifier related to the entry . For example, it can be used to store a reference number, such as the invoice number associated with the payment.
  - `id` string, required — Unique id of the financial entry instance in the accounting system.
  - `number` string, required — Unique 'number' of the financial entry in the accounting software. This is an internal number or identifier assigned to the financial entry. It is recommended to use this number for idempotency to prevent duplicate entries. Refer to the idempotency documentation in the Developer Guides for more details.
  - `items` FinancialEntryLineItemOut[], required
    - `account_type` 'customer_account' | 'supplier_account' | 'employee_account' | 'general_account', required
    - `account` string, required — Depending on account_type, if the account_type is 'general_account', this is the general ledger account number used to book the journal item against. If the account_type is 'customer_account', 'supplier_account' or 'employee_account', this is the thirdparty_id (id of the customer, supplier or employee in the accounting system).
    - `amount` number, required — A positive value represents funds received in the bank or cash account (i.e., the bank/cash account is debited and the specified account_number is credited). A negative value represents funds leaving the bank/cash account.
    - `description` string, nullable — Text description for this line item. This is typically used to provide additional context or information.
    - `tax_info` TaxInfo
      - `tax_code` string, required — VAT code of the tax line. This is the Id of the Tax code instance in the accounting software.
      - `tax_amount` number, required — Amount of the tax line. The amount must be positive and is required even with reversed VAT.
      - `vat_account` string, nullable — VAT ledger account of the tax line. This is the ledger account number used to book the tax amount. The account is mandatory if tax amount is different from 0. The ledger account will ONLY be used when it is mandatory to pass this information to the accounting software.
      - `reversed_vat_account` string, nullable — Reversed VAT ledger account of the tax line. This is the ledger account number used to book the reversed tax amount. The account is mandatory if you are using a reversed VAT code. The ledger account will ONLY be used when it is mandatory to pass this information to the accounting software.
      - `description` string, nullable — Optional extra description of the tax line.
    - `automated_matching_number` string, nullable — Automated matching number of the financial entry line item. This is used to let the accounting system do an automated matching based on this value. This is not supported on all accounting systems.
    - `counterpart_account` string, required

## Other responses

- `400` — Bad Request
- `404` — Not Found
- `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/versions/b5f1214a482a/schema)
