Software development company founded by Kevin Papst
A Kimai 2 plugin, which allows to use barcodes for
punch-out time tracking with Kimai.
You can use it with an attached barcode scanner or you run Kimai on a device (eg. tablet) with a built-in camera.
If you want to use Kimai in a kiosk mode, where your users should only register their attendance time through
punch-in and punch-out mode when entering/leaving the building, then this bundle is the solution for you.
It could be as simple as:
You can test it in the “Plugins” demo.
UPC-A(scanner needs to transmit check digit)
Code 2 of 5
Code 2 of 5 interleaved
Codabar(scanner needs to transmit start & stop digits)
You need to configure a non-global activity for starting the record via this plugin. This will be used for every recorded timesheet that is created using the kiosk mode.
Please make sure to use the correct version of the plugin, which must be compatible with your Kimai version:
|Bundle version||Minimum Kimai 2 version|
|1.0 - 1.3||1.8|
Extract the ZIP file and upload the included directory and all files to your Kimai installation to the new directory:
The file structure needs to like like this afterwards:
var/plugins/ ├── KioskBundle │ ├── KioskBundle.php | └ ... more files and directories follow here ...
After uploading the files, Kimai needs to know about the new plugin. It will be found once the cache was re-built. Call these commands from the Kimai directory:
bin/console kimai:reload --env=prod
FTP users: please have a look at this documentation.
If you are running an older version of Kimai (before 1.8) you have to use:
bin/console cache:clear --env=prod bin/console cache:warmup --env=prod
You might have to set file permissions afterwards:
You have to allow PHP (your webserver process) to write to
var/ and it subdirectories.
Here is an example for Debian/Ubuntu (to be executed inside the Kimai directory):
chown -R :www-data . chmod -R g+r . chmod -R g+rw var/ chmod -R g+rw public/avatars/
Test Kimai before executing these commands (they are likely not required in a shared-hosting environment).
You probably need to prefix them with
sudo and the group might be called different than
Run the following command:
This will install all required databases.
You have to configure the bundle before you can use it via the
Click the actions dropdown and select
Preferences (see screenshot).
The following configurations are available:
Login mode- whether to use camera or usb mode
Barcode format- you have to decide which code format you want to use
Barcode includes readable code- whether the barcode in the user profile will include the human readable code
Duration to display confirmation dialog (in seconds)- how long the start/stop screens will be shown after a successful scan
Activity- the non-global activity that will be used to track the times
This bundle ships a new permission, which limit access to certain functions:
barcode_own_profile- allows to see and administrate barcode for the own user profile
barcode_other_profile- allows to see and administrate barcode for all user profiles
kiosk_own_profile- allows to configure user specific kiosk settings (eg. start and end time) for the own user profile
kiosk_other_profile- allows to configure user specific kiosk settings (eg. start and end time) for all user profiles
By default these are granted to each user with the role
Please adjust all permission settings in your administration.
Updating the bundle works the same way as the installation does.
var/plugins/KioskBundle/(to remove deleted files)
When logged in as
SUPER_ADMIN, change to the
Open the plugins preferences, which you need to save once before you can use the plugin:
After updating the settings, change to the user menu. You will see a new entry in the action menu for every user:
Barcode to open the users barcode:
This new barcode can now be printed and handed out to the user.
Barcode with USB scanner login mode show a screen like this, the input field is pre-selected and the scanner will submit it after finding a code:
Barcode with device cam login mode will show the camera video and scan constantly for barcodes:
When scanning an existing barcode and the user does not have a running record a new one will be started:
Or when a record is running, it will be stopped:
Records detailed change/audit logs for timesheets, customers, projects and activities and displays them in a per-item timeline.
Create free configurable additional (optional and mandatory) fields for timesheets, customers, projects and activities in various formats.
Keep track of your expenses based on customer, project and activity. These spendings can be categorized and included in your invoices.
Create tasks, start/stop/pause them, assign them to users and teams - a todo-list management plugin that is connected to your time-tracker and features two new dashboard widgets
|Custom CSS plugin||
|Installation & Update support||
|Recalculate rates plugin||