Mode kiosque avec prise en charge des codes-barres et RFID
Suivi du temps de présence dans un environnement où l'utilisateur n'a pas accès à Kimai (par exemple dans un entrepôt), en utilisant un scanner de code-barres ou RFID pour démarrer et arrêter les feuilles d'heures.

Kevin Papst
A Kimai plugin, which allows using barcodes for punch-in
and punch-out
time tracking with Kimai.
You can use it with an attached barcode scanner, or you run Kimai on a device (e.g. tablet) with a built-in camera.
It also supports a “freestyle” mode, which allows to enter any free configurable code (up to 120 characters), so you can also use other devices for starting/stopping:
- an electronic USB number-pad
- an RFID scanner that acts as keyboard
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:
- Print the barcodes on your employee cards
- Mount a tablet to the wall in your entrance room
- Let your users check-in & check-out when entering the building by scanning the barcode of their employee card
You can test it in the “Plugins” demo.
Features
- Start/Stop work with
- barcode scanner (via device camera, only works via HTTPS)
- barcode scanner (via USB or Bluetooth)
- RFID scanner (via USB or Bluetooth)
- Upon starting/stopping a record via this plugin, the user will see a short overview screen with the entries of the current week (including some statistics)
- New user profile screen for the “codes”
- Display all codes for user
- Generate a random code (automatically done if none is existing yet for the active code-type)
- Re-use existing code for user by entering (or scanning) it manually
- User specific settings to configured allowed start and end working time (user can only clock in between these times)
- Supports the following 1D barcodes:
Code 128
Code 39
-
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)
- Optional: show active / inactive users in login screen
- Many CSS classes to customize the look with Custom CSS Bundle
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.
Hardware
This is NOT a hardware recommendation, but more an idea for possible use-cases.
I tried the linked products and even though all scanner are rather cheap, they work without problems.
- Raspberry PI setup with touch screen (eg. for wall mount)
- RFID scanner by Neuftech (desktop version)
- RFID scanner by KKMoon (desktop version)
- Barcode scanner which can also scan codes from mobile phones (desktop version)
- Barcode scanner classic hand-held version
The above are affiliate links for Amazon (germany) where I bought them myself.
Configuration
You have to configure the bundle before you can use it - you reach the configuration via
- the
Plugin
screen (Preferences
in action dropdown behind the plugin) - the Kiosk administration (cogs icon in the upper right)
- the System configuration (
Kiosk & Barcode
section)
The following configurations are available:
Configuration | Description |
---|---|
Login mode |
whether to use camera or usb mode |
Code 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 |
Permissions
This bundle introduces new permissions, which limit access to certain functions:
Permission Name | Description |
---|---|
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 ROLE_SUPER_ADMIN
.
Installation
Copier les fichiers
Extract the ZIP file and upload the included directory and all files to your Kimai installation to the new directory:
var/plugins/KioskBundle/
The file structure needs to look like this afterwards:
var/plugins/
├── KioskBundle
│ ├── KioskBundle.php
| └ ... more files and directories follow here ...
Effacer le cache
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:
How to reload Kimai cache
bin/console kimai:reload --env=prod
It is not advised, but in case the above command fails you could try:
rm -r var/cache/prod/*
You might have to set file permissions afterwards:
Adjust file permission
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/
Créer une base de données
Run the following command:
bin/console kimai:bundle:kiosk:install
This will create the required database tables and update them to the latest version.
There are no commands defined in the "kimai:bundle:XYZ" namespace.
,
then either the directory has a wrong name (must be var/plugins/KioskBundle/) or you forgot to clear the cache (look above).
Installer les actifs
The following command will install the required assets (images, javascripts, styles):
bin/console assets:install
Mises à jour
Updating the plugin works exactly like the installation:
- Delete the directory
var/plugins/KioskBundle/
-
Execute all installation steps again:
- Copier les fichiers
- Effacer le cache
- Update database with
bin/console kimai:bundle:kiosk:install
- Update assets with
bin/console assets:install
Le tableau suivant contient une comparaison entre le greffon et la version minimale requise de Kimai.
Version groupée | Version minimale de Kimai |
---|---|
2.5.0 | 2.1.0 |
2.4.0 | 2.0.33 |
2.3.0 - 2.3.1 | 2.0.29 |
2.2.1 | 2.0.20 |
2.0 - 2.2.0 | 2.0 |
1.9 | 1.15 |
1.7 | 1.14 |
Vous pouvez tester ce greffon à l'adresse suivante demo.kimai.org:
Nom d'utilisateur: susan_super
Mot de passe: kitten
Captures d'écran
Acheter
Read more about the license for this item here
You can buy the plugin via Lemon Squeezy (CreditCard, instant access) or from the developer (bank-transfer, up to one week)
Support-questions, bug-reports and feature-requests will be answered in this Github repository