Compatible with Kimai 2.0

Audit trail logs

Records detailed change/audit logs for timesheets, customers, projects and activities and displays them in a per-item timeline.

Kevin Papst
Offered by
Kevin Papst

Find out who changed what and when: record and visualize the changes on timesheets, customers, projects, activities, users, system configurations and invoices.

Features

A global audit-trail page, listing all recorded changes with username, change datetime, item type and link to detail page.

Actions for each of the following items:

  • Timesheets
  • Customers
  • Projects
  • Activities
  • Invoices

Introduces a new screen for each of the above items, with all recorded changes and each log entry containing the following information:

  • username
  • date-time
  • type of change (create, update, delete)
  • changed fields (see list below)

The change history will be recorded for the following fields:

  • Timesheet: begin, end, duration, timezone, user, activity, project, description, rate, fixedRate, hourlyRate, exported, billable, internalRate, category, modifiedAt
  • Customer: name, number, comment, visible, company, contact, address, country, currency, phone, fax, mobile, email, homepage, timezone, fixedRate, color, budget, timeBudget, vatId
  • Project: customer, name, orderNumber, comment, visible, budget, fixedRate, hourlyRate, color, budget, timeBudget, start, end, timezone
  • Activity: project, name, comment, visible, fixedRate, hourlyRate, color, budget, timeBudget
  • User: username, email, enabled’, roles, alias, title, avatar, password_requested_at, auth, registration_date
  • System configuration: name, value
  • Invoice: customer, user, invoiceNumber, createdAt, timezone, total, tax, currency, status, dueDays, vat, invoiceFilename

Be aware:

  • This bundle needs to be installed and activated to keep track of the change history, previous changes are not available.
  • Not all entities and fields will be recorded, please read the above list carefully.
  • The “Audit logs” link is not available under “My timsheets” to prevent potential information leaks.
  • Certain batch updates (e.g. setting the exported flag of multiple timesheets during export) cannot be recorded, as those are executed directly via database

Changelog

## Version 2.4.0

Compatibility: requires minimum Kimai 2.5.0

- Changed: moved some translations to core allowing more languages
- Changed: replaced most Gedmo code with own implementation
- Changed: bump PHPStan from level 7 to level 9

## Version 2.3.0

Compatibility: requires minimum Kimai 2.3.0

- Fixed: date formatting failed for timesheets
- Fixed: accessing entries without object ids
- Fixed: added missing listener calls

## Version 2.2.0

Compatibility: requires minimum Kimai 2.1.0

- Changed: use annotation type for routes (deprecation)
- Changed: convert to Doctrine listener (deprecation)

## Version 2.1.0

Compatibility: requires minimum Kimai 2.0.33

- Fixed: possible pagination issue

## Version 2.0.6

Compatibility: requires minimum Kimai 2.0.20

- Added: Hint in README about batch updates
- Fixed: removed "plugin" from permission header

## Version 2.0.5

Compatibility: requires minimum Kimai 2.0.20

- Fixed: compatibility with Kimai 2.0.20 and Tabler Beta 19
- Added: title for Audit screen of invoices

## Version 2.0.4

Compatibility: requires minimum Kimai 2.0.9

- Added: upgrade item actions to use v2 API

## Version 2.0.3

Compatibility: requires minimum Kimai 2.0.9

- Fixed: possible error for deleted users in timesheet listing

## Version 2.0.2

Compatibility: requires minimum Kimai 2.0.9

- Added: identify listener for auto-deactivation during batch imports

## Version 2.0.1

Compatibility: requires minimum Kimai 2.0

- Fixed: deprecations with Kimai 2.0.2

## Version 2.0

Compatibility: requires minimum Kimai 2.0

- Fixed: compatibility with Kimai 2.0

## Version 1.18

Compatibility: requires minimum Kimai 1.16.10

- Added: Polish translations - thanks @KonradMazur

## Version 1.17

Compatibility: requires minimum Kimai 1.16.10

- Fixed: query speed for entries with multiple parallel changes

## Version 1.16

Compatibility: requires minimum Kimai 1.16.10

- Added: new fields
    - Customer: `billable`
    - Project: `billable` and `invoiceText`
    - Activity: `billable` and `invoiceText`
- Fixed: activity details for global activity cause a 500 error

## Version 1.15

Compatibility: requires minimum Kimai 1.16.10

- changed translation for next kimai release
- added comment field to invoice

## Version 1.14

Compatibility: requires minimum Kimai 1.16.7

- Fixed: missing token in invoice audit log screen
- Changed: Using changed translation keys

If you install this on earlier Kimai versions, you will experience missing translations in Audit-Log screens.

## Version 1.13

Compatibility: requires minimum Kimai 1.15

- Added: access audit logs for own timesheet via `audit_own_timesheet` from "my timesheet" view

## Version 1.12

Compatibility: requires minimum Kimai 1.15

- Added: record User columns: `color`, `accountNumber`
- Added: record Customer column: `budgetType`
- Added: record Project column: `budgetType`
- Added: record Activity column: `budgetType`
- Fixed: definitions for new Kimai version

## Version 1.11.1

Compatibility: requires minimum Kimai 1.14

- Fixed: Cache clear problem during update
- Fixed: Added missing translations
- Fixed: Display deleted users
- Fixed: Page actions

## Version 1.11

Compatibility: requires minimum Kimai 1.14

**Database changes! Execute the installer with `bin/console kimai:bundle:audittrail:install`**

- Added: Keep audit log of custom-fields: Timesheets, Customer, Project, Activity
- Added: Keep audit log of user-preferences
- Added: Cross-linking changes which were executed at the same time (eg. link custom-fields to entities)
- Fixed: Compatibility with entity actions in Kimai 1.14
- Fixed: PHP 8 compatibility

## Version 1.10

Compatibility: requires minimum Kimai 1.11

- Added: Using bundle installer to unify workflow
- Added: More documentation
- Fixed: Composer 2 compatibility

## Version 1.9

Compatibility: requires Kimai 1.10

- Unified audit log detail pages and titles
- Highlight Audit-Log menu when opening detail page
- Added search filter for action (create, update, delete)
- New tracked fields:
    - Timesheet: `category`, `billable`, `internalRate`
    - User: `auth`, `password_requested_at`
- New tracked entity:
    - Invoice: `customer`, `user`, `invoiceNumber`, `createdAt`, `timezone`, `total`, `tax`, `currency`, `status`, `dueDays`, `vat`, `invoiceFilename`
- Fixed: opening the detail page for a deleted item resulted in a 500 error
    - Removed action links from detail pages for deleted items
- Fixed: directory separator for Windows installer
- Fixed: translation issue
- Fixed: Deprecation in Pagerfanta

## Version 1.8

Compatibility: requires Kimai 1.7

**Database changes! Execute the installer again**

- record the timezone of a change, to exactly show when a change happened
- added support to see changed configurations
- fix row click in overview opens wrong item
- fix search query

## Version 1.7

Compatibility: requires Kimai 1.7

- display audit logs for deleted items
- new permission `audit_user`
- record `vatId` for customer
- record `start`, `end`, `timezone`,  for projects
- record `user` object changes
- record `system configuration` changes (no display yet)

## Version 1.6

Compatibility: requires Kimai 1.7

- added own permission section for "user roles & permission screen"
- added click handler to table, to directly open one audit log without using the actions menu

## Version 1.5

- Improve permission handling (auto register for ROLE_SUPER_ADMIN, as preparation for Kimai 1.6)

## Version 1.4.2

- Fix version numbers
- Updated changelog

## Version 1.4.1

- Fix overview page for empty logs

## Version 1.4

- Fix column visibility
- Updated docs
- API changes for Kimai 1.4

## Version 1.3

- Code style formattings
- Changes for Kimai 1.3
- Added Audit log page with overview of all entries

## Version 1.2

- Improved change time display
- Added installation command

## Version 1.1.1

- Changes required for Kimai 1.1

## Version 1.0

- First release for Kimai 1.0

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/AuditTrailBundle/

The file structure needs to look like this afterwards:

var/plugins/
├── AuditTrailBundle
│   ├── AuditTrailBundle.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:audittrail:install

This will create the required database tables and update them to the latest version.

Updates

Updating the plugin works exactly like the installation:

  • Delete the directory var/plugins/AuditTrailBundle/
  • Execute all installation steps again:
    • Copy files
    • Clear cache
    • Update database with bin/console kimai:bundle:audittrail:install

Compatibility

The following table contains a comparison between plugin and required minimum Kimai version.

Bundle version Minimum Kimai version
2.4.0 2.5.0
2.3.0 2.3.0
2.2.0 2.1.0
2.1.0 2.0.33
2.0.5 - 2.0.6 2.0.20
2.0.2 - 2.0.4 2.0.9
2.0.2 2.0.9
2.0.1 2.0
1.13 1.15
1.11.1 1.14

Demo

You can test this plugin at demo.kimai.org:

Username: susan_super
Password: kitten

Find more test accounts here.

Screenshots

Screenshot
The overview page of all audit trail logs
Screenshot
An audit trail can look like this, each change will be recorded and you might see more entries in a object timeline
Screenshot
You access a detailed audit log from the listing page or from the data-table 'Actions' dropdown of each item

Purchase

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

Offered by

Kevin Papst

Building Kimai since 2009

If you have any question, please use the following contact information to get in touch with the developer directly.
Top