Ressources
Une lecture guidée des routes les plus utilisées. Chaque champ, chaque paramètre et chaque code de réponse sont dans le schéma OpenAPI (GET /openapi.json) ; cette page dit à quoi sert chaque famille et montre un exemple.
Toutes les routes sont préfixées par /companies/{companyId}.
Ventes et factures
| Méthode et chemin |
Rôle |
GET /sales |
Liste des ventes. Filtres : from, to, partnerId, paymentStatus, channel, businessUnitId, q ; limit ou page+size. |
GET /sales/{saleId} |
Une vente avec ses lignes, paiements et livraisons. |
GET /sales/{saleId}/invoice.pdf |
Le PDF tel que l'application l'imprime. |
GET /sales/{saleId}/invoice.xml |
La facture en UBL 2.1 (EN 16931 / Peppol BIS 3.0). |
GET /sales/{saleId}/invoice.cii.xml |
La même en CII (Factur-X, XRechnung). |
POST /sales |
Crée une vente. Lignes, client, établissement, portefeuille si payée. |
POST /sales/{saleId}/payments |
Enregistre un paiement. |
POST /sales/{saleId}/deliveries |
Enregistre une livraison, totale ou partielle. |
POST /sales/{saleId}/reminder |
Envoie un rappel au client (e-mail). |
POST /sales/{saleId}/refund |
Rembourse, en tout ou partie. |
POST /sales/{saleId}/cancel |
Annule une vente non payée. |
Créer une vente :
POST /companies/{companyId}/sales
{
"businessUnitId": "…",
"partnerId": "…",
"lines": [
{ "itemId": "…", "quantity": 2, "unitPrice": 12.5 },
{ "label": "Livraison", "quantity": 1, "unitPrice": 5, "service": true }
],
"paidInFull": false,
"note": "Commande web #1042"
}
Les prix sont donnés en unité majeure dans les corps de requête ; la réponse les rend en unité mineure. Une vente sans paidInFull ni paiement devient une créance et émet invoice.issued.
Devis
|
|
GET /quotes, GET /quotes/{quoteId} |
Liste et détail. |
POST /quotes |
Crée un devis — même forme qu'une vente, plus validUntil. |
POST /quotes/{quoteId}/convert |
Transforme le devis accepté en vente. |
Achats
|
|
GET /purchases, GET /purchases/{purchaseId} |
Commandes et factures fournisseurs. |
POST /purchases |
Crée une commande ; receiveNow met le stock à jour tout de suite. |
POST /purchases/{purchaseId}/receipts |
Réceptionne, en tout ou partie. |
POST /purchases/{purchaseId}/payments |
Règle le fournisseur. |
POST /purchases/{purchaseId}/cancel |
Annule. |
Catalogue et stock
|
|
GET /items, POST /items, PATCH /items/{itemId} |
Articles et services, prix, coûts, seuils d'alerte. |
GET /stock |
Les quantités par article et par établissement. |
GET /stock/movements |
L'historique des entrées et sorties. |
GET /stock/transfers, POST /stock/transfers |
Transferts entre établissements. |
GET /stock/counts, POST /stock/counts |
Inventaires physiques. |
Partenaires
|
|
GET /partners, POST /partners, PATCH /partners/{partnerId} |
Clients et fournisseurs. kind vaut customer, supplier ou both. |
GET /reports/reconciliation/partner/{partnerId} |
Le relevé d'un partenaire : ce qu'il doit, ce qu'il a payé. |
Pour la facturation électronique, renseignez country (code à deux lettres), vatNumber et, en Europe, peppolId (0208:0123456789).
Trésorerie
|
|
GET /wallets |
Caisses, comptes bancaires, comptes mobile money, avec leurs soldes. |
GET /transactions, POST /transactions |
Les mouvements. Une entrée ou une sortie libre, hors vente. |
POST /wallets/transfer |
Un virement entre deux portefeuilles. |
GET /budgets, PUT /budgets |
Les budgets de dépenses par catégorie. |
GET /cash-sessions |
Les sessions de caisse ouvertes et clôturées. |
POST /wallets/{walletId}/statements |
Importe un relevé (CAMT.053, MT940, CSV) dans un compte. |
GET /bank-transactions?walletId&status |
Les lignes bancaires et leur état de rapprochement. |
GET /bank-transactions/{id}/suggestions, POST …/match, POST …/transaction, POST …/ignore, POST …/reopen |
Le rapprochement d'une ligne. |
Heures
|
|
GET /time-entries |
Les entrées, filtrées par from, to, partnerId, billed. |
GET /time-entries/summary |
Les heures et le non-facturé par client. |
PUT /time-entries |
Crée ou met à jour une entrée (externalId pour celles qui viennent de Clockify ou Toggl). |
DELETE /time-entries/{id} |
Supprime une entrée non facturée. |
POST /time-entries/bill |
Crée une facture à partir d'entrées. |
Rapports et exports
|
|
GET /reports/summary?period=… |
Le tableau de bord : ventes, marge, créances, stock. |
GET /reports/exports/charts |
Les plans comptables disponibles (SYSCOHADA, PCMN, PCG). |
GET /reports/exports/ledger?from&to&chart= |
Le grand livre, en CSV. |
GET /reports/exports/ledger.fec |
Le Fichier des écritures comptables (France). |
GET /reports/exports/ledger.datev.csv |
Le format DATEV (Allemagne). |
GET /reports/ohada/ledger.csv, GET /reports/ohada/balance.csv?period&chart= |
Le grand livre et la balance OHADA. |
GET /reports/receivables |
Les créances, par client. |
Détails : Exports comptables.
|
|
GET /fiscal |
Les régimes applicables au pays de l'entreprise et leur état. |
PUT /fiscal/{regime} |
Active ou modifie un régime. |
POST /fiscal/submit/sale/{saleId} |
Transmet une facture maintenant. |
GET /fiscal/submissions/{kind}/{id} |
Les transmissions d'un document. |
GET /fiscal/journal, GET /fiscal/journal/verify |
Le journal scellé et la vérification de sa chaîne. |
Détails : Comment Hela traite les régimes.
Intégrations
|
|
GET /integrations |
Les connecteurs disponibles et leur état pour cette entreprise. |
POST /integrations/{provider}/connect |
Connecte un partenaire à clé d'API. |
GET /integrations/{provider}/authorize |
Démarre une connexion OAuth ; renvoie l'adresse où envoyer l'utilisateur. |
PATCH /integrations/{provider}/settings |
Modifie les réglages. |
POST /integrations/{provider}/test, /sync |
Teste, synchronise. |
DELETE /integrations/{provider} |
Déconnecte. |
POST /integrations/documents/{kind}/{id}/payment-link |
Crée un lien de paiement pour une vente ou un devis. |
POST /integrations/documents/sale/{id}/push-to-phone |
Demande un paiement mobile money. |
POST /integrations/documents/{kind}/{id}/signature |
Envoie en signature. |
POST /integrations/documents/{kind}/{id}/archive |
Archive le PDF. |
Développeurs
|
|
GET /api-keys, POST /api-keys, DELETE /api-keys/{keyId} |
Les clés. Nécessite une session humaine, jamais une clé. |
GET /webhooks, POST /webhooks, PATCH /webhooks/{id}, DELETE /webhooks/{id} |
Les points de terminaison. |
POST /webhooks/{id}/test, /rotate |
Ping, rotation du secret. |
GET /webhooks/{id}/deliveries, POST …/deliveries/{deliveryId}/replay |
Les envois et leur rejeu. |
DELETE /webhooks?url= |
Supprime par adresse — ce qu'utilisent les REST hooks de Zapier. |
GET /events?cursor&limit&type |
Le journal des événements. |
GET /events/catalogue |
Le catalogue, avec les descriptions. |