Créez un calendrier d’échéances de factures récurrentes
Transformez une liste de jours d’échéance mensuels en prochaines dates précises. Indiquez la date actuelle, le nom de chaque facture et son jour d’échéance : le résultat restitue la prochaine occurrence de chaque élément dans le même ordre.
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Une facture due aujourd’hui reste due aujourd’hui. Lorsqu’un jour valide, tel que le 29, le 30 ou le 31, n’existe pas dans le mois concerné, l’échéance est fixée au dernier jour de ce mois.
Saisissez la date actuelle et les factures récurrentes
Commencez par une date actuelle au format non ambigu AAAA-MM-JJ. Ajoutez ensuite une ligne par facture mensuelle, avec un nom reconnaissable et un jour d’échéance entier compris entre 1 et 31. Le nom est repris exactement dans le résultat : vous pouvez donc utiliser celui d’un fournisseur, un alias de compte ou une catégorie de dépense. Le jour décrit une récurrence mensuelle et non une date complète. Les valeurs inférieures à 1 ou supérieures à 31 sont refusées. L’ordre de la liste est conservé afin de faciliter la comparaison avec votre budget, votre feuille de calcul ou votre liste de paiements. Utilisez une ligne par obligation, même si plusieurs factures partagent le même jour. La date fournie doit exister dans le calendrier grégorien ; une valeur impossible comme le 30 février n’est pas interprétée approximativement.
Comprenez le choix de la prochaine échéance
Pour chaque facture, le calcul examine d’abord l’échéance du mois en cours. Si cette date correspond à aujourd’hui ou se situe plus tard, elle devient la prochaine occurrence. Cette règle inclusive évite de reporter au mois suivant une facture due aujourd’hui. Si l’échéance du mois est passée, le calcul avance d’un seul mois. Les mois ayant des durées différentes, un jour pourtant valide peut ne pas exister partout. Le dernier jour réel du mois choisi est alors utilisé. Une facture prévue le 31 tombe ainsi le 30 avril, et le 28 ou le 29 février. La même règle vaut pour les jours 29 et 30 en février. Les années bissextiles respectent les règles grégoriennes, y compris l’exception des siècles. Le résultat reste déterministe, sans dépendre du fuseau horaire, de l’horloge locale ou de l’interprétation de l’environnement.
Intégrez le calendrier à votre suivi des paiements
Le résultat contient la date actuelle fournie et une ligne par facture, avec son nom, son jour récurrent et sa prochaine date au format AAAA-MM-JJ. Vous pouvez trier ou regrouper ces dates dans votre propre feuille de calcul pour obtenir une vue chronologique de la trésorerie ; le calcul conserve volontairement l’ordre de saisie. Relancez-le avec une date ultérieure pour actualiser le calendrier. Une entrée identique produit toujours une sortie identique, ce qui facilite les contrôles et les tests reproductibles. Vérifiez les résultats de fin de mois si le contrat du créancier applique une autre règle, par exemple un report au jour ouvré suivant, car seuls les jours calendaires sont pris en compte. Les jours fériés, week-ends, délais de grâce, retards bancaires et paiements effectués sont inconnus, et aucune donnée de compte n’est conservée. Le prix de base de l’exécution est de $0.002 ; les éventuels détails de facturation sont affichés séparément.
Cas d’usage
Budget mensuel du foyer
Convertissez loyer, services, abonnements, assurances et cartes en prochaines dates pour prévoir votre trésorerie.
Liste des factures à payer
Attribuez une prochaine date concrète à chaque fournisseur récurrent sans modifier l’ordre de votre liste interne.
Contrôle de fin de mois
Observez comment les échéances des 29, 30 et 31 sont ajustées en février et durant les autres mois courts.
Questions fréquentes
Une facture due aujourd’hui apparaît-elle aujourd’hui ou le mois prochain ?
Elle apparaît aujourd’hui. La date actuelle est incluse dans le choix de la prochaine occurrence.
Que devient le jour 31 pendant un mois plus court ?
L’échéance est placée au dernier jour du mois, par exemple le 30 avril ou le 28 février hors année bissextile.
Les week-ends et jours fériés sont-ils pris en compte ?
Non. Le calcul emploie des jours calendaires et ne déplace aucune date selon un calendrier bancaire ou férié.
Quelles valeurs sont acceptées comme jour d’échéance ?
Il faut un entier de 1 à 31. Zéro, les nombres négatifs, les fractions et les valeurs supérieures à 31 sont refusés.
Les factures ou informations de paiement sont-elles conservées ?
Non. Les dates sont calculées de façon déterministe depuis l’entrée, sans réseau ni stockage persistant.
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/final3/recurring-bill-due-date-list \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"current_date":"2026-01-30","bills":[{"name":"Rent","due_day":1},{"name":"Internet","due_day":31}]}'const res = await fetch("https://api.kit.forhosting.com/final3/recurring-bill-due-date-list", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"current_date": "2026-01-30",
"bills": [
{
"name": "Rent",
"due_day": 1
},
{
"name": "Internet",
"due_day": 31
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/final3/recurring-bill-due-date-list",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"current_date": "2026-01-30",
"bills": [
{
"name": "Rent",
"due_day": 1
},
{
"name": "Internet",
"due_day": 31
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/final3/recurring-bill-due-date-list", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"current_date":"2026-01-30","bills":[{"name":"Rent","due_day":1},{"name":"Internet","due_day":31}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"current_date":"2026-01-30","bills":[{"name":"Rent","due_day":1},{"name":"Internet","due_day":31}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/final3/recurring-bill-due-date-list", 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
{
"current_date": "2026-01-30",
"bills": [
{
"name": "Rent",
"due_day": 1
},
{
"name": "Internet",
"due_day": 31
}
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "final3.recurring_bill_due_date_list",
"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. |