API bexio: La Guida Completa 2026 per Freelancer Svizzeri
Collega il software gestionale più usato in Svizzera con praticamente qualsiasi strumento. Configurazione OAuth 2.0, esempi di codice e una alternativa API per la fatturazione più semplice a confronto.

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.
5+ Ore a Settimana
Perse in inserimento dati manualeStrumenti Scollegati
App che non comunicano tra loroCaos Copia-Incolla
Ordini inseriti manualmente in contabilità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 ha disattivato idp.bexio.com il 31 marzo 2025. Tutte le applicazioni devono usare il nuovo identity provider:
Vecchio: https://idp.bexio.com
Nuovo: https://auth.bexio.com/realms/bexio
Per la maggior parte delle applicazioni, la migrazione ha richiesto solo l'aggiornamento degli URL di autorizzazione e token. Se non hai ancora migrato, la tua integrazione non funziona più.
Checklist migrazione:
- Aggiorna l'URL di autorizzazione nella configurazione dell'app
- Aggiorna l'URL del token endpoint
- Testa il flusso OAuth completo
- 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
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
API bexio in Python & JavaScript
Snippet di codice pronti all'uso per i casi d'uso più comuni
Python
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": "Project Work - January 2026",
"positions": [
{
"type": "KbPositionCustom",
"text": "Consulting Services",
"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 = Company, 2 = Person
name_1: contactData.company,
name_2: contactData.name,
mail: contactData.email,
country_id: 1 // Switzerland
});
return response.data;
}
getContacts().then(contacts => console.log(contacts));
Nota: Esistono librerie della community per PHP e Python, ma coprono solo un sottoinsieme dei metodi API. Per funzionalità complete, potrebbero essere necessarie 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
Limitazioni API bexio
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.
Nessun Webhook Nativo
Usa polling o Zapier come alternativeRate Limit Non Documentati
Implementa backoff e cachingNessun Ambiente Sandbox
Testa con dati reali con cautelaSoluzioni 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
- Metti in cache 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 codice personalizzato.
Hai Solo Bisogno di Generare Fatture Svizzere via API?
Le API bexio sono potenti ma complesse—OAuth 2.0, scope, gestione token, nessun sandbox. Se hai solo bisogno di generare fatture svizzere con QR code in modo programmatico, la Magic Heidi Invoice API è un'opzione enormemente più semplice. Una richiesta POST. Una API key. Una fattura PDF con QR code svizzero in risposta.

Magic Heidi Invoice API
La Magic Heidi Swiss Invoice QR Code API è un'API aperta a singolo endpoint per generare fatture svizzere professionali con bollettini di pagamento QR. Nessun OAuth, nessun refresh token, nessuno scope—solo una API key e una richiesta POST.
Come Funziona
- Invia una richiesta POST con i dati della fattura (mittente, cliente, voci)
- Ricevi un URL di download del PDF valido per 24 ore
- Tutto qui—nessun flusso OAuth, nessuna registrazione al portale sviluppatori
Esempio Python
import requests
response = requests.post(
"https://europe-west6-magic-heidi.cloudfunctions.net/create_invoice_abstract_v1d",
headers={"key": "your_api_key"},
json={
"user_details": {
"name": "Muster GmbH",
"address": "Bahnhofstrasse 1",
"zip": "8001",
"city": "Zurich",
"iban": "CH93 0076 2011 6238 5295 7"
},
"customer_details": {
"name": "Acme AG",
"address": "Bundesplatz 3",
"zip": "3011",
"city": "Bern"
},
"invoice_items": [
{
"description": "Web Development",
"quantity": 10,
"unit_price": 150
},
{
"description": "Design Review",
"quantity": 3,
"unit_price": 120
}
],
"language": "en",
"currency": "CHF",
"vat_enabled": true,
"vat_percentage": 8.1,
"vat_number": "CHE-123.456.789 MWST"
}
)
data = response.json()
print(f"Download your invoice: {data['url']}")
Esempio JavaScript (Node.js)
const axios = require('axios');
const response = await axios.post(
'https://europe-west6-magic-heidi.cloudfunctions.net/create_invoice_abstract_v1d',
{
user_details: {
name: 'Muster GmbH',
address: 'Bahnhofstrasse 1',
zip: '8001',
city: 'Zurich',
iban: 'CH93 0076 2011 6238 5295 7'
},
customer_details: {
name: 'Acme AG',
address: 'Bundesplatz 3',
zip: '3011',
city: 'Bern'
},
invoice_items: [
{ description: 'Web Development', quantity: 10, unit_price: 150 },
{ description: 'Design Review', quantity: 3, unit_price: 120 }
],
language: 'en',
currency: 'CHF'
},
{ headers: { key: 'your_api_key' } }
);
console.log(`Download your invoice: ${response.data.url}`);
Caratteristiche Principali
- Fatture svizzere con QR code conformi agli standard di pagamento svizzeri
- Multi-lingua: inglese, tedesco, francese, italiano
- CHF ed EUR supporto valute
- Gestione IVA con aliquote configurabili e numero IVA
- Loghi personalizzati tramite URL
- Modalità solo QR per generare solo il bollettino di pagamento
- Test gratuiti senza API key
- Documentazione aperta su GitHub
API bexio vs. Magic Heidi Invoice API
Scegli lo strumento giusto per il tuo caso d'uso
| Funzionalità | Magic Heidi API | API bexio |
|---|---|---|
| Caso d'Uso | Generazione fatture | Suite aziendale completa |
| Autenticazione | ✓ Semplice API key | Flusso OAuth 2.0 |
| Setup | Solo API key | Portale sviluppatori + app OAuth |
| Fatture QR Svizzere | ✓ Integrato | ⚠ Setup manuale |
| Sandbox / Test Gratuiti | ✓ Sì | ✗ No |
| Contatti & CRM | ✗ No | ✓ Sì |
| Contabilità | ✗ No | ✓ Sì |
| Costo Minimo | Gratis per testare | CHF 45/mese |
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 queste API?
Qualsiasi linguaggio che possa fare richieste HTTP—Python, JavaScript, PHP, C#, Ruby, Go, ecc. Sia le API bexio che la Magic Heidi API usano REST/JSON standard.
Posso usare le API bexio 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.
Qual è la differenza tra le API bexio e la Magic Heidi API?
Le API bexio danno accesso a una suite aziendale completa (contatti, contabilità, fatture, inventario). La Magic Heidi API è focalizzata su una cosa sola: generare fatture svizzere con QR code con una singola chiamata API. Se hai solo bisogno di generazione fatture programmatica, Magic Heidi è molto più semplice.
Posso testare la Magic Heidi API gratuitamente?
Sì. Puoi inviare richieste senza API key per i test. L'uso in produzione richiede una API key—contatta hello@magicheidi.ch.
Esiste un ambiente test/sandbox per bexio?
No. Devi testare con dati reali con cautela.
Hai Bisogno di una Fatturazione Svizzera più Semplice?
Magic Heidi gestisce fatture QR, spese e IVA—disponibile su ogni piattaforma. Usa l'app o genera fatture via API.