2. Créer une organisation (Business Unit)
Observé — createBusinessUnit depuis /admin/company/business-units/create.
Pourquoi
Dans Ublo, la Business Unit porte le périmètre patrimonial / comptable (filiale, agence, entité de gestion). La doc utilisateur (paramétrages) insiste sur le multi-organisations pour filtrer les accès collaborateurs.
Prérequis
financialAccountId(workflow 1)- Optionnel :
getNextBuCustomReferencepour récupérer la prochaine référence (O00000x)
Étape A — Prochaine référence (optionnel)
query {
nextBuCustomReference
}
Étape B — Créer la BU et lier le compte
- GraphQL
- Node.js
- curl
mutation createBusinessUnit($businessUnitInput: BusinessUnitInput!) {
createBusinessUnit(businessUnitInput: $businessUnitInput) {
id
name
customReference
type
businessUnitFinancialAccounts {
financialAccountId
isPrimaryAccount
}
}
}
{
"businessUnitInput": {
"name": "Agence Exemple",
"type": "agency",
"externalId": "BU-EXT-001",
"description": "Organisation de démonstration",
"customReference": "O000002",
"housingAddress": {
"number": "16",
"street": "Quai Henri IV",
"city": "Paris",
"zip": "75004",
"country": "FR",
"coordinates": { "latitude": 48.848251, "longitude": 2.363691 }
},
"businessUnitFinancialAccounts": [
{
"financialAccountId": "00000000-0000-4000-8000-000000000001",
"isPrimaryAccount": true
}
]
}
}
import { ublo } from '../ubloClient.mjs';
const data = await ublo(
`mutation createBusinessUnit($businessUnitInput: BusinessUnitInput!) {
createBusinessUnit(businessUnitInput: $businessUnitInput) {
id
name
customReference
}
}`,
{
businessUnitInput: {
name: 'Agence Exemple',
type: 'agency',
externalId: 'BU-EXT-001',
description: 'Organisation de démonstration',
customReference: 'O000002',
housingAddress: {
number: '16',
street: 'Quai Henri IV',
city: 'Paris',
zip: '75004',
country: 'FR',
coordinates: { latitude: 48.848251, longitude: 2.363691 },
},
businessUnitFinancialAccounts: [
{
financialAccountId: process.env.FINANCIAL_ACCOUNT_ID,
isPrimaryAccount: true,
},
],
},
},
);
console.log(data.createBusinessUnit.id);
- Bearer
- Cookie session
# Remplacez FINANCIAL_ACCOUNT_ID dans le JSON
curl -sS -X POST "$UBLO_GRAPHQL_URL" \
-H "Authorization: Bearer $UBLO_API_TOKEN" \
-H 'Content-Type: application/json' \
-d @payload-create-bu.json
# Remplacez FINANCIAL_ACCOUNT_ID dans le JSON
curl -sS -X POST "$UBLO_GRAPHQL_URL" \
-H 'Content-Type: application/json' \
-b cookies.txt \
-d @payload-create-bu.json
Points d’attention
type: "agency"a été observé ; d’autres valeurs existent dans le schéma selon votre setup.- Liez au moins un compte financier primaire pour les parcours bancaires / factures.
- Les droits API suivent le rattachement du collaborateur aux BUs (voir doc auth).
Suite
- Créer un lot
- Puis configurer la comptabilité avant de compléter le lot (loyers)