Invoicing with automatic PDF timesheets

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

Kevin Papst
Offered by
Kevin Papst

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.

Additional formats

This plugins ships renderer for other invoice template formats, such as:

  • JSON: with the file extension .json.twig
  • XML: with the file extension .xml.twig
  • PlainText: with the file extension .txt.twig

You can find pre-made templates for these renderer at https://github.com/kimai/invoice-templates/tree/main/data-transfer

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

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/InvoiceBundle/
  • Execute all installation steps again:
    • Copy files
    • Clear cache

Changelog

Version 2.1.1

Compatibility: requires minimum Kimai 2.1.0

  • Changed: import Route attribute from correct namespace
  • Changed: use bundle identifier to load routes

Version 2.1.0

Compatibility: requires minimum Kimai 2.1.0

Use annotation type for routes

Version 2.0.3

Compatibility: requires minimum Kimai 2.0.0

Added: use -timesheet.pdf instead of .pdf as filename

Demo

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

Username: susan_super
Password: password

Find more test accounts here.

Screenshots

Screenshot
The new configuration settings for export template and format language
Screenshot
New invoice settings for format language and export template

FAQ

These FAQs are provided by the developer of this offer.

You can buy the plugin via the Marketplaces 'Lemon Squeezy' or 'Gumroad' and pay with Credit Card or PayPal. Both offer instant access to the purchases.

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