No more spreadsheet nobody keeps an eye on
The Occupational safety module records entry, periodic, extraordinary, exit and follow-up check-ups – with the date performed, how long the medical opinion holds, the work category and the doctor’s name. Before this module, only drivers could be logged.
One button builds the accident report as a PDF, attaches the documents stored with the record and sends a data message to the insurer or the regional labour inspectorate. The reporting date reflects what actually left the system, not a ticked box.
Leave the Accident number field empty and the application fills in the sequence as YYYY/number. The series stays unbroken and free of duplicates even when several people write into it.
One table, two sources: completed training from the Employee training module and medical opinions. Each employee shows their latest record, flagged Valid, Expiring soon or Expired.
Fit for work, Fit with conditions, Unfit, or Long-term loss of fitness. The conditional verdict opens a field for describing the restriction.
Investigating an accident takes weeks. Add the medical report, a witness statement or correspondence with the insurer – each note carries its own attachments and the name of whoever wrote it.
All eight regional labour inspectorates carry their territorial scope in the register. Pick the region and the right inspectorate is pre-selected, so nobody retypes a seven-character data box ID by hand.
Enter the lead times in days, for example 30;14;7. Only the most urgent reminder is sent, so an outage never produces five messages at once. Leave the field empty and nothing is watched.
Occupational safety records are the demonstrable evidence that an employer meets its health and safety duties: that employees have been through an occupational health check-up, that every workplace accident is written into the accident book, and that the accident was reported to the insurer and to the labour inspectorate. The Occupational safety module in eIntranet keeps these three agendas in one place, with the paperwork attached to the records it belongs to.
In practice it solves a situation every HR officer knows: medical opinions sit in a binder, the accident book is a spreadsheet on a network drive, and nobody finds out whose certificate has expired until an inspector asks. The module removes that split by putting check-ups, accidents and expiring deadlines into one application, under the same permissions you already use for attendance or holidays.
The module has three tabs. Deadline watch is an overview of expiring validity across both training and medical opinions. Occupational health check-ups holds the medical opinions with the type of check-up, the work category and the conclusion. Accident book records workplace accidents with automatic numbering, attachments and reporting by data message.
Recording a check-up starts with the employee and the type. The module distinguishes five types: entry, periodic, extraordinary, exit and follow-up. You add the date performed, how long the medical opinion is valid, the work category, the occupational health provider and the name of the assessing doctor.
The conclusion has four values: fit for work, fit with conditions, unfit, and long-term loss of fitness. Choosing the conditional verdict opens a text field for the restriction – typically no night shifts, or no lifting above a given weight. You drag the scanned opinion into the dropzone on the record and it stays with it, encrypted on disk.
An accident works differently. Leave the accident number empty and the application fills in the sequence as YYYY/number, so the series stays unbroken even when several people write into the book. The date and the time of the accident are entered separately, because the exact hour often matters for the investigation. Then come the place, the activity, a description of the event, the type of injury, the injured body part and witnesses.
Sick leave is entered as a from–to range and the number of days is calculated for you, both end days included. That number is not merely informative: the module uses it to decide whether a report is still missing. An unreported accident with more than three days of incapacity is highlighted in orange, a fatal accident in red.
Investigating an accident does not end with the entry, though. On the record detail you add notes, each with its own attachments and the name of whoever wrote it – the medical report, a witness statement, correspondence with the insurer. The course of the investigation stays together instead of in one colleague's mailbox.
Where the data comes from is a simple question here – a person types it in; there is no reader and no GPS unit. The interesting direction is the opposite one: how the report reaches the insurer and the labour inspectorate without anyone retyping it into a form and taking it to the post office.
Input. Check-ups and accidents are entered by hand; the only automatic source is the Employee training module, from which Deadline watch takes the validity of completed training. The module needs no hardware.
Output. Each accident row carries two send icons – one for the insurer, one for the regional labour inspectorate. A click generates the accident report as a PDF covering the employer, the injured person, the circumstances and the consequences, attaches the documents stored with the record and sends a data message from your company's own data box. The attachments are capped at 20 MB per message and the module rejects a format that data boxes do not support before anything is sent.
After a successful send, the record is marked as reported, the date is filled in, and the ID of the sent data message together with the recipient's box ID is stored. The evidence therefore matches what actually left – not what somebody ticked. From the accident detail you can also click straight through to the data message itself in the Data messages module.
Register of recipients. A data box ID is a seven-character code, and retyping it by hand is the fastest way to send a statutory report somewhere unintended. The application therefore carries a register of the eight Czech regional labour inspectorates with their territorial scope by region, and of the insurers that provide statutory employer liability insurance. In the module settings you pick the region and the right inspectorate is pre-selected; the ID can be overridden by hand in an exceptional case.
One note on cost: sending to a public authority box, that is to the labour inspectorate, is free of charge. Insurers are legal entities, so a message to their box is a postal data message – a paid service of the data box operator, not ours.
| Area | What is in the module |
|---|---|
| Occupational health check-ups | Five types of check-up, the date performed and the validity date, work categories 1–4, the provider, the doctor's name, four conclusion variants and a text field for describing a condition. |
| Accident book | Automatic YYYY/number sequencing, the date and hour of the accident, place, activity, description of the event, type of injury, injured body part, witnesses, measures taken, a fatal-accident flag. |
| Sick leave | A from–to range with automatic day count including both end days. The day count drives the assessment of whether a report is missing. |
| Reporting to authorities | Sending by data message separately to the insurer and to the labour inspectorate, the generated PDF as an attachment, the stored message ID and recipient box ID, a link through to the sent message. |
| Deadline watch | One overview across training validity from the Employee training module and medical opinions. Each employee shows their latest record, not the whole history. States Valid, Expiring soon at thirty days or fewer, Expired. |
| E-mail reminders | A cascade of lead times in days, for example 30;14;7. A nightly job sends only one e-mail – the most urgent threshold reached. An empty field means nothing is watched. |
| Documents and notes | Attachments on both check-ups and accidents, plus notes on the accident detail with their own attachments and author. Files are encrypted on disk. |
| Permissions | Five levels: no access, own records only, read all, write, delete. Rights can be granted individually or to a whole position. |
| Outputs | XLSX export above each table in the column layout you see, and printing the accident report to PDF. |
What the module does not contain: records of personal protective equipment, work categorisation as a separate agenda, or generation of the official Czech statutory accident form. Those three are out of scope for now, and it is more honest to write that than to promise it.
There are plenty of offers for "health and safety software" and they differ in what they actually solve. Five questions that expose the differences faster than a demo:
And one question worth turning on yourself: how many people in the company actually write into these records. With health and safety it tends to be two to four, not the whole company – and that affects the price more than the per-user rate does.
The need breaks at two points: the work category, and whether the company has its own safety officer or hires one.
An office of up to ten people, work category 1. Check-ups are the entry one and then nothing for a long time; accidents are rare. Here the module mainly serves as the place where an opinion does not vanish when the HR officer changes, and as insurance that nobody's exit check-up is forgotten.
Manufacturing, a warehouse or a construction site, categories 2 to 4. Check-ups repeat at shorter intervals, extraordinary ones appear and accidents are not exceptional. This is where Deadline watch with reminders starts to pay off, and above all the sending of reports – with several accidents a year, the gap between "generate and send" and "fill in a form and take it to the post office" is noticeable.
An external safety officer. Companies that outsource health and safety often face the situation that the officer has the paperwork and the company has nothing. The module is then used as the company's own record, which the officer writes into or draws from, with restricted rights as needed.
The most common question is whether you pay for the employees whose check-ups you keep in the module. You do not. You pay for users with access to the application – for those who log in. An employee whose opinion is on file and who never logs in does not affect the price.
That matters here, because typically two to four people write into this agenda: the HR officer, the safety officer and the managing director. A fifty-person manufacturing company therefore need not pay for fifty users if only those three are let into the application.
Prices per user and month, excluding VAT, by number of users and plan:
| Number of users | Basic | Normal | Extra |
|---|---|---|---|
| 1–10 | €2.36 | €2.76 | €3.16 |
| 11–20 | €2.08 | €2.48 | €2.88 |
| 21–50 | €1.68 | €2.08 | €2.48 |
| 51–100 | €1.52 | €1.92 | €2.32 |
| 101 and more | €1.36 | €1.76 | €2.16 |
The Occupational safety module is included in every plan; there is no separate charge for it. The plans differ in storage per user – 0.5 GB on Basic, 2 GB on Normal and 4 GB on Extra – which is not irrelevant for this agenda, because scanned opinions and accident photographs take up more room than text data. Telephone technical support is available on the Extra plan only.
The module needs no hardware. Unlike attendance or the journey log, there is no reader and no unit to buy. The one cost beyond the plan you may meet is the postal data message – sending to an insurer as a legal entity is charged by the data box operator, whereas sending to the labour inspectorate as a public authority is free. Consulting, training and custom development are quoted individually.
The current price list is on the pricing page.
An accident book in Excel is free, and for a company with one accident in five years it may be a sensible answer. It has one property that is harder to explain during an inspection, though: a spreadsheet can be overwritten without leaving any trace. Demonstrability is exactly where a file on a network drive differs from records with history and reversible deletion.
The same goes for check-ups. A shared calendar with a reminder on the validity date works while you have five employees in one work category. It cannot distinguish the type of check-up, store the scanned opinion with the record, or limit who sees the conclusion – and with health data under Article 9 of the GDPR, that last point is where a calendar does not help.
When you do not need us. If you run a three-person office in work category 1 with an external safety officer who keeps and owns the documentation, the module adds little. The same holds if you already keep these records in an HR system that handles medical opinions and sends the reports. Paying for a second home for the same data makes no sense.
You can try it without deciding: eIntranet comes with 14 days free, this module included.
Rollout has three steps and none of them is a months-long project.
1. Permissions. In Settings → Occupational safety you assign the five levels. A workable split: the HR officer and the safety officer get write access, managers read-all, other employees level 5, where they see only their own records. Rights can be granted individually or to a whole position.
2. Data boxes. In the same settings you choose the company's sending box, the region with its regional labour inspectorate, and your insurer. Without this step the module works as a record, but you cannot send reports from it.
3. Historical data. There is no bulk import for check-ups, so valid opinions are entered by hand. That is less work than it sounds: only opinions that are still valid matter, and even in a larger company those number in the dozens. Expired opinions need not be entered at all. Once the check-ups are in, add the reminder cascade in the settings – typically 30;14;7.
Backfilling the accident book usually makes no sense; start with the first accident after rollout and leave earlier years in the original records.
The Occupational safety module builds on two other agendas. Employee training is the source of the training validity you see in Deadline watch, and sends its own reminders about it. Employees holds the personal data used in the accident report – date of birth, personal identification number and address.
Yes, for all employees. The module records entry, periodic, extraordinary, exit and follow-up occupational health check-ups for anyone set up in the Employees module. Previously a check-up could only be entered for a driver, in Driver records.
Check-ups tied to professional driving fitness stay in Driver records. Someone who is also a driver may have records in both places, depending on the type of check-up.
Yes, but you have to switch it on. In Settings → Occupational safety, fill the lead times in days into the expiry notification field, for example 30;14;7. A nightly job then e-mails the employee and their manager.
Only one message is sent – the most urgent threshold reached – so an outage never produces several at once. An empty field means nothing is watched. Training expiry reminders come from the separate Employee training module.
No. The module does not calculate how often check-ups recur, because that depends on circumstances the application knows nothing about. You enter the Valid until date manually from the opinion you are holding, and the module treats it purely as a date.
That date then drives the colour-coded status Valid, Expiring soon or Expired in the expiry overview and in the check-up list.
Automatically, in the form YYYY/order, for example 2026/001. Just leave the Accident number field empty when recording and the module fills the sequence number in on save, so the series stays unbroken and free of duplicates.
You can also type the number in by hand, which helps with accidents from previous years. The automatic numbering is based on the current year and would give last year's accident this year's sequence.
Yes. Both the check-up dialog and the accident dialog have an area you simply drag files onto. Typically that is a scan of the medical opinion, photos from the scene of the accident or an accident report.
Attachments stay with the record and you download them straight from the row in the overview. They count towards the storage space of your tariff.
Only the people you explicitly allow. The module distinguishes five permission levels: no access, see own records only, see records of all employees, add and edit, and the top level with adding, editing and deleting.
Permissions are set in the module settings separately for job positions and for individual users; if someone has both, the higher level applies. A regular employee therefore sees only themselves in the expiry overview and in both registers.
That thirty days or fewer remain until the validity ends. The overview distinguishes three states: Valid when more than thirty days remain, Expiring soon in orange at thirty days or fewer, and Expired in red once the validity has passed.
This boundary is fixed and unrelated to the values in the module settings. Only items with a validity date filled in reach the overview at all.
Yes. Just fill in Incapacity from and Incapacity to on the record and the module counts the days itself, both end days included. Incapacity from 1 September to 1 September is therefore one day.
Saving is refused if Incapacity to precedes Incapacity from. The resulting number of days appears in its own column in the accident book.
No, deletion in this module is reversible. Once deleted, the record disappears from the overview but remains stored in the database so it can be traced during a later inspection or an insurance claim years afterwards.
Only users with the highest permission level may delete, and the system asks for confirmation first.
Yes. The print button in the accident book or on the record detail generates the accident report as a PDF. It covers the employer, the injured employee, the circumstances and the consequences, and ends with signature lines.
The same PDF is attached to the data message when you send the report to the insurer or the labour inspectorate. The module does not replace the official Czech statutory form – fill that in outside the application and attach it to the record.
Yes. In the module dialogs the employee is picked from the list of people in the Employees module, and it is the only mandatory field. A new employee therefore has to be created there first.
The account does not need to be actively used – you can record a check-up or an accident for someone who never logs in. Such an account does count towards the number of users, though.
With the Excel button above each of the three tables – in the expiry overview, in the check-ups and in the accident book. It downloads the currently displayed data in XLSX format, in exactly the column layout you have switched on.
The export respects permissions: whoever sees only their own records exports only their own. Attachments are downloaded one by one straight from the row.
That thirty days or fewer remain until the validity ends. The overview distinguishes three states: Valid when more than thirty days remain, Expiring soon in orange at thirty days or fewer, and Expired in red once the validity has passed.
This boundary is fixed and unrelated to the values in the module settings. Only items with a validity date filled in reach the overview at all.
Use the send icon on the row in the accident book. The application generates the accident report as a PDF, attaches the documents stored with the record and sends a data message to the recipient set in the module settings.
The insurer and the inspectorate are two separate reports and may go out on different days. After a successful send, the record is marked as reported and the date is filled in, so the evidence matches what actually left. Only a user allowed to create and send data messages can do it.
Registration is non-binding and includes a free 14-day trial of the application.