Logo - Keleo

Keleo

Software development company founded by Kevin Papst

Screenshots
Click to enlarge
Keep track of your expenses and include them in your invoices.
Last update: 14 Sep 2019

A Kimai 2 plugin, which allows to keep track of your expenses based on customer, project and activity. These spendings can be categorized and included in your invoices (generated by Kimai).

You can test it in the “Plugins” demo.

Features

  • Record all your expenses and show them in a table view
    • The data can be searched- and filtered (see screenshots)
  • All (refundable) expenses will be automatically included in your invoices
  • Manage expenses via API

Expenses are sorted into free configurable types (categories). Each type has a:

  • name
  • visibility flag
  • default cost

Each expense has the following fields:

  • category
  • user
  • project (and customer)
  • activity
  • a begin and end date
  • a free description
  • the cost (can be hidden for default user, if you use default cost via category types)
  • an amount (you can see it as mathematial multipler, use 1 if you want to charge the cost only)
  • a flag whether this expense is refundable (non-refundable will not be added to your invoices)
  • an export flag, to make sure each expense is invoiced only once

Purchase

Installation

This plugin is compatible with the following Kimai releases:

Bundle version Kimai 2 version
1.4 1.6.1
1.3 1.6
1.2 1.4
1.1 1.4
1.0 1.3

Copy the 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 like like this afterwards:

var/plugins/
├── ExpensesBundle
│   ├── ExpensesBundle.php
|   └ ... more files and directories follow here ... 

Rebuild the cache

After uploading the files, Kimai needs to know about the new plugin. It will be found, once the cache was re-built:

cd kimai2/
bin/console cache:clear --env=prod
bin/console cache:warmup --env=prod

Install the bundle database

Run the following command:

bin/console kimai:bundle:expenses:install

This will install all required databases.

First test

When logged in as SUPER_ADMIN, you will now see the expenses administration screen at /en/expenses/.

If this was successful, you can now think about giving permissions to other users as well.

Setup categories

Before you can start tracking expenses, you will have to create at least one visible category. You will be redirected to the category creation screen if Kimai doesn’t find one.

Permissions

This bundle ships a couple of new permissions, which limit access to certain functionalities:

  • view_expense - allows access to the expenses screen
  • view_expense_other -see other users expenses
  • edit_expense - edit existing expenses
  • edit_expense_cost - edit the cost of a single expense (can be deactivated for user, when the category has a default cost)
  • create_expense - create new expenses
  • delete_expense - delete existing expenses
  • manage_expense_category - manage expense types

By default, these are assigned to each user with the role ROLE_SUPER_ADMIN.

Read how to assign these permission to your user roles in the permission documentation.

This example is for customers who have a restricted setup and want to provide default costs via the expense types:

kimai:
    permissions:
        roles:
            ROLE_SUPER_ADMIN: ['view_expense', 'view_expense_other', 'edit_expense', 'create_expense', 'delete_expense', 'manage_expense_category', 'edit_expense_cost']
            ROLE_ADMIN: ['view_expense', 'view_expense_other', 'edit_expense', 'create_expense', 'delete_expense', 'manage_expense_category', 'edit_expense_cost']
            ROLE_TEAMLEAD: ['view_expense', 'view_expense_other', 'edit_expense', 'create_expense', 'delete_expense']
            ROLE_USER: ['view_expense', 'edit_expense', 'create_expense', 'delete_expense']

If you want your user to be able to edit the cost and amount add the edit_expense_cost permission to ROLE_TEAMLEAD and ROLE_USER.

After changing the permissions in local.yaml, you need to clear the application cache.

Updating the plugin

Updating the bundle works the same way as the installation does.

  • Delete the directory var/plugins/ExpensesBundle/ (to remove deleted files)
  • Execute all installation steps again:
    • Copy files
    • Clear cache
    • Update database with bin/console kimai:bundle:expenses:install

Screenshots

The overview page of all expenses:

Screenshot

The category management:

Screenshot

You can search through all existing expense records:

Screenshot

When creating a new expense, you can record the following fields:

Screenshot

All items by Keleo

Audit-Trail plugin

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

Custom-fields plugin

Create free configurable additional (optional and mandatory) fields for timesheets, customers, projects and activities in various formats.
plugin
49€

Expenses plugin
New

Keep track of your expenses based on customer, project and activity. These spendings can be categorized and included in your invoices.
plugin
49€
Custom CSS plugin
plugin
free
Fail2Ban plugin
plugin
free
Installation & Update support
support
upon request
Recalculate rates plugin
plugin
free