Calculateur EPF
Un salaire mensuel de 50 000 avec 12 % de cotisation salariale et 12 % de l'employeur, sur 20 ans à 8,25 %, constitue un corpus EPF de 7 077 837,34, dont 4 197 837,34 d'intérêts. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Salaire
- 50 000
- Taux salarié
- 12
- Taux employeur
- 12
- Années
- 20
- Taux d'intérêt
- 8,25
- Versement mensuel
- 12 000
- Cotisation annuelle
- 144 000
- Cotisation totale
- 2 880 000
- Capital accumulé
- 7 077 837,34
L'Employee Provident Fund (EPF) est un régime de retraite à cotisation définie dans lequel une part du salaire mensuel est créditée chaque mois sur le compte du membre et ce solde courant porte un taux d'intérêt annuel publié jusqu'à la retraite ou le rachat. Un calculateur EPF répond à une question de planification qu'un outil générique de croissance composée ne nomme pas : étant donné un salaire mensuel, les taux salarié et employeur qui créditent réellement le compte de prévoyance, un nombre entier d'années de service et un taux d'intérêt annuel, quel corpus reste sur le compte à la retraite ? Cette capacité prend ces cinq entrées, applique l'identité de clôture d'année de l'EPF selon laquelle chaque année le solde d'ouverture croît au taux déclaré tandis que s'ajoutent douze dépôts mensuels plus l'équivalent de 6.5 mois d'intérêt sur ces dépôts, et renvoie le corpus projeté avec les cotisations mensuelles et viagères et l'intérêt gagné.
Ce que le corpus EPF à la retraite signifie et comment le solde se construit
L'Employee Provident Fund est un compte à cotisation définie dont le solde à la retraite est le corpus des crédits mensuels du salarié et de l'employeur, capitalisés à un taux d'intérêt annuel légal ou supposé pour chaque année de service achevée. Contrairement à un versement unique qui se capitalise par un seul exposant, un compte EPF reçoit un crédit nouveau chaque mois : la cotisation mensuelle est le salaire fois la somme des taux salarié et employeur, chacun exprimé en pour cent de ce salaire mensuel.
L'intérêt n'est pas versé selon le décompte journalier de chaque dépôt comme le ferait un livret ; l'identité conventionnelle de clôture d'année de l'EPF utilisée par les planificateurs et par ce calculateur crédite l'intérêt une fois par année de service.
Le solde d'ouverture croît au taux annuel, douze dépôts mensuels s'ajoutent, et les dépôts de l'année sont traités comme s'ils gagnaient l'équivalent de six mois et demi d'intérêt — le facteur 6.5 est la moyenne de douze dépôts qui restent sur le compte de douze mois à un mois s'ils sont considérés versés au début de chaque mois.
En algèbre, si r est le taux en décimal et M la cotisation mensuelle, chaque année ajoute M fois (12 plus 6.5 r) en plus de multiplier le solde d'ouverture par (1 plus r). En partant d'un solde d'ouverture nul, la forme fermée après un nombre entier d'années est cet addende annuel fois ((1 plus r) élevé à years moins un) divisé par r, ou simplement l'addende fois years lorsque le taux est zéro.
La réponse signale ce corpus après arrondi half-up à deux décimales, avec la cotisation mensuelle, le total viager des dépôts et l'intérêt gagné comme corpus moins ces dépôts. Exemple résolu : un salaire mensuel de 50000 avec des taux de 12 pour cent salarié et employeur verse 12000 par mois ; à 8.25 pour cent pendant un an le corpus vaut 150435, dont 6435 d'intérêt.
Cas d’usage
Planification du corpus de retraite
Transformez un salaire mensuel, les taux EPF salarié et employeur, les années de service et un taux d'intérêt annuel en corpus projeté et intérêt gagné pour articles, planificateurs et widgets de page.
Scénarios de part salarié face à l'employeur
Citez le corpus lorsque l'employeur crédite douze pour cent entiers face à seulement la part de prévoyance après un partage de pension, sans ouvrir un tableur pour chaque mélange.
Questions fréquentes
Comment le corpus EPF à la retraite est-il calculé ?
Les résultats sont arrondis half-up à deux décimales.
Que se passe-t-il si le salaire n'est pas positif ?
Les valeurs de salary nulles, négatives, absentes et non finies ne sont pas acceptées ; saisissez un salaire mensuel strictement supérieur à zéro. La validation en échec n'est pas facturée.
Les taux de cotisation et le taux d'intérêt sont-ils des pourcents ou des fractions décimales ?
Saisissez-les en points de pour cent, non en fractions décimales — douze signifie douze pour cent du salaire, et 8.25 signifie 8.25 pour cent par an, pas 0.12 ni 0.0825. Le moteur divise par cent avant de capitaliser.
Pourquoi le calcul de l'EPF retient-il six mois et demi d'intérêts ?
Parce que les versements arrivent tout au long de l'année. Si chacun est considéré comme fait en début de mois, les douze dépôts restent sur le compte entre douze mois et un mois, soit six mois et demi en moyenne.
Quel taux employeur faut-il saisir ?
Seulement la part réellement créditée sur le compte EPF, en pourcentage du salaire mensuel. Saisissez 12 si toute la cotisation patronale y est versée, ou 3,67 si la part destinée à la pension en est exclue.
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/epf \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"salary":50000,"employee_rate":12,"employer_rate":12,"years":20,"interest_rate":8.25}'const res = await fetch("https://api.kit.forhosting.com/fin/epf", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"salary": 50000,
"employee_rate": 12,
"employer_rate": 12,
"years": 20,
"interest_rate": 8.25
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/epf",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"salary": 50000,
"employee_rate": 12,
"employer_rate": 12,
"years": 20,
"interest_rate": 8.25
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/epf", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"salary":50000,"employee_rate":12,"employer_rate":12,"years":20,"interest_rate":8.25}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"salary":50000,"employee_rate":12,"employer_rate":12,"years":20,"interest_rate":8.25}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/epf", 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
{
"salary": 50000,
"employee_rate": 12,
"employer_rate": 12,
"years": 20,
"interest_rate": 8.25
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.epf",
"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. |
Notes techniques
Un salaire qui n'est pas strictement positif échoue avec invalid_input au lieu d'inventer une histoire de paie inversée ou de mois sans salaire.
Contrat d'entrée, forme de la réponse et comportement d'erreur
Si salary est zéro ou négatif le gestionnaire échoue avec un message indiquant que salary doit être un nombre positif — c'est la garde exigée, car une paie mensuelle non positive n'est pas une base de cotisation bien posée et ne doit pas être traitée en silence comme une paie inversée ou un mois non payé. Si years n'est pas un entier positif — zéro, un décompte négatif ou une fraction — le gestionnaire échoue plutôt que d'inventer une règle de crédit d'année partielle. Les taux de cotisation et le taux d'intérêt doivent se situer entre zéro et cent inclus ; un taux d'intérêt zéro est valide et produit un corpus égal aux dépôts viagers. Associez le résultat à votre propre calendrier d'augmentations si vous avez besoin d'une paie par paliers ; commencez ici lorsque la question produit est un corpus EPF de retraite transparent, à cinq entrées, pour une page, une feuille de travail ou un lot de scénarios d'années de service qui partagent déjà un salaire et une hypothèse d'intérêt. Envoyez par POST un corps JSON avec cinq champs obligatoires : salary (le salaire mensuel auquel s'appliquent les taux de cotisation, un nombre fini strictement supérieur à zéro ; alias monthly_salary, basic, wage), employee_rate (la cotisation du salarié en pour cent, par exemple douze pour douze pour cent du salaire ; alias employee, ee_rate), employer_rate (la cotisation de l'employeur qui crédite réellement le compte EPF en pour cent ; alias employer, er_rate), years (les années de service comme entier positif de un à soixante ; alias service, tenure, n) et interest_rate (le taux d'intérêt annuel en pour cent, par exemple 8.25 ; alias rate, interest, annual_rate). Chaque champ numérique peut arriver comme nombre JSON ou comme chaîne numérique. Champs absents, chaînes vides, booléens et valeurs non finies échouent avec invalid_input en nommant le champ et ne sont pas facturés. En cas de succès le corps répète salary, employee_rate, employer_rate, years et interest_rate ; renvoie monthly_contribution, annual_contribution et total_contribution ; renvoie corpus et interest_earned arrondis half-up à deux décimales ; et inclut une courte chaîne de formule qui reformule la forme fermée. Si les douze pour cent de l'employeur se partagent entre un régime de pension et le fonds de prévoyance, envoyez seulement la part EPF comme employer_rate afin que le corpus ne soit pas gonflé par de l'argent qui n'est jamais entré sur le compte.
Où un calculateur EPF justifie sa place
Les enseignants de la retraite à cotisation définie peuvent semer des exemples de classe qui montrent 50000 par mois à 8.25 pour cent pendant un an face à vingt ans, et démontrer l'échec dur lorsqu'on saisit un salaire zéro ou négatif. Les tableaux de scénarios qui comparent deux ou trois taux d'intérêt sur le même horizon d'années entières restent honnêtes parce que le gestionnaire est du parse pur : pas de flux de taux en direct, pas de graine aléatoire, pas d'horloge. La validation en échec ne consomme pas le solde. Les équipes de paie et de HR qui comparent le net avec l'épargne de long terme peuvent envoyer le même salaire de base avec douze plus douze face à douze plus 3.67 (part EPF après un partage de pension) et lire corpus et interest_earned depuis un seul contrat. Parce que l'implémentation est parse de tier A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle et sans réseau sortant. Gardez salary strictement positif, years un entier positif, figez le corpus arrondi dans les tests, et vous obtenez des projections reproductibles de l'Employee Provident Fund pour widgets, intégrations CMS et workers en bordure sans dresser un service de tableur à vous.
Cas d'intégration
Contrôles de classe à cotisation définie
Laissez les élèves envoyer salary, taux, years et interest_rate et vérifier l'identité de clôture d'année de l'EPF, y compris l'échec dur lorsque le salaire n'est pas un nombre positif.
Questions techniques
Le taux employeur inclut-il la part de pension (EPS) ?
Seulement si vous l'envoyez. Ce calculateur crédite sur le compte EPF le employer_rate que vous transmettez. Si les douze pour cent de l'employeur se partagent entre un régime de pension et le fonds de prévoyance, saisissez seulement la part EPF comme employer_rate afin que le corpus ne soit pas gonflé.
Combien coûte le calculateur EPF ?
L'outil du navigateur est gratuit. Les requêtes API utilisent un solde prépayé à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.