Skip to content

Record and total work order costs

On a work order you can record labour, material and service lines, and the system totals them for the work order, for a technical location (together with the locations below it), for a plant and for a site. Cost tracking is off by default — the tenant switches it on in the policy. Money amounts are visible only to people who hold a separate permission.

  • Permission: there are two separate permissions, on the Permissions → Maintenance tab. No role has either by default (the system administrator does); the tenant delegates them.
    • cmms:cost:manage — Record costs: record and reverse cost lines, manage rate categories and the currency. On its own it shows no money amount: the person recording gets the line without a unit price or total. Rate categories and the currency live on the Maintenance → Settings → Cost tab, and the settings page also requires the maintenance-manager permission: that tab needs cmms:manage and cmms:cost:manage together. Recording a line on the work order needs only cmms:cost:manage.
    • cmms:cost:view — View costs: the money amounts (rates, unit prices, totals, summaries) and the export. Without it these appear nowhere — not on the page, not in the export.
  • Prerequisite: the Maintenance module is on, and under Settings → Policy → Cost the Work order cost tracking switch is on for the work order’s site. While it is off, no new line can be written (reversing an existing line still works).

One-time setup: currency and rate categories

Section titled “One-time setup: currency and rate categories”

Open Maintenance → Settings → Cost.

  1. In Currency, pick the organisation’s single currency (forint or euro) and click Save. The currency applies to the whole organisation, so it can be set only with company-wide scope.
  2. Under Rate categories, click Add category, enter the Category name (for example “Electrician — normal” or “Overtime”), the Hourly rate and, if needed, Valid from / to.
  3. A category can later be edited or archived.
  1. Open the work order’s detail page (Maintenance → Work orders) and scroll to the Cost card.
  2. Click Add cost line and pick the Type:
    • Labour — pick Performed by (from Users, Roster or Contractors; required), the Rate category and the Hours. The rate comes from the category; a manual hourly rate cannot be entered. If you leave “— no rate (unpriced) —”, the line is recorded without a price.
    • Material — Description (required), Quantity, Unit and, if you know it, the Unit price.
    • Service — like material, but the performer can only be a contractor.
  3. If needed, enter the Reference (invoice or PO number — stored as text) and the Work date; left empty, the site’s current day is used.
  4. Click Record.

The unit price and currency are frozen on the line when it is recorded, and the line cannot be edited afterwards.

As soon as the work order has a labour line, the internal and external hours are derived from the lines (“Hours from lines: internal … h · external … h”): a contractor’s line counts as external, an own employee’s or roster worker’s line as internal. The manual hours field is no longer shown. If the work order has no labour line, the two numbers recorded by hand earlier stay as they are.

On a closed (or rejected, cancelled) work order a late line can be recorded only with a reason: the Reason field is required, at least 5 characters. The database also guarantees that no line lands on a closed work order without a reason (the 5-character minimum is checked by the application).

A recorded cost line can be neither edited nor deleted — a mistake is corrected by a reversal line:

  1. On the wrong line, click Reverse.
  2. Enter the reason for the reversal (required, at least 5 characters) and save.
  3. The system records the original line’s mirror line with a negative quantity, the same price and work date; the original is marked “reversed”, the new line “reversal”. The amount nets to zero, and both lines stay visible.
  4. If the corrected item must be entered again, record a new line with the right data.

A line can be reversed at most once, and a reversal line itself cannot be reversed. On an open work order too, a correction is a reversal line, not an overwrite. If cost tracking is switched off later, reversing still works — correcting a wrong fact is not a new recording.

Totals are computed when read, from the lines; there is no separately stored grand total. The panels and amounts load only with the View costs permission.

  • Work order: the Cost card shows the total and the total per type (labour, material, service).
  • Technical location: on Maintenance → Technical location structure, the Cost panel of the selected node gives the cost of the work orders of that location and the locations below it, for the From / To period (by work day; the default is the start of the year to today). Apply refreshes it.
  • Site and plant: on Maintenance → Gatekeeping, the Cost panel gives the site total broken down by plant.
  • No double counting: every line belongs to exactly one work order, so a parent or collective work order does not pull in its children’s lines — a child’s cost stays on the child and counts once in a total.
  • “No data” — when there is no line at all in that type or scope. This is not 0.
  • “no price” — an unpriced line is not free, it is without a price; a type’s amount may read “no price”.
  • “Partial: N lines without a price” — when priced and unpriced (live) lines coexist, the system says the total is partial. A reversed pair does not count as unpriced.
  • “Mixed currencies (…) — no total” — when a scope contains lines in more than one currency, no amount is shown. The system does not convert at an exchange rate; it says the lines cannot be totalled.

The Export (xlsx) and Export (CSV) buttons under the Cost panel download a line-level list for the panel’s scope and period: work day, work order, site, plant, technical location, type, performer, rate category, quantity, unit, unit price, amount, currency, reference, reversal flag and reason. The export too needs the View costs permission. One file holds at most 20,000 lines; if the scope has more, the last row of the file says so — narrow the period or the scope and export in parts.

The close gate: “Cost required to close”

Section titled “The close gate: “Cost required to close””

Under Settings → Policy → Cost, the Cost required to close switch has three positions (off / warn / block): closing the work order needs at least one live (not reversed) cost line. The gate measures only while cost tracking is on. There is no separate “financial close” status: cost completeness is a gate on the existing close. For how the policy works in general, see the article Configure the maintenance policy.

Last updated: