Compatible with Kimai 2.0

Expense management

Keep track of your expenses based on customer and project. These expenses can be categorized and included in your invoices.

Kevin Papst
Offered by
Kevin Papst

Features

  • Record all your expenses and show them in a table view
    • The data can be searched- and filtered (see screenshots)
  • All (billable) expenses will be automatically included in your invoices
    • Negative amounts allow for complex bookings, budget and invoice adjustments
  • Manage expenses via API
  • Export expenses in: Excel, PDF, HTML
  • Support for custom-fields (see Custom-fields plugin)
  • Include expenses in Kimai export module
  • Import expenses from Kimai 1

Expenses will be assigned to free configurable categories and each category has:

  • name
  • visibility flag
  • default cost
  • color
  • help text (will be shown when creating an expense)
  • description (will be copied into the expense description upon selection)

Each expense has the following fields:

  • a date-time
  • category (see above)
  • user
  • project (and customer)
  • activity (optional)
  • description (free text field)
  • the cost (can be hidden for default user, if you use default cost via category)
  • an amount (see it as multiplier, use 1 if you want to charge the cost only)
  • a billable flag (non-billable expenses will not be added to your invoices)
  • an export flag (to make sure, that each expense will be invoiced only once)

Importing from Kimai v1

This bundle supports data import from Kimai v1, but you need to imported the other data (like customers) first.

An example for the import command:

bin/console kimai:bundle:expenses:import-v1 "mysql://username:password@127.0.0.1:3306/database?charset=utf8" "kimai_"

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

The file structure needs to look like this afterwards:

var/plugins/
├── ExpensesBundle
│   ├── ExpensesBundle.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:expenses: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/ExpensesBundle/
  • Execute all installation steps again:
    • Copy files
    • Clear cache
    • Update database with bin/console kimai:bundle:expenses:install

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

Bundle version Minimum Kimai version
2.4.0 2.1.0
2.3.0 2.0.33
2.2.3 2.0.26
2.1.4 - 2.2.2 2.0.9
2.0 - 2.1.3 2.0
1.24 1.15

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

Username: susan_super
Password: kitten

Find more test accounts here.

Screenshots

Screenshot
Paginated listing of all recorded expenses
Screenshot
Your expenses can be filtered with the search found in multiple Kimai screens
Screenshot
Editing or creating a new expense allows you to enter these fields
Screenshot
Expenses are categorized to have a better overview and filtering options
Screenshot
You can set a name, cost factor and a short help-text for each category

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