Skip to content

← Help Center

Prepaid hours

Some clients pay for a block of hours up front — ten hours a month, say — and only the work beyond that is invoiced separately. WorkSnap can model exactly that: set the package on the client or the project, and the Detailed report stops charging for the hours it covers.

What a package does

A package is a number of hours per calendar month. Each month, the first billable hours worked against it are covered by the package; everything after that is charged as usual. The report still lists every entry — covered hours don’t disappear, they are simply marked Prepaid in the Amount column instead of carrying a price.

Example: a project with a 10-hour package and a rate of 100 zł. You log 15 billable hours in a month. The report shows all 15, marks the first 10 as Prepaid, and the amount due is 5 × 100 = 500 zł. The summary shows the covered time on its own line, and its value as Prepaid value — informational, never added to the amount due.

Which hours are covered

Client package, project package — or both

A package on a client is shared by all of that client’s projects that use it. A project can either use the client’s package (the default) or hold its own — a separate pool that does not touch the client’s.

The two never top each other up. Say a client has 10 hours and one of their projects, A, has its own 5. Work on A uses only A’s 5 hours — the sixth hour on A is charged even if the client’s 10 are untouched. Those 10 are for the client’s other projects.

This is deliberately different from how the rate, currency and rounding settings inherit: those look up the nearest value; a package is a pool that gets used up, so “inherit” here means “share”, and “own” means “separate”. A project without a client can only have a package of its own.

Why a weekly report may show no prepaid time

The package belongs to the month, not to the report. When you look at one week, WorkSnap still works out the whole month: if the month’s hours were used up in an earlier week, every entry in the week you are looking at is charged — correctly. Filtering by project or client doesn’t change this either: narrowing the report to one project never frees hours that another project of the same client already used.

The upside is that the amounts are the same whichever way you slice the report. A week, a month and a year all agree on what is due.

Changing a package later

Like the rate and rounding settings, a package is applied when a report is presented, not when time is recorded. Change the hours on a client and reports for earlier months recalculate too. If you need last month’s report to stay as it was, export it before changing the package.

In exported files

CSV and XLSX exports carry an extra column, Prepaid duration, with the covered time per entry — zero when nothing was covered — and Amount is the amount due, so a fully covered entry reads 0. The PDF marks covered entries the same way the screen does and adds a short legend under the table, so a client reading it knows why some hours cost nothing.