Payroll and invoicing
Schedule salaries and let branded invoice PDFs generate themselves every month. Each person receives a year end earnings statement. Payment methods are yours to define.
KEANAN · CURIOUS MACHINES
Payroll, contracts, PTO, Monday meetings and benefits in one platform. One employee app, one admin dashboard. Ship it under your brand, and run it on your servers whenever you choose.
One environment variable away from being your platform.
THE PLATFORM
Schedule salaries and let branded invoice PDFs generate themselves every month. Each person receives a year end earnings statement. Payment methods are yours to define.
Full time, part time and freelance agreements with terms documents, renewal dates and salary history. Visible to the right people and to nobody else.
Requests and approvals with live balances, plus a team calendar that already knows the public holidays. Spreadsheet season is over.
Presenter rotation is automatic. Slides upload from the phone, convert to in browser previews including PowerPoint, and stay searchable forever.
Publish benefit plans, take enrollments and approve reimbursements with receipts. Employees see everything in one app, in ten languages.
A leaner team can toggle any module per workspace with built in feature flags. The navigation and the API follow instantly.
module.benefits
FROM ZERO TO YOURS
One Docker Compose stack carries the API, background jobs, database, feature flags and TLS. Run it on our cloud, or on a single low cost instance in your own AWS account.
Set eight environment variables for the name, logo, colors and legal footer. Emails, invoice PDFs, the dashboard and the mobile app all follow. No fork and no rebuild.
Invite the team. Reminders send themselves, invoices generate monthly and the meeting rotation never skips anyone. Export your data as one archive any day you like.
INFRASTRUCTURE · YOURS
Most HR tools hold your data hostage. Keanan ships with an export command that packs every record and file into one archive, and an import command that restores it anywhere the stack runs. Your AWS account, your Hetzner box, your basement server. Your call.
docker compose up# On Keanan Cloud
$ python manage.py export_tenant
Workspace exported to keanan_export_2026-08-03.tar.gz
# On the client's own AWS
$ KEANAN_DOMAIN=app.client.com ./deploy.sh
$ python manage.py import_tenant keanan_export.tar.gz
Workspace imported. 4,182 records, 312 files.
# Their brand, not ours
$ export BRAND_PRODUCT_NAME="NordwindHR"
PRICING
Freeup to 5 people
The full platform on Keanan Cloud. Kick the tires with your real payroll.
MOST TEAMS
€6per person, per month
We run it and you brand it. Backups, updates and TLS are handled for you.
€1,490one time, per company
The whole stack on your infrastructure. Pay once and own it outright.
FAIR QUESTIONS
Product name, company name, logo, colors and the legal footer flow through the admin dashboard, the employee app, every email and every generated PDF. It is all environment variables. Your clients never see the word Keanan unless you want them to.
One Linux box that runs Docker. The provided script sets up a single AWS instance for about €12 per month with the entire stack: API, background jobs, Postgres, Redis, feature flags and automatic TLS. A team of 10 to 50 runs comfortably on it.
Yes. That path is a feature, not a negotiation. The export command produces one archive with every record and file, and the import command restores it on your infrastructure. People keep their logins. The move is an afternoon, not a project.
On Cloud your data lives in the EU, in Frankfurt, encrypted at rest and exportable any day. Self hosted, it lives wherever you put it. That is the strongest GDPR answer there is.
Yes. iOS and Android, in ten languages, with biometric lock and two factor authentication. Payslips, PTO requests, expense receipts, meeting slides and documents all live in the employee's pocket.
You export your workspace and keep everything. On the self hosted plan the software keeps running, because the one time license is yours. Only updates and support expire.