Offered by

Logo - Kevin Papst

Kevin Papst

Freelancer, PHP professional and Kimai maintainer since 2007

If you have any question, visit the developers homepage or use the email for direct contact .

Try it

You can test this plugin at https://demo-plugins.kimai.org:

Username: susan_super
Password: kitten

Find more test accounts here.

Enhanced invoicing features: change locale for money and date values, automatic timesheet proof PDF for new invoices.

You can test the Plugin in the Plugin demo.

Features

This bundle has the following features:

  • Automatic generation of a PDF with all contained timesheets
  • Configuration of a global language, which is used to format all invoices data (money, date, time).

You configure both settings via the global System > Settings screen or from the “Invoice settings” screen.

Automatic timesheet PDF

When creating a new invoice, another PDF will be created, which contains a summary grouped-by-project (on the first page) and the list of all contained timesheets (on the following pages).

The file can be downloaded on the invoice archive listing page, from the Timesheet action in the dropdown.

You could generate the same PDF using the export function in Kimai, but that requires manual steps:

  • changing to the export
  • filtering the exact same timesheets
  • creating the export
  • renaming the file to match the invoice

The used “export template” for this feature can be configured.

This feature needs to be activated by choosing an export template. By selecting the empty entry it can be deactivated again.

Data format language

In the core system of Kimai, you configure the language for an invoice via its template. Then this language is used for translations and also for the formatting of data.

This behavior might not be desired if you export invoice data e.g. to JSON and use that as input for further processing. Or if you translate your invoice to english for cross-country sales but still want to use your countries formats.

Without choosing a language the default behaviour is used.

Purchase

You can buy this item from the developer with a regular EU-invoice or via Gumroad (platform for selling digital goods). Please create an account during your purchase to receive software updates. Read more about the license and purchase options.

Every customer gets free access to a private GitHub repository (like a forum) for support and access to the latest updates. Sent your GitHub username and your purchase receipt to kevin@kevinpapst.de and you will receive an invitation soon!

Screenshots

Installation

Compatibility

Plugins should always be compatible with higher Kimai versions, the following list contains the plugin version and the required minimum Kimai version.

Bundle version Minimum Kimai version
1.1 - 1.2 1.17.1
1.0 1.17

Copy files

Extract the ZIP file and upload the included directory and all files to your Kimai installation to the new directory:

var/plugins/InvoiceBundle/

The file structure needs to look like this afterwards:

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

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 www-data.

Updates

Updating the plugin works exactly like the installation:

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