Introduction

The cost of a WO is the sum of three items. Each one comes from data that is set up elsewhere in Maptainer.

Item How it is calculated Where the data comes from
Staff (labour) Hours on each person's parte de horas (timesheet) × their Coste por hora (Cost per hour) The timesheet of each WO and each worker's record, in Gestión de Personal (Staff management)
Materials Units consumed minus units returned × cost price The Precio coste (Cost price) of each inventory item
Fuel (vehicle) Road km × vehicle consumption × fuel price on the day Vehicles, assignments and prices in Control de flota (Fleet control)
What you set up onceCost per hourOn each worker's recordCost priceOn each inventory itemVehicle and fuelConsumption, assignment and priceWork on the WOTimesheet, materials used and tripsActual costOn the WO recordWO costsAnd the dashboard cardCosts by customerMonth, quarter or year
Staff, inventory and fleet data are combined with the work on each WO and appear in three places.

These are costs, not revenue: there are no sale prices or margins. Quotes are not included either.

Each amount counts on the day it was spent, not on the day the WO was closed. A WO that started in March and finished in April splits its cost between the two months. That is why, in the reports, a long WO only adds what was spent within the chosen dates.

Amounts never appear in the WO PDF that is given to the customer.

Prerequisites

The “Controlamos costes” option

This whole manual depends on the Controlamos costes (We track costs) option. It is enabled in the Profesional (Professional) and Avanzado (Advanced) profiles, and disabled in Esencial (Essential).

  1. Open the user menu (top right) → Configuración (Settings) → Configuración General (General settings).
  2. In Cómo trabaja tu empresa (How your company works), open Ajustar en detalle (Fine-tune).
  3. Enable Controlamos costes and click Guardar configuración (Save settings).
The “Controlamos costes” option in Cómo trabaja tu empresa.
The “Controlamos costes” option in Cómo trabaja tu empresa.

Without the option, the Informes group of the admin area, the Costes reales (Actual costs) card on the dashboard and the Coste real (Actual cost) section of the WO record disappear. The records no longer ask for amounts either:

Screen What is hidden without the option
Worker record (Staff and teams) The Coste por hora field, the Coste /h (Cost /h) column of the list and the Coste medio / hora (Average cost / hour) indicator
Item record (Inventory and warehouses) Precio coste, Precio venta (Sale price) and IVA (VAT)
Añadir stock (Add stock) The Precio de compra unitario (Unit purchase price). The goods received are valued at the Precio coste the item already had
Inventory The Inventario valorado (Valued inventory) report

No data is deleted: when you save a record without those fields, the amounts it already had are kept. When you enable the option again, the fields and figures come back.

Modules

Screen or data What you need
Costes de las OT (WO costs), the Costes reales card and the WO's Coste real The Controlamos costes option
Costes por cliente (Costs by customer) In addition, the customers module (see Customers and SLA)
Materials item The inventory (Gestionamos almacén de materiales (We manage a materials warehouse)). Without it, the column does not appear
Fuel item The Control de flota and Tracking de personal (Staff tracking) modules, which generate the trips (see Fleet and GPS tracking)

Without inventory or without fleet, the reports work just the same: those items stay at zero.

Permissions

Costs are visible with Reportes (Reports) · Costes (Costs), in Roles y Permisos (Roles and permissions) (see Tenant administration), together with Reportes · Ver (View), the same permission that opens the Panel de Control (Dashboard). Ver on its own no longer shows any amount. To download the CSV files you also need Reportes · Exportar (Export).

By default, Costes is held by Administrador (Administrator) and Supervisor. Técnico (Technician), Almacén (Warehouse) and Solo Lectura (Read only) do not have it.

With Reportes · Ver and Costes Without Costes
Informes group of the admin area: Costes de las OT and Costes por cliente Not shown
Costes reales card on the dashboard Not shown
Coste real section on the WO record Not shown
Exportar CSV (Export CSV) in both reports, if they also have Exportar Not shown
The inventory's Inventario valorado and Consumo por activo (Consumption by asset) reports Not shown, unless they have Inventario (Inventory) · Control almacén (Warehouse control) (see Inventory and warehouses)

Anyone with Reportes · Ver and Costes can enter the admin area even without other administration permissions. They only see the Informes group.

What to set up so that costs come out right

An incomplete cost does not give an error: it simply comes out lower than the real one. Check these four points before you trust the figures.

Staff cost per hour

Each worker has a Coste por hora on their record, in Datos laborales (Employment details). It is filled in when you add the worker or with Editar (Edit), as explained in Staff and teams.

  • Without a Coste por hora, their hours are counted but add no cost. The reports warn you about it.
  • The Coste por hora is only visible to those with Personal (Staff) · Editar (by default, only the administrator). The cost reports use it anyway.
  • The hours come from the parte de horas of each WO, explained below.

The timesheet

Labour is not how long the WO lasts. As in professional CMMS, each WO has a parte de horas: each person's hours, day by day. Maptainer fills it in automatically from the time the WO is En Curso (In progress), trimmed to each person's jornada (working day).

When How it counts
Within the working day Hora normal (Normal hour). Counts automatically
Outside the working day, with signs of work Hora extra por revisar (Overtime to review). Does not count until someone approves it
Outside the working day, with no signs (nights, weekends of a WO left in progress) Does not count and is not flagged for review
  • The working day is the person's shift, with its exceptions (see Work calendar). If they have no shift, the hours of their branch or of the company. Public holidays, days off and confirmed absences are not working days. Nor is the shift break.
  • Signs of work outside the working day: the person started, paused or finished the WO at that time (up to 4 hours either side), the geofence saw them at the WO, or they had working-day tracking open. The automatic end-of-day pause does not count as a sign.
  • A WO that was in progress for more than a week in a row: working days with no sign of work are left por revisar (to review). This way, a WO forgotten in progress does not add up every working day.
  • If two people work on it, each adds their own hours, according to their working day.
  • The person responsible for the WO only adds hours if they worked on it: they started or paused it, the geofence saw them arrive, or they made a quick report.
  • A quick report, or a WO with actual dates but no time in progress, counts from its actual start to its actual end.

Example. A WO starts on Monday at 08:00 and is closed on Wednesday at 18:00, with no pauses:

Person Working day Normal hours Overtime to review
Ana 08:00 to 18:00 10 + 10 + 10 = 30 h —
Luis 08:00 to 16:00 8 + 8 + 8 = 24 h 2 h on Wednesday (he closed the WO at 18:00)

The nights do not count for either of them.

Reviewing and correcting the timesheet

  • Horas por revisar (Hours to review), in the admin area menu under Horas por operario (Hours per technician), gathers everything pending, by WO. Aprobar (Approve) or Rechazar (Reject) decides all its pending hours at once; Ver parte (View timesheet) opens the day-by-day detail.
  • Parte de horas (Timesheet), in the Personal Operativo (Operational staff) section of the WO record, shows each person and day with their time slot, type and status. From there you can approve, reject, Corregir (Correct) the time slot, Quitar (Remove) hours, Añadir horas a mano (Add hours manually) and Recalcular día (Recalculate day).
  • Anything reviewed or entered manually stays fixed: even if the dates or staff of the WO change, that day is no longer recalculated. Recalcular día returns it to the automatic calculation.
  • Viewing: everyone who can see WOs. Reviewing and correcting requires Personal · Editar. Everything is recorded in Auditoría (Audit).

Warning

Labour is always calculated with each person's current Coste por hora. If you change it, the costs of past WOs change too. Materials and fuel, on the other hand, keep the price at the time.

Materials price

Each inventory item has a Precio coste. This is explained in Inventory and warehouses.

  • Material counts when it is consumed, that is, when the technician reports what they used. Planned material does not count: a WO completed without a report has a materials cost of zero.
  • When it is consumed, the cost price at that moment is stored. Changing the price later does not change what has already been consumed.
  • Whatever is returned (when the line is deleted or the WO is cancelled) is subtracted at the same price.
  • An item with a Precio coste of zero adds nothing, and there is no warning.

Vehicle and fuel

Fuel comes from the road trips to each WO. A trip is created when the geofence detects that the technician arrives at the WO. It is all explained in Fleet and GPS tracking.

For a trip to have a cost, three things are needed:

  1. The technician must have a vehicle assigned at that time (Assignments). Without an assignment, the trip has no vehicle and no cost.
  2. The vehicle must have its consumption (L/100 km or kWh/100 km).
  3. There must be a fuel price for that day. Maptainer takes the Spanish Ministry's price every day. Electric vehicles need a manual override (Fuel prices).

The cost is frozen on each trip when it is calculated. If you change the consumption or the price afterwards, past trips are not recalculated.

Customer, branch and sector of the WO

The reports split the cost according to the customer, branch, sector and task type of the WO. A WO without a customer appears as “Sin cliente” (No customer) or “Sin asignar” (Unassigned). Check that the WOs have them set correctly.

WO costs

This screen gives the cost of a period with three views: totals, a grouped table and the WO-by-WO detail.

In the admin area, click Costes de las OT, in the Informes group. It also opens with Ver por OT → (View by WO →) on the dashboard's Costes reales card.

The Costes de las OT screen with the filters, the totals and the table by month.
The Costes de las OT screen with the filters, the totals and the table by month.

Filters

Filter What it does
Desde (From) / Hasta (To) Period. By default, from 1 January to today
Delegación (Branch) Only the WOs of that branch. Shown if you have branches
Cliente (Customer) Only the WOs of that customer. Deactivated customers appear with “(baja)” (deactivated)
Sector Only the WOs of that sector. Shown if you have sectors
Agrupar por (Group by) Mes (Month), Delegación, Cliente, Tipo de tarea (Task type) or Sector
  1. Choose the dates and filters.
  2. Click Aplicar (Apply).

Agrupar por recalculates instantly, without clicking Aplicar. If Desde is later than Hasta, the warning “La fecha ‘Desde’ no puede ser posterior a ‘Hasta’” (The ‘From’ date cannot be later than ‘To’) appears.

Totals

The four boxes at the top summarise the period.

Box What it shows
Coste total (Total cost) The sum of everything, with the number of WOs with spending and the average per WO
Personal Labour and hours worked
Materiales (Materials) Consumption minus returns. Only with inventory
Combustible (Fuel) The cost of the trips, the km and the cost per km

Grouped table

For each month (or branch, customer…), the table gives the OT (WOs), Horas (Hours), Personal, Materiales, Km, Combustible and Total. The bar on the right splits the total by item: blue for staff, amber for materials and violet for fuel.

The table grouped by customer, with the Total row.
The table grouped by customer, with the Total row.

By month, the rows are in date order. With the other groupings, from highest to lowest cost.

Note

In the OT column, a WO that had spending in two months counts in both. The Total row gives the distinct WOs, so it can be lower than the sum of the column.

Order by order

Below, Orden a orden (Order by order) lists each WO with spending in the period, from highest to lowest cost. It gives its task type, customer, branch and status, and the same amount columns.

The Orden a orden list with the highest-cost WOs.
The Orden a orden list with the highest-cost WOs.
  • Click a WO's code to open its record on the map, in another browser tab. That way you do not lose the report.
  • The screen shows at most the 300 WOs with the highest cost. The CSV contains them all.
  • The ⚠ symbol next to an amount marks incomplete data or hours to review. Hover over it to see the reason.

Incomplete data warnings

If data is missing, an orange warning appears below the totals:

Warning What is happening What to do
“N OT tienen horas de operarios sin tarifa: esas horas no suman coste.” (N WOs have technician hours without a rate: those hours add no cost.) Someone who worked has no Coste por hora Set it on their record. Labour is recalculated automatically
“N OT tienen trayectos sin coste de combustible (sin precio del día o sin consumo del vehículo).” (N WOs have trips without fuel cost (no price for the day or no vehicle consumption).) A trip has no vehicle, consumption or price Check the assignment, the vehicle's consumption or the fuel price
“N OT tienen X h por revisar en el parte de horas…” (N WOs have X h to review in the timesheet…) There is overtime or days without activity that have not been reviewed Approve or reject them in Horas por revisar. Once approved, they count automatically

Each warning counts distinct WOs: a WO with spending in two months counts only once, however you group.

Trips already calculated without a cost are not recalculated when you correct the vehicle or the price. The warning will keep appearing for those WOs.

Exporting to CSV

Exportar CSV downloads one row per WO with the screen's filters. Agrupar por does not apply: the CSV is always WO by WO.

CSV columns
OT (WO), Título (Title), Estado (Status), Tipo de tarea (Task type), Cliente (Customer) (if you have customers), Delegación (Branch) (if you have branches)
Horas (Hours), Mano de obra (€) (Labour), Materiales (€) (Materials), Km, Combustible (€) (Fuel), Total (€)
Operarios sin tarifa (Technicians without rate), Trayectos sin coste (Trips without cost): “sí” (yes) if data is missing. Horas por revisar (Hours to review): those that do not count yet

The file is semicolon-separated with a decimal comma, so that it opens directly in Excel.

Costs by customer

This screen answers how much it costs to serve each customer, period by period, and how it has changed. In the admin area, click Costes por cliente, in the Informes group. It is also in Listados (Lists), in the Costes category.

The Costes por cliente screen with the filters, the indicators and the charts.
The Costes por cliente screen with the filters, the indicators and the charts.

Filters

Filter What it does
Periodo (Period) Últimos 12 meses (Last 12 months) (default), Este año (This year), Año anterior (Previous year) or Personalizado (Custom)
Desde / Hasta The dates of the period. When you change them, Periodo switches to Personalizado
Agrupar por Mes, Trimestre (Quarter) or Año (Year): the table columns and the chart bars
Delegación, Sector Only the WOs of that branch or sector
Concepto (Item) Total, Personal, Materiales or Combustible: which amount the indicators, charts and table show
Incluir cliente propio (Include own customer) Also adds the work for your own company. Unticked by default

Periodo, Agrupar por, Concepto and Incluir cliente propio apply instantly. Dates typed by hand, the branch and the sector need Aplicar.

The own customer is the one that groups your company's internal work (Customers and SLA). In the table it appears with “(propio)” (own) and in grey.

Indicators

Indicator What it shows
Coste total What was spent in the period and the change from the previous period
Clientes con gasto (Customers with spending) How many customers had spending and how many WOs they add up to
Cliente de más coste (Highest-cost customer) Its amount and what share of the total it represents
Coste medio por OT (Average cost per WO) The total divided by the WOs, with the hours worked

The previous period is the one of the same length immediately before. With Últimos 12 meses, it is the 12 months before. Hover over the change to see its dates. For a cost, going up is the bad news: ▲ appears in red and ▼ in green.

Below are the same incomplete data warnings as in WO costs.

Charts

  • Evolución (Trend): one bar per period, stacked by customer. The 8 external customers with the highest cost have their own colour; the rest are grouped in “Resto (N clientes)” (Others (N customers)).
  • Reparto por concepto (Breakdown by item): one bar per customer (the 10 with the highest cost), split into Personal, Materiales and Combustible.

Hover over a bar to see the amounts. Click a name in the legend to hide or show that customer.

The charts grouped by quarter.
The charts grouped by quarter.

If the charts library does not load, “No se pudo cargar la librería de gráficas. La tabla tiene todas las cifras.” (The charts library could not be loaded. The table has all the figures.) appears.

Customer-by-customer table

The table has one row per customer and one column per period. The darker the background of a figure, the higher the amount.

The table grouped by year, with two columns: 2025 and 2026.
The table grouped by year, with two columns: 2025 and 2026.
Column What it shows
Periods The amount of the chosen Concepto in each month, quarter or year. “—” if there was no spending
Total The customer's amount over the whole period
% del total (% of total) What share of the total it represents
vs anterior (vs previous) Change from the previous period. “nuevo” (new) if there was no spending then
OT, € / OT (€ / WO) WOs with spending and the average cost of each
Horas, Km Hours worked and km of the trips

Only customers with spending in the chosen Concepto appear. Deactivated customers appear with “(baja)”.

Customer detail

Click a row to see the customer's detail below the table:

  • A chart by period, split into Personal, Materiales and Combustible.
  • OT de más coste en el periodo (Highest-cost WOs in the period): their 15 most expensive WOs. Click the code to open the record in another tab.
A customer's detail: trend by item and their highest-cost WOs.
A customer's detail: trend by item and their highest-cost WOs.

If the customer has more than 15 WOs, it says so: “Y N OT más: todas en ‘Costes de las OT’, filtrando por este cliente.” (And N more WOs: all of them in ‘Costes de las OT’, filtering by this customer.) Click Cerrar (Close) to remove the detail.

Exporting to CSV

Exportar CSV downloads what is on screen: the visible customers, with the chosen Concepto and grouping.

CSV columns
Cliente (Customer) and Estado (Status) (Alta (Active) or Baja (Deactivated))
One column per period, with the amount of the chosen item
Personal, Materiales, Combustible and Total for the whole period
Total periodo anterior (Previous period total), OT, Horas, Km

Actual cost on the WO record

Each WO record has the Coste real section, with everything spent on it, with no date limit. This is explained in Work orders.

The Coste real section of a WO: labour per person, materials and the vehicle with its diesel price.
The Coste real section of a WO: labour per person, materials and the vehicle with its diesel price.
Line What it details
Mano de obra (Labour) Total hours and, per person, their hours × their cost per hour. “(sin tarifa)” (no rate) if they do not have one
Materiales What was consumed minus what was returned. If there were returns, “Consumido …, devuelto …” (Consumed …, returned …)
Vehículo (Vehicle) Km, registration and model of the vehicle, fuel and price per litre (or kWh) on the day. With several vehicles, the km of each one

The Vehículo line only appears if the WO has trips. With Control de flota · Ver, Ver ruta en el mapa (View route on the map) draws the trips.

Note

The record adds up everything spent on the WO. The reports only add what was spent within their dates. A long WO can give less in a report than on its record.

Costs on the dashboard

The dashboard's Costes reales card summarises the same with the dashboard's dates and filters. It has the totals, a chart and a table with OTs (WOs), Mano de obra, Materiales, Km, Vehículo and Total.

The dashboard's Costes reales card, grouped by customer.
The dashboard's Costes reales card, grouped by customer.

The drop-down groups it Por cliente (By customer), Por tipo de tarea (By task type), Por delegación (By branch), Por sector (By sector) or Por mes (By month). The rest of the dashboard is explained in Dashboard and lists.

Ver por OT → opens Costes de las OT with the dashboard's dates and filters: branch, customer, sector and work on assets or without an asset. That way the figures match the card. A strip above the totals says so: “Filtros del Panel de control aplicados” (Dashboard filters applied), with the period and each filter.

  • Quitar filtros del panel (Remove dashboard filters) goes back to the default dates (from 1 January to today) and no filters.
  • If you change a filter, the strip disappears: the screen no longer shows the same as the dashboard.

The dashboard's scheduled emails can include costs: tick Incluir los costes reales del periodo (Include the actual costs for the period) (Scheduled emails).

Common problems

Symptom Likely cause Solution
The Informes group does not appear in the admin area The Controlamos costes option is disabled or you lack Reportes · Ver or Costes Enable it in Cómo trabaja tu empresa or check your role
Costes de las OT appears but not Costes por cliente Your company does not have the customers module See Customers and SLA
Labour comes out at zero or very low Rates are missing, or there are hours to review (the warning appears) Set the Coste por hora and check Horas por revisar
A WO lasting several days adds fewer hours than it was in progress This is expected: only each person's working day counts; outside it, only what is approved Check the WO's Parte de horas; if someone worked outside their working day, add it manually or approve the overtime
Labour for past months has changed Someone's Coste por hora was changed This is expected: labour uses the current rate
Fuel comes out at zero The company does not have fleet and tracking, or there are no trips See Fleet and GPS tracking
There are trips but without a cost No vehicle assigned, no consumption or no price for that day Check assignments, consumption and prices. Past trips are not recalculated
Materials come out at zero Items with a Precio coste of zero, or material not consumed Set the price on the item. What has already been consumed does not change
The report gives less than the WO record The WO has spending outside the report's dates Widen Desde and Hasta
The dashboard card does not match Costes de las OT It was opened from the menu, or the filters were changed afterwards Open it with Ver por OT → on the dashboard
Neither Coste por hora nor Precio coste appears on the records The Controlamos costes option is disabled Enable it in Cómo trabaja tu empresa
Costes por cliente does not show a customer It had no spending in the chosen Concepto, or it is the own customer Change Concepto to Total or tick Incluir cliente propio

Last updated: