Costa Rica aguinaldo calculator
Your aguinaldo is one twelfth of everything earned from 1 December to 30 November: twelve months at ₡600,000 come to an aguinaldo of ₡600,000. Enter your gross salary, months worked and overtime to see what must be paid by 20 December. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Gross monthly salary
- 600,000
- Months worked (1 Dec – 30 Nov)
- 12
- Overtime, commissions and incentives
- 0
- Total earned in the period
- 7,200,000
- Aguinaldo
- 600,000
Employees in Costa Rica's private sector are owed an aguinaldo: a thirteenth-month payment that Law 2412 sets at one twelfth of everything you earned between 1 December of last year and 30 November of this year. This calculator asks for three things — your gross monthly salary, the months you worked in that period, and any overtime or other salary payments on top — and returns the total earned and the aguinaldo due, to two decimals, in colones (₡), the Costa Rican currency. It helps the employee who wants to know what should arrive by 20 December and the employer checking payroll before paying. It is an estimate under the general rules of the law; if your situation has particular features, confirm it with the Ministry of Labour and Social Security (MTSS) or an employment lawyer.
What the aguinaldo is and which months count
The aguinaldo — in everyday Spanish the word means a Christmas bonus — is not a favour from the employer but a legal right. Law 2412 defines it as an additional annual salary equal to the average of the ordinary and extraordinary pay earned in the twelve months before 1 December. In practice the period runs from 1 December of the previous year to 30 November of the current one: for the 2026 aguinaldo, from 1 December 2025 to 30 November 2026.
What counts is what you earned in that window, not what you will earn in December. This calculator follows Law 2412, the law for private employers; if you work for a public institution, check the rules with your human resources office.
How it is calculated, step by step
Add up everything earned in the period and divide by 12. The calculator multiplies your gross monthly salary — before the CCSS contribution (the Caja Costarricense de Seguro Social, the national social-security fund) and income tax are taken out — by the months you worked, adds overtime and other salary payments from the same period, and divides the total by 12. Someone who earned ₡600,000 a month for all twelve months has earned ₡7,200,000 and receives an aguinaldo of ₡600,000: one full month's pay.
Someone hired in mid-May at ₡385,000 a month has 6.5 months by 30 November, ₡2,502,500 earned and an aguinaldo of ₡208,541.67. That is how a partial year produces a proportional aguinaldo, which the law grants from one month worked. Months can include fractions, and the period never exceeds twelve months.
What goes into the total and what does not
Ordinary salary counts, and so do extraordinary payments: overtime and, in the words of the MTSS, 'any other salary payment', including salario en especie (pay in kind, such as benefits given instead of cash). Maternity leave counts, so do not subtract it. Incapacidades — periods of sick or injury leave — do not count: if you were on such leave for part of the period, take that time off the months worked.
Commissions and incentives go in the overtime, commissions and incentives box when they are part of your salary; if you are not sure a payment is, ask the MTSS. If your pay changed during the period, enter the old salary and add what you earned above it since the raise in that box, or simply enter your monthly average.
When it is paid and what can be deducted
The employer must pay the aguinaldo within the first 20 days of December. No CCSS contributions are deducted from it (article 7 of Law 2412) and it is not subject to income tax (article 9 of the same law, and article 35(b) of the Income Tax Law, which exempts it up to one twelfth of what was earned). So the amount the calculator gives is, in principle, what you should receive in full; according to the MTSS, the only deduction allowed is a pensión alimentaria (child or family support).
Nor is the aguinaldo part of severance: the cesantía (severance pay under article 29 of the Labour Code) and the preaviso (notice pay under article 28) are worked out separately. A collective agreement, pay in kind that is hard to value or a period with sick leave should be confirmed with the MTSS or an employment lawyer.
What you can do with it
A fixed salary all year
You worked from December to November on a gross ₡600,000 a month with no overtime. You earned ₡7,200,000 in the period, so the aguinaldo is ₡600,000 — one full month's pay, due by 20 December at the latest.
Hired part-way through the year
You started in mid-May on ₡385,000 a month. By 30 November you have 6.5 months in the period and ₡2,502,500 earned, so your proportional aguinaldo is ₡208,541.67.
With overtime
You worked 7 months of the period on ₡450,000 a month and also earned ₡50,000 in overtime. The total earned is ₡3,200,000 and the aguinaldo ₡266,666.67. Overtime counts too, which is why it raises the amount.
An employer checking payroll
Before December, an employer can work out each person's aguinaldo from their salary, months in the period and overtime, and set the money aside in time. Since neither social-security contributions nor income tax apply, the figure shown is what gets paid, unless a pensión alimentaria has to be deducted.
FAQ
When is the aguinaldo paid in Costa Rica?
Within the first 20 days of December, under Law 2412. It covers what you earned between 1 December of the previous year and 30 November of the current year.
Is the aguinaldo taxed in Costa Rica?
No. Law 2412 exempts it from social-security contributions (article 7) and from income tax (article 9), and article 35(b) of the Income Tax Law exempts it up to one twelfth of what was earned, which is exactly what the aguinaldo measures.
How is the aguinaldo calculated if I did not work the whole year?
Add up what you earned in the months you worked within the period and divide by 12. At ₡385,000 a month for 6.5 months, you earned ₡2,502,500 and the aguinaldo is ₡208,541.67. The law grants the proportional aguinaldo from one month worked.
Do overtime and commissions count towards the aguinaldo?
Overtime does: the law covers both ordinary and extraordinary pay, and the MTSS includes 'any other salary payment'. For commissions we found no explicit mention in the official sources we checked; if your commission is part of your salary, add it with the overtime, and if in doubt ask the MTSS.
Does sick leave or maternity leave count for the aguinaldo?
According to the MTSS, maternity leave counts and incapacidades (sick or injury leave) do not. If you were on such leave for part of the period, take that time off the months worked and, if the amount matters to you, confirm it with the MTSS.
Can my employer deduct anything from the aguinaldo?
According to the MTSS, only a pensión alimentaria (child or family support). No CCSS contributions or income tax are deducted, so the calculated amount is, in principle, what you should receive.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/fin/aguinaldo-costa-rica \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"monthly_salary":600000}'const res = await fetch("https://api.kit.forhosting.com/fin/aguinaldo-costa-rica", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"monthly_salary": 600000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/aguinaldo-costa-rica",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"monthly_salary": 600000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/aguinaldo-costa-rica", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"monthly_salary":600000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"monthly_salary":600000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/aguinaldo-costa-rica", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"monthly_salary": 600000
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.aguinaldo_costa_rica",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |