Free & open source · Self-hosted

Your hours. Your invoices. Your server.

Tucano Time is a calm, fast timesheet and invoicing app for freelancers and small teams. Run it on hardware you control and keep every client, hour and invoice in files you actually own — never in a cloud, and never in an AI.

  • AGPL-3.0
  • No account
  • No telemetry
  • No AI
Tucano Time day view showing entries for two projects, the week strip with daily totals, and a start-timer button
100% yours €0 / month
  • 01 One small container
  • 02 Plain JSON files
  • 03 No database
  • 04 Works offline
  • 05 Free software

Data sovereignty

Your business is not training data.

Tucano Time has no cloud account, no usage analytics and no AI anywhere in the product. It talks only to services you explicitly configure, plus an anonymous public exchange-rate feed. Everything else stays on the machine you chose.

Data/
├── customers/       clients, projects, tasks
│   └── 8f3c.../
│       └── projects/
├── entries/          one folder per day
│   └── 2026-10-23/
├── invoices/         documents + PDFs
├── expenses/         costs and receipts
├── users/            accounts and roles
└── audit.log         who changed what

Open it with any editor. Back it up with a zip.

  1. 01

    Yours to open

    Every record is a JSON document in one folder. No proprietary database, no export request, no support ticket.

  2. 02

    No AI. No telemetry.

    There is no model, no tracking pixel and no third-party script. The browser GUI is served by the same binary, and nothing reports back to Tucano Technology.

  3. 03

    No lock-in, in practice

    Export reports as CSV, take the data folder and run the app anywhere Rust runs. You cannot cancel what you never subscribed to.

  4. 04

    Open by licence

    AGPL-3.0. The source is the product — read it, audit it, patch it, or pay someone you trust to do it.

Currency conversion uses the European Central Bank's daily reference rates — no client data is sent with the request. For a fully air-gapped install, point TUCANO_FX_RATES_FILE at a local copy. Accounting sync only runs if you configure it.

What's inside

The unglamorous work, made calm.

Track time the way you actually work, then turn it into invoices without re-keying a thing.

Timesheets that fit the day

Record a line in seconds, fill a whole week in the grid, or glance at the month. Start the timer when a call runs long; copy yesterday when it doesn't.

Invoices from tracked time

Pick a client and a period. Tucano Time drafts the invoice from uninvoiced work, previews the PDF, then issues it with the next number.

Exact money, always

Cents and hundredths, never floating point. Each project carries its own currency and rate, and invoice lines freeze the rate they were drafted with.

Clients, projects, tasks

A clean three-level hierarchy with per-project budgets and profitability, so you can see where the margin actually went.

Expenses & claims

Log project costs with receipts and categories, mark what is billable, and submit reimbursement claims for approval — all without a shoebox.

Reports you can hand over

Totals by client, project or ISO week, plus invoice trends, budgets and profitability. Export a spreadsheet-safe CSV in one click.

Small team, clear roles

Admins invoice and approve. Members see only their own time and expenses, and submit a week for approval when it is ready.

Security on by default

Argon2id passwords, signed HttpOnly sessions, role checks, optional OIDC single sign-on and an encrypted vault for integration secrets.

An API, not a walled garden

A REST API covered by a checked-in OpenAPI contract, with browsable docs at /docs. Import Harvest CSV/ZIP exports, or automate the boring bits.

A look around

Small app. Serious detail.

No dashboards full of vanity metrics. Just the screens you need to record a day, send an invoice and get paid.

Day timesheet with project entries and weekly totals

Timesheets

A day, at a glance.

Hours per project, notes, week totals and a timer on one screen. Each day shows what is billable, what is missing and what has already been invoiced.

The same app, in light or dark. Keyboard-first, labelled fields, and no surprise modals.

Self-host in minutes

One container. One folder. Done.

No database to install, no build step, no cloud account. Start the container, open the browser, and the first-run wizard creates your admin, your company and your first client.

  1. 1

    Run the image

    A ~41 MB distroless build that runs as an unprivileged user, with every Linux capability dropped.

  2. 2

    Open localhost:8080

    Create the admin account, name the company, add a client and a project. That is the setup.

  3. 3

    Point a backup at the folder

    The data volume is the whole product. Scheduled ZIP backups are built in, or snapshot the folder yourself.

docker run -d --name tucanotime \
  --read-only --tmpfs /tmp \
  --cap-drop ALL --security-opt no-new-privileges \
  -p 127.0.0.1:8080:8080 \
  -v tucanotime-data:/data \
  -v tucanotime-backups:/Backup \
  ghcr.io/tucanotechnology/tucanotime:latest
Then visit http://localhost:8080
  • Runs where you already are

    Docker, Compose, an Unraid template — or a single Rust binary on a VPS, NAS or spare laptop.

  • Quiet by default

    No account and no telemetry. Outbound calls exist only for integrations you configure, plus the ECB reference-rate feed — replaceable with a local file for air-gapped installs.

  • Backups without a service

    Scheduled ZIP backups land in a folder you choose. Restore by extracting into the data directory.

  • Upgrade without drama

    Data is plain JSON with documented migrations. Pull a new image, restart, and your files stay where they were.

The price

Free. Not “free tier”.

Tucano Time is free software under AGPL-3.0. There is no per-seat pricing, no invoice limit, no trial and no credit card. The whole product is in the repository, and it stays that way.

If you modify Tucano Time and offer it as a network service, the AGPL asks you to share those modifications. That is the whole catch.

€0 forever

  • No per-seat pricing or edition locks
  • No invoice quotas or feature gates
  • Self-host as many instances as you like
  • Full source, and your data exportable at any time
Read the licence

Built in the open

Good software is a group project.

Tucano Time is built in the open by Tucano Technology, and it gets better when people use it, break it and send the fix back. You do not need to be a Rust expert to help: a reproducible bug report, a clearer sentence in the docs, or a test on your own NAS is real work.

Start with a clone

The usual Rust workflow. Open a pull request against main; every behaviour change ships with tests.

git clone https://github.com/TucanoTechnology/TucanoTime.git
cd TucanoTime
cargo test --all-targets
Star Tucano Time on GitHub

Questions

The things people ask before they self-host.

Still unsure? Open an issue — questions are welcome there too.

Is Tucano Time really free?

Yes. The whole product is AGPL-3.0 open source. There is no paid edition, no seat count and no invoice limit. You pay only for the hardware you run it on.

Where does my data live?

In a directory you choose — /data in the container, ./Data locally. It is plain JSON plus archived PDFs. Copy it, zip it, inspect it. The app never needs a cloud account.

Does it use AI or send data to third parties?

No. There is no AI feature, no analytics and no telemetry. Network calls happen only for integrations you configure yourself: SMTP, an ICS or Google/Microsoft calendar, OIDC single sign-on, or optional accounting sync. Currency conversion fetches the ECB's anonymous daily reference rates, or reads a local TUCANO_FX_RATES_FILE for a fully offline install. Secrets live in an encrypted local vault.

Is there a hosted version?

No. Tucano Time is self-hosted by design: there is no vendor cloud to sign up to and no place for your client list to leak. You run it, you own it.

What do I need to run it?

Docker (or a Rust toolchain), a few megabytes of disk, and a machine that stays on if you want it always available. A NAS, VPS, mini-PC or spare laptop is plenty for a small team.

Can my team use it?

Yes. Admins manage clients, invoices and approvals; members record only their own time and expenses. Optional OIDC single sign-on can provision accounts from your identity provider.

Can I import from another tracker?

Tucano Time includes a Harvest importer for CSV/ZIP exports, including original invoice PDFs, with a review step before anything is committed. The API is open if you need a different migration path.

Do I need a database?

No. There is no Postgres, MySQL or SQLite. Records are JSON documents written atomically, and the data folder is the database. That also makes backup and restore a file operation.

How do I back it up?

Scheduled ZIP backups are built into Settings → Backup, and the data directory can be copied or snapshotted like any other folder. Archives are never deleted automatically.

How can I contribute?

Start with a good first issue, open a bug report, improve the docs, or test a release on your own hardware. The repository is github.com/TucanoTechnology/TucanoTime.

Tucano Technology

One small company. Tools that stay yours.

Tucano Time is the first completed product from Tucano Technology. The Tucano Test tools are also being built in the open, with the same principles: small, self-hostable, and yours to inspect.