Compliance

Migrate a standard

Move every clause reference in your documents and audit questions from one regulatory standard to another — typically when the standard is reissued — with a clause-by-clause mapping and a per-document confirm-or-skip step.

For
Org admins
Find it at
Admin → Regulatory Standards → Migrate Standard
Reading time
5 min

In one sentence

When a standard is reissued — ISO 9001:2015 → 2025, AS9100 Rev D → Rev E, or any cross-standard move — the Migrate Standard tool walks you through mapping each old clause to its equivalent in the new standard and rewrites every reference in your controlled documents and audit questions in one pass.

Three things to remember
  • It's a clause remap, not a deactivation. Migration rewrites the references in place — documents continue to render correctly under the new standard, and old references stop showing the old standard's clause numbers. You don't need to deactivate the old standard separately.
  • Affected documents are reset to Draft and require re-approval. Editing a controlled document — even a clause-ref swap — is a content change. Each affected doc lands in Draft and the standard approval chain re-runs. That's deliberate: the rewritten content must be re-signed by an approver.
  • Audit questions update in place. Question text doesn't change, only the audit_question_standards link rows are remapped. No question is reset to a draft; the new clause reference shows immediately on the next audit run.

When to use it

Three common triggers:

  • Standard reissued. ISO 9001:2025 supersedes ISO 9001:2015 and most clauses have shifted or been renumbered. Migration moves every reference in one motion.
  • Switching certification scope. Your org adds AS9100 alongside ISO 9001 and wants existing ISO 9001 references on aerospace procedures rebadged to AS9100D.
  • Cleaning up a mistake. Someone marked SOPs against IATF 16949 when they should have been API Q1. Migration is the safer fix than hand-editing every document.

If your migration is just a one-off label change on a handful of clauses, editing the documents directly is usually faster. The tool comes into its own once the changes span many clauses or many documents.

Where to find it

Admin → Regulatory Standards → Migrate Standard (or click the Migrate Standard button on the Regulatory Standards admin page).

Admin-only — gated on the Access audit admin permission.

The flow

1
Pick From and To
Two dropdowns at the top — the standard you're migrating from and the one you're migrating to. Inactive standards are selectable (with an (inactive) tag) in case you're cleaning up legacy references.
2
Load preview
Click Load preview. The tool scans every document's content and every active audit question for references to the From standard and lists the clauses with at least one reference, with counts.
3
Map each clause
For each old-standard clause, pick its equivalent in the new standard from a dropdown grouped by section. The tool auto-fills any clause that has an identical clause code in the new standard (e.g. 7.17.1), so a same-numbering revision is largely click-Apply. Leave the dropdown on — Don't remap — to skip a clause entirely; its references are untouched.
4
Review affected documents
Click Review N documents. A modal walks you one doc at a time showing the clause changes about to happen on that document, with a warning if it's currently Approved. Confirm update marks it for migration; Skip leaves it alone. You must decide on every affected doc before applying.
5
Apply
The Apply migration button enables once you've mapped at least one clause and reviewed every affected document. Click it. Confirmed documents are rewritten and reset to Draft; audit-question links are remapped; you get a count of each.

The whole flow is reversible by running migration the other way — but unmapped clauses and skipped documents are simply left alone, so a partial run never paints you into a corner.

Clause mapping in detail

The clause-mapping table is the heart of the tool. Each row shows:

  • The From clause with its code and title.
  • A dropdown to map to the new standard's clauses, grouped by section so you can quickly find the equivalent.
  • Docs and Questions counts — how many of each reference this clause.

A few patterns:

  • Identical clause codes auto-match. When the same clause number exists in both standards (typical for minor revisions), the dropdown is pre-selected. Don't trust this blindly for major revisions — clauses get renumbered, scopes shift, and the title is the better signal.
  • One-to-one only. You can't fan a single From clause out to multiple To clauses, or merge multiple From clauses into one. If a clause genuinely splits or merges, leave it unmapped, apply what you can, then hand-edit the affected documents.
  • Unmapped clauses are untouched. Leaving a row on — Don't remap — means the old standard's references on that clause stay exactly where they were. Useful when you genuinely don't have an equivalent yet.

The per-document review step

Before the Apply migration button enables, you must walk every affected document through a confirm-or-skip decision in the review modal.

What the modal shows for each doc:

  • Document number, title, and current status badge.
  • The list of clause changes that will be applied to this document.
  • An amber warning if the document is currently Approved — confirming will reset it to Draft and require re-approval.

Confirm update queues the doc for migration. Skip leaves it untouched (you can come back later via a fresh migration run).

Why the per-doc step exists: a clause-ref change is a content change. Surfacing each affected document up-front avoids the surprise of "I migrated a standard and now 47 SOPs are sitting in Draft." You see the blast radius and decide deliberately, document by document.

What gets changed when you apply

Documents you confirmed

  • The clause-ref spans in the document's HTML body are rewritten — the old standard's clause numbers are swapped for the mapped new-standard ones.
  • Status flips to Draft.
  • The approval chain is reset (current step, submitter, prior approver signatures are cleared) so the document re-routes through your normal approval flow.
  • The change is captured in the document's record history like any other edit — you can see exactly what changed in the History tab.

Audit questions referencing any mapped clause

  • Each question's audit_question_standards row pointing at the old (standard, clause) pair is removed and a new row pointing at (new_standard, mapped_clause) is inserted, carrying the new clause's title.
  • The question itself is not edited or deactivated. It immediately tags audits and gaps against the new standard.
  • The remap is captured in the row-change feed (per-question history isn't surfaced yet, but the change is captured at the DB).

Things left alone

  • Documents you skipped in the review modal.
  • Documents that reference an unmapped clause (and have no other mapped clauses).
  • Documents in Obsolete / Superseded status (they never enter the preview).
  • Gap analyses — these carry a single standard_id field, not a list of clause refs, so they're not part of the migration. To move a gap analysis to a new standard, close the existing one and start a new gap analysis against the new standard.
  • The old standard itself in your Active Standards list — migration doesn't deactivate it. Deactivate separately at Admin → Regulatory Standards if you no longer want it appearing in pickers.
Watch out for: in-flight approvals

A document currently Under review is reset to Draft the same as an approved doc when you confirm it for migration. Approvers in the middle of a review will see the chain disappear and a fresh review start. If a doc is mid-approval and the migration isn't urgent, Skip it and run the migration again later.

What it doesn't do

  • No undo button. The migration applies the changes immediately. There's no single-click rollback. You can run migration the other way (To → From) to reverse, but skipped docs and unmapped clauses won't be touched on the reverse pass — they were already correct. Re-approval of reset documents is also irreversible from this tool; the chain has to run again.
  • No partial document remap. Confirming a document remaps every clause on that document that has a mapping. There's no "remap clause 7.1 but leave 8.3 alone within the same doc" — the dropdown's Don't remap is the per-clause off-switch, applied globally.
  • No multi-org or cross-org migration. This is per-organization. If you run two QFormance orgs with shared content, you run the migration in each one.
  • No effect on archived versions. Prior document_versions rows are snapshots — they keep the old clause references the document had when that version was approved. Only the live document content is rewritten. That's by design: a frozen version is frozen.

Permissions

Migration requires the Access audit admin permission. The default Admin role has it. The Standard User role does not. If you've built a custom role for regulatory review, grant Access audit admin on that role and the migration tool becomes available to that user.

Was this helpful?
Suggest an edit →