Importer (CSV and JSON)

Allows importing CSV files through an administration screen.

Kevin Papst
Offered by
Kevin Papst

You can import the following CSV data:

  • Timesheet
  • Clockify (Timesheet)
  • Toggl Track (Timesheet)
  • Project
  • Customer
  • Grandtotal (Customer)
  • Kimai v1

Supported formats: CSV and JSON

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

The file structure needs to look like this afterwards:

var/plugins/
├── ImportBundle
│   ├── ImportBundle.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/

You might not need these commands in a shared-hosting environment. And you probably need to prefix them with sudo and/or the group might be called different from www-data.

Updates

Updating the plugin works exactly like the installation:

  • Delete the directory var/plugins/ImportBundle/
  • Execute all installation steps again:
    • Copy files
    • Clear cache

Changelog

Version 2.17.0

Compatibility: requires minimum Kimai 2.21.0

  • Fixed: missing duration caused 0 duration
  • Fixed: missing duration caused “undefined index”
  • Fixed: missing description caused “undefined index”

Version 2.16.0

Compatibility: requires minimum Kimai 2.21.0

  • Removed “end date” from project import example
  • PHPStan v2 with strict and deprecation rules
  • Updated documentation

Version 2.15.0

Compatibility: requires minimum Kimai 2.21.0

  • Refactoring: Use attributes for importer service injection
  • Refactoring: Use new repository and query methods
  • Refactoring: Activate PHPStan bleeding edge rules

Version 2.14.0

Compatibility: requires minimum Kimai 2.17.0

  • Allow 4MB upload file size and 5000 rows per file
  • Deactivate timesheet validators during Kimai1 import: TimesheetLockdown, TimesheetLongRunning, TimesheetZeroDuration

Version 2.13.0

Compatibility: requires minimum Kimai 2.17.0

  • Support importing seconds
  • Fixed Clockify duration import rounding issue (see #4838)
  • Added quick links from Customer and Project listing

Version 2.12.0

Compatibility: requires minimum Kimai 2.11.0

  • Added: toggl timesheet importer
  • Added: format a few value types in preview
  • Added: internal API improvements
  • Fixed: user column name detection in timesheet importer
  • Fixed: removed translated column header detection in timesheet importer (caused too many problems)

Version 2.11.0

Compatibility: requires minimum Kimai 2.11.0

  • Added: Validate Hourly/Internal/Fixed rate
  • Changed: Translate detected column headers

Version 2.10.0

Compatibility: requires minimum Kimai 2.11.0

  • Simplify timesheet example data to prevent confusion
  • Fix Doctrine deprecations

Version 2.9.0

Compatibility: requires minimum Kimai 2.5.0

  • Fixed: timesheet importer created project multiple times (if it existed under the same name multiple times)
  • Change: import route annotation from correct namespace

Version 2.8.0

Compatibility: requires minimum Kimai 2.5.0

  • Added: new created users during import require to change password
  • Changed: Improved error message upon wrong mimetype

Version 2.7.0

Compatibility: requires minimum Kimai 2.5.0

  • Changed: moved some translations to core, allowing more languages
  • Fixed: column “Rate” is not required for timesheets

Version 2.6.0

Compatibility: requires minimum Kimai 2.4.0

  • Improved importing visible flags for customers and projects
  • Support Kimai Export CSV for import
  • Improve user mapping (and support setting the Alias during import)
  • Added logging for simpler debugging

Version 2.5.1

Compatibility: requires minimum Kimai 2.1.0

Fixed: Column “Billable” is not correctly imported

Version 2.5.0

Compatibility: requires minimum Kimai 2.1.0

Use annotation type for routes

Version 2.4.0

Compatibility: requires minimum Kimai 2.0.30

Added: skip some validations during timesheet import

Demo

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

Username: susan_super
Password: password

Find more test accounts here.

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