FreeMaint
FeaturesPricing
DocsGuides & API referenceBlogPlaybooks & product updatesComparisonFreeMaint vs the alternativesChangelogWhat's new
AffiliatesEarn recurring commissionServicesSetup, migration & training
Contact
ENSign inSign up

Product

FeaturesPricing

Resources

DocsBlogComparisonChangelog

Partnership

AffiliatesServices

Account

ContactSign in
FreeMaint

Free your maintenance

Product

FeaturesPricingComparisonChangelogSign up

Resources

BlogDocumentationResearch

Company

AboutServicesAffiliatesContact

Legal

PrivacyTermsRefund PolicyExport Compliance
Freemaint LLC ยฉ 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)
  • REST + GraphQL API (read queries + write mutations) โ€” 5,000 calls/day
  • Custom dashboards (drag-drop builder)

Team collaboration

  • Team chat with real-time WebSocket, threads, search, file attachments, typing indicators
  • 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/monthly to MinIO with retention
  • 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

Founding Partner price: first 500 companies pay $49/mo for life โ€” half the standard rate.


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 filtered logs to CSV for compliance audits. Retention is unlimited on Business and Enterprise โ€” no auto-deletion.

Use the date range filter combined with the user 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
  • Login attempts and password resets

Where to find them

Open the Audit Logs page from the sidebar (under Reports). Filter by entity type, user, action (CREATE / UPDATE / DELETE) or date range. Each row shows the changed fields with before/after values.


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":"Admin only."}
  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 immediately on every entity create/edit form for that type."}

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.

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."}

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 the creator (or an admin) can edit them.

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

Automate maintenance processes with triggers, conditions and actions

FreeMaint's workflow engine lets you automate any maintenance process: when X happens, check Y, then do Z. Configure once, runs forever. Starter capped at 5 active automations; Business and above unlimited.

Anatomy of a workflow

  • Trigger โ€” what fires the workflow (work order created, status changed, meter reading exceeds threshold, etc.)
  • Conditions โ€” optional filters (priority = HIGH, asset category = pumps, work order overdue, etc.)
  • Actions โ€” what happens (assign technician, send email/notification, create child WO, update field, call webhook)

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.

Common patterns

  • Auto-assign โ€” new HIGH priority WO โ†’ assign to on-call technician
  • Escalation โ€” WO overdue 2 days โ†’ notify manager + raise priority
  • PM trigger โ€” meter reading > 10000 hrs โ†’ create PM work order
  • Status sync โ€” WO completed โ†’ update parent project + send customer email
  • Webhook out โ€” incident created โ†’ POST to Slack/Teams

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 button is hidden and the record explains why โ€” which role must approve, or which fields are still missing.

Tier limits

  • Core โ€” workflow engine not available
  • Starter โ€” 5 active workflows max per company
  • Business โ€” unlimited workflows
  • Enterprise โ€” unlimited workflows + advanced triggers (ML, multi-company)

Always test a new workflow on a sandbox WO first. The 'Disabled' toggle pauses execution without deleting the config.


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."}
  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

Available events

  • work_order.created
  • work_order.completed
  • request.created
  • request.status_changed
  • part.low_stock
  • part.out_of_stock
  • part.consumed โ€” consumed on or returned from a work order
  • compliance.chain_divergence (Enterprise)
  • report.daily_summary โ€” the day's completed work, once a day at the hour you choose

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.


FreeMaint CMMS

ยฉ 2026 Freemaint LLC. All rights reserved.