Skip to content

Commit

Permalink
re-wording
Browse files Browse the repository at this point in the history
  • Loading branch information
kevinpapst committed Nov 23, 2024
1 parent bf7d4c6 commit cffab17
Showing 1 changed file with 24 additions and 27 deletions.
51 changes: 24 additions & 27 deletions collections/_documentation/billable.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,41 +8,38 @@ related:
- activity
---

The `billable` field is used to determine if timesheet entries should be included in [invoices]({% link _documentation/invoices.md %}),
budget calculations and certain statistics. The [API]({% link _documentation/developer/rest-api.md %}) supports filtering for the `billable` field as well.
The `billable` field determines if timesheet entries are included in [invoices]({% link _documentation/invoices.md %}), budget calculations and statistics.
The [API]({% link _documentation/developer/rest-api.md %}) supports filtering by this field.

The following [permissions]({% link _documentation/permissions.md %}) define if a user is allowed to set the timesheet field:
- `edit_billable_own_timesheet` - for own timesheet, by default assigned to: Teamlead, Administrator and System-Admin.
- `edit_billable_other_timesheet` - for timesheet of other users. By default, assigned to: Teamlead, Administrator and System-Admin.
## Permissions

## Timesheet
Two permissions control the billable field access:
- `edit_billable_own_timesheet` - allows editing own timesheets (default: Teamlead, Administrator, System-Admin)
- `edit_billable_other_timesheet` - allows editing other users' timesheets (default: Teamlead, Administrator, System-Admin)

Users with the billable permissions will see a dropdown (select-box) with 3 entries: `Automatic`, `Yes` and `No`.
To hide the billable field, remove the corresponding permission from the user group.

- `Yes`: timesheet is billable
- `No`: timesheet is not billable
- `Automatic` (default): will lead to a detection of the billable state (explained below)
## Timesheet options

## The billable configuration
Users with billable permissions can choose between:
- `Yes` - timesheet is billable
- `No` - timesheet is not billable
- `Automatic` (default) - billable state is detected automatically

Each of the 3 level entities `Activity`, `Project` and `Customer` have a billable flag, which defines whether a timesheet for it should be billable or not.
## Configuration

By default, each existing and new entity is billable. If you have certain entities that cannot be billed to customers (e.g. an Activity for internal work),
then the `billable` checkbox on that entity should be deactivated. All new timesheet using this internal activity will then not be billable, if they were
created with the `Automatic` billable mode.
The billable flag exists on three levels:
- Activity
- Project
- Customer

## Automatic detection
New entities are billable by default. Deactivate the `billable` checkbox for non-billable entities (e.g. internal activities).

By default, every new timesheet uses the `Automatic` billable detection mode.
That means: after saving the entry, the billable field will be detected by the settings in the timesheet linked `Activity`, `Project` and `Customer`.
## Automatic detection

If any of those is not billable, the timesheet is not billable as well.

In other words: in order for a timesheet to be detected as billable, the `Activity`, `Project` and `Customer` needs to be billable as well.

Users owning the `edit_billable_own_timesheet` permission can always manually override the `Automatic` mode and choose directly whether the

## Hiding the billable field

Hiding the `billable` form field with CSS is **NOT** recommended. To remove the field, you should instead remove the permission for the user group.
New timesheets use `Automatic` detection by default. The billable state is determined by checking:
- Activity billable flag
- Project billable flag
- Customer billable flag

A timesheet is only billable if all three entities are marked as billable. Users with `edit_billable_own_timesheet` permission can manually override this.

0 comments on commit cffab17

Please sign in to comment.