Skip to content

Add personio sync plugin to store/marketplace #543

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions _data/developer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -175,3 +175,13 @@ lnngyn:
description: Software developer and Totoro lover
image: https://avatars.githubusercontent.com/u/112909403?v=4
github: https://github.com/lnNgyn1

unicorn-development:
name: Unicorn Development AG
description: IDM, Customer portal and data integration experts
intro: Project maintainer and core developer since 2007. Wants to make Kimai the best open-source time-tracker of the world. Can be hired for support, installations and custom plugin development.
image: /images/layout/avatar/unicorn-development.webp
homepage: https://www.unicorn-development.de
github: https://github.com/unicorn-development
linkedin: https://www.linkedin.com/company/unicorn-development-ag/
email: [email protected]
11 changes: 11 additions & 0 deletions _data/en/store.yml
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,9 @@ items:
owlysk-codetimer-mobile:
title: CodeTimer Mobile
intro: Android client for Kimai (free and open-source)
unicorn-development-personio:
title: Personio Sync
intro: If you use Personio for your time accounting, push recorded Kimai timesheets as a worktime summary to Personio time accounting
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ChatGPT: If you use Personio for time accounting, you can seamlessly transfer recorded Kimai timesheets as a worktime summary to Personio.

Can you also add German, as I guess that is the biggest market.

screenshots:
cloudrizon-kimai-mobile-app-android0:
description: Start screen of the app
Expand Down Expand Up @@ -277,3 +280,11 @@ screenshots:
description: Timesheet listing of your recent records
owlysk-codetimer-mobile-screen2:
description: Configure your Kimai connection settings
unicorn-development-personiosync-user:
description: Personio user time accounting overview
unicorn-development-personiosync-admin:
description: Personio admin time accounting overview
unicorn-development-personiosync-user-detail:
description: Personio user time accounting detail view
unicorn-development-personiosync-admin-detail:
description: Personio admin time accounting detail view
10 changes: 9 additions & 1 deletion _data/screenshots.yml
Original file line number Diff line number Diff line change
Expand Up @@ -169,4 +169,12 @@ lnngyn-period-insert-bundle0:
owlysk-codetimer-mobile-screen1:
src: "/images/marketplace/owlysk-codetimer-mobile-screen1.webp"
owlysk-codetimer-mobile-screen2:
src: "/images/marketplace/owlysk-codetimer-mobile-screen2.webp"
src: "/images/marketplace/owlysk-codetimer-mobile-screen2.webp"
unicorn-development-personiosync-user:
src: "/images/marketplace/unicorn-development-personiosync-user.webp"
unicorn-development-personiosync-admin:
src: "/images/marketplace/unicorn-development-personiosync-admin.webp"
unicorn-development-personiosync-user-detail:
src: "/images/marketplace/unicorn-development-personiosync-user-detail.webp"
unicorn-development-personiosync-admin-detail:
src: "/images/marketplace/unicorn-development-personiosync-admin-detail.webp"
2 changes: 2 additions & 0 deletions _data/store/releases/PersonioSyncBundle.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
versions:
- [ "1.0", "2.0" ]
14 changes: 14 additions & 0 deletions _data/store/unicorn-development-personio.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
developer: unicorn-development
icon: fas fa-person-circle-check
demo: false
subscription: 499 €
shop: "https://store.unicorn-development.de/buy/bd31e00b-f6a7-467c-a45a-2951a0c25103"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This store is not yet activated, please ping me when it happened

tags: [ plugin, sync ]
bundle:
name: "PersonioSyncBundle"
purchase: true
screenshots:
- unicorn-development-personiosync-user
- unicorn-development-personiosync-admin
- unicorn-development-personiosync-user-detail
- unicorn-development-personiosync-admin-detail
51 changes: 51 additions & 0 deletions _includes/store/unicorn-development-personio.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
## Description

This plugin integrates a Kimai installation into [Personio](https://worksimple.personio.de/) a SaaS HR/HCM and process automation solution. Personio offers the ability to account employee working hours. This functionality is partly overlaping with Kimai functionality. Use of this plugin avoids the neccassity that users have to enter data twice (Kimai and Personio) to account for working hours.

Timesheets are consolidated against overlappings and then transferred to Personio. Information about the linked Personio time accounting is stored. This way a differential sync is possible after the initial sync to speedup the sync process. Each time a timesheet within Kimai is changed the according Personio time accounting entries are updated during the sync job run.

The project entity within Personio is not used, synced or linked to the transferred entries.

## Installation

After installation (see Installation), open 'PersonioSyncBundle\Resources\config\services.yaml' and enter your personio client id and client secret.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make it a SystemConfiguration, so it can be edited via UI


To communicate with Lexoffice however, you need to install GuzzleHttp:
(run this command on /var/www/kimai, NOT /var/www/kimai/var/plugins)
```bash
composer require guzzlehttp/guzzle
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use symfony/http-client instead

```

We are currently working on removing GuzzleHttp as a dependency.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can wait until v3, which will allow to install plugins via composer and make dependency management more streamlined, but for now the best approach is to use the included dependencies.


Keep in mindo to rebuild the cache:
```bash
bin/console kimai:reload -n
```

{% include snippets/composer-update-warning.md %}

## Usage

Navigate to kimai:
```bash
cd /var/www/kimai
```

Execute the plugin command to execute the sync or plan it as a cronjob:
```bash
bin/console kimai:bundle:personio-sync:sync-attendances
```

To remove all links to Personio in Kimai, the following command can be used:
```bash
bin/console kimai:bundle:personio-sync:reset-sync-state
```

## Support

If you need help setting this plugin up or have any feature requests our commercial support is available at [[email protected]](mailto:[email protected])

## Legal notice

All product names, trademarks and registered trademarks (e.g. Personio) are property of their respective owners. All company, product and service names used in this website are for identification purposes only. Use of these names,trademarks and brands does not imply endorsement.
7 changes: 7 additions & 0 deletions collections/_store/unicorn-development-personio.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: Personio Sync
type: plugin
lang: en
---

{% include store/unicorn-development-personio.md %}
Binary file added images/layout/avatar/unicorn-development.webp
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.