Calculateur de budget base zéro
Un budget base zéro attribue une mission précise à chaque euro de votre revenu mensuel net avant le début du mois.
Lancer gratuitement
Saisissez votre revenu et les montants prévus par catégorie pour savoir si le plan atteint exactement zéro, laisse une somme non affectée ou engage plus que vos ressources. Le calculateur additionne le plan avec une précision monétaire, indique l'écart exact et affiche chaque catégorie en pourcentage du revenu afin que vous puissiez vérifier facilement l'équilibre général.
Commencez par le revenu réellement disponible
Utilisez votre revenu mensuel net, c'est-à-dire l'argent versé sur vos comptes après les impôts, les retenues salariales et les autres sommes que vous ne pouvez pas affecter. Si votre revenu varie, retenez une estimation prudente ou préparez un plan pour chaque scénario plausible. Recensez ensuite toutes les destinations : logement, charges, alimentation, transport, assurances, dettes, épargne, placements, dons, loisirs et réserve pour dépenses irrégulières. Un budget base zéro ne signifie pas tout consommer. L'épargne de précaution, les provisions pour projets et les remboursements supplémentaires sont de véritables affectations. Le but est de rendre chaque somme intentionnelle. Saisissez au maximum deux décimales et donnez un nom unique à chaque catégorie afin d'éviter les doublons. Le calculateur compare leur total au revenu et précise le sens ainsi que le montant du solde restant.
Interprétez le solde et corrigez votre plan
Un résultat équilibré signifie que le total des affectations correspond exactement au revenu : l'écart est nul et la règle base zéro est respectée. Un résultat non affecté indique que le revenu dépasse les catégories. Cette somme doit encore recevoir une mission, par exemple renforcer l'épargne de précaution, une provision, le remboursement d'une dette ou une autre catégorie. Un dépassement signifie que les montants prévus excèdent le revenu ; l'écart négatif indique précisément la réduction nécessaire. Examinez d'abord les postes flexibles sans considérer l'outil comme une invitation à réduire les besoins essentiels. Le détail exprime aussi chaque montant en pourcentage du revenu. Ces taux éclairent la structure du plan, mais l'écart monétaire détermine son équilibre. Lorsque le revenu est nul, les pourcentages sont affichés à zéro. Modifiez les valeurs jusqu'à obtenir un statut équilibré et un écart exactement nul.
Faites-en un contrôle mensuel de planification
Utilisez le calculateur lors de la création d'un budget mensuel, après une variation de revenu ou lorsqu'une facture importante modifie le plan. Le résultat est un instantané prévisionnel, pas un relevé de transactions : il vérifie vos affectations prévues, mais ne suit ni vos comptes bancaires ni vos dépenses réelles. Faites correspondre les catégories à votre méthode de suivi et révisez le plan lorsque votre situation évolue. Les coûts irréguliers deviennent plus faciles à gérer sous forme de versements mensuels dans des provisions dédiées. Vous pouvez, par exemple, répartir une assurance annuelle ou une réparation prévue sur les mois restants. Un foyer peut convenir du revenu et des catégories avant d'utiliser ce contrôle commun. L'algorithme déterministe calcule en centimes entiers : une même saisie donne toujours le même total. Sans réseau, hasard ni date courante, il convient aux processus reproductibles dans le navigateur et via API.
Cas d’usage
Créez votre premier plan base zéro
Répartissez le revenu net entre factures, besoins quotidiens, objectifs et épargne, puis vérifiez que le solde final est exactement nul.
Rééquilibrez après une variation de revenu
Actualisez votre revenu mensuel et découvrez précisément la somme à affecter ou à retirer du plan existant.
Contrôlez un budget familial
Examinez ensemble les pourcentages et repérez une affectation oubliée ou un engagement excessif avant le début du mois.
Questions fréquentes
Quel est le prix du calculateur ?
Vous pouvez l'utiliser gratuitement dans votre navigateur sur cette page, ou payer $0.002 par requête API.
Un budget base zéro impose-t-il de dépenser tout le revenu ?
Non. L'épargne, les placements, les provisions et les remboursements supplémentaires sont des catégories, et non des dépenses imprévues.
Que signifie le statut non affecté ?
Le total de vos catégories est inférieur au revenu. L'écart positif doit encore recevoir une catégorie pour que le budget atteigne zéro.
Que signifie le statut de dépassement ?
Vos catégories prévues dépassent le revenu mensuel. L'écart négatif indique exactement la somme à retirer ou à financer.
Quel montant de revenu dois-je saisir ?
Utilisez le revenu mensuel net que vous pouvez affecter, après les impôts et retenues qui ne parviennent pas sur vos comptes.
Les montants peuvent-ils inclure des centimes ?
Oui. Saisissez jusqu'à deux décimales ; le calcul convertit les valeurs en centimes entiers avant de les additionner.
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/finance/budget-zero-based \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"monthly_income":5000,"categories":[{"name":"Housing","amount":1800},{"name":"Food","amount":700},{"name":"Transportation","amount":500},{"name":"Savings","amount":1000},{"name":"Other","amount":1000}]}'const res = await fetch("https://api.kit.forhosting.com/finance/budget-zero-based", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"monthly_income": 5000,
"categories": [
{
"name": "Housing",
"amount": 1800
},
{
"name": "Food",
"amount": 700
},
{
"name": "Transportation",
"amount": 500
},
{
"name": "Savings",
"amount": 1000
},
{
"name": "Other",
"amount": 1000
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/finance/budget-zero-based",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"monthly_income": 5000,
"categories": [
{
"name": "Housing",
"amount": 1800
},
{
"name": "Food",
"amount": 700
},
{
"name": "Transportation",
"amount": 500
},
{
"name": "Savings",
"amount": 1000
},
{
"name": "Other",
"amount": 1000
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/finance/budget-zero-based", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"monthly_income":5000,"categories":[{"name":"Housing","amount":1800},{"name":"Food","amount":700},{"name":"Transportation","amount":500},{"name":"Savings","amount":1000},{"name":"Other","amount":1000}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"monthly_income":5000,"categories":[{"name":"Housing","amount":1800},{"name":"Food","amount":700},{"name":"Transportation","amount":500},{"name":"Savings","amount":1000},{"name":"Other","amount":1000}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/finance/budget-zero-based", 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
{
"monthly_income": 5000,
"categories": [
{
"name": "Housing",
"amount": 1800
},
{
"name": "Food",
"amount": 700
},
{
"name": "Transportation",
"amount": 500
},
{
"name": "Savings",
"amount": 1000
},
{
"name": "Other",
"amount": 1000
}
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "finance.budget_zero_based",
"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.
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. |