Skip to content

Approval Workflow

The approval workflow controls how documents move from Draft through review, approval, training verification, and into effect. InnoQualis EQMS supports configurable multi-signer approval chains with electronic signatures, training threshold gates, and structured rejection discussions.

StateDescription
Not StartedApproval has not been initiated for this document.
In ProgressThe approval process is active and signatures are being collected.
CompletedAll required signatures have been collected.
Approved - Pending TrainingApprovals are complete but the training completion threshold has not been met.
EffectiveThe document has been made effective and is in use.
  1. On the left sidebar, select Documents.
  2. Select a document in Draft status to open it.
  3. Select Start Approval in the toolbar.
  4. The document status changes to Under Review.

Alternatively, start the approval from the Document Preview Panel:

  1. On the document detail page, select the Approvals & signatures tab.
  2. In the Actions card, select Start Approval Process.

Configure approval requirements before or during the approval process.

  1. On the document detail page, select the Approvals & signatures tab.
  2. Scroll to the Configure Approval Settings section.
  3. Set the following options:
SettingDescriptionRange
SignersSearch and select users who need to sign this document.At least 1 required
Required SignaturesNumber of signatures needed to complete approval.0 or more (cannot exceed the number of configured signers)
Threshold (%)Percentage of signers required for approval.1 to 100
Reminder Interval (days)Days between automated reminders for pending signatures.1 or more
Notify on each signatureSend notifications when each individual signature is collected.Checkbox
Notify on completionSend a notification when all required signatures are collected.Checkbox
  1. Select Save.
  1. On the document detail page for a Draft document, select Configure Approval in the toolbar.
  2. Set the Required Signatures count (1 to 10).
  3. Set the Training Threshold percentage (0 to 100). Set to 0 if no training is required.
  4. Use the Select Approvers search to find and add approvers.
  5. Select Save.
  1. On the left sidebar, select Documents.
  2. Select a document in Under Review status to open it.
  3. Select Approve in the toolbar.
  4. In the approval dialog, enter an Approval Reason, then under Electronic Signature select Get verification code and enter the six-digit code emailed to you. Approving a document is an electronic signature under 21 CFR Part 11 — it is not recorded until the code is confirmed.
  5. Select Approve Document. The signatures count updates; when all required signatures are collected, the state advances to Completed or Approved - Pending Training.

Alternatively, sign from the Document Preview Panel:

  1. On the document detail page, select the Approvals & signatures tab.
  2. Review the current approval status: Signatures (collected vs. required), Workflow State, and Training Ready.
  3. Select Sign & Approve.
  4. In the electronic signature modal, confirm your approval.

After all approvals are collected — and, normally, once the training threshold is met — make the document effective. Release — make effective is always available once approval is complete; it is never hidden or disabled by an unmet training threshold. Making a document effective is an electronic signature under 21 CFR Part 11, same as approving one.

  1. On the document detail page, select Release — make effective.
  2. In the signature dialog, select Get verification code and enter the six-digit code emailed to you.
  3. If the training completion threshold has not yet been met, the dialog also asks for a training waiver reason — a written justification for releasing before training completes. This is a recorded waiver, not a silent skip: it is stamped on the document (who, when, why) and appears in the audit trail. Waiving the gate can require an additional permission beyond the ordinary release permission, depending on how the document’s workflow template configures the training gate.
  4. Select Confirm. The document status changes to Effective.

While a document is in the Training stage, the “What’s next” panel also shows Training threshold met and Release ready directly underneath the training progress bar — the same values the server just computed, not a recalculation. Both read “No” until the percentage of trained required users reaches the configured threshold or a waiver is recorded.

  1. On the document detail page for a document in Under Review or Approved - Pending Training status, select Reject in the toolbar.
  2. In the rejection modal, enter a reason for the rejection.
  3. Select Reject to confirm.

If something was missed during approval, an approver can return an approved document to Under Review so it can be amended and re-approved.

  1. On the document detail page for a document in Approved, Approved - Pending Training, or Training status, select Revert to Review in the toolbar.
  2. In the modal, enter a reason for reverting the approval. The reason is recorded in the audit trail.
  3. Select Revert to Review to confirm.

The document moves back to Under Review, all current approval signatures are invalidated (the audit trail is preserved), and the document owner is notified. After the document is amended, it must go through the full signature process again.

The Approvals & signatures tab also shows the full electronic signature ledger for the document — every signature ever recorded against it, not just the current approvers list.

  1. On the document detail page, select the Approvals & signatures tab.
  2. Scroll below the approvers list to Electronic Signatures.
  3. Each row shows who signed, when, their stated signature meaning, and a status badge:
BadgeMeaning
ValidThe signature’s stored checksum still matches — the record has not been altered since it was signed.
InvalidatedThe signature was soft-invalidated (most commonly because the document was later re-signed, rejected, or the approval was reverted). Per 21 CFR Part 11, an invalidated signature is never deleted — it stays visible for the audit trail, with the invalidation reason and timestamp shown alongside it.
Integrity failed / UnverifiableThe stored checksum does not reproduce, or could not be checked. See Electronic Signatures for the full verdict states.

An invalidated signature reflects real history — for example, if an approval is reverted (see Revert an approval above), the prior signatures move from Valid to Invalidated rather than disappearing.

“Approved By” in exported SOP documents

Section titled ““Approved By” in exported SOP documents”

When you export an in-app SOP document (the structured editor under SOP Documents, not a standalone uploaded file) as a PDF or Word (.docx), the Approved By field on the exported document is derived from the document’s actual electronic signatures — the same currently-valid approval signatures shown in the signature ledger above, whether recorded as an individual reviewer’s sign-off or as the final “make effective” release signature — not from any text an author or editor typed into the SOP metadata form.

  • If the document has one or more currently-valid approval signatures, the export shows each signer’s name and the date/time they signed.
  • If the document has never been electronically signed (or its only prior signatures were invalidated — for example, after a Revert to Review), the export shows Not Electronically Signed rather than a blank field or a stale name.
  • A full Electronic Signature Manifestation section — signer, signed-at date/time, and the recorded meaning of each signature — appears in the exported file below the document control table, satisfying 21 CFR Part 11 §11.50.

The SOP metadata editor still has an Approved By text field for draft record-keeping, but it no longer appears in the exported PDF or DOCX — only a real electronic signature does.

InnoQualis EQMS uses two related-but-distinct admin objects, both surfaced under Admin in the sidebar:

Admin tabWhat it controlsExample
Document TemplatesThe starting file an author downloads when creating a new document — a Word .docx (or .pdf) blueprint with structured sections.“SOP-Template-v2.docx” with pre-filled Purpose / Scope / Procedure sections.
Workflow TemplatesThe approval lifecycle the document moves through — states, transitions, approval rules, and post-approval policy.“Standard SOP Workflow” with states draft → review → approved → training → effective and a QA Manager required at review.

A real document ends up with both: it is created from a Document Template (the file shape) and governed by a Workflow Template (the approval process). They are configured independently — any file template can be paired with any workflow.

Admins can lock down post-approval actions per workflow template. This is useful for highly regulated workflows (for example a clinical-protocol master) where rolling an approval back must go through a stricter alternative process.

Each workflow template exposes two toggles, both on by default so existing workflows retain current behavior:

ToggleWhen off
Allow revert approvalThe Revert to Review button is hidden on documents using this workflow, and the API rejects revert requests with 403.
Allow reject after approvalThe Reject button is hidden once the document reaches a post-approval state, and post-approval rejection requests are rejected with 403.

To configure:

  1. On the left sidebar, select AdminWorkflow Templates.
  2. Open the workflow you want to change (Edit, or Create a new one).
  3. In the Approval policy section of the modal, toggle the checkboxes.
  4. Save. Changes apply live to all documents governed by that workflow — including documents that were already mid-flight.

Workflow states can be named anything (in any language), but the document lifecycle still has standard phases that the rest of the system needs to understand: drafting, review, post-approval, training, effective, periodic review, archived. Each workflow state declares which phase(s) it represents via capability flags. The flags drive every UI button and every backend gate — so a state named “Senior Quality Lead Review” works exactly like one named “under_review”, as long as it has is_review ticked.

FlagMeaningUnlocks
InitialThe state a new document starts in.Document creation.
TerminalNo outbound transitions; lifecycle is finished.(closes the workflow)
Allows editThe author can edit document content.Edit button on the document detail page.
Allows new versionThe author can branch a new version.New Version button.
Requires approvalApprove / reject signatures are required to leave the state.Approve, Reject buttons.
DraftAuthoring pre-approval phase.Start Approval button, edits, version creation.
ReviewApproval-collection phase.Approve, Reject buttons (mirrors Requires approval but is read by frontend gates).
Post-approvalApproved but not yet effective.Revert to Review, post-approval Reject.
TrainingTraining-stage holding pen.Auto-assign training, Make Effective via training-threshold check.
EffectiveLive and in use.Mark Obsolete, New Version, supersession.
Periodic reviewScheduled re-evaluation; document remains effective but is flagged.Periodic review queues.
ArchivedLifecycle ended (obsolete, superseded, withdrawn).Suppress from default lists / dashboards.

Flags are not mutually exclusive — a training state typically has both is_post_approval and is_training ticked. The editor’s Validation panel flags conflicting combinations (e.g. is_draft && is_effective) and required ones (e.g. requires_approval with no matching approval rule).

How the Revert button decides when to appear

Section titled “How the Revert button decides when to appear”

The detail page reads capabilities.can_revert_approval from the document response. That flag is true when:

  1. The current workflow state has is_post_approval = true, and
  2. The document’s workflow template’s allow_revert_approval policy is true (the per-workflow toggle from the previous section).

Both conditions are evaluated live on every page load — no schema migration is needed when an admin re-tags a state. The custom-state-name workflow case works the same way: tick is_post_approval on the relevant custom state and the Revert button appears.

On desktop, the Workflow Templates create/edit modal opens to a full-screen canvas where the workflow is built directly:

  • States are draggable cards — color-coded by capability (green for effective, blue for post-approval, orange for training, etc.). Drag them around to lay out the diagram however you like.
  • Click a state to edit it — the side panel on the right opens with the full state form: internal name, display name, description, color, lifecycle phase checkboxes, and (when the state requires approval) the approval rules for that state.
  • Drag from one state’s right edge to another’s left edge to create a transition. The transition’s edit panel opens automatically so you can name it.
  • Click an existing transition (the arrow) to edit it.
  • Hover a state and click the trash icon to delete it.
  • Add State button sits in the top-left corner of the canvas; the empty state offers an Add First State CTA.

The validation panel below the canvas surfaces structural issues live (no initial state, conflicting flag combinations, transitions referencing missing states, etc.) and disables Save when there are errors.

On screens narrower than 1024 px the canvas is too cramped for direct manipulation. Mobile keeps the previous list-of-cards layout: a read-only mini-diagram followed by separate States, Transitions, and Approval Rules sections you scroll through and edit individually.

The Document Templates admin tab accepts Word documents (.doc, .docx) and PDFs (.pdf). PDFs are useful for read-only blueprints (regulatory references, fixed boilerplate) where authors should not be able to alter the master.

When a document is rejected, a Rejection Discussion panel appears with a threaded conversation.

Message TypeColorDescription
RejectionRedThe initial rejection with reason and comments
ResponseBlueResponses from the document owner or other participants
EscalationOrangeRequests to escalate the discussion to management
ResolutionGreenFinal resolution marking the discussion as closed
  1. In the Rejection Discussion panel, type your response in the Add Response text area.
  2. Select Send Message.

If you cannot resolve the rejection through discussion:

  1. Below the discussion thread, select Escalate to Management.
  2. In the dialog, enter the reason for escalation.
  3. Select Escalate.
  4. The escalation appears as an orange-highlighted message in the thread.

Once the rejection issues have been addressed:

  1. Below the discussion thread, select Mark as Resolved.
  2. Enter the resolution details describing how the rejection was addressed.
  3. Select Mark Resolved.
  4. The discussion thread becomes read-only with a “Resolved” badge.
  1. On the left sidebar, select Documents.
  2. Select the checkboxes next to the documents you want to approve.
  3. Select the bulk approve action in the toolbar.
  4. The signing dialog opens once it has loaded the full list of documents from the server — every document’s number and title is shown before the confirmation code field appears.
  5. If your batch has more than 10 documents, you must first type the exact document count into a confirmation field before the confirmation code field becomes usable. This is a deliberate extra step: it forces you to actually register how many records you are about to sign, rather than clicking through a large batch on autopilot.
  6. Request and enter your confirmation code, then select Sign & approve documents.

Practical example: approving a batch record template

Section titled “Practical example: approving a batch record template”

Scenario: A new batch record template (BR-101) for tablet manufacturing needs approval from three department heads before production can use it.

  1. The QA Specialist uploads BR-101 and opens the document detail page.
  2. On the Approvals & signatures tab, under Configure Approval Settings, they add three signers: the QA Manager, the Production Director, and the Validation Lead.
  3. They set Required Signatures to 3, Threshold to 100, and Reminder Interval to 3 days.
  4. They check both Notify on each signature and Notify on completion, then select Save.
  5. They select Start Approval Process — all three approvers receive an email notification.
  6. The QA Manager opens the document, reviews it, selects Sign & Approve, and confirms with their electronic signature.
  7. The Production Director does the same the next day. The Validation Lead is traveling and receives an automated reminder after 3 days.
  8. After the Validation Lead signs, all signatures are collected and the training threshold shows “Ready” (no training was required for this template).
  9. The QA Specialist selects Make Effective to make BR-101 available for production use.

If the document is rejected: The Production Director selects Reject and enters “Section 4.2 missing hold time specification.” The QA Specialist sees the rejection discussion, responds with a revised section, and selects Mark as Resolved once the issue is addressed. The approval process restarts.

ActionRequired Role / Permission
Start approval processAdmin, QA Team
Configure approval settingsdocuments.approve permission
Sign and approvedocuments.approve permission
Make document effectivedocuments.release permission
Reject documentAdmin, QA Team
Revert approval (Approved → Under Review)Admin, QA Team (documents.approve); subject to workflow policy
Configure workflow approval policyAdmin
Manage document templates (file blueprints)Admin (Word/PDF uploads, version history, approval lifecycle)
Bulk approveAdmin, QA Team
View the signature ledgerAdmin, QA Team, Auditor (any resource), the document’s owner, or anyone holding documents.approve/documents.update on it — someone who can act on the approval can also see who has already signed