ERP via l’API
Ton ERP ou ton logiciel de facturation récupère les saisies de temps via l’API REST et indique en retour quelles saisies sont facturées. La synchronisation delta ne renvoie que ce qui a changé depuis le dernier appel ; une facturation marque les saisies avec ton numéro de facture et les verrouille. Les deux font partie de Premium.
- En tant que propriétaire ou admin, ajoute un jeton avec les autorisations
readetbillingsous Paramètres, API et appareils. Il n’est affiché qu’une seule fois. - Au premier appel, récupère toutes les saisies sans curseur et conserve
meta.next_cursorde la réponse. - Ensuite, interroge toujours avec le curseur enregistré. Tu ne reçois que les saisies modifiées, les supprimées avec
deleted_atrenseigné. Si l’API répond 410, le curseur a plus de 90 jours : recommence sans curseur et remplace ta copie. - Après la facturation, crée une facturation, d’abord avec
"dry_run": truepour essayer. Les saisies sont alors facturées et verrouillées.
Récupérer les saisies de temps, d’abord sans, puis avec curseur :
curl "https://api.horaka.com/v1/time-entries/changes?cursor=0" -H "Authorization: Bearer TON_JETON"
curl "https://api.horaka.com/v1/time-entries/changes?cursor=CURSOR" -H "Authorization: Bearer TON_JETON"
Les clients avec leurs ID, puis facturer tout ce qui est ouvert pour un client jusqu’à la fin du mois :
curl https://api.horaka.com/v1/clients -H "Authorization: Bearer TON_JETON"
curl -X POST https://api.horaka.com/v1/billing-runs \
-H "Authorization: Bearer TON_JETON" \
-H "Content-Type: application/json" \
-d '{"filter": {"client_id": 4, "until": "2026-10-31"}, "invoice_ref": "RE-2026-0042", "dry_run": true}'
Au lieu d’interroger régulièrement, Horaka peut aussi prévenir ton ERP à chaque modification : ajoute un webhook sous Paramètres, Webhooks. Chaque champ, filtre et code d’erreur est décrit dans la documentation de l’API.