
On this page
Si vous envoyez plus de quelques factures par mois, vous avez probablement souhaite pouvoir automatiser le processus. L'API CleverInvo rend tout cela possible.
Prerequis
L'API est disponible sur le plan Business. Vous aurez besoin de :
- Un compte CleverInvo plan Business
- Une cle API (generez-en une depuis Tableau de bord > Cles API)
- Des connaissances de base en APIs REST et JSON
URL de base :
https://cleverinvo.com/api/v1
Authentification
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://cleverinvo.com/api/v1/clients
Gestion des clients
Creer un client
curl -X POST https://cleverinvo.com/api/v1/clients \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Societe Acme",
"email": "[email protected]",
"address": "123 Avenue des Affaires\n75008 Paris, France",
"taxId": "FR12345678901",
"phone": "+33-1-23-45-67-89"
}'
Creation de factures
curl -X POST https://cleverinvo.com/api/v1/invoices \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"clientId": "cli_abc123def456",
"currency": "EUR",
"issueDate": "2026-03-01",
"dueDate": "2026-03-31",
"lineItems": [
{
"description": "Refonte de site web - Phase 1",
"quantity": 1,
"unitPrice": 5000.00
},
{
"description": "Developpement frontend",
"quantity": 40,
"unitPrice": 150.00
}
],
"notes": "Merci pour votre confiance.",
"terms": "Paiement a 30 jours. Penalites de retard : taux BCE + 10 points."
}'
Le systeme automatiquement :
- Attribue le prochain numero sequentiel
- Calcule les totaux de ligne, sous-total et total
- Genere le PDF et renvoie l'URL
- Definit le statut sur
DRAFT
Facture avec TVA
{
"lineItems": [
{
"description": "Services de conseil",
"quantity": 20,
"unitPrice": 200.00,
"taxRate": 20
}
]
}
Gestion du statut des factures
# Marquer comme envoyee
curl -X PATCH https://cleverinvo.com/api/v1/invoices/inv_xyz789ghi012 \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"status": "SENT"}'
# Marquer comme payee
curl -X PATCH https://cleverinvo.com/api/v1/invoices/inv_xyz789ghi012 \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"status": "PAID"}'
Patterns d'integration courants
Pattern 1 : CRM vers facture
async function onDealClosed(deal) {
let client = await cleverinvo.clients.findByEmail(deal.customerEmail);
if (!client) {
client = await cleverinvo.clients.create({
name: deal.customerName,
email: deal.customerEmail,
});
}
await cleverinvo.invoices.create({
clientId: client.id,
currency: deal.currency,
issueDate: new Date().toISOString().split("T")[0],
dueDate: addDays(new Date(), 30).toISOString().split("T")[0],
lineItems: deal.products.map((p) => ({
description: p.name,
quantity: p.quantity,
unitPrice: p.price,
})),
});
}
Pattern 2 : Facturation mensuelle
async function generateMonthlyInvoices() {
const clients = await cleverinvo.clients.list({ isActive: true });
for (const client of clients.data) {
if (client.retainerAmount) {
await cleverinvo.invoices.create({
clientId: client.id,
currency: "EUR",
lineItems: [
{
description: `Forfait mensuel - ${format(today, "MMMM yyyy")}`,
quantity: 1,
unitPrice: client.retainerAmount,
},
],
});
}
}
}
Limites de debit
| Plan | Limite |
|---|---|
| Business | 100 requetes par minute |
Gestion des erreurs
| Code | HTTP | Signification |
|---|---|---|
UNAUTHORIZED |
401 | Cle API invalide ou manquante |
FORBIDDEN |
403 | API non disponible sur votre plan |
NOT_FOUND |
404 | Ressource inexistante |
VALIDATION_ERROR |
422 | Donnees de requete invalides |
RATE_LIMITED |
429 | Trop de requetes |
INTERNAL_ERROR |
500 | Erreur serveur |
Prochaines etapes
La documentation complete est disponible sur /docs/api.
Invoicing, simplified
Create professional invoices in minutes.
Build clean invoices, send them instantly, and keep a searchable history for tracking payments and client records.
Start free