FreeMaint
FeaturesPricing
AcademyFree maintenance coursesCommunityShared templates & maintenance Q&ADocsGuides & API referenceBlogPlaybooks & product updatesComparisonFreeMaint vs the alternativesChangelogWhat's new
AffiliatesEarn recurring commissionServicesPartners for setup & training
Contact
ENSign inSign up

Product

FeaturesPricing

Resources

AcademyCommunityDocsBlogComparisonChangelog

Partnership

AffiliatesServices

Account

ContactSign in
FreeMaint

Free your maintenance

Product

FeaturesPricingComparisonChangelogSign up

Resources

BlogDocumentationAcademyCommunityResearchSolutionsIndustriesFree templates

Company

AboutServicesAffiliatesContact

Legal

PrivacyTermsRefund PolicyExport Compliance
FreeMaint © 2026 · All rights reserved.GDPR & LGPD CompliantMobile app
Back to Documentation

FreeMaint CMMS

Business Features

Business Features

Audit logs, custom fields, e-signature, scheduled backups, custom dashboards, advanced workflows

Business Features Overview

What unlocks at the Business tier ($99/mo)

The Business tier ($99/mo) unlocks a set of operational features designed for established maintenance organizations. Here's what's included beyond Starter.

Automation & integration

  • Unlimited workflow automations (lifted from 5/company cap)
  • Unlimited webhooks (lifted from 100/day cap)
  • GraphQL API (read queries + write mutations) — 5,000 calls/day
  • Custom dashboards (drag-drop builder)

Insight & support

  • Advanced analytics & consolidated reports (Maintenance, Costs, Financial, Inventory, Labor)
  • Priority in-app support
  • 50 GB cloud storage

Data management

  • Custom fields — per-entity (Work Orders, Assets, Parts) extensions
  • E-signature — sign work order completion, LOTO and inspections
  • Scheduled backups — daily, weekly or monthly, with the retention you choose
  • Full audit logs — every create/update/delete tracked with user + diff

Operational planning

  • Contracts — long-form supplier and service agreements with renewal alerts
  • Projects — multi-work-order initiatives with milestone tracking
  • Shutdowns — planned outage windows with task scheduling
  • Task templates — reusable checklists across work orders and PM

Audit Logs

Track every create, update and delete across your company

Audit logs capture every state-changing action in FreeMaint — who did what, on which entity, with the before/after values. Available from the Business tier.

Compliance use cases

  • ISO 9001 / ISO 55000 — maintenance traceability
  • SOC 2 — change management evidence
  • GMP / FDA 21 CFR Part 11 — electronic record integrity
  • Internal forensics — who deleted that work order?

Export & retention

Export the filtered logs to CSV for compliance audits: next to the recorded description and changes, two columns give them in your language. In the compliance PDF reports, each description is printed in your language above the recorded text. Retention is unlimited on Business and Enterprise — no automatic deletion.

In your language

Descriptions, field names and values read in the language you use FreeMaint in: statuses with the words of the screens, dates and amounts in your format, and linked records — a location, a team, a technician — by their name when you are allowed to see them. The recorded text itself never changes: it is what the integrity chain checks, so any alteration shows.

Combine the date range filter with the entity filter to investigate a specific incident in seconds.

What's tracked

  • All CRUD on Work Orders, Assets, Parts, Locations, Vendors, Customers, Purchase Orders
  • Status changes (open → in progress → completed)
  • Assignment changes (technician, team)
  • Custom field value updates
  • User/role/permission changes
  • Security events: two-factor authentication, passkeys, password policy

Where to find them

Open Company Settings → Data & Security → Audit Logs. Filter by entity, action and date range. Each row shows who acted and when, with the changed fields and their before/after values. Work orders, requests, assets, preventive maintenance and other records also have a tab with their own audit history.


Custom Fields

Add company-specific data to Work Orders, Assets and Parts

Custom fields let you extend FreeMaint entities with fields specific to your operations — without waiting for a feature request. Available on Work Orders, Assets, Parts and Purchase Orders (Business tier).

Creating a custom field

  1. {"title":"Open Settings → Custom Fields","description":"Administrators, and anyone whose role may configure the CMMS."}
  2. {"title":"Pick the entity","description":"Work Order, Asset or Part."}
  3. {"title":"Define the field","description":"Type a Field name and pick a type, then mark it required if needed. The internal ID is generated automatically from the name — open Advanced only if you want to customize it."}
  4. {"title":"Save","description":"The field appears right away. On an asset, part, location or vendor it is on the create and edit form. On a work order it is in the « Custom » tab and in the « Complete Work Order » window: work-order fields are a closure form, so a required one must be filled before the work order can be completed. In an import, fill it with a cf_<internal ID> column."}

Existing data

Adding a new custom field doesn't touch existing rows — they get the default value (or NULL if no default). Removing a field soft-deletes it; values are kept in audit logs.

Renaming or removing a list option

Records store the option they were given. When you rename or remove options of a list field that records still use, saving asks what those records should hold instead — a renamed line is suggested automatically — and moves them in one step, together with the conditions and workflow rules that name the old option. Choose "Keep as is" to leave them unchanged: they then show the old value, marked as no longer in the list, and it can still be saved until someone picks another option.

Filtering and reporting

Custom field values are indexed and filterable in list views and reports. You can group, count and aggregate by custom field — same as built-in fields.

Organizing fields into sections

Give each custom field an optional Section name to group related fields under a sub-header on the form (for example 'Categorization' or 'Impact analysis'). Fields without a section appear under the default 'Custom Fields' heading. Use the up and down arrows on the Custom Fields settings page to reorder fields within a section.

Mark a field as Required to enforce data quality on new entries without backfilling old ones.

Supported field types

  • Text — single-line, max 500 chars
  • Long text — multi-line, max 5,000 chars
  • Number — integer or decimal
  • Date — ISO date with optional time
  • Boolean — yes/no toggle
  • Select — dropdown with predefined options
  • Multi-select — multiple options
  • URL — clickable link with validation

E-signature

Sign work orders, LOTO procedures and inspections digitally

E-signature lets technicians and supervisors sign off on critical events directly in FreeMaint — work order completion, LOTO procedures, inspections, document approvals. Audit-grade with timestamp, IP and witness fields.

Audit trail

Each signature includes user ID, timestamp (UTC + local), IP address and entity reference. You can prove who signed what and when — meets HIPAA, FDA 21 CFR Part 11, OSHA and ISO standards.

How signing works

  1. {"title":"Open the entity","description":"Work order, LOTO step, inspection, etc."}
  2. {"title":"Click 'Sign'","description":"A signature pad opens — draw with finger on mobile or mouse on desktop."}
  3. {"title":"Confirm","description":"Signature is saved with timestamp, your user ID and the request IP. A copy is logged in the audit trail."}
  4. {"title":"Optional witness","description":"If your workflow requires a witness, a second signer is prompted before save."}

Saved signature

Draw your signature once, then sign in one click. Turn on “Save as my signature for next time” under the signature pad, or draw it in Profile → Security → My signature (in the mobile app: Settings → My signature). The “Sign with my saved signature” button then appears wherever you sign. Each signature still records your name, the date and time and the IP address, and is marked as applied from your saved signature. Only you can use it, and you can replace or delete it at any time.

Signatures at validation and closure

When a workflow step on Validated or Closed requires a signature, it must be given at that stage: signatures added before the work order was completed — such as the technician's sign-off — do not count. The validator signs in the validation window.

Use witness signatures for high-stakes actions like LOTO removal — the second signer must be a different user.

Identity, roles and corrections

  • Employee ID — each signature also shows the signer's Employee ID (from their People profile) so people with the same name are never confused.
  • Configurable roles — an admin can define a fixed list of signing roles under Company Settings → Signatures; signers then pick from a dropdown instead of typing.
  • Correcting a signature — the signer can fix the role or witness afterwards; the signature image, date and IP stay locked, and inspection and calibration signatures remain fully immutable.

Where signatures are required

  • Work order completion — technician signs the closure
  • LOTO procedures — sign apply and remove steps
  • Inspections — sign each inspection point or the whole report
  • Document approvals — sign new versions of SOPs and manuals
  • Custom triggers — any workflow step you configure

Custom Dashboards

Build your own KPI dashboards with drag-drop widgets

Custom dashboards let you compose your own analytics views with widgets. Drag, drop, resize and configure — no coding. Personal dashboards stay private; shared dashboards appear for everyone in the company.

Building a dashboard

  1. {"title":"Open Dashboards → New","description":"From the sidebar (under Reports)."}
  2. {"title":"Pick a layout","description":"12-column responsive grid; widgets snap and resize."}
  3. {"title":"Add widgets","description":"Drag from the library; configure data source, filters and visual options."}
  4. {"title":"Save","description":"Personal (only you see it) or shared (everyone in your company)."}

Personal vs shared

Personal dashboards are private to your user. Shared dashboards appear in /dashboards for everyone in your company; only their creator can edit them. The creator can always delete their own dashboard, even after a change of plan.

Start with 4 KPI cards on top + 2 charts below — that's the dashboard layout most teams converge on.

Available widgets

  • KPI card — single metric (e.g. open WOs, MTBF, downtime cost)
  • Trend chart — line/bar over time
  • Pie chart — distribution by status, priority, asset, technician
  • Top-N table — ranking with drilldown
  • Calendar heatmap — daily activity intensity
  • List — recent items (work orders, requests, low-stock parts)

Scheduled Backups

Automatic daily, weekly or monthly snapshots of your data

Scheduled backups create automatic snapshots of your company's data on a recurring schedule. Snapshots include database content + uploaded files (photos, documents, attachments). Stored encrypted at rest.

Configuration

  1. {"title":"Open Settings → Backups","description":"Admin only."}
  2. {"title":"Pick frequency","description":"Daily (02:00 UTC), Weekly (Sunday 02:00 UTC) or Monthly (1st of month 02:00 UTC)."}
  3. {"title":"Pick retention","description":"7, 30, 90 or 365 days. Older snapshots are pruned automatically."}
  4. {"title":"Toggle on","description":"First backup runs at the next scheduled slot."}

Downloading

From the Backups page you can download any snapshot as an encrypted ZIP. Use this for offline archival or moving to On-Premise.

Restoring a backup

Currently restores are admin-assisted — open a support request and we'll roll back to a specific snapshot within 4 business hours. Self-service restore is on the roadmap.

Schedule a daily backup with 30-day retention as the safe default — that's what most operations teams settle on.

What's included

  • All database tables scoped to your company (work orders, assets, parts, etc.)
  • Uploaded files (photos, attachments, documents)
  • Custom field definitions and values
  • User and role data
  • Audit logs for the period

Workflow Engine

Hold status changes until the right person approves and the required information is there

FreeMaint's workflow engine puts rules on status changes. When someone tries to move a work order, request, purchase order, purchase requisition or work permit into a given status, the engine checks who may approve that move and what must be filled in first — and holds the record until both are met. Starter: up to 5 active steps; Business and above: unlimited.

Anatomy of a workflow

  • Trigger — the status a record is being moved into; the step is checked at that moment
  • Conditions (Business) — optional filters that decide whether the step applies to a record: a cost band on purchase orders and requisitions, the request type, where a work order came from, the permit type, the asset category, or the value of a required custom field
  • Requirements — who must approve (a role, a named person, the creator, the assignee, the team leader or a location manager — or nobody, when the step only checks its fields) and what must be there first (photos, a signature, a completed checklist, logged time, parts used, custom fields…). Approvers are notified; Business adds reminders and escalation after a delay

Step conditions (Business)

Beyond the trigger status, a step can carry conditions that decide whether it is enforced for a given record: cost thresholds on purchase orders and requisitions (the step applies only when the total falls within a min/max band) and request-type conditions on requests (the step applies only to the ticked types — e.g. improvements approved by the zone manager while repairs go to the maintenance manager). Both are Business-plan field-level add-ons over the standard builder; steps without conditions keep applying to everything.

Escalation after a delay (Business)

A step can set "Escalate after (hours)". The clock starts when a record starts waiting for the step — records already waiting when you set the delay are not counted. The approvers are reminded at half the delay; when it runs out, the members of the role chosen in "Escalate to role" who can open the record are alerted. Without an escalation role, the approvers are reminded once the delay runs out. Each happens once per record and per step, and stops as soon as the record moves on. The delay never gives anyone the right to approve. To add a backup approver, tick "This role can also approve" under the escalation role: its members can then approve the step at any time, alongside the approver.

Common patterns

  • Supervisor sign-off — a work order moves to Closed only once a supervisor approves it
  • Proof of work — Completed requires a photo, a work summary and the time logged
  • Spend matrix (Business) — purchase orders above an amount need a manager's approval
  • Request routing (Business) — improvement requests go to the zone manager, repairs to the maintenance manager
  • Escalation (Business) — an approval left waiting 24 hours alerts a backup role, which can be allowed to approve too

Simple vs Visual mode

Switch between Simple mode (a form, one card per step) and Visual mode (a drag-and-drop canvas). Both edit the same configuration and save the same thing: a status trigger with its approval steps chained beneath it, running top to bottom. Edit in one, save, and the other shows exactly that.

Which transitions you can gate

A step fires when someone tries to move a record INTO its trigger status. Every status in the record's lifecycle is available.

  • Work orders — Open, Scheduled, In Progress, On Hold, Completed, Validated, Closed and Cancelled. A step on Closed is the usual supervisor sign-off before a job is filed for good; one on Cancelled stops a job being dropped without review.
  • Requests, purchase orders, purchase requisitions and work permits each expose their own statuses.
  • When a rule blocks a transition, the record explains why — which role must approve, or which fields are still missing. If you are allowed to make the move and only information is missing (a photo, a signature, a form), the button stays: its window lists what is missing and collects it.

Tier limits

  • Core — workflow engine not available
  • Starter — the workflow builder, up to 5 active steps across all record types
  • Business — unlimited steps, plus step conditions and escalation after a delay
  • Enterprise — same as Business

Try a new workflow on a test work order before your team relies on it. To pause a workflow without losing its steps, switch off "Enable custom workflow" on its card and click "Save Workflow"; to pause a single step, switch off "Step is active".


Outbound Webhooks

Push events from FreeMaint to your external systems in real time

Webhooks let FreeMaint POST to a URL you control the moment something happens, so another system (ERP, billing, inventory, accounting, a chat channel) stays in step without anyone re-keying it. Configure from /company-settings/webhooks. Starter is capped at 100 deliveries/day; Business and above are unlimited. For the full payload reference, see API & GraphQL > Webhooks.

Tier caps

  • Starter — 100 deliveries/day per company (counter resets at 00:00 UTC)
  • Business — unlimited
  • Enterprise — unlimited
  • The counter is per delivery ATTEMPT, so three webhooks on the same event burn three units

Configuration

  1. {"title":"Open /company-settings/webhooks","description":"Requires the company settings permission, or the \"Manage integrations\" permission."}
  2. {"title":"Click 'Add Webhook'","description":"Give it a name, an https:// URL and tick the events you want."}
  3. {"title":"Copy the signing secret","description":"It is shown ONCE on creation. You can generate a new one later with 'Rotate secret', which invalidates the old one."}
  4. {"title":"Watch the deliveries","description":"Open the delivery history on the webhook to confirm events arrive and to replay anything that failed."}

Delivery semantics

  • POST with a JSON body: { event, timestamp, data }
  • X-FreeMaint-Signature header — t=<unix seconds>,v1=<hex>, where v1 is HMAC-SHA256 of "<t>.<raw body>" keyed with your webhook secret. Verify it on every request, against the raw body
  • X-FreeMaint-Event and X-FreeMaint-Delivery-Id are sent alongside
  • Network errors and 5xx retry up to 3 times with exponential backoff (about 2s, 4s, 8s); a 4xx is a permanent rejection and is not retried
  • Every attempt is logged under the webhook with its status, response code and attempt count — and any settled delivery can be replayed from there
  • Optional photos: with Include photos on, "work_order" and "request" events carry up to 4 image links in a "photos" field, valid for 7 days for anyone who has them — turn it on only for an endpoint you control

Available events

  • work_order.created — a work order was created
  • work_order.completed — a work order moved to Completed
  • work_order.status_changed — a work order moved to any status; work_order.completed still fires too
  • request.created — a maintenance request was submitted
  • request.status_changed — a request was approved, rejected or cancelled
  • part.low_stock — a part fell to or below its reorder point
  • part.out_of_stock — a part hit zero
  • part.low_stock_summary — once a day, the parts at or below their reorder point, including parts that never moved
  • part.out_of_stock_summary — once a day, the parts sitting at zero
  • part.consumed — consumed on or returned from a work order
  • compliance.chain_divergence — the audit hash-chain broke (Enterprise)
  • asset.downtime_started — a machine stop was opened
  • asset.downtime_ended — a machine stop was closed
  • report.daily_summary — the day's completed work, once a day at the hour you choose
  • purchase_order.created — a purchase order was created
  • purchase_order.status_changed — a purchase order moved to another status (approved, ordered, cancelled…)
  • purchase_order.received — a delivery was received against a purchase order, partial ones included

Always verify X-FreeMaint-Signature server-side, against the raw request body — without it you cannot tell a genuine FreeMaint event from a spoofed one, and a spoofed part.consumed could move stock in your ERP.


Shutdowns

Plan an outage window: gather the work that needs a machine stop, then place it day by day

A shutdown is a window during which equipment is stopped on purpose: an annual overhaul, a line changeover, a planned outage. FreeMaint gathers the work that needs the stop in one place and lets you plan it day by day. Shutdowns are part of the Business tier.

Create a shutdown

  1. Open Shutdowns from the sidebar.
  2. Create a shutdown: give it a name and its outage window, a start date and an end date.
  3. Open it to gather and plan the work.

Gather the work

  • Work Orders tab → “Add work orders”: pick machines or locations to list the unfinished work flagged “Requires a machine stop” that no outage holds yet, tick it, then “Attach selected”.
  • PM Schedules tab → “Add PM schedules”: pull in active PM schedules (“Due during this outage” keeps the ones due in the window), then “Add to this outage”.
  • Lockout register tab: the lockouts recorded on the work orders of this outage.

Plan on the Planning tab

Each attached work order is a bar from its planned start to its planned finish, and the “Due date” marker shows its deadline. A work order with no date yet is marked “unplanned”.

  • Drag a bar to move it: its duration is kept.
  • Drag its left or right edge to change its start or its finish.
  • Drop a work order that has no date on a day to plan it.
  • With the keyboard, on a selected bar: the arrows move it by one day, Shift + arrow changes its finish.

What re-planning changes

  • An open work order becomes scheduled, through its normal status change, recorded in its history.
  • A scheduled, in-progress or on-hold work order keeps its status: only its planned dates change.
  • The due date never moves. If the new finish passes it, or the bar leaves the outage window, a warning says so.
  • A completed, validated, closed or cancelled work order is locked.
  • Re-planning needs the permission to update shutdowns and the permission to schedule work orders.

Set each work order's due date to the deadline the outage gives it: the marker then shows at a glance which work would overrun.


FreeMaint CMMS

© 2026 FreeMaint. All rights reserved.