curl --request PATCH \
--url https://api.chift.eu/consumers/{consumer_id}/accounting/clients/{client_id} \
--header 'Content-Type: application/json' \
--data '
{
"external_reference": "CUST-0001",
"first_name": "John",
"last_name": "Doe",
"name": "Example Company S.A.",
"function": "Accountant",
"is_company": true,
"company_id": "<accounting-company-id>",
"phone": "+32 2 000 00 00",
"mobile": "+32 4 000 00 00",
"email": "john.doe@example.com",
"language": "en",
"internal_notes": "Preferred contact: accounts payable team.",
"website": "https://www.example.com",
"vat": "BE0000000000",
"company_number": "0000000000",
"iban": "BE00000000000000",
"bank_account": "0000000000",
"currency": "EUR",
"active": true,
"addresses": []
}
'import requests
url = "https://api.chift.eu/consumers/{consumer_id}/accounting/clients/{client_id}"
payload = {
"external_reference": "CUST-0001",
"first_name": "John",
"last_name": "Doe",
"name": "Example Company S.A.",
"function": "Accountant",
"is_company": True,
"company_id": "<accounting-company-id>",
"phone": "+32 2 000 00 00",
"mobile": "+32 4 000 00 00",
"email": "john.doe@example.com",
"language": "en",
"internal_notes": "Preferred contact: accounts payable team.",
"website": "https://www.example.com",
"vat": "BE0000000000",
"company_number": "0000000000",
"iban": "BE00000000000000",
"bank_account": "0000000000",
"currency": "EUR",
"active": True,
"addresses": []
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
external_reference: 'CUST-0001',
first_name: 'John',
last_name: 'Doe',
name: 'Example Company S.A.',
function: 'Accountant',
is_company: true,
company_id: '<accounting-company-id>',
phone: '+32 2 000 00 00',
mobile: '+32 4 000 00 00',
email: 'john.doe@example.com',
language: 'en',
internal_notes: 'Preferred contact: accounts payable team.',
website: 'https://www.example.com',
vat: 'BE0000000000',
company_number: '0000000000',
iban: 'BE00000000000000',
bank_account: '0000000000',
currency: 'EUR',
active: true,
addresses: []
})
};
fetch('https://api.chift.eu/consumers/{consumer_id}/accounting/clients/{client_id}', 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/clients/{client_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'external_reference' => 'CUST-0001',
'first_name' => 'John',
'last_name' => 'Doe',
'name' => 'Example Company S.A.',
'function' => 'Accountant',
'is_company' => true,
'company_id' => '<accounting-company-id>',
'phone' => '+32 2 000 00 00',
'mobile' => '+32 4 000 00 00',
'email' => 'john.doe@example.com',
'language' => 'en',
'internal_notes' => 'Preferred contact: accounts payable team.',
'website' => 'https://www.example.com',
'vat' => 'BE0000000000',
'company_number' => '0000000000',
'iban' => 'BE00000000000000',
'bank_account' => '0000000000',
'currency' => 'EUR',
'active' => true,
'addresses' => [
]
]),
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/clients/{client_id}"
payload := strings.NewReader("{\n \"external_reference\": \"CUST-0001\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"name\": \"Example Company S.A.\",\n \"function\": \"Accountant\",\n \"is_company\": true,\n \"company_id\": \"<accounting-company-id>\",\n \"phone\": \"+32 2 000 00 00\",\n \"mobile\": \"+32 4 000 00 00\",\n \"email\": \"john.doe@example.com\",\n \"language\": \"en\",\n \"internal_notes\": \"Preferred contact: accounts payable team.\",\n \"website\": \"https://www.example.com\",\n \"vat\": \"BE0000000000\",\n \"company_number\": \"0000000000\",\n \"iban\": \"BE00000000000000\",\n \"bank_account\": \"0000000000\",\n \"currency\": \"EUR\",\n \"active\": true,\n \"addresses\": []\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.chift.eu/consumers/{consumer_id}/accounting/clients/{client_id}")
.header("Content-Type", "application/json")
.body("{\n \"external_reference\": \"CUST-0001\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"name\": \"Example Company S.A.\",\n \"function\": \"Accountant\",\n \"is_company\": true,\n \"company_id\": \"<accounting-company-id>\",\n \"phone\": \"+32 2 000 00 00\",\n \"mobile\": \"+32 4 000 00 00\",\n \"email\": \"john.doe@example.com\",\n \"language\": \"en\",\n \"internal_notes\": \"Preferred contact: accounts payable team.\",\n \"website\": \"https://www.example.com\",\n \"vat\": \"BE0000000000\",\n \"company_number\": \"0000000000\",\n \"iban\": \"BE00000000000000\",\n \"bank_account\": \"0000000000\",\n \"currency\": \"EUR\",\n \"active\": true,\n \"addresses\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chift.eu/consumers/{consumer_id}/accounting/clients/{client_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"external_reference\": \"CUST-0001\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"name\": \"Example Company S.A.\",\n \"function\": \"Accountant\",\n \"is_company\": true,\n \"company_id\": \"<accounting-company-id>\",\n \"phone\": \"+32 2 000 00 00\",\n \"mobile\": \"+32 4 000 00 00\",\n \"email\": \"john.doe@example.com\",\n \"language\": \"en\",\n \"internal_notes\": \"Preferred contact: accounts payable team.\",\n \"website\": \"https://www.example.com\",\n \"vat\": \"BE0000000000\",\n \"company_number\": \"0000000000\",\n \"iban\": \"BE00000000000000\",\n \"bank_account\": \"0000000000\",\n \"currency\": \"EUR\",\n \"active\": true,\n \"addresses\": []\n}"
response = http.request(request)
puts response.read_bodyUpdate client
Endpoint that gives the possibility to update an accounting client
curl --request PATCH \
--url https://api.chift.eu/consumers/{consumer_id}/accounting/clients/{client_id} \
--header 'Content-Type: application/json' \
--data '
{
"external_reference": "CUST-0001",
"first_name": "John",
"last_name": "Doe",
"name": "Example Company S.A.",
"function": "Accountant",
"is_company": true,
"company_id": "<accounting-company-id>",
"phone": "+32 2 000 00 00",
"mobile": "+32 4 000 00 00",
"email": "john.doe@example.com",
"language": "en",
"internal_notes": "Preferred contact: accounts payable team.",
"website": "https://www.example.com",
"vat": "BE0000000000",
"company_number": "0000000000",
"iban": "BE00000000000000",
"bank_account": "0000000000",
"currency": "EUR",
"active": true,
"addresses": []
}
'import requests
url = "https://api.chift.eu/consumers/{consumer_id}/accounting/clients/{client_id}"
payload = {
"external_reference": "CUST-0001",
"first_name": "John",
"last_name": "Doe",
"name": "Example Company S.A.",
"function": "Accountant",
"is_company": True,
"company_id": "<accounting-company-id>",
"phone": "+32 2 000 00 00",
"mobile": "+32 4 000 00 00",
"email": "john.doe@example.com",
"language": "en",
"internal_notes": "Preferred contact: accounts payable team.",
"website": "https://www.example.com",
"vat": "BE0000000000",
"company_number": "0000000000",
"iban": "BE00000000000000",
"bank_account": "0000000000",
"currency": "EUR",
"active": True,
"addresses": []
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
external_reference: 'CUST-0001',
first_name: 'John',
last_name: 'Doe',
name: 'Example Company S.A.',
function: 'Accountant',
is_company: true,
company_id: '<accounting-company-id>',
phone: '+32 2 000 00 00',
mobile: '+32 4 000 00 00',
email: 'john.doe@example.com',
language: 'en',
internal_notes: 'Preferred contact: accounts payable team.',
website: 'https://www.example.com',
vat: 'BE0000000000',
company_number: '0000000000',
iban: 'BE00000000000000',
bank_account: '0000000000',
currency: 'EUR',
active: true,
addresses: []
})
};
fetch('https://api.chift.eu/consumers/{consumer_id}/accounting/clients/{client_id}', 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/clients/{client_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'external_reference' => 'CUST-0001',
'first_name' => 'John',
'last_name' => 'Doe',
'name' => 'Example Company S.A.',
'function' => 'Accountant',
'is_company' => true,
'company_id' => '<accounting-company-id>',
'phone' => '+32 2 000 00 00',
'mobile' => '+32 4 000 00 00',
'email' => 'john.doe@example.com',
'language' => 'en',
'internal_notes' => 'Preferred contact: accounts payable team.',
'website' => 'https://www.example.com',
'vat' => 'BE0000000000',
'company_number' => '0000000000',
'iban' => 'BE00000000000000',
'bank_account' => '0000000000',
'currency' => 'EUR',
'active' => true,
'addresses' => [
]
]),
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/clients/{client_id}"
payload := strings.NewReader("{\n \"external_reference\": \"CUST-0001\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"name\": \"Example Company S.A.\",\n \"function\": \"Accountant\",\n \"is_company\": true,\n \"company_id\": \"<accounting-company-id>\",\n \"phone\": \"+32 2 000 00 00\",\n \"mobile\": \"+32 4 000 00 00\",\n \"email\": \"john.doe@example.com\",\n \"language\": \"en\",\n \"internal_notes\": \"Preferred contact: accounts payable team.\",\n \"website\": \"https://www.example.com\",\n \"vat\": \"BE0000000000\",\n \"company_number\": \"0000000000\",\n \"iban\": \"BE00000000000000\",\n \"bank_account\": \"0000000000\",\n \"currency\": \"EUR\",\n \"active\": true,\n \"addresses\": []\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.chift.eu/consumers/{consumer_id}/accounting/clients/{client_id}")
.header("Content-Type", "application/json")
.body("{\n \"external_reference\": \"CUST-0001\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"name\": \"Example Company S.A.\",\n \"function\": \"Accountant\",\n \"is_company\": true,\n \"company_id\": \"<accounting-company-id>\",\n \"phone\": \"+32 2 000 00 00\",\n \"mobile\": \"+32 4 000 00 00\",\n \"email\": \"john.doe@example.com\",\n \"language\": \"en\",\n \"internal_notes\": \"Preferred contact: accounts payable team.\",\n \"website\": \"https://www.example.com\",\n \"vat\": \"BE0000000000\",\n \"company_number\": \"0000000000\",\n \"iban\": \"BE00000000000000\",\n \"bank_account\": \"0000000000\",\n \"currency\": \"EUR\",\n \"active\": true,\n \"addresses\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chift.eu/consumers/{consumer_id}/accounting/clients/{client_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"external_reference\": \"CUST-0001\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"name\": \"Example Company S.A.\",\n \"function\": \"Accountant\",\n \"is_company\": true,\n \"company_id\": \"<accounting-company-id>\",\n \"phone\": \"+32 2 000 00 00\",\n \"mobile\": \"+32 4 000 00 00\",\n \"email\": \"john.doe@example.com\",\n \"language\": \"en\",\n \"internal_notes\": \"Preferred contact: accounts payable team.\",\n \"website\": \"https://www.example.com\",\n \"vat\": \"BE0000000000\",\n \"company_number\": \"0000000000\",\n \"iban\": \"BE00000000000000\",\n \"bank_account\": \"0000000000\",\n \"currency\": \"EUR\",\n \"active\": true,\n \"addresses\": []\n}"
response = http.request(request)
puts response.read_body- What are partners (clients, suppliers, employees)? ↗
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
External identifier used to link the client in the accounting system with the corresponding client reference in your own system. Normally unique per client/supplier type and can serve as the primary key of the accounting system.
"CUST-0001"
Only used when the client is an individual (is_company=false). Indicates the first name of the client.
"John"
Only used when the client is an individual (is_company=false). Indicates the last name of the client.
"Doe"
Full name or legal name of the client (individual or company). This is the name that will be displayed in the accounting software.
"Example Company S.A."
Only used when the client is an individual (is_company=false). Job function/title of the client.
"Accountant"
Indicates if the client is an individual or a company.
Only used when the client is an individual (is_company=false). Indicates the id of the company linked to the client.
"<accounting-company-id>"
Phone number of the client.
"+32 2 000 00 00"
Mobile phone number of the client.
"+32 4 000 00 00"
Email address of the client.
"john.doe@example.com"
Language of the client. Format: ISO 639-1 codes.
"en"
Internal notes about the client.
"Preferred contact: accounts payable team."
Website of the client.
"https://www.example.com"
VAT number of the client, used for tax compliance and invoicing. This value is unique per company and can be used as a reliable identifier to match clients between systems.
"BE0000000000"
National identification number of the company.
"0000000000"
IBAN account number of the client.
"BE00000000000000"
Bank account number of the client.
"0000000000"
Indicates the currency of the client (e.g., EUR).
"EUR"
Indicates if the client is active.
List of addresses associated with the client.
Show child attributes
Show child attributes
Response
Successful Response
External identifier used to link the client in the accounting system with the corresponding client reference in your own system. Normally unique per client/supplier type and can serve as the primary key of the accounting system.
"CUST-0001"
Only used when the client is an individual (is_company=false). Indicates the first name of the client.
"John"
Only used when the client is an individual (is_company=false). Indicates the last name of the client.
"Doe"
Full name or legal name of the client (individual or company). This is the name displayed in the accounting software.
"Example Company S.A."
Only used when the client is an individual (is_company=false). Job function/title of the client.
"Accountant"
Indicates if the client is an individual or a company.
Only used when the client is an individual (is_company=false). Indicates the id of the company linked to the client.
"<accounting-company-id>"
Phone number of the client.
"+32 2 000 00 00"
Mobile phone number of the client.
"+32 4 000 00 00"
Email address of the client.
"john.doe@example.com"
Language of the client. Format: ISO 639-1 codes.
"en"
Internal notes about the client.
"Preferred contact: accounts payable team."
Website of the client.
"https://www.example.com"
VAT number of the client.
"BE0000000000"
National identification number of the company.
"0000000000"
IBAN account number of the client. DEPRECATED see bank_accounts
"BE00000000000000"
Bank account number of the client. DEPRECATED see bank_accounts
"0000000000"
Indicates the currency of the client (e.g., EUR).
"EUR"
Indicates if the client is active.
General ledger account assigned to the customer in the accounting system as it will appear in the official accounting export file (FEC, SIE, iXBRL, etc.). This is the account used on journal entry lines to debit/credit this partner.
"<accounting-account-number>"
Id of the client in the accounting software. This is the unique identifier used to reference the client in the system.
"<this-client-id>"
The last time the client has been updated.
"2026-01-15T10:30:00Z"
List of addresses associated with the client.
Show child attributes
Show child attributes
Third party account number/code representing the client in the accounting software.
List of bank accounts information associated with the client.
Show child attributes
Show child attributes