Calculateur d'honoraires de conseil
Dix heures à 150 de l'heure plus un forfait de 500 font 2 000 d'honoraires, dont 1 500 de temps facturé. Saisissez votre taux, les heures et le forfait pour obtenir le chiffre unique à placer en bas de votre lettre de mission. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Tarif horaire
- 150
- Heures travaillées
- 10
- Provision sur honoraires
- 500
- Sous-total horaire
- 1 500
- Frais totaux
- 2 000
Les consultants indépendants, les cabinets boutique et les bureaux de projet internes ont besoin d'un seul chiffre à inscrire sur la lettre de mission : l'honoraire total d'un bloc de temps facturable plus tout forfait fixe. Ce calculateur accepte un taux horaire non négatif, les heures déjà travaillées ou prévues, et un retainer optionnel, puis renvoie l'honoraire total de conseil comme une somme déterministe.
Ce que couvre l'identité de l'honoraire de conseil, et ce qu'elle laisse de côté
Les honoraires de conseil sont presque toujours un hybride : une composante d'heure facturable qui croît avec le temps, plus un forfait fixe qui ne croît pas. Quiconque cherche calculateur d'honoraires de conseil veut cet hybride comme un seul nombre à coller dans une proposition, un cahier des charges ou une facture, sans ouvrir un tableur qui change en silence le séparateur décimal.
Les heures peuvent être fractionnaires car les services professionnels facturent en dixièmes et en quarts ; sept heures et quart à cent quatre-vingt-cinq est une entrée licite, pas quelque chose à arrondir en secret. Zéro heure décrit un démarrage uniquement forfaitaire : le total est alors exactement le retainer, manière dont bien des cabinets boutique acceptent un projet. Un taux horaire nul décrit du temps offert sur un compte retenu et produit encore un total fini.
Des heures négatives ne décrivent ni une feuille de temps passée ni un bloc prévu, elles échouent donc au lieu d'imprimer un avoir qu'un formulaire pourrait traiter comme de l'argent déjà versé. Le calculateur ne retient pas l'impôt sur le revenu, n'applique pas de taxe de vente, ne convertit pas les devises et n'amortit pas un retainer sur un calendrier : cela appartient à la lettre de mission. Les champs d'argent s'arrondissent à deux décimales pour coller aux factures.
Où un calculateur d'honoraires de conseil gagne sa place
Les générateurs de propositions et les outils de gestion de cabinet se disputent calculateur d'honoraires de conseil parce qu'un client pense au chiffre en bas de la lettre, pas à une grille tarifaire. Les bureaux de staffing et les indépendants vivent des feuilles de temps ; multiplier le taux par les heures et ajouter le forfait de période donne le même total de facture sans forcer un comptable à se souvenir si le forfait était déjà dans une formule de cellule.
Les enseignants de l'économie de mission peuvent semer des exemples de classe qui échouent bruyamment sur des heures négatives, au lieu d'imprimer en silence un signe moins qu'un élève pourrait prendre pour un remboursement. Une validation échouée ne consomme pas de solde. Gardez le taux, les heures et le forfait non négatifs, figez les champs d'argent arrondis dans les tests, et vous obtenez un honoraire de conseil reproductible pour widgets, modules de cours et workers en bordure sans dresser un moteur de facturation à vous.
Cas d’usage
Total de la lettre de mission
Transformez un taux horaire convenu, les heures du cahier des charges et un forfait de démarrage en le chiffre unique à payer qui figure au pied de la lettre.
Facture de feuille de temps plus forfait
Convertissez les heures enregistrées au taux du contrat en un sous-total horaire, puis ajoutez le forfait de période pour que la facture colle à la feuille de temps, sans cellule de tableur.
Démarrage uniquement forfaitaire
Tarifez un forfait de début de mission avec zéro heure encore facturée, de sorte que l'honoraire total égale le retainer jusqu'à ce que le temps commence à s'accumuler.
Questions fréquentes
Le retainer est-il obligatoire ?
Non. retainer est optionnel et vaut zéro par défaut, donc une mission purement horaire produit encore un total. Lorsque vous envoyez un retainer, il doit être un montant fini non négatif dans la même monnaie que le taux horaire.
Puis-je facturer des heures fractionnaires ?
Le sous-total horaire est le taux fois ces heures, puis arrondi à deux décimales avec le retainer.
Le total inclut-il les taxes ?
Non. Le calculateur ne prélève pas d'impôt sur le revenu, n'ajoute pas de taxe sur les ventes et ne convertit pas les devises. Ces éléments vont dans la lettre de mission ou la facture, en plus des honoraires calculés.
Puis-je chiffrer une mission au seul forfait ?
Oui. Saisissez zéro heure et le total sera exactement le forfait, comme le font beaucoup de petits cabinets pour lancer un projet avant de facturer du temps.
Pourquoi le sous-total horaire est-il affiché à part ?
Pour que vous et votre client voyiez si les heures facturées ou le forfait pèsent le plus avant de signer. Dans l'exemple, 1 500 des 2 000 du total viennent du temps passé.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/fin/consulting-fees \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"hourly_rate":150,"hours_worked":10}'const res = await fetch("https://api.kit.forhosting.com/fin/consulting-fees", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"hourly_rate": 150,
"hours_worked": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/consulting-fees",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"hourly_rate": 150,
"hours_worked": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/consulting-fees", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"hourly_rate":150,"hours_worked":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"hourly_rate":150,"hours_worked":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/consulting-fees", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"hourly_rate": 150,
"hours_worked": 10
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.consulting_fees",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_abs_value | 1000000000000000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
L'identité est simple et auditable : total_fee égale hourly_rate fois hours_worked plus retainer. Zéro heure est admis lorsque la mission n'est que forfaitaire ; des heures négatives ne décrivent pas un travail accompli, elles échouent donc avec invalid_input au lieu d'imprimer un avoir qu'une proposition pourrait traiter comme de l'argent.
Ce que couvre l'identité de l'honoraire de conseil, et ce qu'elle laisse de côté
L'identité qu'utilise cet outil est celle que ces documents impliquent déjà : total_fee égale hourly_rate fois hours_worked plus retainer. hourly_subtotal est la composante temps à elle seule, pour qu'un relecteur voie si le forfait ou les heures dominent avant de signer.
Contrat d'entrée, forme de la réponse et comportement d'erreur
Envoyez par POST un corps JSON qui fournit hourly_rate et hours_worked. hourly_rate est le taux facturable convenu dans une seule unité monétaire, un nombre fini non négatif, avec les alias rate, hourly, bill_rate, consulting_rate et hourly_fee. hours_worked sont les heures déjà enregistrées ou celles que le cahier des charges prévoit de couvrir, un nombre fini non négatif, avec les alias hours, hrs, billed_hours et time_worked. Les heures fractionnaires sont acceptées afin qu'une feuille de temps en dixièmes n'ait pas à être complétée jusqu'à l'heure entière. retainer est optionnel : un montant fini non négatif dû indépendamment des heures, valant zéro s'il est omis, avec les alias fixed_retainer, retainer_fee, fixed_fee et retainer_amount. Chaque champ numérique peut arriver comme nombre JSON ou comme chaîne numérique. L'absence de hourly_rate, l'absence de hours_worked, des chaînes vides, des valeurs non finies, un taux horaire négatif, un retainer négatif ou une magnitude au-dessus de la limite déclarée échouent avec invalid_input en nommant le champ et ne sont pas facturés. hours_worked négatif est l'erreur que cette landing existe pour attraper : le message contient hours_worked et must not be negative afin qu'un formulaire mette en évidence ce contrôle plutôt qu'une alerte globale. En cas de succès le corps répète les trois entrées après arrondi, hourly_subtotal comme taux fois heures, total_fee comme le montant à payer, et une chaîne formula qui reformule l'identité. Exemple : hourly_rate de cent cinquante, hours_worked de dix et retainer de cinq cents donnent hourly_subtotal mille cinq cents et total_fee deux mille. Exemple : hourly_rate de soixante-quinze point cinq avec huit point cinq heures et sans retainer donne six cent quarante-et-un et soixante-quinze. Associez le total à votre propre barème fiscal si la facture doit être nette de retenues ; ce endpoint calcule uniquement l'honoraire de conseil.
Où un calculateur d'honoraires de conseil gagne sa place
Les applications de budget familial et de petite entreprise peuvent stocker le total_fee renvoyé comme une sortie planifiée, puis superposer impôt et dépenses plutôt que de reconstruire un chiffre mélangé. Les cabinets juridiques et de marketing peuvent appeler le même module pur depuis le navigateur pour un aperçu gratuit et depuis l'API lorsqu'ils persistent un scénario, garantissant que le nombre vu sur une landing est celui stocké après enregistrement. Comme l'implémentation est parse pure de niveau A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle ni réseau sortant.
Questions techniques
Comment calcule-t-on l'honoraire total de conseil ?
Multipliez le hourly_rate non négatif par hours_worked pour obtenir hourly_subtotal, puis ajoutez le retainer optionnel (zéro s'il est omis). L'API renvoie cette somme comme total_fee, arrondie à deux décimales, plus les entrées et la chaîne formula.
Pourquoi le calculateur refuse-t-il des heures travaillées négatives ?
Des heures négatives ne décrivent ni une feuille de temps ni un bloc de travail prévu. hours_worked inférieur à zéro échoue avec invalid_input et n'est pas facturé, au lieu de renvoyer un honoraire négatif qu'un formulaire pourrait afficher comme un avoir déjà versé.
Combien coûte le calculateur d'honoraires de conseil ?
L'outil dans le navigateur est gratuit. Les requêtes API utilisent un solde prépayé à $0.002 par appel réussi ; une entrée invalide, y compris des heures négatives, n'est pas facturée.