All features

Projects & budgets

Know where the budget went

A project hangs off the client and carries a budget in hours and money. schakl. shows in colour how hard that budget is burning, and opens the exact hours that spent it right under the bar.

On the client, with a budget

A project is a client engagement: it hangs off the client page (the hub), alongside contacts, domains and agreements. It carries an hour budget (the capacity) and a money budget, both optional, because these are planning figures and not ledger entries. Beside them sit a status (active, on hold, completed or archived), a start and end date, and a "standaard facturabel" flag that pre-fills every new time entry on this project. The responsible person is inherited from the client on create and in turn seeds the assignee of new tasks; further colleagues are added alongside. Tasks and logged time belong to the project, so logged-versus-budget stays true on its own.

Retainers that reset every month

Choose whether the hour budget covers the whole project or refills every month, week or day. That is how you model a retainer: a monthly hour cap that reads zero again on the first. The period boundary is a real calendar day in your organisation's own time zone — set under Instellingen → Huisstijl and applied by the API, not the browser: an hour logged in the evening lands in the right month, even around the daylight-saving switch. Link a running subscription with included hours to the project and the budget comes from the agreement itself: the field locks with its source named, several agreements add up, and the period is forced to monthly. Work a retainer already pays for also starts non-billable, and that carries into every entry logged against it.

  • Whole project: one budget for the engagement
  • Monthly: the retainer that refills each month
  • Weekly or daily: tighter caps for ongoing work

One colour scale for burn

Burn has exactly one scale: your own brand colour below 75%, amber below 100%, red from 100%. The percentage is never clamped, so a project over budget reads red and reports a negative remainder; only the drawn bar stops at full. A project with no budget shows an em-dash and still reports what it spent: never a fabricated total, never a reassuring zero. Every logged hour counts, billable or not, because internal work on a client project consumes the budget just the same.

Every number opens, and speaks up in time

12.5 / 40 h invites exactly one question: which hours? Under the budget bar the Uren panel opens with precisely the entries that added up to the number, over the same period as the bar, with the same ⋯ to edit or delete. From there you step through to the full hours report, pre-filtered, but that report is never the only way in: the person who wants to know where the budget went often isn't a manager. Nor do you have to wait for someone to look. A daily check warns the people on the project the moment the budget passes 75%, and again at 100%, once per budget period; and the dashboard carries the four budgeted projects burning hardest right now.

Money from employee rates

schakl. always prices money at the rate of the employee who logged the hours: their personal rate, otherwise the organisation's default. A project shows what its billable hours are worth so far and what all logged time adds up to, and an invoice built from hours uses exactly those same rates. Hours by people with no rate are reported separately, never quietly priced at zero. Rate-derived amounts are their own permission, too: someone who may not see them does not, while the hours bar stays readable for everyone on the project.

The project page as a workbench

Below the budget bar sits the work itself. The project's tasks form a list you add to inline, tick off and drag to reorder; documents belong to the project alongside them, with upload and deletion both landing on the activity trail. The description uses the shared editor with @ mentions and # task references, and your own custom fields appear beside it. The rest of the picture comes from your other modules: Uren, Contactmomenten and Abonnementen each contribute their own panel, and the header logs an interaction on the spot. The list travels in and out as a spreadsheet, and the ✎ changes status, client or "standaard facturabel" across a whole selection. Projecten is an extension module: the core of schakl. is open source (AGPL) and modules like this one run on a licence key the administrator installs under Instellingen → Licentie; when it lapses the module goes read-only and your projects, budgets and hours stay readable.

Want to know more?

The documentation describes every module in detail, from installation to permissions.

The demo is on its way

The live demo isn't ready yet. We're working hard on it and are excited to share it here as soon as it's done.

Go to the docs

More features