API Bexio: La Guida 2025 per Freelancer Svizzeri
Collega il software gestionale più usato in Svizzera con qualsiasi strumento. Configurazione OAuth 2.0, esempi di codice e la cruciale migrazione autenticazione 2025.

Basta con l'Inserimento Manuale.
Automatizza Tutto.
Passi ore a inserire dati manualmente tra i tuoi strumenti. Il software di fatturazione non comunica con il CRM. L'e-commerce richiede di copiare ordini nella contabilità. Le API Bexio risolvono questo problema—collegando oltre 40'000 aziende svizzere con praticamente qualsiasi altro strumento.
Cosa Sono le API Bexio?
Un'API (Application Programming Interface) permette a diversi sistemi software di scambiarsi dati automaticamente. Le API Bexio sono un'interfaccia RESTful che espone le funzionalità principali di Bexio—contatti, fatture, contabilità, inventario—ad applicazioni esterne.
In pratica: invece di creare manualmente una fattura in Bexio dopo aver completato un progetto, il tuo strumento di gestione progetti può generarla automaticamente. Invece di copiare i dati dei clienti dal webshop, gli ordini confluiscono direttamente in Bexio.
Le API usano HTTPS e formato JSON, rendendole compatibili con qualsiasi linguaggio di programmazione. Bexio offre attualmente la versione API 3.0.0.
Cosa Puoi Automatizzare
| Funzione | Capacità API |
|---|---|
| Contatti | Creare, aggiornare, elencare clienti e fornitori |
| Fatture | Generare, inviare, monitorare stato pagamenti |
| Ordini | Creare da sistemi esterni, aggiornare stato |
| Prodotti | Sincronizzare inventario, aggiornare giacenze |
| Contabilità | Recuperare conti, registrare transazioni |
| Progetti | Creare, assegnare, tracciare tempo |
Migrazione Autenticazione 2025
Se hai integrazioni API Bexio esistenti, leggi prima questo.
Bexio disattiverà idp.bexio.com il 31 marzo 2025. Tutte le applicazioni devono migrare al nuovo identity provider:
Vecchio: https://idp.bexio.com
Nuovo: https://auth.bexio.com/realms/bexio
Per la maggior parte delle applicazioni, la migrazione richiede solo l'aggiornamento degli URL di autorizzazione e token. Tuttavia, se non migri entro la scadenza, la tua integrazione smetterà di funzionare.
Checklist migrazione:
- Aggiorna l'URL di autorizzazione nella configurazione dell'app
- Aggiorna l'URL del token endpoint
- Testa il flusso OAuth completo prima di marzo 2025
- Monitora la pagina di stato Bexio su bexio-status.com per annunci
Integrazione No-Code
Per Non Sviluppatori
Non vuoi scrivere codice? Hai delle opzioni. Bexio si collega con oltre 8'000 app solo tramite Zapier.
Integrazione Zapier
Il percorso più veloce per automatizzare senza programmare. Collegati a oltre 8'000 app istantaneamente.
- Trigger Nuova/Aggiornata Azienda
- Trigger Nuovo/Aggiornato Ordine
- Trigger Nuovo Prodotto
- Trigger Nuovo/Aggiornato Preventivo
Make.com (Integromat)
Workflow multi-step più complessi di Zapier con logica condizionale.
- Template fattura diversi per tipo cliente
- Routing condizionale basato su valore ordine
- Builder workflow visuale
- Trasformazioni dati avanzate
Pipedream
Costruzione workflow visuale con flessibilità di codice per sviluppatori che vogliono entrambi.
- Connettori Bexio pre-costruiti
- Step personalizzati JavaScript/Python
- Ponte tra no-code e sviluppo completo
- Elaborazione eventi in tempo reale
Automazioni Zapier Popolari per Freelancer
- Shopify → Bexio: Nuovo ordine crea fattura automaticamente
- Toggl → Bexio: Ore registrate sincronizzate al progetto
- HubSpot → Bexio: Nuovo contatto CRM crea contatto Bexio
- Gmail → Bexio: Allegato email crea voce di spesa
Iniziare con le API Bexio
Tutto ciò che devi sapere per la tua prima integrazione
Prerequisiti
- Account Bexio: Qualsiasi piano a pagamento (Starter CHF 45/mese, Pro CHF 75/mese, Pro+ CHF 125/mese). L'accesso API è incluso.
- Accesso al Portale Sviluppatori: Visita il Portale Sviluppatori Bexio e accedi con le tue credenziali Bexio.
Creare Credenziali API
- Naviga su "My Apps" nel portale sviluppatori
- Clicca "Create New App"
- Imposta un Redirect URL (richiesto per il flusso OAuth)
- Salva immediatamente Client ID e Client Secret—non vedrai più il secret
🔒 Nota sicurezza: Non salvare mai le credenziali nel version control. Usa variabili d'ambiente o un secrets manager.
Autenticazione nel Dettaglio
Bexio usa OAuth 2.0, lo standard industriale per l'autorizzazione API. Comprendere il sistema di doppia autorizzazione è cruciale.
Due Livelli di Autorizzazione
Livello 1: Scope dell'Applicazione Quando gli utenti collegano la tua app, concedono permessi specifici (scope). Richiedi solo ciò di cui hai bisogno—gli utenti vedono questi permessi nella schermata di consenso.
Categorie di scope disponibili:
contact_show,contact_edit— Gestione contattikb_invoice_show,kb_invoice_edit— Accesso fattureaccounting_show— Lettura dati contabiliarticle_show,article_edit— Gestione prodotti
Livello 2: Diritti Utente Le richieste API vengono eseguite con i permessi dell'utente che ha autorizzato la connessione. Se quell'utente non può eliminare fatture in Bexio, nemmeno la tua API potrà farlo.
Flusso OAuth 2.0
1. La tua app reindirizza l'utente a:
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'utente accede e approva i permessi
3. Bexio reindirizza al tuo URL con codice di autorizzazione
4. Scambia il codice per token su:
https://auth.bexio.com/realms/bexio/protocol/openid-connect/token
5. Usa l'access token per le richieste API
Gestione token:
- Gli access token hanno vita breve (tipicamente 1 ora)
- I refresh token ottengono nuovi access token senza interazione utente
- Conserva i refresh token in modo sicuro e implementa il refresh automatico
Implementazione in Più Linguaggi
Snippet di codice pronti all'uso per Python, JavaScript e PHP
Python
Python è popolare tra i freelancer svizzeri per script di automazione. Anche se non esiste una libreria ufficiale, la bexio-api-python-client mantenuta dalla community offre un punto di partenza.
import requests
BASE_URL = "https://api.bexio.com/2.0"
ACCESS_TOKEN = "your_access_token"
headers = {
"Authorization": f"Bearer {ACCESS_TOKEN}",
"Accept": "application/json"
}
# Recupera tutti i contatti
response = requests.get(f"{BASE_URL}/contact", headers=headers)
contacts = response.json()
for contact in contacts:
print(f"{contact['id']}: {contact['name_1']}")
# Crea nuova fattura
invoice_data = {
"contact_id": 1,
"title": "Lavoro Progetto - Gennaio 2025",
"positions": [
{
"type": "KbPositionCustom",
"text": "Servizi di Consulenza",
"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'
}
});
// Recupera contatti
async function getContacts() {
const response = await api.get('/contact');
return response.data;
}
// Crea contatto
async function createContact(contactData) {
const response = await api.post('/contact', {
contact_type_id: 1, // 1 = Azienda, 2 = Persona
name_1: contactData.company,
name_2: contactData.name,
mail: contactData.email,
country_id: 1 // Svizzera
});
return response.data;
}
getContacts().then(contacts => console.log(contacts));
PHP
La libreria onlime/bexio-api-client su GitHub fornisce integrazione 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');
// Ottieni tutti i contatti
$contacts = $client->getContacts();
// Crea fattura
$invoice = $client->createInvoice([
'contact_id' => 1,
'title' => 'Servizi Sviluppo Web',
'positions' => [
[
'type' => 'KbPositionCustom',
'text' => 'Sviluppo Frontend',
'unit_price' => '120.00',
'amount' => '20'
]
]
]);
Nota: Sia le librerie Python che PHP della community coprono solo un sottoinsieme dei metodi API. Per funzionalità complete, potresti dover fare chiamate HTTP dirette.
E-Commerce
Shopify/Shopware → Bexio: Genera fatture automatiche, sincronizza contatti, aggiorna inventario
Time Tracking
Toggl → Bexio: Sincronizza ore registrate ai progetti, genera fatture dal tempo lavorato
CRM
HubSpot → Bexio: Sincronizza deal e contatti, fattura automatica alla chiusura
Contabilità
Feed bancari → Bexio: Riconcilia pagamenti, traccia spese automaticamente
Esempi di Integrazione Reali
E-Commerce: Shopify + Bexio
L'integrazione Shopware-Bexio dimostra cosa è possibile:
- Generazione automatica fatture basata su metodo di pagamento
- Creazione contatti dagli account clienti
- Sincronizzazione stato ordini
- Aggiornamenti inventario tra piattaforme
Per Shopify, usa Zapier o costruisci un'integrazione personalizzata che:
- Ascolta nuovi ordini Shopify (webhook o polling)
- Crea/aggiorna contatto Bexio dai dati cliente
- Genera fattura con righe articoli
- Opzionalmente invia la fattura automaticamente
Time Tracking: Toggl + Bexio
Collega il tracciamento tempo alla fatturazione:
- Crea progetti corrispondenti in entrambi i sistemi
- Quando il tempo viene registrato in Toggl, sincronizza al progetto Bexio
- Genera fattura dalle ore accumulate
- Includi dettaglio ore nella fattura
CRM: HubSpot + Bexio
Mantieni vendite e contabilità allineate:
- Nuovo deal HubSpot chiuso → Crea fattura Bexio
- Contatto HubSpot aggiornato → Sincronizza a contatto Bexio
- Fattura Bexio pagata → Aggiorna stato deal HubSpot
Limitazioni API
e Soluzioni Alternative
Essere trasparenti su cosa l'API non può fare ti risparmia ore di frustrazione. Le API Bexio hanno limitazioni—ma conoscerle in anticipo ti aiuta a pianificare meglio.
Soluzioni per l'Assenza di Webhook
- Polling: Controlla le modifiche periodicamente (ogni 5-15 minuti)
- Zapier: Usa polling ma gestisce l'infrastruttura
- Servizi webhook di terze parti: Alcune piattaforme di integrazione offrono funzionalità pseudo-webhook
Gestire i Rate Limit
Basandosi sull'esperienza della community:
- Implementa exponential backoff su errori 429
- Cacha le risposte dove possibile
- Raggruppa le richieste quando l'API lo supporta
- Evita frequenze di polling non necessarie
Librerie Client Limitate
Non esistono SDK ufficiali. Le librerie della community sono incomplete. Per applicazioni in produzione, aspettati di scrivere del codice personalizzato.
Best Practice di Sicurezza
Proteggi la tua integrazione e i dati dei tuoi clienti
Solo Server-Side
Non esporre mai credenziali lato client. Mantieni Client Secret e token solo lato server.
Variabili d'Ambiente
Usa BEXIOCLIENTID, BEXIOCLIENTSECRET, BEXIOACCESSTOKEN
Rotazione Token
Rinnova i token prima della scadenza, gestisci i fallimenti con grazia
Scope Minimi
Richiedi solo i permessi di cui la tua integrazione ha effettivamente bisogno
Piani Bexio e Accesso API
Piani attuali 2025—tutti includono accesso API
| Funzionalità | Starter | Pro | Pro+ |
|---|---|---|---|
| Prezzo | CHF 45/mese | CHF 75/mese | CHF 125/mese |
| Utenti | 1 utente | Fino a 3 | Fino a 25 |
| Accesso API | ✓ Incluso | ✓ Incluso | ✓ Incluso |
| App bexio Go | ✗ No | ✓ Inclusa | ✓ Inclusa |
| Prova Gratuita | 30 giorni | 30 giorni | 30 giorni (funzioni Pro+) |
Quando le API Bexio Sono Eccessive
Non tutti i freelancer svizzeri hanno bisogno di integrazioni API. Se invii meno di 10 fatture al mese, non usi più strumenti aziendali, o trovi OAuth 2.0 intimidatorio—considera alternative più semplici. Magic Heidi offre fatturazione semplificata per freelancer svizzeri a CHF 30/mese. Nessuna complessità API richiesta.

Domande Frequenti
Le API Bexio sono gratuite?
Sì, l'accesso API è incluso in tutti i piani Bexio a pagamento (da CHF 45/mese).
Quali linguaggi di programmazione funzionano con le API?
Qualsiasi linguaggio che possa fare richieste HTTP—Python, JavaScript, PHP, C#, Ruby, Go, ecc.
Posso usare le API senza programmare?
Sì. Zapier e Make.com offrono automazione no-code con Bexio.
Bexio supporta i webhook?
Non nativamente. Usa polling o Zapier come alternative.
Quali sono i rate limit delle API?
Non documentati pubblicamente. Implementa backoff e caching come precauzione.
Esiste un ambiente test/sandbox?
No. Testa con dati reali con cautela.
Quando devo migrare l'autenticazione?
Prima del 31 marzo 2025. Il vecchio endpoint idp.bexio.com smetterà di funzionare.
Risorse
- Portale Sviluppatori Bexio
- Documentazione API
- Pagina Stato Bexio
- Marketplace Bexio — oltre 120 integrazioni pre-costruite
- Libreria Client PHP (GitHub)
- Client Python (GitHub)
Cerchi una Fatturazione Svizzera più Semplice?
Magic Heidi gestisce fatture QR, spese e IVA—disponibile su ogni piattaforma. Nessuna complessità API richiesta.