-
-
Notifications
You must be signed in to change notification settings - Fork 0
Business Types
Read legal structure definitions for companies in Teamleader Focus.
The Business Types resource provides read-only access to the legal structures (business types) available for companies in each country β NV, BV, Ltd, SARL, and so on. Every call requires a country code. Business types are defined by Teamleader per country and cannot be created, updated, or deleted.
info() throws an InvalidArgumentException. list() throws an InvalidArgumentException if no country is provided. Use forCountry() as the primary entry point.
businessTypes
| Capability | Supported |
|---|---|
| Pagination | β Not supported β all results returned |
| Filtering | β Country required |
| Sorting | β Not supported |
| Sideloading | β Not supported |
| Creation | β Not supported |
| Update | β Not supported |
| Deletion | β Not supported |
Primary method. Country code is uppercased automatically.
use McoreServices\TeamleaderSDK\Facades\Teamleader;
$types = Teamleader::businessTypes()->forCountry('BE');
$types = Teamleader::businessTypes()->forCountry('NL');
$types = Teamleader::businessTypes()->forCountry('DE');Requires country in the filters array. Throws InvalidArgumentException if absent. Country code is uppercased automatically.
$types = Teamleader::businessTypes()->list(['country' => 'BE']);| Method | Country |
|---|---|
belgium() |
BE |
netherlands() |
NL |
france() |
FR |
germany() |
DE |
unitedKingdom() |
GB |
$types = Teamleader::businessTypes()->belgium();
$types = Teamleader::businessTypes()->germany();Fetches business types for multiple countries. Makes one API call per country. Returns an array keyed by uppercased country code.
$all = Teamleader::businessTypes()->forCountries(['BE', 'NL', 'FR']);
// ['BE' => ['data' => [...]], 'NL' => ['data' => [...]], 'FR' => ['data' => [...]]]Returns a local map of commonly supported country codes to names β no API call.
$countries = Teamleader::businessTypes()->getSupportedCountries();
// ['BE' => 'Belgium', 'NL' => 'Netherlands', 'FR' => 'France', ...]Validates that the code is two uppercase letters β no API call.
$valid = Teamleader::businessTypes()->isValidCountryCode('BE'); // true
$valid = Teamleader::businessTypes()->isValidCountryCode('belgium'); // false[
'data' => [
['id' => 'type-uuid', 'name' => 'BV/SRL', 'country' => 'BE'],
['id' => 'type-uuid', 'name' => 'NV/SA', 'country' => 'BE'],
['id' => 'type-uuid', 'name' => 'VZW/ASBL', 'country' => 'BE'],
// ...
],
]$types = Teamleader::businessTypes()->forCountry('BE');
$options = array_column($types['data'], 'name', 'id');
// ['uuid-1' => 'BV/SRL', 'uuid-2' => 'NV/SA', ...]$types = Teamleader::businessTypes()->forCountry('BE');
$target = null;
foreach ($types['data'] as $type) {
if (strcasecmp($type['name'], 'BV/SRL') === 0) {
$target = $type;
break;
}
}Business types change very rarely. Cache them long-term:
$types = Cache::remember('tl_business_types_BE', 86400 * 7, function () {
return Teamleader::businessTypes()->forCountry('BE');
});use InvalidArgumentException;
use McoreServices\TeamleaderSDK\Exceptions\TeamleaderException;
// Missing country β thrown before the request
try {
Teamleader::businessTypes()->list(); // no country
} catch (InvalidArgumentException $e) {
// 'Business types require a country parameter. Use forCountry() ...'
}
// info() not supported
try {
Teamleader::businessTypes()->info('type-uuid');
} catch (InvalidArgumentException $e) {
// 'Business types do not support individual info requests.'
}
// API-level errors
try {
$types = Teamleader::businessTypes()->forCountry('XX');
} catch (TeamleaderException $e) {
Log::error('Teamleader error', ['message' => $e->getMessage()]);
}Last Updated: August 2026 β’ SDK Version: 2.2.2 β’ Made with β€οΈ by MCore Services
- Departments
- Users
- Teams
- Custom Fields
- Work Types
- Document Templates
- Currencies
- Notes
- Email Tracking
- Closing Days
- Day Off Types
- Days Off
- User Schedules
- Invoices
- Credit Notes
- Subscriptions
- Payment Methods
- Payment Terms
- Tax Rates
- Withholding Tax Rates
- Commercial Discounts
Next Gen Projects
Legacy Projects