Contract Hours

Every minute recorded, every contract honored

Contract Hours adds a stopwatch to GLPI that technicians control directly in the ticket timeline: Start Timer, pause, resume and stop. On stop, the module rounds the time to the configured minimum billable, automatically creates a private task with the recorded time and deducts the hours from the linked contract's balance. Courtesy time can be marked as non-billable: it shows as worked time, but does not consume the contract or trigger alerts.

LicensedGLPI 11 and 12

Features

Contracts are defined per entity with combined resolution criteria: the assigned group and the ticket category must match for the ticket to be linked to the contract. A contract can also cover the child entities, with a single balance: a customer with several units uses one contract, and each unit's usage is shown separately in the Statement and in the portal. Unused hours can roll over to the next period. The module warns when a contract is about to expire or reaches its alert threshold and, with the Block + Alert option, prevents new tickets from being opened in the portal when the hours of all of the entity's contracts are exceeded, including through service catalog forms. Outside its validity period, a contract stops receiving hours: they go to the entity's default balance, and the technician is warned on the ticket.

In the portal, customers follow the Hours Consumption dashboard, with quota, hours worked and balance for each contract they can see and, if their profile allows it, the time logged on their own tickets. Management uses the Hours Statement, with CSV export and invoice, and, with the included My Dashboard, the ready-made Operations and Management dashboards, with the same numbers as the Statement. Retroactive time edits are recorded in an audit trail. When each cycle closes (monthly, quarterly, half-yearly or yearly), the invoice is sent to your system by webhook, recorded with its delivery status and resent automatically if the destination is down, without duplicates; a closing that did not run on the day is done on the next run, with the correct period.

Start Timer, pause, resume and stop, with a floating timer on every page

Configurable rounding to minimum billable and a task created when the timer stops

Courtesy (non-billable) hours that do not consume the contract

Per-entity contracts, optionally covering the child entities, with group and category criteria

Warning when a contract is about to expire or hits its limit, with optional blocking of new tickets in the portal when the hours run out

Per-contract consumption dashboard in the customer portal

Contract usage inside the ticket, with the same view the customer has in the portal

Hours Statement plus Operations and Management dashboards in My Dashboard

Per-contract visibility (user, profile and group) and separate permissions per screen

Validity period respected: outside the contract period, hours go to the entity's default balance

Automatic cycle closing with invoice by webhook, delivery log and automatic resend

How it works

Step 1

Set up contracts

Create contracts with a validity period, hour quota, billing cycle (monthly, quarterly, half-yearly or yearly), group and category criteria, and define who can see each contract in the portal.

Step 2

Time in the ticket

The technician clicks Start Timer in the timeline. The floating timer stays visible on every page. Pause and resume at any time.

Step 3

Automatic recording

On stop, the system applies rounding, creates the private task and updates the contract balance automatically. Courtesy tasks can be marked as non-billable.

Step 4

Track consumption

Customers see quota, hours worked and balance in the portal, and technicians follow the same view without leaving the ticket. Management sees each unit's usage in the Hours Statement and, with My Dashboard, in the Operations and Management dashboards.

See it in action

A quick tour of what the plugin does in practice.

Video demo coming soon.

Image gallery

My Dashboard is included

Contract Hours includes My Dashboard: in GLPI 11 and 12, the Operations and Management dashboards come ready-made, with the same figures as the Hours Statement and period and entity filters.

Discover My Dashboard

Start using Contract Hours

View available plans or read the full article about this module.

View plans Read full article
Need help?