ERP and HR for companies in Romania
Your company already has procedures. Administrativo remembers them.
Attendance, leave, payroll, occupational safety, fleet and inventory in one database. Every colleague sees exactly what their role covers, and that rule is enforced in the database, not in the menu.
Monthly attendance sheet · APRILIE 2026
Sample. The names are invented, the month is real.
| Employee | HRS | OT | NGT | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 8:00 | 8:00 | 8:00 | zi nelucrătoare | zi nelucrătoare | 8:00 | 10:00 | 10:00 | 8:00 | SLVinerea Mare | zi nelucrătoare | zi nelucrătoare | SLA doua zi de Paște | 8:00 | 8:00 | 8:00 | 8:00 | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 8:00 | 8:00 | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 8:00 | 164:00 | 4:00 | — | |
| 8:00 | 8:00 | 8:00 | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 8:00 | SLVinerea Mare | zi nelucrătoare | zi nelucrătoare | SLA doua zi de Paște | 8:00 | 8:00 | 8:00 | 8:00 | zi nelucrătoare | zi nelucrătoare | 0:00 CO | 0:00 CO | 0:00 CO | 0:00 CO | 0:00 CO | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 8:00 | 120:00 | — | — | |
| 8:00 | 8:00 | 8:00 | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 8:00 | SLVinerea Mare | zi nelucrătoare | zi nelucrătoare | SLA doua zi de Paște | 8:00 | 8:00 | 8:00 | 8:00 | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 8:00 | 8:00 | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 8:00 | 160:00 | — | 24:00 | |
| 8:00 | 8:00 | 8:00 | zi nelucrătoare | zi nelucrătoare | 8:00 | 0:00 CM | 0:00 CM | 0:00 CM | SLVinerea Mare | zi nelucrătoare | zi nelucrătoare | SLA doua zi de Paște | 8:00 | 8:00 | 8:00 | 8:00 | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 8:00 | 8:00 | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 8:00 | 136:00 | — | — | |
| 8:00 | 8:00 | 8:00 | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 8:00 | SLVinerea Mare | zi nelucrătoare | zi nelucrătoare | SLA doua zi de Paște | 8:00 | 8:00 D | 8:00 D | 8:00 D | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 8:00 | 8:00 | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 8:00 | 160:00 | — | — | |
| 8:00 | 8:00 | 8:00 | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 8:00 | SLVinerea Mare | zi nelucrătoare | zi nelucrătoare | SLA doua zi de Paște | 8:00 | 8:00 | 8:00 | 7:30 | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 0:00 AN | 8:00 | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 8:00 | 151:30 | — | — | |
| 8:00 | 8:00 | 8:00 | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 8:00 | SLVinerea Mare | zi nelucrătoare | zi nelucrătoare | SLA doua zi de Paște | 8:00 | 8:00 | 8:00 | 8:00 | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 8:00 | 8:00 | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 11:00 | 163:00 | 3:00 | — | |
| 8:00 | 8:00 | 8:00 | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 8:00 | SLVinerea Mare | zi nelucrătoare | zi nelucrătoare | SLA doua zi de Paște | 8:00 | 8:00 | 0:00 CO | 0:00 CO | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 8:00 | 8:00 | zi nelucrătoare | zi nelucrătoare | 8:00 | 8:00 | 8:00 | 8:00 | 144:00 | — | 8:00 | |
| TOTAL | 64:00 | 64:00 | 64:00 | — | — | 64:00 | 58:00 | 58:00 | 56:00 | — | — | — | — | 64:00 | 64:00 | 56:00 | 55:30 | — | — | 56:00 | 56:00 | 56:00 | 48:00 | 56:00 | — | — | 64:00 | 64:00 | 64:00 | 67:00 | 1.198:30 | 7:00 | 32:00 |
S1 192:00 + S2 236:00 + S3 239:30 + S4 272:00 + S5 259:00 = 1.198:30
1.198:30
hours worked in April 2026
Added down the eight rows or across the thirty columns — the same figure. That is what closing a month means.
It doesn't change. You added the same hours by another route.
Legend
- SLsărbătoare legală
- COconcediu de odihnă
- CMconcediu medical
- Ddelegație
- ANabsență nemotivată
- CFPconcediu fără plată
0 CO means a day of annual leave: zero hours worked, because leave is paid as an allowance rather than from hours. The cell still shows the figure, so the column adds up.
OT and NGT are of which, not on top — hours worked already include them. The same rule is written as a constraint in the database.
20 × 8 = 160 — Twenty working days × eight hours = 160 contract hours. Good Friday and Easter Monday are public holidays; Orthodox Easter falls on a Sunday in 2026, so it adds no day off. The movable dates come from the Easter calculation, not from a hand-written list.
- 14
- modulesEach with shipped screens, not promises.
- 5
- rolesEach with its own scope, adjustable without a new release.
- 17
- public holidaysComputed, including Orthodox Easter and the days that depend on it.
- 651
- CAEN Rev. 3 classesThe full Romanian activity-code list, with the composition rules per legal form.
Monday morning
You are not missing procedures. You are missing the place they live in.
Companies of twenty to two hundred people already have rules. The trouble is that the rules live in three files, two phones and one person's head.
Attendance is a file called timesheet_final_v3_ok
Someone fills it in, someone else corrects it, and by the end of the month nobody knows which version went to accounting. When the row totals disagree with the column totals, the error is hunted by eye.
Leave requests are in a chat thread
Approval is an “ok” typed at nine in the evening. Eight months later, when the employee asks how many days are left, the answer is reconstructed from memory and from messages that deleted themselves.
Deadlines surface during an inspection
Safety briefing records, occupational medicine, vehicle inspection, fire extinguisher checks. Each has a due date, none has a place that warns you. You find out it expired from the inspector.
How it connects
The modules are not separate apps placed side by side.
What goes in once is never retyped. The links below exist in the code, under the names printed here — this is not a presentation diagram.
sincronizare_concedii
Leave → Attendance
Approved leave becomes a leave day on the sheet. The operation is idempotent: run ten times, it has the same effect as running once.
aggregation in SQL
Attendance → Payroll
Hours from a closed month feed payroll. The aggregation moved out of the application and into the database after two silent defects that discarded weekend and holiday days.
expirables
People → Due dates
Contracts, permits, safety briefings, vehicle documents — all reach the same deadline engine, with a warning before expiry.
tax-free ceiling
Travel → Payroll
The ceiling splits the amount, it does not block it: whatever exceeds it becomes salary-assimilated income.
audit trigger
People → Audit log
Every write records who, when, from which address, and what changed.
append-only
Due dates → Audit log
The log is appended to. There is no delete policy anywhere in the product.
The names on the arrows are the real function and table names. Ask to see them during the walkthrough.
Modules
Fifteen modules. You switch on only what you use.
What is not enabled does not appear in the menu, does not appear in search, and cannot be opened by typing the address. Modules are toggled per company.
Core
nucleu
Organisation, roles and audit
The company, its members, e-mail invitations, and a trace of every change. One person can work for several companies and switch between them without signing out.
- Accounts are created by invitation only
- Five roles, each with its own scope
- A log that is appended to, never rewritten
asistent
AI assistant
An assistant that answers “where do I do X?” and hands you the button that takes you there. It cannot point you at a screen you may not open: its list of destinations is filtered by your own permissions.
- It tells you the click path, then shortens it to one button
- It answers with real figures too: leave balance, what awaits approval
- It executes nothing — it explains and takes you there; you press
People
attendance
Attendance
The monthly sheet and the week plan. The month locks when it is done, and after that it cannot be edited, not even by accident.
- Overtime and night hours, as subsets of hours worked
- Approval per department or per week
- Holiday compensation: a day off or a premium, with a deadline
leave
Leave
The request travels the approval chain, the balance recalculates itself, and half days at either end are counted correctly.
- Eleven leave types, each with its legal basis noted
- Annual entitlement by seniority, working conditions, disability or age
- Team calendar, with a cap on simultaneous absences
onboarding
Onboarding
An onboarding path for new hires and a checklist for leavers, with steps that require a tick, a document or a signature.
- Templates with reorderable steps
- A printable record of completion
courses
Courses
A library of PDF and video material, taken inside the app. Each item sets how strong its own proof is: a tick, a measured percentage watched, or a signed declaration.
- Videos and documents are viewed in the ERP, and never leave it
- Recertification on schedule, reappearing in the person's list on its own
reges
REGES-Online (formerly Revisal)
Contracts and employees are filed with the Labour Inspectorate straight from the ERP, over the REGES API. No hand-carried import file, no second typing of the same data.
- Each event's legal deadline, counted in working days
- The Inspectorate's answer lands back on the employee record, with the rejection reason in plain words
evaluations
Reviews
Templates built from your own criteria. A review opens from the person's file and stays in it.
- Criteria you define
- History per employee
Operations
ssm
Health and safety
A matrix of employee × briefing type, with a traffic light on due dates. “Never done” is a state distinct from “expired” — and a more serious one.
- Countdown for reporting an accident to the labour inspectorate
- Fire extinguishers: inspection, refill, pressure test
- Protective equipment and fitness certificates, with durations
fleet
Fleet
Vehicles with inspection, insurance and road-tax deadlines, trip sheets with odometer readings and fuel entries.
- Odometer going backwards: physically impossible, so it is blocked
- A jump over the threshold: possible, so it is flagged
maintenance
Maintenance
Equipment, planned servicing and fault reports, triaged by urgency.
- Due by days AND by counter — hours, kilometres, cycles
- The final state is the more serious of the two
- ISCIR authorisations for regulated equipment
inventory
Inventory
Items, categories and allocations. The employee confirms for themselves what they received.
- Handover with a date
- Batch import from Excel
ticketing
IT ticketing
Requests to IT: software, hardware, faults on inventory items, and bugs reported from inside the application. A ticket enters a queue, not a chat thread.
- Linked to the inventory item that broke
- A triaged queue, not a shared mailbox
- Employees see their own tickets
Finance
payroll
Payroll
The calculation runs step by step, with a breakdown and warnings. The rates are yours, versioned with the date they take effect — none of them is written into the code.
- Reusable premiums and bonuses, defined once
- Deductions capped as a percentage of net pay
- Meal vouchers never enter the social contribution base
per_diem
Travel and per diem
Travel orders, legs across countries, and expense claims. The 24-hour windows run from departure, not from midnight.
- A border-crossing day is paid once, to one country
- Country rates and the exchange rate on the departure date
- A printable expense report
Communication
announcements
Announcements
Internal notices with read confirmation. You see who has read, against the number of active employees.
- In-app and e-mail notification
Portal
employee_portal
Employee portal
Their leave balance, their requests, their attendance, their payslip and their documents. Nothing else.
- In the browser, on a phone
- No account created without the person's consent
And there is more
What else you will find inside
Screens that are not separate modules, but without which the modules would be of no use.
ORG
Org chart
The reporting tree, visible even to someone whose rights cover only their own branch.
XLS
Employee import from Excel
Column mapping, row-by-row validation, batch application, and a CSV report listing every rejected row with its reason.
DOC
Documents from templates
Employment contract, job description and three certificates, with series numbering, a checksum and a verification code.
CAEN
Activity codes and tax-ID validation
The tax identification number is checked against its control digit. Secondary activity codes respect the limits of the legal form.
REV
REVISAL event register
Ten event types, each with a deadline computed from your configuration and a state of on time / today / overdue.
RPT
Annual reports
Leave days, sick days, gross and net income, meal vouchers and overtime, per employee and per company.
SITE
Work sites and departments
The shape of the company, with positions and occupational codes on each one.
AUD
Audit log, with export
Who, when, from which address, what changed. Exportable to CSV, with protection against formula injection.
How hours reach the system
Four ways that work today. Four we do not have yet.
We draw them differently so you cannot confuse them. What is solid exists and can be shown in a walkthrough. What is hatched does not exist — not even as a column in the database.
Works today
The monthly sheet
A day × employee grid. You enter start and end times, and the hours are computed as an editable suggestion.
One row per day per person, uniqueness enforced in the database
The week plan
The employee declares next week's schedule, with a presence mode: office, remote, travel, secondment.
Submitted and approved individually, per week
Sync from leave
Approved leave becomes a leave day on the sheet, without anyone retyping anything.
Idempotent: ten runs have the effect of one
Import and lock
The period opens, is filled in, is approved per department, and locks. After locking, nothing can be written.
Three states: open, in approval, locked
From here down I am no longer describing what we have. I am describing what I want to build, and I am telling you before you ask.
On the roadmap
Rotating QR code
A code displayed at the work site that changes every few dozen seconds, so it cannot be photographed and forwarded.
NFC tag or access card
Clocking in by tapping a card against a reader or against the team leader's phone.
Geolocation tied to the work site
Clock-ins accepted only within range of the declared work site, with a configurable tolerance.
Face recognition at a kiosk
Verification at a fixed terminal. Face descriptors are biometric data: they require explicit consent, an impact assessment and encryption.
None of these four exists today, in any form. If one of them would change your decision, tell us — we build in the order the companies using us ask for.
I need thisThree routes
What a month looks like, end to end
Every step has a role that performs it. If the role lacks the right, the step does not happen — not from the interface, and not from anywhere else.
From a day worked to the payslip
- org_adminOpens the month
- hrFills in or imports the attendance sheet
- managerApproves their own team's attendance
- org_adminLocks the month
- hrRuns payroll from the locked hours
- employeeFinds their payslip in the portal
From a leave request to the balance
- employeeRequests leave, with the days consumed shown up front
- systemChecks the balance, overlaps and the team cap
- managerApproves or rejects, with a reason
- systemDeducts from the balance and writes the days onto the sheet
From a new hire to a complete file
- hrWalks the six-step enrolment wizard
- systemGenerates the contract and job description from templates
- systemOpens the REVISAL event, with its deadline
- hrStarts the onboarding checklist
- employeeConfirms the equipment they received
| Category | RON |
|---|---|
| Net pay | 3510 |
| CAS | 1500 |
| CASS | 600 |
| Income tax | 390 |
- Salariu brut
- 6.000,00 lei
- Contribuții
- 2.100,00 lei
- Impozit pe venit
- 390,00 lei
- Net de plată
- 3.510,00 lei
Who sees what
Rights are data, not code. And you can read them.
The table below is each role's read scope, exactly as it is seeded in the database. A test in continuous integration compares every cell against that source: if the database changes, the page fails before it can lie.
| Resource | Administratororg_admin | Resurse umanehr | Managermanager | Angajatemployee |
|---|---|---|---|---|
| Fișele de personalemployees:read | toate | toate | echipă | — (fără drept) |
| Pontajattendance:read | toate | toate | echipă | proprii |
| Concediileave:read | toate | toate | echipă | proprii |
| Salarizarepayroll:read | toate | toate | — (fără drept) | proprii |
| SSM și PSIssm:read | toate | toate | echipă | proprii |
| Foi de parcurstrip_sheets:read | toate | — (fără drept) | echipă | — (fără drept) |
| Parc autovehicles:read | toate | — (fără drept) | — (fără drept) | — (fără drept) |
| Scadențe de conformitatecompliance:read | toate | — (fără drept) | — (fără drept) | — (fără drept) |
| Jurnal de auditaudit:read | toate | — (fără drept) | — (fără drept) | — (fără drept) |
The employee has “—” on personnel files. They cannot see even their own file in the personnel module: their data lives in the portal, which is a different route with different rules.
A manager approves their team's attendance but cannot create it. In practice the sheet is read-only for them.
A manager has an EXPLICIT refusal on payroll, not a missing row. An administrator can grant the right for their own company, without a new release.
HR fully administers health and safety, but has no right over compliance due dates: the list comes back empty, with no error at all. It is a real limit, and we would rather you learned it here.
There is also a platform administrator role, ours, used for enrolment and support. It is not a member of your organisation, and everything it does leaves a trace in the same log you can read.
The barrier
One company's data never reaches another. The rule lives in Postgres.
Three of the layers below are convenience: they help people avoid locked doors. Only the fourth is a barrier — and it is the only one that answers the question “what happens if someone gets the code wrong?”.
- 1
The menuconvenience
Hides what is not yours. A hidden button is not a security measure.
- 2
The pageconvenience
Checks the permission before rendering. But a page does not protect a server action: they are separate entry points.
- 3
The actionconvenience
Every write declares its module, permission and scope, and checks them again at execution time.
- 4
Postgresbarrier
Row-level policies, forced even for the table owner. Company membership is recomputed on every request, from data, not from a cookie. A suspended company drops out of the list and access ends immediately.
| Angajat | Ore | Stare |
|---|---|---|
| Popa I. | 164 | Aprobat |
| Ilie M. | 120 | Aprobat |
4 of 6 rows are not shown
Romania, not “localisation”
Local rules are in the product, not in a translation file
An international ERP translated into Romanian asks you to adapt. What follows is written for how a company here actually operates.
Public holidays, computed
Seventeen days: the fixed ones from the Labour Code and the movable ones derived from Orthodox Easter. The sheet at the top of this page is fed by that very function.
Labour Code, art. 139
CAEN Rev. 3, complete
Six hundred and fifty-one activity classes, checked against the official list. Composition rules differ by legal form: a sole trader may hold at most four secondary codes, others more, and a start-up SRL-D has forbidden domains.
Law 31/1990, GEO 44/2008
Tax ID with a control digit
The company tax number is validated with the official weights, not merely by length. A typo is caught on entry, not at the first filing.
Per diem in 24-hour windows
Windows run from the hour of departure, not from midnight, and a border-crossing day is paid once, to one country. The tax-free ceiling splits the amount rather than blocking it.
Structure of GD 518/1995, loaded as data
Safety, with a legal basis on every deadline
The frequency of briefings, occupational medicine, extinguisher checks and regulated-equipment authorisations — each with its statute noted beside it and the date it takes effect.
Law 319/2006, Law 307/2006, GD 1425/2006
Personal data encrypted
National ID numbers and bank accounts are written encrypted and read only through a path that leaves an audit row on every disclosure. The key can be rotated without re-encrypting the database.
AES-256-GCM
- ITP — B 12 ABCParc autoexpirat de 3 zile
- RCA — B 12 ABCParc auto5 zile rămase
- Rovinietă — B 44 XYZParc auto22 de zile rămase
- Instruire SSM periodicăSSM și PSIîn regulă
- Medicina muncii — Toma S.SSM și PSIniciodată făcută
- Verificare stingătorMentenanțăîn regulă
Data retention
- Personnel file
- Term configured per company, with automatic purging
- Audit log
- Appended to, never deleted; no delete policy exists
- Walkthrough requests
- Used only to contact you about that request
- Sensitive data
- Encrypted, with a trace on every read
- When an employee leaves
- Logical deletion, trace preserved; nothing disappears silently
The exact terms are agreed with you and your lawyer, and written as a policy for your company. We do not put figures here, because they are not ours to set.
What we don't do
The list others only bring up at the third meeting
We would rather lose a customer at the start than disappoint one at implementation.
Payroll is not certified software
It is an internal calculation and record-keeping tool. It does not replace the official payroll register, the monthly tax return, or your accountant's sign-off. The application says so on every payroll screen.
No integration with the tax authority or e-invoicing
Zero lines of code. The data structure is ready for a future transmission, but the transmission does not exist.
We do not generate the official REVISAL file
We keep the register of employment events and their deadlines, and we export the complete data. The official application's format is validated with the labour inspectorate, not assumed.
The AI assistant shows you the way, it does not do the work
It answers “where do I do X?” and takes you there. It files nothing, approves nothing, deletes nothing — you press. It gives no legal or tax advice. It can be wrong in an explanation, but it cannot send you to a screen you may not open. Your question goes to an external model provider (OpenRouter) to be answered; data from personnel records leaves only if you ask about it. The module can be switched off entirely, per company.
Documents are saved as PDF from the browser
We generate printable HTML with series numbering and a checksum. There is no PDF library in the stack, and we have not claimed there is.
Tax rates must be confirmed by your accountant
No rate, threshold or allowance is written into the code. All of them are configured for your company, with the date they take effect, and all are marked “to be verified” until someone accountable confirms them.
There is no native mobile app in the app stores
The employee portal runs in the browser, on a phone. That is all.
If any of these is a blocker for you, say so in the first conversation. It is cheaper for both of us.
Verticals
The same modules, in a different order of urgency
We do not sell four products. We sell the same product, switched on in the order that hurts most at your company.
Construction and installations
Crews across sites and work points, safety briefings and protective equipment that expire, and a labour inspection that arrives unannounced. The sector minimum wage is a configured rate, not an exception to be coded.
Health and safety · Attendance · Fleet · Inventory · Travel
Manufacturing
Shifts and rotations, a night premium with its own interval, equipment servicing due by date and by counter, personal authorisations for regulated equipment.
Attendance · Maintenance · Health and safety · Payroll · Inventory
Transport and logistics
Vehicle inspection, insurance and road tax with deadlines, trip sheets with verified odometer readings, foreign per diem by country with 24-hour windows and a tax-free ceiling.
Fleet · Travel and per diem · Attendance · Maintenance
Services, offices and retail
Flexible schedules, leave with a cap on simultaneous absences, periodic reviews, internal announcements with read confirmation, and a portal where people find their own payslip.
Leave · Attendance · Reviews · Announcements · Employee portal
Your field is not listed? The modules are the same. Tell us what hurts and we will say honestly whether we help.
The difference
How it is done today, and how it is done with us
These columns are not two products. They are the same month, kept in two ways.
Attendance is a file that circulates by e-mail
One sheet, with totals that reconcile and a month that locks
Leave requests live in a chat thread
Request, approval up the reporting line, balance recalculated automatically
The leave balance is reconstructed from memory
Annual entitlement computed from seniority, conditions and disability status
The accountant receives retyped hours
The locked month feeds payroll directly
Safety deadlines surface during an inspection
A traffic light that warns ahead of every deadline
Contracts are typed over a 2019 template
Generated from a template, numbered by series, with a checksum
Who changed this? Nobody knows any more
Who, when, from which address, what changed
Everyone sees the whole file
Each role has its own scope, enforced in the database
Pricing
You pay for the modules you switch on
We do not publish a grid, because it would not be true: the price depends on how many people you have and which modules you need. We quote after the first conversation, and we tell you up front what you do not need.
Start
Small companies getting attendance out of a spreadsheet
Price on request
- Organisation, roles and audit
- Attendance
- Leave
- Employee portal
Professional
Companies that also run payroll in-house
Price on request
- Organisation, roles and audit
- Attendance
- Leave
- Employee portal
- Payroll
- Onboarding
- Announcements
Business
Companies with field crews, vehicles and equipment
Price on request
- Organisation, roles and audit
- Attendance
- Leave
- Employee portal
- Payroll
- Onboarding
- Announcements
- Health and safety
- Fleet
- Maintenance
- Inventory
- Travel and per diem
- IT ticketing
Enterprise
Organisations that need rules of their own
Price on request
- Organisation, roles and audit
- Attendance
- Leave
- Employee portal
- Payroll
- Onboarding
- Announcements
- Health and safety
- Fleet
- Maintenance
- Inventory
- Travel and per diem
- IT ticketing
- Reviews
Every plan includes the core: roles, invitations, audit log and isolation between companies. That is not an option.
See what each plan includesHow we start
Five steps, in this order
It is the only real sequence on this page, which is why it is the only place we number anything.
1you
A half-hour conversation
You tell us how you work now. We tell you what helps and what does not. No card, no account created for you.
2us
We configure your company
Company details, activity codes, work sites, departments and positions. We switch on exactly the modules we discussed.
3us
We bring your people in
From Excel, with column mapping and a report for the rows that fail validation. Nothing enters halfway.
4you
You invite your colleagues
By e-mail, each with their role. They land directly in the modules that concern them and see nothing else.
5both
We close the first month together
We walk the first attendance sheet and the first payroll run with you, step by step. After that you do it yourself.
Frequently asked
What people ask before they sign
If your question is not here, call. We answer the awkward ones too.
What do I do with the spreadsheet I have now?
You upload it. You choose which of your columns means which of our fields, and validation runs row by row: the good ones go in, the broken ones come back in a file with the reason for each rejection. Nothing imports halfway and nothing is lost silently.
Can our data reach another company on the platform?
No, and the mechanism is not an application filter. Every query passes through row-level policies in Postgres, forced even for the table owner. Your membership is recomputed on each request from real data, not from a cookie. The check runs automatically on every code release.
My accountant sees everyone's salary. Can a manager?
No. Managers carry an explicit refusal on payroll — not a missing right, a written refusal. If you want to grant it, that is one line of configuration for your company, with no new code release. The table showing who sees what is further up this page.
What happens when an employee leaves?
Nothing is physically deleted. The file closes, the trace remains, and the data is purged at the term set in your company's retention policy. There is no delete policy anywhere in the database.
Does it replace the accountant?
No, and you should not want it to. We calculate and keep records; the filings and the liability stay with your accountant. They confirm the rates, and the application marks that explicitly until they do.
Does it work on a phone?
Yes, in the browser. The employee portal is built for a small screen: leave balance, requests, attendance, payslip, documents. There is no app in the app stores.
What do I show during a labour inspection?
Briefing records with dates and signatures, occupational medicine records, protective equipment with its duration, the month's attendance sheet, and the log showing who changed what. All from one place, with deadlines visible before they expire.
Who on your side can see our data?
A platform administrator role, used for enrolment and support. It is not a member of your company, and everything it does leaves a trace in the same log you can read. National ID numbers and bank accounts are encrypted, and every disclosure writes an audit row.
Can we change a role's rights?
Yes. The permission matrix is data, not code: your company's row overrides the global rule, including when you want to forbid something that is allowed by default. It does not require a new version of the application.
How long until we are actually working in it?
It depends on how many people you have and how many modules we switch on. The long part is not configuration, it is cleaning the data you bring. We give an estimate after we look at your files, not before.
What happens to our data if we leave?
You take it. We export what we hold about you in an open format, and what remains with us is purged at the agreed term. We do not hold data as a negotiating position.
Why is there no price on the site?
Because it would be a false price. The distance between a ten-person company running attendance and a hundred-person one with a fleet, safety and payroll is too wide for a public grid to be honest. Ask for a quote and you get a figure we can stand behind.
Customers
Their recommendations will go here
We do not print testimonials we wrote ourselves, and we do not print logos of companies that do not use us. The first customers are in implementation; if you would like to speak to one of them before deciding, we will put you in touch by phone.
Let's talk
Tell us how you work now
A half-hour conversation, not a sales pitch. We show you exactly the modules you care about and we tell you plainly what is not ready.
- Phone
- 0767 991 625
- [email protected]
- Hours
- Monday–Friday, 9–18 (Romania)
The first customers are in implementation. If you would like to speak to one of them before deciding, we will put you in touch.