Find production-ready solutions for your business

10 Kimai Customizations to Ask Your Vibe-Code Agent For

October 4, 2026 ·

Kimai is clean out of the box, which also means it is generic. Almost everything about it — invoice templates, fields, roles, colors — can be bent to the way your business actually runs. The vibe-code agent can read the configuration, install plugins, and edit templates directly on your server. Here are ten customizations to ask for, ordered from safe to ambitious.

1. Tune the global settings to your locale

Timezone, first day of the week, date and duration formats — these decide how every screen and export reads, and they are set once, centrally. The agent walks the system settings with you, changes only what you actually care about, and shows the before and after on a sample timesheet so you can confirm the formats read the way your team expects. Say: “Set the server to Europe/Berlin, start weeks on Monday, and show durations as decimal hours in exports.”

2. Rebrand the interface with custom CSS

Kimai supports a custom CSS plugin that restyles the UI without forking anything. Colors, the login page text, hiding elements your team never uses — all fair game, and upgrade-safe because it rides the plugin system instead of patching core files. The agent installs the plugin, writes the stylesheet against your brand guide, and previews each change with you. If a future update shifts the page structure and a selector stops matching, the agent notices and fixes the stylesheet — that ongoing care is the real value. Say: “Install the custom CSS plugin and restyle Kimai with our brand colors, then replace the login screen text with our company name.”

3. Add custom fields to customers, projects, and timesheets

Out of the box a customer has a name and an address; your business probably wants a purchase order number, an account manager, or a risk level. Kimai’s custom fields plugin adds exactly these, and they show up in forms and listings like they were always there. The agent installs it, defines the fields with the right types, and wires them into the screens where your team will actually see them. Say: “Add a purchase-order field to customers and a risk-level field to projects, and show both in the project list.”

4. Build roles that match your org chart

The default roles — user, teamlead, admin — are coarse. A project-manager role that can edit and approve anyone’s timesheets but cannot see invoices or rates takes the permissions screen from confusing to deliberate. The agent builds the role, assigns test users, and verifies each boundary with you instead of trusting the checkbox labels. Say: “Create a Project Manager role that can edit everyone’s timesheets but can’t open invoices or change rates, and give it to Dana.”

5. Ship an invoice template that looks like you

Kimai renders invoices from templates you can copy and adapt: layout, logo, bank details, line items grouped by activity or by day. The agent duplicates the built-in template, edits it to your letterhead, and generates a sample invoice from real entries so you judge the result, not a mockup. Fonts and spacing are the fiddly part here, so budget an iteration or two. Say: “Create an invoice template matching our letterhead: logo at the top, IBAN in the footer, and one section per activity with subtotals.”

6. Configure numbering, VAT, and payment terms

Invoice number format, tax rates, due dates, and the address block live in Kimai’s invoice settings and template options. Getting numbering right once — a format with year and counter — saves you from the duplicate-number headache at tax time. The agent sets it up and generates two test invoices to prove the sequence increments the way your accountant expects. Say: “Configure invoice numbers as INV-{year}-{counter} starting at 001, add 19 percent VAT, and set payment terms to 14 days.”

7. Harden the server around Kimai

Kimai is only as safe as the box it runs on. The agent can force HTTPS, add the standard security headers, pin fail2ban to the login endpoint, and check that the database port is not exposed to the world. It can also review the environment file for defaults that should be real secrets and tell you plainly what it changed. None of this touches Kimai’s code, so upgrades stay painless. Say: “Force HTTPS on the whole vhost, add security headers, and point fail2ban at the Kimai login so repeated failures get banned.”

8. Open the API for your integrations

Kimai’s JSON API is how every scheduled workflow talks to the app, and each user gets an API password from their profile. The agent creates the credentials, documents the handful of endpoints you will actually use, and leaves you a working curl example against your own server so the first integration starts from something proven. Say: “Set up an API password for my account and give me a curl command that lists this week’s timesheets as JSON.”

9. Put maintenance and upgrades on rails

Kimai needs its scheduled jobs checked and an upgrade path that is not “panic at the release notes”. The agent verifies the cron entries, walks you through a staged upgrade — backup, pull, database migrations, smoke test — and writes the runbook into a file on the server for the next time you do it yourself. Say: “Verify the cron jobs Kimai needs are running, and walk me through the next upgrade with a backup first.”

10. Localize per user and set the working calendar

Kimai speaks dozens of languages and each user picks their own, which matters more than it sounds for adoption across a mixed team. The working-hours plugin adds contracts, absences, and a public-holiday calendar on top, so monthly balances compute themselves instead of in a spreadsheet. The agent installs it and loads your region’s holidays. Say: “Set German as the default language, give Luis Spanish, and set up the working-hours calendar with our national holidays.”

Start with one setting and one role — small, reversible changes teach you how the agent works before you let it touch invoice templates. Kimai on OpenSysLab

More articles