API bexio : Le Guide Complet 2026 pour Indépendants Suisses
Connectez le logiciel de gestion le plus populaire de Suisse à pratiquement tous vos outils. Configuration OAuth 2.0, exemples de code et migration critique de l'authentification 2025.

Stop à la Saisie Manuelle.
Automatisez Tout.
Vous passez des heures à saisir manuellement des données entre vos outils. Votre logiciel de facturation ne communique pas avec votre CRM. Votre boutique en ligne nécessite de copier-coller les commandes dans la comptabilité. L'API bexio résout ce problème — connectant 40 000+ entreprises suisses à pratiquement n'importe quel autre outil.
5+ Heures par Semaine
Perdues en saisie manuelleOutils Déconnectés
Des apps qui ne communiquent pasCopier-Coller Chaotique
Commandes saisies manuellementQu'est-ce que l'API bexio ?
Une API (Application Programming Interface) permet à différents logiciels d'échanger des données automatiquement. L'API bexio est une interface RESTful qui expose les fonctionnalités principales de bexio — contacts, factures, comptabilité, inventaire — aux applications externes.
Concrètement : Au lieu de créer manuellement une facture dans bexio après avoir terminé un projet, votre outil de gestion de projet peut déclencher la création automatique de factures. Au lieu de copier les coordonnées clients depuis votre boutique en ligne, les commandes arrivent directement dans bexio.
L'API utilise HTTPS et le format JSON, ce qui la rend compatible avec tout langage de programmation. bexio propose actuellement la version 3.0.0 de l'API.
Ce que vous pouvez automatiser
| Fonction | Capacité API |
|---|---|
| Contacts | Créer, modifier, lister clients et fournisseurs |
| Factures | Générer, envoyer, suivre les paiements |
| Commandes | Créer depuis des systèmes externes, mettre à jour |
| Produits | Synchroniser l'inventaire, mettre à jour les stocks |
| Comptabilité | Récupérer les comptes, enregistrer les transactions |
| Projets | Créer, assigner, suivre le temps |
Migration Authentification 2025
Si vous avez des intégrations API bexio existantes, lisez ceci d'abord.
bexio désactive idp.bexio.com le 31 mars 2025. Toutes les applications doivent migrer vers le nouveau fournisseur d'identité :
Ancien : https://idp.bexio.com
Nouveau : https://auth.bexio.com/realms/bexio
Pour la plupart des applications, la migration nécessite uniquement la mise à jour des URLs d'autorisation et de token. Cependant, si vous n'avez pas migré avant la date limite, votre intégration cessera de fonctionner.
Checklist de migration :
- Mettre à jour l'URL d'autorisation dans votre configuration
- Mettre à jour l'URL du endpoint token
- Tester le flux OAuth complet avant mars 2025
- Surveiller la page de statut bexio sur bexio-status.com
Intégration No-Code
Pour Non-Développeurs
Vous ne voulez pas coder ? Vous avez des options. bexio se connecte à 8 000+ apps via Zapier seul.
Intégration Zapier
Le chemin le plus rapide vers l'automatisation sans programmation. Connectez-vous à 8 000+ apps instantanément.
- Déclencheurs Nouvelle/Mise à jour Entreprise
- Déclencheurs Nouvelle/Mise à jour Commande
- Déclencheurs Nouveau Produit
- Déclencheurs Nouveau/Mise à jour Devis
Make.com (Integromat)
Workflows multi-étapes plus complexes que Zapier avec logique conditionnelle.
- Modèles de facture différents par type de client
- Routage conditionnel selon le montant
- Éditeur visuel de workflows
- Transformations de données avancées
Pipedream
Construction visuelle avec flexibilité code pour développeurs qui veulent les deux.
- Connecteurs bexio pré-construits
- Étapes JavaScript/Python personnalisées
- Pont entre no-code et développement
- Traitement d'événements en temps réel
Automatisations Zapier populaires pour indépendants
- Shopify → bexio : Nouvelle commande crée une facture automatiquement
- Toggl → bexio : Entrées de temps synchronisées au projet
- HubSpot → bexio : Nouveau contact CRM crée un contact bexio
- Gmail → bexio : Pièce jointe email crée une entrée de dépense
Démarrer avec l'API bexio
Tout ce qu'il faut savoir pour votre première intégration
Prérequis
- Compte bexio : Tout abonnement payant (Starter CHF 45/mois, Pro CHF 75/mois, Pro+ CHF 125/mois). L'accès API est inclus.
- Accès au Portail Développeur : Visitez le Portail Développeur bexio et connectez-vous avec vos identifiants bexio.
Créer vos identifiants API
- Naviguez vers "My Apps" dans le portail développeur
- Cliquez sur "Create New App"
- Définissez une URL de redirection (requise pour le flux OAuth)
- Sauvegardez votre Client ID et Client Secret immédiatement — vous ne reverrez plus le secret
🔒 Note sécurité : Ne commitez jamais vos identifiants dans le contrôle de version. Utilisez des variables d'environnement ou un gestionnaire de secrets.
Authentification en détail
bexio utilise OAuth 2.0, le standard de l'industrie pour l'autorisation API. Comprendre le système de double autorisation est crucial.
Deux niveaux d'autorisation
Niveau 1 : Scopes de l'application Quand les utilisateurs connectent votre app, ils accordent des permissions spécifiques (scopes). Ne demandez que ce dont vous avez besoin — les utilisateurs voient ces permissions sur l'écran de consentement.
Catégories de scopes disponibles :
contact_show,contact_edit— Gestion des contactskb_invoice_show,kb_invoice_edit— Accès aux facturesaccounting_show— Lecture des données comptablesarticle_show,article_edit— Gestion des produits
Niveau 2 : Droits utilisateur Les requêtes API s'exécutent avec les permissions de l'utilisateur qui a autorisé la connexion. Si cet utilisateur n'a pas le droit de supprimer des factures dans bexio, votre API ne peut pas supprimer de factures non plus.
Flux OAuth 2.0
1. Votre app redirige l'utilisateur vers :
https://auth.bexio.com/realms/bexio/protocol/openid-connect/auth
?client_id=YOUR_CLIENT_ID
&redirect_uri=YOUR_REDIRECT_URL
&response_type=code
&scope=contact_show kb_invoice_edit
2. L'utilisateur se connecte et approuve les permissions
3. bexio redirige vers votre URL avec le code d'autorisation
4. Échangez le code contre des tokens à :
https://auth.bexio.com/realms/bexio/protocol/openid-connect/token
5. Utilisez l'access token pour les requêtes API
Gestion des tokens :
- Les access tokens ont une durée de vie courte (généralement 1 heure)
- Les refresh tokens obtiennent de nouveaux access tokens sans interaction utilisateur
- Stockez les refresh tokens de manière sécurisée et implémentez le rafraîchissement automatique
Implémentation en Plusieurs Langages
Extraits de code prêts à l'emploi pour Python, JavaScript et PHP
Python
Python est populaire parmi les indépendants suisses pour les scripts d'automatisation. Bien qu'il n'existe pas de bibliothèque officielle, le bexio-api-python-client maintenu par la communauté offre un point de départ.
import requests
BASE_URL = "https://api.bexio.com/2.0"
ACCESS_TOKEN = "your_access_token"
headers = {
"Authorization": f"Bearer {ACCESS_TOKEN}",
"Accept": "application/json"
}
# Récupérer tous les contacts
response = requests.get(f"{BASE_URL}/contact", headers=headers)
contacts = response.json()
for contact in contacts:
print(f"{contact['id']}: {contact['name_1']}")
# Créer une nouvelle facture
invoice_data = {
"contact_id": 1,
"title": "Travail Projet - Janvier 2025",
"positions": [
{
"type": "KbPositionCustom",
"text": "Services de Conseil",
"unit_price": "150.00",
"amount": "10"
}
]
}
response = requests.post(
f"{BASE_URL}/kb_invoice",
headers=headers,
json=invoice_data
)
print(response.json())
JavaScript (Node.js)
const axios = require('axios');
const BASE_URL = 'https://api.bexio.com/2.0';
const ACCESS_TOKEN = process.env.BEXIO_TOKEN;
const api = axios.create({
baseURL: BASE_URL,
headers: {
'Authorization': `Bearer ${ACCESS_TOKEN}`,
'Accept': 'application/json'
}
});
// Récupérer les contacts
async function getContacts() {
const response = await api.get('/contact');
return response.data;
}
// Créer un contact
async function createContact(contactData) {
const response = await api.post('/contact', {
contact_type_id: 1, // 1 = Entreprise, 2 = Personne
name_1: contactData.company,
name_2: contactData.name,
mail: contactData.email,
country_id: 1 // Suisse
});
return response.data;
}
getContacts().then(contacts => console.log(contacts));
PHP
La bibliothèque onlime/bexio-api-client sur GitHub fournit l'intégration PHP :
<?php
require 'vendor/autoload.php';
use bexio\Client;
$client = new Client([
'clientId' => 'your_client_id',
'clientSecret' => 'your_client_secret',
]);
$client->setAccessToken('your_access_token');
// Récupérer tous les contacts
$contacts = $client->getContacts();
// Créer une facture
$invoice = $client->createInvoice([
'contact_id' => 1,
'title' => 'Services de Développement Web',
'positions' => [
[
'type' => 'KbPositionCustom',
'text' => 'Développement Frontend',
'unit_price' => '120.00',
'amount' => '20'
]
]
]);
Note : Les bibliothèques communautaires Python et PHP ne couvrent qu'une partie des méthodes API. Pour une fonctionnalité complète, vous devrez peut-être faire des appels HTTP directs.
E-Commerce
Shopify/Shopware → bexio : Génération auto de factures, sync contacts, mise à jour inventaire
Suivi du Temps
Toggl → bexio : Sync temps enregistré aux projets, générer factures depuis les entrées
CRM
HubSpot → bexio : Sync deals et contacts, facturation auto à la clôture
Comptabilité
Flux bancaires → bexio : Rapprochement paiements, suivi dépenses automatique
Exemples d'intégration concrets
E-Commerce : Shopify + bexio
L'intégration Shopware-bexio démontre ce qui est possible :
- Génération automatique de factures selon le mode de paiement
- Création de contacts depuis les comptes clients
- Synchronisation du statut des commandes
- Mises à jour d'inventaire entre plateformes
Pour Shopify, utilisez Zapier ou créez une intégration personnalisée qui :
- Écoute les nouvelles commandes Shopify (webhook ou polling)
- Crée/met à jour le contact bexio depuis les données client
- Génère la facture avec les lignes d'articles
- Envoie optionnellement la facture automatiquement
Suivi du Temps : Toggl + bexio
Liez votre suivi du temps à la facturation :
- Créez des projets correspondants dans les deux systèmes
- Quand du temps est enregistré dans Toggl, sync vers le projet bexio
- Générez la facture depuis les entrées de temps accumulées
- Incluez le détail des heures sur la facture
CRM : HubSpot + bexio
Gardez ventes et comptabilité alignées :
- Nouveau deal HubSpot conclu → Créer facture bexio
- Contact HubSpot mis à jour → Sync vers contact bexio
- Facture bexio payée → Mettre à jour le statut du deal HubSpot
Limitations de l'API
& Solutions
Être transparent sur ce que l'API ne peut pas faire vous économise des heures de frustration. L'API bexio a des limitations — mais les connaître à l'avance vous aide à mieux planifier.
Pas de Webhooks Natifs
Utilisez le polling ou Zapier comme alternativeLimites de Débit Non Documentées
Implémentez backoff et cachePas d'Environnement Sandbox
Testez avec des données réelles prudemmentSolutions pour l'absence de Webhooks
- Polling : Vérifiez les changements périodiquement (toutes les 5-15 minutes)
- Zapier : Utilise le polling mais gère l'infrastructure
- Services webhook tiers : Certaines plateformes d'intégration offrent une fonctionnalité pseudo-webhook
Gérer les limites de débit
Basé sur l'expérience de la communauté :
- Implémentez un backoff exponentiel sur les erreurs 429
- Mettez en cache les réponses quand c'est possible
- Groupez les requêtes quand l'API le supporte
- Évitez une fréquence de polling excessive
Bibliothèques clientes limitées
Les SDK officiels n'existent pas. Les bibliothèques communautaires sont incomplètes. Pour les applications en production, attendez-vous à écrire du code personnalisé.
Bonnes Pratiques de Sécurité
Protégez votre intégration et les données de vos clients
Côté Serveur Uniquement
N'exposez jamais les identifiants côté client. Gardez Client Secret et tokens côté serveur.
Variables d'Environnement
Utilisez BEXIOCLIENTID, BEXIOCLIENTSECRET, BEXIOACCESSTOKEN
Rotation des Tokens
Rafraîchissez les tokens avant expiration, gérez les échecs gracieusement
Scopes Minimaux
Ne demandez que les permissions dont votre intégration a réellement besoin
Plans bexio & Accès API
Plans actuels en 2025 — tous incluent l'accès API
| Fonctionnalité | Starter | Pro | Pro+ |
|---|---|---|---|
| Prix | CHF 45/mois | CHF 75/mois | CHF 125/mois |
| Utilisateurs | 1 utilisateur | Jusqu'à 3 | Jusqu'à 25 |
| Accès API | ✓ Inclus | ✓ Inclus | ✓ Inclus |
| App bexio Go | ✗ Non | ✓ Incluse | ✓ Incluse |
| Essai Gratuit | 30 jours | 30 jours | 30 jours (fonctions Pro+) |
Quand l'API bexio Est Trop Complexe
Tous les indépendants suisses n'ont pas besoin d'intégration API. Si vous envoyez moins de 10 factures par mois, n'utilisez pas plusieurs outils métier, ou trouvez OAuth 2.0 intimidant — considérez des alternatives plus simples. Magic Heidi offre une facturation simplifiée pour les indépendants suisses à CHF 30/mois. Sans complexité API.

Questions Fréquentes
L'API bexio est-elle gratuite ?
Oui, l'accès API est inclus avec tous les plans bexio payants (à partir de CHF 45/mois).
Quels langages de programmation fonctionnent avec l'API ?
Tout langage capable de faire des requêtes HTTP — Python, JavaScript, PHP, C#, Ruby, Go, etc.
Puis-je utiliser l'API sans coder ?
Oui. Zapier et Make.com offrent une automatisation no-code avec bexio.
bexio supporte-t-il les webhooks ?
Pas nativement. Utilisez le polling ou Zapier comme alternatives.
Quelles sont les limites de débit de l'API ?
Non documentées publiquement. Implémentez backoff et cache par précaution.
Y a-t-il un environnement de test/sandbox ?
Non. Testez avec des données réelles prudemment.
Quand dois-je migrer l'authentification ?
Avant le 31 mars 2025. L'ancien endpoint idp.bexio.com cessera de fonctionner.
Ressources
- Portail Développeur bexio
- Documentation API
- Page de Statut bexio
- Marketplace bexio — 120+ intégrations pré-construites
- Bibliothèque Client PHP (GitHub)
- Client Python (GitHub)
Besoin d'une Facturation Suisse Plus Simple ?
Magic Heidi gère les factures QR, les dépenses et la TVA — disponible sur toutes les plateformes. Sans complexité API.