Moduł Raporty Pracy - Kompleksowa Dokumentacja Użytkownika
Work Reports Module - Comprehensive User Documentation
1. Introduction to the Work Reports Module
The Work Reports Module is a comprehensive system for recording and billing completed work. It serves to record employee work performance, track their time, and subsequent billing to customers. The system allows flexible rate configuration, integration with orders, tasks, CRM, and other eIntranet system modules.
- Recording employee worked hours
- Tracking time spent on individual orders
- Reporting work on specific tasks and projects
- Billing completed work to customers
- Statistics and employee performance overview
- Data export for payroll system and accounting
Key Module Features
- Recording worked hours with precise date
- Rate/tariff selection with multipliers for employees
- Integration with orders (manually entered, admin-managed, or from Orders module)
- Tasks module integration - direct work reporting on tasks
- CRM integration - linking to companies and branches
- HelpDesk integration - automatic work reporting on tickets
- Optional fields (up to 10 custom fields with various types)
- Five display modes for different data views
- Batch entry of multiple records at once
- File attachment system for reports
- Notes and change history
- Print report to PDF form
- Export to XML for accounting systems
- REST API for external systems
- Automatic report completion reminders
2. Module Configuration and Settings
2.1 User Rights
The module offers a six-level permission system for detailed access control to work reports:
| Permission Level | Permission Description | Typical Use |
|---|---|---|
| 0 - No Access | User has no access to the work reports module | Employees who don't report their work (e.g., external contractor without access) |
| 1 - Own Work Only | User can write and read only their own work | Regular employees who report only their work |
| 3 - Own + Selected | User can write and read their work + work of selected users (e.g., subordinates) | Team leaders who manage their group's reports |
| 5 - Write Own, Read All | User can write only their own work but see all reports | Employees with need for company-wide overview |
| 10 - Write and Read All | User can write work for anyone and see all reports | HR department, management assistants |
| 15 - Full Rights + XML | Full rights including deletion, deleted records recovery, and XML export | Administrators, accountants, company management |
2.2 General Settings
Time Entry Limitation
Determines how far back in time a user can fill reports. For example, with a value of 7, only the last week can be filled. This limitation doesn't apply to administrators.
Automatic Reminders
The system checks daily at 6:00 PM whether employees have filled reports for the last X working days. If not, it sends an alert.
- Alert type: Email, SMS, or both options (if SMS is enabled)
- Condition: Always OR only if the employee was at work that day (according to Attendance module)
- Exceptions: You can select users who should not receive alerts
Order Settings
The system offers three modes for managing order names:
| Mode | Description | Advantages | Disadvantages |
|---|---|---|---|
| Free Entry | Each user can enter a new order name when filling a report | Flexible, fast, no prior setup needed | Possibility of typos, duplicates, no order rights control |
| Admin Management | Only admin can add new orders in module settings. For each order, you determine who can read/write work | Full control, rights management, no duplicates | Need for prior order creation, less flexible |
| From Orders Module | Orders are loaded from the Orders module. You can filter only active ones and by priority | Central order management, automatic synchronization | Dependency on Orders module, setup needed there |
If you enable this mode and also have integration with other modules (HelpDesk, Tasks), a situation may occur where a user won't see their work reported through these modules if they don't have access to the relevant order. We recommend not using this function with integration to other modules.
Integration with Other Modules
- Tasks Module: Allows direct work reporting on a task. In reports, you then see which task the work was related to, including link and Excel export option.
- HelpDesk Module: When resolving a ticket, you can report time spent on the ticket. Description and CRM link are automatically pre-filled.
- CRM Module: You can enable entering company and branch from CRM when reporting work.
- Orders Module: Loading order names directly from the Orders module (see above).
2.3 Tariff/Rate System
The module supports up to 10 different tariffs (rates) to distinguish work types:
- Name: Descriptive tariff name (e.g., "Regular Work", "Weekend", "Night", "Overtime")
- Employee multiplier: Coefficient to multiply hours in employee overview (e.g., 1.5 for overtime hours). Used for payroll calculations.
- Rate/hour: Price per hour in given tariffs for customer billing
A company has 3 tariffs: "Regular Work" (500 CZK/hr, multiplier 1.0), "Weekend" (750 CZK/hr, multiplier 1.5), "Night" (900 CZK/hr, multiplier 2.0). An employee works 8 hours during the weekend. The customer is billed 8 x 750 = 6000 CZK, but the employee receives 8 x 1.5 = 12 hours in payroll records.
2.4 Optional Fields (Custom Columns)
The system allows adding up to 10 custom fields for your organization's specific needs. For each field, you can set:
| Setting | Description |
|---|---|
| Field Name | Label displayed to the user |
| Field Type | Checkbox, Number, Decimal Number, Date, Auto-suggest, Dropdown, CRM Company, Multiple CRM Companies, Customer from Registry, Billing Table, Text, Rich Text, User |
| Required | If checked, the field must be filled before saving the report |
| Display in Main Table | Field is displayed as a column in the reports overview |
| Display in Filter | Allows filtering records by this field's values |
| Email Notification | When a specific value is entered, an email is sent to the specified address (e.g., when value is "URGENT", send email to supervisor) |
| Display After | Determines field position in form (At beginning, After order, After task, After time, At end) |
Special Field Type: Billing Table (Type 29)
- Code: Work abbreviation (e.g., "INST-01")
- Name: Work description (e.g., "Base Plate Installation")
- Pcs/Hr: Whether counted in pieces or hours
- Price per Unit: Price per unit (piece or hour)
2.5 Print to PDF Form
If you enable printing reports to form, the system automatically:
- Generates report number in format YYYYMMDD/ID (e.g., 20250110/1234)
- Adds "Report Number" column to the table
- Allows printing form with company logo, customer details, and signature fields
- You can upload your own logo (ideally 250x300px in PNG format)
2.6 REST API
For integration with external systems (e.g., payroll system, CRM), a REST API is available:
- Enable REST API in module settings
- Login: POST to /RestAPI/Login with username, password, and RestAPIPassword
- Get RESTAPIHash from response (valid 5 minutes)
- Download data: GET /RestAPI/Get/[RESTAPIHash]/Vykazy_prace/ (all, YEAR/YEAR, YEAR/YEAR/MONTH/MONTH)
- Update data: PUT /RestAPI/Put/[RESTAPIHash]/Vykazy_prace/[idVykazy_prace]
3. User Interface
3.1 Five Display Modes
The module offers five different data views of work reports, each optimized for specific purposes:
| Mode | Description | Use |
|---|---|---|
| 1. Work Reports | Basic listing of all records with filters | Regular work, searching specific reports, editing |
| 2. Monthly Overview | Aggregated data by months and orders | Monthly reports, workload overview, work on orders overview |
| 3. Overview by Orders | Detailed work breakdown for selected order | Order billing, checking hours worked on project |
| 4. Overview by Employees | Detailed work breakdown for specific employee including tariffs | Payroll calculations, employee performance evaluation |
| 5. Statistics | Statistical outputs for selected period | Analysis, trends, capacity planning |
3.2 Data Filtering
In all display modes, the following filters are available:
- Year/Month/Day: Time filter to limit displayed data
- Employee: Filter by who performed the work
- Order/Contract: Filter by order name or contract link
- CRM Company: If enabled, filter by CRM company
- CRM Branch: If enabled, filter by CRM branch
- Optional Fields: Filters by custom fields (if "Display in filter" is set)
3.3 Main Reports Table
The basic table displays the following columns (some are optional based on settings):
- Report ID
- Date
- Performed By (employee)
- Order/Contract
- Task (if integration is enabled)
- Time (hours count)
- Tariff/Rate (if enabled)
- Description (if enabled)
- Transportation (if enabled)
- Additional Costs (if enabled)
- CRM Company (if enabled)
- CRM Branch (if enabled)
- Optional Fields (if "Display in main table" is set)
- Report Number (if PDF printing is enabled)
- Actions (buttons for edit, copy, delete, attachments)
3.4 Inline Editing
Most fields can be edited directly in the table without opening the edit form. Just click in the cell, modify the value, and the change is saved automatically when leaving the field.
4. Working with Work Reports
4.1 Creating a New Report
- Performed By: Selection of employee who performed the work. With rights 10+, you can select anyone. With rights 1-5, only yourself or selected users.
- Date: Date when the work was performed. Limited by set number of days back.
- Order: Order name (according to chosen mode - free entry, selection from list, or from Orders module)
- Task: If integration is enabled, you can select a task from Tasks module
- Time (hours): Number of worked hours (decimal number, e.g., 1.5)
- Tariff: If enabled, tariff/rate selection
- Description: If enabled, text description of work (can be rich text)
- Transportation: If enabled, transportation cost in CZK
- Additional Costs: If enabled, other costs in CZK
- CRM Company: If enabled, company selection from CRM
- CRM Branch: If enabled, branch selection from CRM (depends on selected company)
- Optional Fields: Custom fields according to configuration
- Note: If enabled, internal note (rich text)
- Attachments: If enabled, option to upload files (max 60 files, max 100 MB/file)
If you create a work report from Tasks module, HelpDesk, or another module, the system automatically pre-fills relevant fields (description, CRM link, task).
4.2 Batch Entry
For quick entry of multiple reports for one day, you can use batch entry mode:
4.3 Editing Existing Report
You can edit a report in two ways:
- Inline editing: Click directly in the table cell, modify the value, and the change is saved automatically when leaving the field
- Form editing: Click the pencil icon in the Actions column, the form opens with all fields, make changes and save
You can only edit reports you have rights to according to set permission (see chapter 2.1). The system automatically checks:
- Whether you have permission to edit reports of the given employee
- If admin-managed orders are enabled, whether you have rights to write to the given order
- Whether the maximum editing time hasn't elapsed (if set)
4.4 Copying Report
For quick creation of similar report, you can use the copy function:
4.5 Deleting Report
If you have deletion permission (rights 15), you can delete the report:
Users with rights 15 can display deleted reports and restore them. Use the "Show Deleted" filter at the top of the table.
4.6 Working with Attachments
If the attachments function is enabled, you can attach files to reports:
- Adding attachments: When editing a report, drag files into the DropZone area or click to select files
- Maximum number of files: 60 files per one report
- Maximum file size: 100 MB per file
- Displaying attachments: The table shows a paperclip icon with attachment count. Clicking allows downloading attachments or viewing preview
- Deleting attachments: When editing a report, you can remove attachments by clicking the cross
4.7 Notes and Change History
The system automatically records change history for each report:
- Who and when created the report
- Who and when made a change
- Which field was changed and original/new value
To add a free note:
5. Advanced Features
5.1 Export to Excel
In all display modes, you can export currently displayed data to Excel:
The export contains all columns currently displayed in the table, including optional fields. Data is exported in the format it's displayed (e.g., dates in DD.MM.YYYY format).
5.2 Export to XML for Accounting Systems
If you have rights 15, you can export reports to XML format for import into accounting systems:
5.3 Print Report to PDF Form
If the function is enabled, you can print individual reports to formalized PDF form:
- Company logo (if uploaded in settings)
- Report number (in format YYYYMMDD/ID)
- Customer details (CRM company and branch)
- Date, start/completion time, urgent intervention
- Worker name
- Work description and note
- Table with tariff, hours count, rate, and total price
- Transportation and additional costs
- Total price excluding VAT
- Customer questionnaire (satisfaction, note)
- Signature fields for customer and supplier
The form is ideal for service activities where you need customer confirmation of performed work. You can use it as a basis for invoicing or as proof of services rendered.
5.4 Batch Operations
For efficient work with multiple records at once, the following batch operations are available:
| Operation | Description | Required Rights |
|---|---|---|
| Batch Delete | Select multiple records by checking checkboxes and then click "Delete Selected" | Rights 15 |
| Batch Export | Export selected records to Excel or XML | Excel: all, XML: rights 15 |
| Batch Email | Send reports by email to specified addresses (if function is enabled) | According to configuration |
5.5 Notifications and Alerts
The system automatically sends the following notifications:
- Reminder of unfilled report (if enabled) - daily at 6:00 PM
- Email to order manager when recording work (if set for the order)
- Email on specific value of optional field (if set in optional fields configuration)
- Email to customer when work is completed (if function is enabled)
For each optional field, you can set up to 20 conditions for sending email. For example, if a user selects "URGENT" value in "Priority" field, the system sends email to supervisor@company.com.
5.6 Integration with Other Modules
Integration with Tasks Module
If integration is enabled:
- In Tasks module, you find a "Report Work" button directly at each task
- When clicked, the report form opens with pre-filled task and order
- In work reports, you see a "Task" column with link to task detail
- In task detail, you see total time spent on the task from all reports
- You can export reports including task information
Integration with HelpDesk Module
When resolving a ticket:
- In ticket detail, you find a "Report Time" button
- The system pre-fills description in format "Ticket [ID] Ticket name"
- CRM company and branch are automatically pre-filled from the ticket
- In ticket overview, you see total time spent
Integration with Orders Module
When using "Load orders from Orders module" mode:
- In orders list, all orders from Orders module are automatically displayed
- You can filter only active orders
- You can limit to orders with specific priorities
- When changed in Orders module, the change is immediately reflected in work reports
- In order detail in Orders module, you see total time spent
- If an order has a manager set, they can receive notifications about work recording
6. Rights and Security
6.1 Rights Hierarchy
The system uses the following rights hierarchy (from highest to lowest priority):
- Order Rights (if admin-managed orders are enabled) - override all others
- User Rights (0-15) - basic access level
- Optional Field Rights (if "Required" is set)
- Time Limitation (maximum number of days back)
6.2 Permission Check on Edit
Before each edit, the system checks:
- Whether you have the right to edit reports of the given employee (according to rights level 1-15)
- If admin-managed orders are enabled, whether you have the right to write to the given order
- Whether the report date isn't older than the allowed number of days back
- Whether you're an administrator with exception (admin always has full rights)
All operations are logged including IP address, time, and username. In case of suspicious activity, you can check the change history in the system log.
6.3 Personal Data Protection (GDPR)
The system automatically secures employee personal data:
- Work reports contain only data necessary for work performance
- Access to other employees' reports is controlled by permissions
- When exporting data, employee names can be anonymized
- Deleted reports are not permanently deleted but only marked with a flag (recovery possible)
- Report attachments are encrypted (AES-256)
7. Integration and API
7.1 REST API - Detailed Description
Step 1: Login
https://your-domain.com/RestAPI/LoginMethod: POST
Parameters:
username- usernamepassword- user passwordRestAPIPassword- special password for API (find in module settings)
{
"Status": {
"StatusText": "OK",
"StatusCode": 1
},
"LoginValidTillTimestamp": 1709123456,
"RESTAPIHash": "abc123def456..."
}
Step 2: Get User Directory
https://your-domain.com/RestAPI/Get/[RESTAPIHash]/Users/Method: GET
Response:
{
"Status": {
"StatusText": "OK",
"StatusCode": 1
},
"DATA": [
{
"idUser": 1,
"surename": "Smith",
"forename": "John",
"email": "john.smith@company.com"
},
...
]
}
Step 3: Get Work Reports
/RestAPI/Get/[RESTAPIHash]/Vykazy_prace/- all reports/RestAPI/Get/[RESTAPIHash]/Vykazy_prace/YEAR/2025/- only year 2025/RestAPI/Get/[RESTAPIHash]/Vykazy_prace/YEAR/2025/MONTH/01/- January 2025
Response:
{
"Status": {
"StatusText": "OK",
"StatusCode": 1
},
"DATA": [
{
"idVykazy_prace": "123",
"zapsal_idUser": "1",
"Contracts_idContracts": "0",
"Tasks_idTasks": "45",
"CRM_Companies_idCRM_Companies": "10",
"CRM_Addresses_idCRM_Addresses": "15",
"datum_zapisu": "2025-01-10 14:30:00",
"odpracoval_idUser": "1",
"zakazka": "Web Application Development",
"datum": "2025-01-10",
"cas": "3.50",
"popis": "New functionality implementation",
"doprava": "0",
"dalsi_naklady": "0",
"poznamka": "",
"Tariff": "1",
"PrintID": "20250110/123",
"custom_columns_ser_arr": {
"1": "URGENT",
"2": "Completed"
}
},
...
]
}
Step 4: Update Report
https://your-domain.com/RestAPI/Put/[RESTAPIHash]/Vykazy_prace/[idVykazy_prace]Method: PUT
Request Body (JSON):
{
"popis": "Updated work description",
"cas": "4.00",
"custom_columns_ser_arr": {
"1": "COMPLETED",
"2": "Invoiced"
}
}
Response:
{
"Status": {
"StatusText": "OK",
"StatusCode": 1
}
}
If you're sending back an update of even just one of the optional fields (custom_columns_ser_arr), you need to send all optional columns regardless of whether changes occurred in others. Otherwise, other fields will be cleared.
7.2 API Limitations and Security
- RESTAPIHash validity: 5 minutes from login. After expiration, you need to log in again.
- Rate limiting: Maximum 100 requests per minute per account
- HTTPS: API is only available over encrypted connection (HTTPS)
- Permissions: API respects user rights - user only sees data they have access to
- Logging: All API requests are logged including IP address and timestamp
8. Tips and Tricks
8.1 Efficient Work with Reports
- Use keyboard shortcuts: Tab to move between fields, Enter to save form
- Inline editing: For quick correction of small errors, use direct editing in table instead of opening form
- Batch entry: When working on multiple orders in a day, use batch entry instead of individual forms
- Copy report: For regularly recurring work, use copying to speed up entry
- Filters: Set filters before entering a new report - the system remembers them and pre-fills relevant fields
8.2 Mobile Device Optimization
The module is fully responsive and optimized for use on tablets and mobiles:
- Form automatically adapts to screen width
- Touch-optimized controls (larger buttons, swipe gestures)
- Option to use eIntranet mobile app for even faster entry
8.3 Working with Large Data Volumes
When working with thousands of records:
- Use time filters to limit displayed data (month/year)
- Utilize DataTables pagination (set number of records per page)
- For exporting large data, use API instead of manual exports
- Regularly archive old data (older than 2 years) to separate database
8.4 Automating Repetitive Tasks
Use REST API for automation:
- Automatic import of reports from external systems (e.g., vehicle GPS tracking)
- Regular data export to payroll system (e.g., monthly)
- Integration with time tracking apps (e.g., Toggl, RescueTime)
- Automatic generation of monthly reports by email
8.5 Using Tariffs for Employee Motivation
Set tariffs with different multipliers for employees:
- Regular Work (multiplier 1.0) - base hourly rate
- Overtime (multiplier 1.25) - for overtime work +25%
- Weekend (multiplier 1.5) - for weekend work +50%
- Night (multiplier 1.75) - for night work +75%
- Holiday (multiplier 2.0) - for holiday work +100%
9. Troubleshooting
9.1 Common Problems and Solutions
| Problem | Possible Cause | Solution |
|---|---|---|
| Cannot save report | Unfilled required field or no permission | Check if all fields marked with asterisk are filled. Check if you have rights to write work for the given employee or to the given order. |
| Order not showing in list | Order is inactive or you don't have permission to use it | If using admin-managed orders, check with administrator if you have access to the given order. If using Orders module, check if order is active and meets filters (priority). |
| Cannot select date older than X days | Administrator set limitation on days back | Contact administrator if you need to enter older date. Administrators are not limited and can enter any date. |
| Not seeing colleagues' reports | Insufficient rights (level 1 - own work only) | Contact administrator for rights increase. To see colleagues' reports, you need at least rights level 3 or 5. |
| Attachments not loading | Problem with DropZone or file size | Check file size (max 100 MB) and file count (max 60). Try refreshing page and re-uploading attachments. |
| XML export failing | Incorrect data format or missing field | Check if all required fields are filled for all exported records. Try exporting smaller amount of data (e.g., only 1 month). |
| API returns 401 Unauthorized error | Invalid RESTAPIHash or expired validity | RESTAPIHash is valid only 5 minutes. Log in again via /RestAPI/Login and get new hash. |
| Inline editing not working | JavaScript error or ad blocker | Check browser console (F12) for JavaScript errors. Try disabling ad blocking or use different browser. |
9.2 Data Integrity Check
If you suspect data inconsistencies:
9.3 Recovering Accidentally Deleted Reports
If you have rights 15:
10. Frequently Asked Questions (FAQ)
Q: Can I report work for a colleague who is on vacation?
A: Yes, if you have rights level 10 or 15, you can report work for anyone. If you have level 3, you can report work only for selected users (set by administrator).
Q: What does the employee multiplier mean for tariffs?
A: The multiplier is used for payroll calculations. If an employee works 8 hours in a tariff with multiplier 1.5, in the employee overview they are credited with 8 x 1.5 = 12 hours. However, the customer is billed according to rate/hour, so e.g., 8 hours x 750 CZK = 6000 CZK.
Q: Why is some order not showing in the list?
A: There can be several reasons: 1) If using admin-managed orders, you don't have access to the given order. 2) If using Orders module, order may be inactive or doesn't meet filters (priority). 3) If using free entry, order doesn't exist yet and must be entered manually.
Q: How do I set up automatic report completion reminders?
A: In module settings (tab "General Settings"), set "Alert if nothing filled going back" to desired number of days (e.g., 3). Also set alert type (Email/SMS) and condition (always or only if at work). The system then checks daily at 6:00 PM and sends alerts.
Q: Can I use the module for customer billing?
A: The module primarily serves for work recording, not invoicing. However, you can use the PDF form for customer confirmation of performed work and then issue an invoice in the Issued Invoices module. When entering an invoice, you can draw data from work reports (hours, prices).
Q: How do I export data for payroll system?
A: Use "Overview by Employees" mode, set desired month and employee, and export to Excel or XML. In Excel, you'll find for each employee total hours in individual tariffs including multiplied hours (with multipliers). You can use this data for payroll calculations.
Q: Why don't optional fields show in the form?
A: Optional fields must first be configured by administrator in module settings (tab "Optional Fields"). If configured but not showing, check if you have JavaScript blocker disabled in browser.
Q: Can I permanently delete a report?
A: No, the system uses "soft delete" - records are only marked as deleted (deleted=1), but not physically deleted. This is to maintain data integrity and enable recovery. If you need to permanently delete data (e.g., for GDPR reasons), contact system administrator.
Q: How does batch entry work?
A: In batch entry, a form opens with 5 rows (you can add more). All rows share the same date and employee. Each row can have different order, time, description, etc. When saving, only rows with required fields filled (typically order and time) are saved. Empty rows are skipped.
Q: Why am I not receiving report completion reminders even though I have it enabled?
A: Check the following: 1) Are you in the exceptions list? (Settings > Except Users). 2) Do you have rights to write reports? (rights > 0). 3) Is condition set to "Only if at work that day" and you weren't at work? 4) Do you have correct email address in profile?