Take Your Data With You (No Lock-In)

Export 100% of your data on every plan โ€” formats, GDPR compliance and migration tips

4 min read

Your data belongs to you. FreeMaint commits to full data portability: every entity you create can be exported in machine-readable formats, on every tier, with no rate limit, no per-record fee, and no special API key. The point is that your CMMS choice should be reversible โ€” if FreeMaint stops working for you, you can leave with everything intact.

Exporting your data

Every list view (work orders, assets, parts, locations, users, vendors, customers, PM plans, requests, purchase orders, fuel logs) carries an Export button in its toolbar. The export honours the filters and date range currently applied โ€” so you can scope an export to a single location, a single team, or a date window.

  1. Apply filters โ€” Set up the list view exactly as you want the export โ€” filters, sort, columns
  2. Open Export โ€” Top-right of the list page; opens a format picker dialog
  3. Pick CSV or Excel โ€” CSV (UTF-8 with BOM) opens cleanly in Excel/Google Sheets. XLSX preserves cell types (numbers, dates, booleans)
  4. Download โ€” The file downloads immediately for small sets, or arrives by email link for large exports

Available formats

CSV

Universal format. UTF-8 with BOM, CRLF line endings. Opens correctly in Excel, Google Sheets, LibreOffice.

Excel (XLSX)

Preserves number / date / boolean cell types. The company archive can also be taken as an import-ready workbook โ€” one sheet per list, which imports straight back into FreeMaint.

PDF reports

For inspection executions, compliance reports, and asset reports. Audit-grade with embedded checksum (Enterprise).

JSON

JSON โ€” the full company archive, from Company Settings โ†’ Data. Free on every plan and needs no API key. For programmatic access, the GraphQL API covers work orders, assets, parts, locations, vendors, customers and floor plans on Business and above.

Data ownership

You own your data. FreeMaint is a processor; you are the controller. The terms of service spell out that we never sell, repackage, or use your tenant data to train models. Aggregate anonymous metrics (count of work orders shipped, asset count) are computed for product analytics but never tied back to a specific tenant.

Important

Each tenant is fully isolated at the database row level via companyId scoping. There is no shared dataset across customers; an admin from company A cannot see company B's data through any API surface.

Re-importing exported data

Exports use the same column layout as the bulk-import templates. That means you can export a list, edit it in Excel, and re-import โ€” for example to mass-update categories, assignees, or locations. Match-by-reference resolves rows back to their internal IDs without dangling.

GDPR and the right to portability

Article 20 of GDPR grants every data subject the right to receive their personal data in a structured, machine-readable format. FreeMaint serves this two ways: the company-level export described above, and an individual one โ€” any user can download their own data from Settings โ†’ Download My Data, which returns a JSON bundle of their profile, the work orders and requests they created, their comments, their consents and their activity history. It needs no permission and no paid plan. Erasure (Article 17) is handled by Settings โ†’ Delete account.

Migrating from another CMMS

If you are coming from UpKeep, MaintainX, Fiix, or any other CMMS, the typical path is: export each entity type from the source as CSV, map the columns to the FreeMaint bulk-import template, then upload. The match-by-reference feature lets you preserve external identifiers, so your existing asset tags and PM plan codes survive the migration.

  1. Export from the source CMMS โ€” Locations first, then assets, then parts, then users, then PM plans and work orders
  2. Open the FreeMaint template โ€” Open the list page for that record type (Assets, Locations, Partsโ€ฆ) and click Import, top right โ€” then "Need a template?" for a blank Excel or CSV
  3. Map columns โ€” Copy your data into the template, mapping the source fields to FreeMaint's columns
  4. Upload and review โ€” Bulk import runs in dry-run mode first โ€” review the diff, then apply

Moving to another FreeMaint account

To carry your data from one FreeMaint account into another, export the Excel workbook from Company Settings โ†’ Data โ†’ Export Archive, then import each of its sheets from its own list page. The workbook has one sheet per record type and its columns already match the import templates, so nothing needs editing. Its README sheet lists the order to follow. The JSON, ZIP and SQL exports cannot do this โ€” they are archives, and nothing in FreeMaint reads them back.

  1. Export the workbook โ€” Company Settings โ†’ Data โ†’ Export Archive โ†’ Excel. Free on every plan, including Core
  2. Sign in to the destination account โ€” The sheets are matched by name, so categories and locations are recreated as they are read
  3. Import sheet by sheet, in order โ€” Locations, then assets, then parts, users, vendors and customers, then PM plans, work orders, requests and tools
  4. Check the preview before applying โ€” Every import validates first and shows you the rows it cannot take โ€” nothing is written until you confirm

Backup strategy

Daily

Run an automated export of work orders and PM plans daily โ€” store offsite (Drive, S3, OneDrive)

Weekly

Full company export including assets, locations, parts and users

Before big changes

Take an Excel workbook before a large bulk import or a role redesign โ€” it is the copy you could actually put back

Tip

Set a calendar reminder for monthly exports. Which format matters: the Excel workbook is the one you can import back, so take that if you want a copy you could restore from. JSON and ZIP are for keeping the full record โ€” including the entity types the importer does not cover.

Was this page helpful?