curl --request POST \
--url https://api.chift.eu/consumers/{consumer_id}/accounting/invoices/payments \
--header 'Content-Type: application/json' \
--data '
{
"date": "2026-02-14",
"payment_method_id": "<accounting-payment-method-id>",
"currency": "EUR",
"items": [
{
"invoice_id": "<accounting-invoice-id>",
"amount": 242
}
],
"currency_exchange_rate": 1,
"reference": "REF-0001",
"number": "PAY-2026-0001"
}
'import requests
url = "https://api.chift.eu/consumers/{consumer_id}/accounting/invoices/payments"
payload = {
"date": "2026-02-14",
"payment_method_id": "<accounting-payment-method-id>",
"currency": "EUR",
"items": [
{
"invoice_id": "<accounting-invoice-id>",
"amount": 242
}
],
"currency_exchange_rate": 1,
"reference": "REF-0001",
"number": "PAY-2026-0001"
}
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-02-14',
payment_method_id: '<accounting-payment-method-id>',
currency: 'EUR',
items: [{invoice_id: '<accounting-invoice-id>', amount: 242}],
currency_exchange_rate: 1,
reference: 'REF-0001',
number: 'PAY-2026-0001'
})
};
fetch('https://api.chift.eu/consumers/{consumer_id}/accounting/invoices/payments', 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/invoices/payments",
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-02-14',
'payment_method_id' => '<accounting-payment-method-id>',
'currency' => 'EUR',
'items' => [
[
'invoice_id' => '<accounting-invoice-id>',
'amount' => 242
]
],
'currency_exchange_rate' => 1,
'reference' => 'REF-0001',
'number' => 'PAY-2026-0001'
]),
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/invoices/payments"
payload := strings.NewReader("{\n \"date\": \"2026-02-14\",\n \"payment_method_id\": \"<accounting-payment-method-id>\",\n \"currency\": \"EUR\",\n \"items\": [\n {\n \"invoice_id\": \"<accounting-invoice-id>\",\n \"amount\": 242\n }\n ],\n \"currency_exchange_rate\": 1,\n \"reference\": \"REF-0001\",\n \"number\": \"PAY-2026-0001\"\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/invoices/payments")
.header("Content-Type", "application/json")
.body("{\n \"date\": \"2026-02-14\",\n \"payment_method_id\": \"<accounting-payment-method-id>\",\n \"currency\": \"EUR\",\n \"items\": [\n {\n \"invoice_id\": \"<accounting-invoice-id>\",\n \"amount\": 242\n }\n ],\n \"currency_exchange_rate\": 1,\n \"reference\": \"REF-0001\",\n \"number\": \"PAY-2026-0001\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chift.eu/consumers/{consumer_id}/accounting/invoices/payments")
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-02-14\",\n \"payment_method_id\": \"<accounting-payment-method-id>\",\n \"currency\": \"EUR\",\n \"items\": [\n {\n \"invoice_id\": \"<accounting-invoice-id>\",\n \"amount\": 242\n }\n ],\n \"currency_exchange_rate\": 1,\n \"reference\": \"REF-0001\",\n \"number\": \"PAY-2026-0001\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Error while trying to perform your request",
"status": "error"
}{
"message": "Validation error",
"status": "error",
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Create an invoice payment
Records a payment against an invoice in the accounting system, marking the invoice as (partially) settled.
curl --request POST \
--url https://api.chift.eu/consumers/{consumer_id}/accounting/invoices/payments \
--header 'Content-Type: application/json' \
--data '
{
"date": "2026-02-14",
"payment_method_id": "<accounting-payment-method-id>",
"currency": "EUR",
"items": [
{
"invoice_id": "<accounting-invoice-id>",
"amount": 242
}
],
"currency_exchange_rate": 1,
"reference": "REF-0001",
"number": "PAY-2026-0001"
}
'import requests
url = "https://api.chift.eu/consumers/{consumer_id}/accounting/invoices/payments"
payload = {
"date": "2026-02-14",
"payment_method_id": "<accounting-payment-method-id>",
"currency": "EUR",
"items": [
{
"invoice_id": "<accounting-invoice-id>",
"amount": 242
}
],
"currency_exchange_rate": 1,
"reference": "REF-0001",
"number": "PAY-2026-0001"
}
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-02-14',
payment_method_id: '<accounting-payment-method-id>',
currency: 'EUR',
items: [{invoice_id: '<accounting-invoice-id>', amount: 242}],
currency_exchange_rate: 1,
reference: 'REF-0001',
number: 'PAY-2026-0001'
})
};
fetch('https://api.chift.eu/consumers/{consumer_id}/accounting/invoices/payments', 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/invoices/payments",
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-02-14',
'payment_method_id' => '<accounting-payment-method-id>',
'currency' => 'EUR',
'items' => [
[
'invoice_id' => '<accounting-invoice-id>',
'amount' => 242
]
],
'currency_exchange_rate' => 1,
'reference' => 'REF-0001',
'number' => 'PAY-2026-0001'
]),
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/invoices/payments"
payload := strings.NewReader("{\n \"date\": \"2026-02-14\",\n \"payment_method_id\": \"<accounting-payment-method-id>\",\n \"currency\": \"EUR\",\n \"items\": [\n {\n \"invoice_id\": \"<accounting-invoice-id>\",\n \"amount\": 242\n }\n ],\n \"currency_exchange_rate\": 1,\n \"reference\": \"REF-0001\",\n \"number\": \"PAY-2026-0001\"\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/invoices/payments")
.header("Content-Type", "application/json")
.body("{\n \"date\": \"2026-02-14\",\n \"payment_method_id\": \"<accounting-payment-method-id>\",\n \"currency\": \"EUR\",\n \"items\": [\n {\n \"invoice_id\": \"<accounting-invoice-id>\",\n \"amount\": 242\n }\n ],\n \"currency_exchange_rate\": 1,\n \"reference\": \"REF-0001\",\n \"number\": \"PAY-2026-0001\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chift.eu/consumers/{consumer_id}/accounting/invoices/payments")
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-02-14\",\n \"payment_method_id\": \"<accounting-payment-method-id>\",\n \"currency\": \"EUR\",\n \"items\": [\n {\n \"invoice_id\": \"<accounting-invoice-id>\",\n \"amount\": 242\n }\n ],\n \"currency_exchange_rate\": 1,\n \"reference\": \"REF-0001\",\n \"number\": \"PAY-2026-0001\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Error while trying to perform your request",
"status": "error"
}{
"message": "Validation error",
"status": "error",
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}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.
Body
The date of the payment
"2026-02-14"
Technical ID of the payment method in the accounting system.
"<accounting-payment-method-id>"
Payment currency
"EUR"
Payment's repartition
Show child attributes
Show child attributes
Exchange rate from the transaction currency to the folder's base currency, applicable at the payment date. Required when the currency is different from the folder's base currency.
External reference of the payment.
"REF-0001"
Unique Payment number (if managed by the software).
"PAY-2026-0001"
Response
Successful Response