Custom fields
Create free-configurable additional fields for timesheets, customers, projects, activities and users in various formats. Fields can be optional or mandatory and restricted by permissions.

Kevin Papst
Allows configuration of additional (custom) fields for:
Timesheets
, Customers
, Projects
, Activities
, Invoices
, User
, Expenses
(see plugin).
Features
You can create as many fields as you want for each data type, where each field:
- is either optional or mandatory
- can be restricted to users with certain permissions or roles
- can be described with a name and help text
- has a maximum length of 65535 character
The custom-field data is then available in:
- Data-tables will display all visible fields
- Exports (HTML and Spreadsheets include all visible fields)
- Timesheet exports (include visible timesheet fields)
- API (collections and entities)
- Invoice templates (custom templates have access to all fields)
You can change the “weight” of custom-fields, so they show up in the order you define.
Be aware:
- Sensitive data can be configured as “invisible”, so it will not show up in the previously mentioned places
- Weekly-hours does NOT support custom fields
- User preferences (custom fields for users) are not exported by the API (this is a limitation in the core application)
- User preferences have a maximum length of 250 character
Field types
Custom fields can be of the following type:
string
, integer
, number
, duration
, money
, language
, currency
, country
, color
, date
, datetime
, email
, textarea
, invoice template
, checkbox
, choice-list
More about those in the documentation.
Installation
Copy files
Extract the ZIP file and upload the included directory and all files to your Kimai installation to the new directory:
var/plugins/MetaFieldsBundle/
The file structure needs to look like this afterwards:
var/plugins/
├── MetaFieldsBundle
│ ├── MetaFieldsBundle.php
| └ ... more files and directories follow here ...
Clear 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/
Create database
Run the following command:
bin/console kimai:bundle:metafields: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/MetaFieldsBundle/) or you forgot to clear the cache (look above).
Updates
Updating the plugin works exactly like the installation:
- Delete the directory
var/plugins/MetaFieldsBundle/
-
Execute all installation steps again:
- Copy files
- Clear cache
- Update database with
bin/console kimai:bundle:metafields:install
The following table contains a comparison between plugin and required minimum Kimai version.
Bundle version | Minimum Kimai version |
---|---|
2.2.0 | 2.1.0 |
2.0.7 - 2.1.0 | 2.0 |
1.24 | 1.17 |
1.20 | 1.15 |
1.17 | 1.14 |
You can test this plugin at demo.kimai.org:
Username: susan_super
Password: kitten
Screenshots
Purchase
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