Costa Rica payroll
Payroll is where most companies give up and go back to Excel. Not because Odoo can't do it, but because almost nobody implements it with Costa Rican labor law truly built in.
There's a pattern that keeps repeating: the company implements Odoo, everything works, and payroll keeps running on the old system or in a spreadsheet because "Costa Rica's labor rules are very particular." They are. And they can be implemented.
| Element | What it requires |
|---|---|
| CCSS social security contributions | CCSS is Costa Rica's social security fund. Employee and employer contributions on gross salary, with the current percentages set up as parameters, not hard-coded. Includes the INS (Costa Rica's national insurer) workers' compensation insurance, which is handled separately. |
| Salary tax | Bracket-based calculation with family credits, and different treatment for extraordinary payments. Brackets are updated by decree. |
| Aguinaldo | The aguinaldo (13th-month pay) is proportional to gross earnings in the calculation period, accrued month by month and paid in December. |
| Vacation | Accrual based on time worked, balance tracking per employee and an accounting provision for the liability. |
| Severance and notice pay | Monthly reserve and final settlement calculation when employment ends, with its components broken out separately. |
| Monthly report to the CCSS | The payroll file with the structure SICERE (the CCSS's payroll reporting system) expects, generated from the same data in the system. |
| Sick leave and other leave | Handling of the subsidy, the employer top-up where it applies, and its effect on contributions and earnings. |
Important note: contribution percentages, tax brackets and deadlines are updated periodically. This page describes the structure; it does not replace current regulations or the judgment of your accountant or labor advisor. In the implementation, all of those values are left as editable data for exactly that reason.
It's the difference between a payroll your team maintains and one that ties you to the consultant. When the CCSS adjusts a contribution rate or Hacienda (Costa Rica's tax authority) updates the tax brackets, it should be someone at your company opening a configuration screen and changing a number. If it requires a code change, a deployment and an invoice, the implementation was done wrong.
The same goes for shift types, overtime premiums and each company's own pay items: they belong in configurable salary rules, not in exceptions programmed one by one.
Well-integrated payroll doesn't just pay people: it leaves the accounting done. Each run generates the journal entry with expenses by cost center, the payables to the CCSS and Hacienda, and the accruals for aguinaldo, vacation and severance. That last point is what changes the management view the most: the real labor cost is spread across all twelve months, not concentrated in December.
And on the operations side, hours charged to projects or manufacturing orders connect the cost of your people with the margin on what you sell — something impossible when payroll lives outside the system.
We have built, and maintain in production, a payroll suite for Costa Rica that calculates social security contributions, accruals and the compliance reports. If you want to estimate what it would mean for your company, the investment calculator includes payroll as an optional module and gives you the range on the spot.
Yes, with the localization and salary rules configured for Costa Rica. The calculation covers employee and employer contributions on gross salary, the bracket-based salary tax, and voluntary and court-ordered deductions. Percentages and brackets are set up as parameters because they change: an implementation that hard-codes them forces you to call the consultant every time they are updated.
That is precisely the part that almost never comes out of the box and has to be built. It is developed as a proprietary module that assembles the monthly report with the structure and data the CCSS expects, from the same transactions already in the system. Without it, someone keeps building the file by hand every month.
The right way is to accrue them month by month, not calculate them all at once in December. Each payroll run generates the proportional accrual entry, so the income statement reflects the real cost of the month and there is no accounting hit at year-end. The same applies to vacation and the severance reserve.
It is configured by brackets, with credits for spouse and children. Brackets are updated by decree, so they must be data you can edit from the interface. One point that is often overlooked: how aguinaldo and extraordinary payments are treated in the calculation, which does not follow the same rule as ordinary salary.
Almost never. Payroll is the least error-tolerant function in the entire system — every employee notices a bad calculation on payday — and it is best tackled once sales and accounting operations are stable. The usual approach is phase 1 without payroll and payroll in a later phase, running in parallel with the previous system for two or three months until the numbers match.
A 30-minute conversation is enough to know whether Odoo, automation or an integration solves your problem — and what it would cost to do it right.