Customers
Customer and customer group management endpoints
List customers
Retrieves all customers for your company, sorted by customer number.
Pass ?customerNumber= for an exact-match lookup of a single customer by
its human-readable number (useful when you only know the number shown on an
invoice, not the UUID).
The unfiltered list is cached for 5 seconds; filtered lookups always read fresh data, so a just-created or just-updated customer is immediately visible via its customer number.
Required Scope
customers-read
query Parameters
customerNumberOptional exact-match filter on customerNumber. Tenant scoping is enforced regardless of the filter.
externalSystemIdOptional exact-match filter on externalSystemId. The value is unique per company, so at most one customer can match.
Exact-match metadata filters in the form metadata[key]=value. Multiple pairs combine with AND semantics — a record matches only if it carries every given key with exactly the given value. At most 10 pairs per request.
List customers › Responses
List of customers for the company matching the given filters
idThe unique identifier of the customer
customerNumberCustomer number
customerTypeCustomer type
nameName of the customer
vatZoneVAT zone classification
customerGroupIdCustomer group ID
isActiveWhether the customer is active
billingRelationshipBilling relationship. self = this customer is billed directly. parent_pays = the parent customer (set via parentCustomerId) is billed instead.
includeChildDetailsPdfWhether to attach a zip of per-child detail PDFs when sending consolidated invoices. Only relevant for parent customers in single_invoice mode.
customerGroupNumberCustomer group number
customerGroupNameCustomer group name
emailEmail address
phonePhone number
addressStreet address
cityCity
postalCodePostal code
countryCodeTwo-letter country code (ISO 3166-1 alpha-2)
vatNumberVAT registration number
websiteWebsite URL
externalSystemIdExternal system identifier for tracking the customer across other systems
creditLimitCredit limit
openingBalanceOpening balance in the company base currency (signed: positive = the customer owes us)
paymentTermsPayment terms in days
paymentTermTypePayment term type
defaultCurrencyDefault currency code
parentCustomerIdParent customer ID. When set, this customer is a child in a parent-child billing relationship. Set together with billingRelationship to change how this customer is billed.
consolidationModeConsolidation mode for a parent customer. single_invoice = all child subscriptions are consolidated onto one parent invoice on billingDay. per_child_invoice = each child receives its own invoice. Only meaningful on parent customers.
billingDayDay of month (1-28) when the parent consolidated invoice is generated. Required for single_invoice consolidation mode.
parentInvoiceTemplateIdParent single invoice PDF template override
Key-value metadata attached to the customer
Create a customer
Creates a customer in your company. The response contains the new id and
the auto-assigned customerNumber — fetch the full record via
GET /v1/customers/{customerId} if you need it.
customerTypedefaults toBUSINESSwhen omitted.externalSystemIdlets you store your own system's identifier for deduplication. It must be unique within your company — reusing one returns409 EXTERNAL_SYSTEM_ID_ALREADY_EXISTS. Empty or whitespace-only values are treated as unset.
Required Scope
customers-write
Create a customer › Request Body
customerTypeSpecifies whether the customer is a business or a private person
customerNumberUnique customer number
nameCustomer name
vatZoneVAT zone classification
customerGroupIdCustomer group ID
countryCodeTwo-letter country code
defaultCurrencyDefault currency code
emailEmail address
phonePhone number
addressStreet address
cityCity
postalCodePostal code
vatNumberVAT registration number
websiteWebsite URL
externalSystemIdExternal system identifier for tracking the customer across other systems
notesAdditional notes
creditLimitCredit limit
openingBalanceOpening balance in the company base currency, seeding receivables that predate LedgerBee. Signed: positive = the customer owes us, negative = a credit position.
paymentTermsPayment terms in days
paymentTermTypePayment term type
isActiveWhether the customer is active
parentCustomerIdParent customer ID. Set when creating this customer as a child in a parent-child billing relationship. Must be combined with billingRelationship = parent_pays to route billing to the parent. Send null to create a standalone customer.
billingRelationshipBilling relationship. self (default) = this customer is billed directly. parent_pays = the parent customer (set via parentCustomerId) is billed instead.
consolidationModeConsolidation mode (parent customers only). single_invoice = all child subscriptions consolidated onto one invoice on billingDay. per_child_invoice = each child receives its own invoice.
billingDayDay of month (1-28) for the parent consolidated invoice. Required for single_invoice consolidation.
includeChildDetailsPdfWhether to attach a zip of per-child detail PDFs when sending consolidated invoices
parentInvoiceTemplateIdParent single invoice PDF template override. Send null to clear.
Key-value metadata to attach to the customer. At most 50 entries; keys up to 128 characters, string values up to 500 characters.
Create a customer › Responses
Customer created successfully
idThe unique identifier of the created customer
customerNumberCustomer number
Get a single customer
Retrieves a customer by its unique identifier. Returns 404 when the
customer does not exist (or belongs to another company).
Required Scope
customers-read
path Parameters
customerIdCustomer ID
Get a single customer › Responses
Customer details
idThe unique identifier of the customer
customerNumberCustomer number
customerTypeCustomer type
nameName of the customer
vatZoneVAT zone classification
customerGroupIdCustomer group ID
isActiveWhether the customer is active
billingRelationshipBilling relationship. self = this customer is billed directly. parent_pays = the parent customer (set via parentCustomerId) is billed instead.
includeChildDetailsPdfWhether to attach a zip of per-child detail PDFs when sending consolidated invoices. Only relevant for parent customers in single_invoice mode.
customerGroupNumberCustomer group number
customerGroupNameCustomer group name
emailEmail address
phonePhone number
addressStreet address
cityCity
postalCodePostal code
countryCodeTwo-letter country code (ISO 3166-1 alpha-2)
vatNumberVAT registration number
websiteWebsite URL
externalSystemIdExternal system identifier for tracking the customer across other systems
creditLimitCredit limit
openingBalanceOpening balance in the company base currency (signed: positive = the customer owes us)
paymentTermsPayment terms in days
paymentTermTypePayment term type
defaultCurrencyDefault currency code
parentCustomerIdParent customer ID. When set, this customer is a child in a parent-child billing relationship. Set together with billingRelationship to change how this customer is billed.
consolidationModeConsolidation mode for a parent customer. single_invoice = all child subscriptions are consolidated onto one parent invoice on billingDay. per_child_invoice = each child receives its own invoice. Only meaningful on parent customers.
billingDayDay of month (1-28) when the parent consolidated invoice is generated. Required for single_invoice consolidation mode.
parentInvoiceTemplateIdParent single invoice PDF template override
Key-value metadata attached to the customer
Update a customer
Partially updates a customer — only the fields you send are changed; send
null to clear a clearable field. Returns the full updated customer.
externalSystemId follows the same rules as on create: unique within your
company (409 EXTERNAL_SYSTEM_ID_ALREADY_EXISTS on conflict), empty values
treated as unset.
Required Scope
customers-write
path Parameters
customerIdCustomer ID
Update a customer › Request Body
customerTypeCustomer type
customerNumberUnique customer number
nameCustomer name
vatZoneVAT zone classification
customerGroupIdCustomer group ID
emailEmail address. Send null or empty string to clear.
phonePhone number
addressStreet address
cityCity
postalCodePostal code
countryCodeTwo-letter country code
vatNumberVAT registration number
websiteWebsite URL
externalSystemIdExternal system identifier for tracking the customer across other systems
notesAdditional notes
creditLimitCredit limit
openingBalanceOpening balance in the company base currency, seeding receivables that predate LedgerBee. Signed: positive = the customer owes us, negative = a credit position.
paymentTermsPayment terms in days
paymentTermTypePayment term type
defaultCurrencyDefault currency code
isActiveWhether the customer is active
parentCustomerIdParent customer ID. Send null to detach from parent. Changing this field on a customer with active subscriptions will transition those subscriptions to the parent's billing day with a clean cut at today's date: advance-billed subscriptions receive a credit note for the remaining days of the current period, and arrears-billed subscriptions are invoiced up to the transition date. When transitioning, subscriptionTransitions must list every active subscription on this customer as explicit acknowledgement that they will be migrated.
billingRelationshipBilling relationship. Change to parent_pays together with parentCustomerId to route billing to the parent.
consolidationModeConsolidation mode (parent customers only). Send null to clear.
billingDayDay of month (1-28) for the parent consolidated invoice. Send null to clear.
includeChildDetailsPdfWhether to attach a zip of per-child detail PDFs when sending consolidated invoices
parentInvoiceTemplateIdParent single invoice PDF template override. Send null to clear.
Subscription transitions — required when changing parentCustomerId, billingRelationship, or consolidationMode on a customer with active subscriptions. Must list every active subscription on this customer as explicit acknowledgement that each one will be migrated to the new billing arrangement with a clean cut at today's date.
Key-value metadata. When provided, REPLACES the customer metadata wholesale — send the complete desired map; an empty object clears all entries. Omit the field to leave metadata unchanged. At most 50 entries; keys up to 128 characters, string values up to 500 characters.
Update a customer › Responses
Customer updated successfully
idThe unique identifier of the customer
customerNumberCustomer number
customerTypeCustomer type
nameName of the customer
vatZoneVAT zone classification
customerGroupIdCustomer group ID
isActiveWhether the customer is active
billingRelationshipBilling relationship. self = this customer is billed directly. parent_pays = the parent customer (set via parentCustomerId) is billed instead.
includeChildDetailsPdfWhether to attach a zip of per-child detail PDFs when sending consolidated invoices. Only relevant for parent customers in single_invoice mode.
customerGroupNumberCustomer group number
customerGroupNameCustomer group name
emailEmail address
phonePhone number
addressStreet address
cityCity
postalCodePostal code
countryCodeTwo-letter country code (ISO 3166-1 alpha-2)
vatNumberVAT registration number
websiteWebsite URL
externalSystemIdExternal system identifier for tracking the customer across other systems
creditLimitCredit limit
openingBalanceOpening balance in the company base currency (signed: positive = the customer owes us)
paymentTermsPayment terms in days
paymentTermTypePayment term type
defaultCurrencyDefault currency code
parentCustomerIdParent customer ID. When set, this customer is a child in a parent-child billing relationship. Set together with billingRelationship to change how this customer is billed.
consolidationModeConsolidation mode for a parent customer. single_invoice = all child subscriptions are consolidated onto one parent invoice on billingDay. per_child_invoice = each child receives its own invoice. Only meaningful on parent customers.
billingDayDay of month (1-28) when the parent consolidated invoice is generated. Required for single_invoice consolidation mode.
parentInvoiceTemplateIdParent single invoice PDF template override
Key-value metadata attached to the customer
List a customer's contacts
Retrieves the contact persons registered on a customer. The customer's default contact is returned first, then the rest alphabetically.
Required Scope
customers-read
path Parameters
customerIdCustomer ID
List a customer's contacts › Responses
List of contacts for a customer
idThe unique identifier of the contact
nameName of the contact
isDefaultForCustomerWhether this is the default contact for the customer
emailEmail address
phonePhone number
List a customer's departments
Retrieves the departments of a customer — sub-units with their own address, EAN number (for e-invoicing), and purchase-order number, typically used to route invoices within larger organizations.
The default department is returned first, then the rest alphabetically.
Required Scope
customers-read
path Parameters
customerIdCustomer ID
List a customer's departments › Responses
List of departments for a customer
idThe unique identifier of the department
nameName of the department
isDefaultWhether this is the default department for the customer
isActiveWhether the department is active
poNumberPurchase order number
eanNumberEAN number for e-invoicing
addressStreet address
cityCity
postalCodePostal code
countryCodeTwo-letter country code (ISO 3166-1 alpha-2)
List customer groups
Retrieves all customer groups for your company, sorted by group number.
Groups carry a discount percentage and the ledger account customers in the
group post to — assign a customer to a group via the customerGroupId field
when creating or updating the customer.
Results are cached for 5 seconds.
Required Scope
customers-read
query Parameters
Exact-match metadata filters in the form metadata[key]=value. Multiple pairs combine with AND semantics — a record matches only if it carries every given key with exactly the given value. At most 10 pairs per request.
List customer groups › Responses
List of customer groups for the company matching the given filters
idThe unique identifier of the customer group
numberCustomer group number
nameName of the customer group
discountDiscount percentage for this customer group
accountIdThe ledger account ID associated with this customer group
accountNumberThe ledger account number associated with this customer group
accountNameThe ledger account name associated with this customer group
Key-value metadata attached to the customer group