curl --request POST \
--url https://api.chift.eu/consumers/{consumer_id}/accounting/financial-entries \
--header 'Content-Type: application/json' \
--data '
{
"date": "2026-01-15",
"journal_id": "<accounting-journal-id>",
"currency": "EUR",
"items": [
{
"account": "<accounting-account-number>",
"amount": 200,
"description": "Bank charges",
"tax_info": {
"tax_code": "<accounting-tax-code>",
"tax_amount": 42,
"vat_account": "<accounting-account-number>",
"reversed_vat_account": "<accounting-account-number>",
"description": "VAT 21%"
},
"automated_matching_number": "<accounting-matching-number>"
}
],
"currency_exchange_rate": 1,
"reference": "REF-0001",
"number": "FE-2026-0001",
"pdf": "<string>",
"pdf_name": "<string>"
}
'import requests
url = "https://api.chift.eu/consumers/{consumer_id}/accounting/financial-entries"
payload = {
"date": "2026-01-15",
"journal_id": "<accounting-journal-id>",
"currency": "EUR",
"items": [
{
"account": "<accounting-account-number>",
"amount": 200,
"description": "Bank charges",
"tax_info": {
"tax_code": "<accounting-tax-code>",
"tax_amount": 42,
"vat_account": "<accounting-account-number>",
"reversed_vat_account": "<accounting-account-number>",
"description": "VAT 21%"
},
"automated_matching_number": "<accounting-matching-number>"
}
],
"currency_exchange_rate": 1,
"reference": "REF-0001",
"number": "FE-2026-0001",
"pdf": "<string>",
"pdf_name": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
date: '2026-01-15',
journal_id: '<accounting-journal-id>',
currency: 'EUR',
items: [
{
account: '<accounting-account-number>',
amount: 200,
description: 'Bank charges',
tax_info: {
tax_code: '<accounting-tax-code>',
tax_amount: 42,
vat_account: '<accounting-account-number>',
reversed_vat_account: '<accounting-account-number>',
description: 'VAT 21%'
},
automated_matching_number: '<accounting-matching-number>'
}
],
currency_exchange_rate: 1,
reference: 'REF-0001',
number: 'FE-2026-0001',
pdf: '<string>',
pdf_name: '<string>'
})
};
fetch('https://api.chift.eu/consumers/{consumer_id}/accounting/financial-entries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.chift.eu/consumers/{consumer_id}/accounting/financial-entries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'date' => '2026-01-15',
'journal_id' => '<accounting-journal-id>',
'currency' => 'EUR',
'items' => [
[
'account' => '<accounting-account-number>',
'amount' => 200,
'description' => 'Bank charges',
'tax_info' => [
'tax_code' => '<accounting-tax-code>',
'tax_amount' => 42,
'vat_account' => '<accounting-account-number>',
'reversed_vat_account' => '<accounting-account-number>',
'description' => 'VAT 21%'
],
'automated_matching_number' => '<accounting-matching-number>'
]
],
'currency_exchange_rate' => 1,
'reference' => 'REF-0001',
'number' => 'FE-2026-0001',
'pdf' => '<string>',
'pdf_name' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.chift.eu/consumers/{consumer_id}/accounting/financial-entries"
payload := strings.NewReader("{\n \"date\": \"2026-01-15\",\n \"journal_id\": \"<accounting-journal-id>\",\n \"currency\": \"EUR\",\n \"items\": [\n {\n \"account\": \"<accounting-account-number>\",\n \"amount\": 200,\n \"description\": \"Bank charges\",\n \"tax_info\": {\n \"tax_code\": \"<accounting-tax-code>\",\n \"tax_amount\": 42,\n \"vat_account\": \"<accounting-account-number>\",\n \"reversed_vat_account\": \"<accounting-account-number>\",\n \"description\": \"VAT 21%\"\n },\n \"automated_matching_number\": \"<accounting-matching-number>\"\n }\n ],\n \"currency_exchange_rate\": 1,\n \"reference\": \"REF-0001\",\n \"number\": \"FE-2026-0001\",\n \"pdf\": \"<string>\",\n \"pdf_name\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.chift.eu/consumers/{consumer_id}/accounting/financial-entries")
.header("Content-Type", "application/json")
.body("{\n \"date\": \"2026-01-15\",\n \"journal_id\": \"<accounting-journal-id>\",\n \"currency\": \"EUR\",\n \"items\": [\n {\n \"account\": \"<accounting-account-number>\",\n \"amount\": 200,\n \"description\": \"Bank charges\",\n \"tax_info\": {\n \"tax_code\": \"<accounting-tax-code>\",\n \"tax_amount\": 42,\n \"vat_account\": \"<accounting-account-number>\",\n \"reversed_vat_account\": \"<accounting-account-number>\",\n \"description\": \"VAT 21%\"\n },\n \"automated_matching_number\": \"<accounting-matching-number>\"\n }\n ],\n \"currency_exchange_rate\": 1,\n \"reference\": \"REF-0001\",\n \"number\": \"FE-2026-0001\",\n \"pdf\": \"<string>\",\n \"pdf_name\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chift.eu/consumers/{consumer_id}/accounting/financial-entries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"date\": \"2026-01-15\",\n \"journal_id\": \"<accounting-journal-id>\",\n \"currency\": \"EUR\",\n \"items\": [\n {\n \"account\": \"<accounting-account-number>\",\n \"amount\": 200,\n \"description\": \"Bank charges\",\n \"tax_info\": {\n \"tax_code\": \"<accounting-tax-code>\",\n \"tax_amount\": 42,\n \"vat_account\": \"<accounting-account-number>\",\n \"reversed_vat_account\": \"<accounting-account-number>\",\n \"description\": \"VAT 21%\"\n },\n \"automated_matching_number\": \"<accounting-matching-number>\"\n }\n ],\n \"currency_exchange_rate\": 1,\n \"reference\": \"REF-0001\",\n \"number\": \"FE-2026-0001\",\n \"pdf\": \"<string>\",\n \"pdf_name\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"date": "2026-01-15",
"journal_id": "<accounting-journal-id>",
"currency": "EUR",
"id": "<this-financial-entry-id>",
"number": "FE-2026-0001",
"items": [
{
"account_type": "customer_account",
"account": "<accounting-account-number>",
"amount": 200,
"counterpart_account": "<accounting-account-number>",
"description": "Bank charges",
"tax_info": {
"tax_code": "<accounting-tax-code>",
"tax_amount": 42,
"vat_account": "<accounting-account-number>",
"reversed_vat_account": "<accounting-account-number>",
"description": "VAT 21%"
},
"automated_matching_number": "<accounting-matching-number>"
}
],
"currency_exchange_rate": 1,
"reference": "REF-0001"
}Create a financial entry
Creates a new bank or cash journal financial entry in the accounting system and returns the created record.
curl --request POST \
--url https://api.chift.eu/consumers/{consumer_id}/accounting/financial-entries \
--header 'Content-Type: application/json' \
--data '
{
"date": "2026-01-15",
"journal_id": "<accounting-journal-id>",
"currency": "EUR",
"items": [
{
"account": "<accounting-account-number>",
"amount": 200,
"description": "Bank charges",
"tax_info": {
"tax_code": "<accounting-tax-code>",
"tax_amount": 42,
"vat_account": "<accounting-account-number>",
"reversed_vat_account": "<accounting-account-number>",
"description": "VAT 21%"
},
"automated_matching_number": "<accounting-matching-number>"
}
],
"currency_exchange_rate": 1,
"reference": "REF-0001",
"number": "FE-2026-0001",
"pdf": "<string>",
"pdf_name": "<string>"
}
'import requests
url = "https://api.chift.eu/consumers/{consumer_id}/accounting/financial-entries"
payload = {
"date": "2026-01-15",
"journal_id": "<accounting-journal-id>",
"currency": "EUR",
"items": [
{
"account": "<accounting-account-number>",
"amount": 200,
"description": "Bank charges",
"tax_info": {
"tax_code": "<accounting-tax-code>",
"tax_amount": 42,
"vat_account": "<accounting-account-number>",
"reversed_vat_account": "<accounting-account-number>",
"description": "VAT 21%"
},
"automated_matching_number": "<accounting-matching-number>"
}
],
"currency_exchange_rate": 1,
"reference": "REF-0001",
"number": "FE-2026-0001",
"pdf": "<string>",
"pdf_name": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
date: '2026-01-15',
journal_id: '<accounting-journal-id>',
currency: 'EUR',
items: [
{
account: '<accounting-account-number>',
amount: 200,
description: 'Bank charges',
tax_info: {
tax_code: '<accounting-tax-code>',
tax_amount: 42,
vat_account: '<accounting-account-number>',
reversed_vat_account: '<accounting-account-number>',
description: 'VAT 21%'
},
automated_matching_number: '<accounting-matching-number>'
}
],
currency_exchange_rate: 1,
reference: 'REF-0001',
number: 'FE-2026-0001',
pdf: '<string>',
pdf_name: '<string>'
})
};
fetch('https://api.chift.eu/consumers/{consumer_id}/accounting/financial-entries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.chift.eu/consumers/{consumer_id}/accounting/financial-entries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'date' => '2026-01-15',
'journal_id' => '<accounting-journal-id>',
'currency' => 'EUR',
'items' => [
[
'account' => '<accounting-account-number>',
'amount' => 200,
'description' => 'Bank charges',
'tax_info' => [
'tax_code' => '<accounting-tax-code>',
'tax_amount' => 42,
'vat_account' => '<accounting-account-number>',
'reversed_vat_account' => '<accounting-account-number>',
'description' => 'VAT 21%'
],
'automated_matching_number' => '<accounting-matching-number>'
]
],
'currency_exchange_rate' => 1,
'reference' => 'REF-0001',
'number' => 'FE-2026-0001',
'pdf' => '<string>',
'pdf_name' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.chift.eu/consumers/{consumer_id}/accounting/financial-entries"
payload := strings.NewReader("{\n \"date\": \"2026-01-15\",\n \"journal_id\": \"<accounting-journal-id>\",\n \"currency\": \"EUR\",\n \"items\": [\n {\n \"account\": \"<accounting-account-number>\",\n \"amount\": 200,\n \"description\": \"Bank charges\",\n \"tax_info\": {\n \"tax_code\": \"<accounting-tax-code>\",\n \"tax_amount\": 42,\n \"vat_account\": \"<accounting-account-number>\",\n \"reversed_vat_account\": \"<accounting-account-number>\",\n \"description\": \"VAT 21%\"\n },\n \"automated_matching_number\": \"<accounting-matching-number>\"\n }\n ],\n \"currency_exchange_rate\": 1,\n \"reference\": \"REF-0001\",\n \"number\": \"FE-2026-0001\",\n \"pdf\": \"<string>\",\n \"pdf_name\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.chift.eu/consumers/{consumer_id}/accounting/financial-entries")
.header("Content-Type", "application/json")
.body("{\n \"date\": \"2026-01-15\",\n \"journal_id\": \"<accounting-journal-id>\",\n \"currency\": \"EUR\",\n \"items\": [\n {\n \"account\": \"<accounting-account-number>\",\n \"amount\": 200,\n \"description\": \"Bank charges\",\n \"tax_info\": {\n \"tax_code\": \"<accounting-tax-code>\",\n \"tax_amount\": 42,\n \"vat_account\": \"<accounting-account-number>\",\n \"reversed_vat_account\": \"<accounting-account-number>\",\n \"description\": \"VAT 21%\"\n },\n \"automated_matching_number\": \"<accounting-matching-number>\"\n }\n ],\n \"currency_exchange_rate\": 1,\n \"reference\": \"REF-0001\",\n \"number\": \"FE-2026-0001\",\n \"pdf\": \"<string>\",\n \"pdf_name\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chift.eu/consumers/{consumer_id}/accounting/financial-entries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"date\": \"2026-01-15\",\n \"journal_id\": \"<accounting-journal-id>\",\n \"currency\": \"EUR\",\n \"items\": [\n {\n \"account\": \"<accounting-account-number>\",\n \"amount\": 200,\n \"description\": \"Bank charges\",\n \"tax_info\": {\n \"tax_code\": \"<accounting-tax-code>\",\n \"tax_amount\": 42,\n \"vat_account\": \"<accounting-account-number>\",\n \"reversed_vat_account\": \"<accounting-account-number>\",\n \"description\": \"VAT 21%\"\n },\n \"automated_matching_number\": \"<accounting-matching-number>\"\n }\n ],\n \"currency_exchange_rate\": 1,\n \"reference\": \"REF-0001\",\n \"number\": \"FE-2026-0001\",\n \"pdf\": \"<string>\",\n \"pdf_name\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"date": "2026-01-15",
"journal_id": "<accounting-journal-id>",
"currency": "EUR",
"id": "<this-financial-entry-id>",
"number": "FE-2026-0001",
"items": [
{
"account_type": "customer_account",
"account": "<accounting-account-number>",
"amount": 200,
"counterpart_account": "<accounting-account-number>",
"description": "Bank charges",
"tax_info": {
"tax_code": "<accounting-tax-code>",
"tax_amount": 42,
"vat_account": "<accounting-account-number>",
"reversed_vat_account": "<accounting-account-number>",
"description": "VAT 21%"
},
"automated_matching_number": "<accounting-matching-number>"
}
],
"currency_exchange_rate": 1,
"reference": "REF-0001"
}- What is a financial entry? ↗
- What is a journal entry? ↗
- How to select the right accounts in journal entries? ↗
Path Parameters
Query Parameters
Id of the accounting folder instance. A folder represents a legal entity within the system. Required when the multiple folders feature is enabled.
Number of ledger account representing bank account in accounting. Required in cases where the connector does not allow direct linking of the ledger account representing the bank account and the journal representing the bank account, making it necessary to specify it here.
Boolean flag indicating whether to force the use of the provided currency exchange rate instead of the rate used by the accounting software.
If set to true, Chift will not wait for the entry to be processed to return, use this when you do not need the ID in the return value.Note that this might also change the output of the call.
Body
Accounting date of the financial entry (format: YYYY-MM-DD). This is the date when the financial entry is recorded in the accounting system.
"2026-01-15"
Id of the journal instance in the accounting system in which the financial entry is recorded.
"<accounting-journal-id>"
Indicates the currency of the operation (e.g., EUR, USD).
"EUR"
1Show child attributes
Show child attributes
Exchange rate from the transaction currency to the folder's base currency, at the date of the operation. Must be filled in when creating the operation in another currency from the folder's default currency.
Entry-level reference, shared across all line items of the financial entry. Typically used to store an external identifier such as a bank statement reference or payment batch reference. Leave empty when creating one financial entry per individual transaction, as the relevant identifier should then be placed in the line-level description or automated_matching_number instead.
"REF-0001"
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.
"FE-2026-0001"
Base 64 string representing the PDF attached to the sale/purchase entry.
A name for the PDF file to be created for accounting software that support it.
1 - 200^[a-zA-Z0-9\-_ ]{1,196}(?:.pdf)?$Response
Successful Response
Accounting date of the financial entry (format: YYYY-MM-DD). This is the date when the financial entry is recorded in the accounting system.
"2026-01-15"
Id of the journal instance in the accounting system in which the financial entry is recorded.
"<accounting-journal-id>"
Indicates the currency of the operation (e.g., EUR, USD).
"EUR"
Unique id of the financial entry instance in the accounting system.
"<this-financial-entry-id>"
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.
"FE-2026-0001"
Show child attributes
Show child attributes
Exchange rate from the transaction currency to the folder's base currency, at the date of the operation. Must be filled in when creating the operation in another currency from the folder's default currency.
Entry-level reference, shared across all line items of the financial entry. Typically used to store an external identifier such as a bank statement reference or payment batch reference. Leave empty when creating one financial entry per individual transaction, as the relevant identifier should then be placed in the line-level description or automated_matching_number instead.
"REF-0001"