Retour au blog
Automation1 mars 20262 min read

Comment automatiser la facturation avec l'API CleverInvo

Apprenez a creer des clients et des factures par programmation avec l'API CleverInvo. Exemples de code, configuration de webhooks et patterns d'integration.

factureAPIautomatisationintegrationdeveloppeur
Comment automatiser la facturation avec l'API CleverInvo

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 :

  1. Un compte CleverInvo plan Business
  2. Une cle API (generez-en une depuis Tableau de bord > Cles API)
  3. 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.

Obtenez votre cle 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

Keep reading

Related guides to help you streamline invoicing operations.