Skip to content

Weld status lifecycle

Every weld has a status that records where it is in its lifecycle. MaxTrax permits only the transitions listed on this page; any other move — including a weld transitioning to the status it already holds — is rejected. The same rules apply everywhere a status changes: in the app online, when offline changes sync, and during Excel import.

State diagram of the weld status lifecycle: a created weld starts Pending and can move to Accepted, Rejected, or Voided; Rejected can move to Repair by requesting a repair; Excel import enters through Persisting to Pending; Accepted, Voided, and Repair are terminal. State diagram of the weld status lifecycle: a created weld starts Pending and can move to Accepted, Rejected, or Voided; Rejected can move to Repair by requesting a repair; Excel import enters through Persisting to Pending; Accepted, Voided, and Repair are terminal.

The tables below are the authoritative reference behind the diagram.

Status Meaning Legal transitions to
Pending A newly created weld, awaiting inspection or disposition. Every weld starts here. Accepted, Rejected, or Voided
Accepted The weld passed inspection, or an editor accepted it. None (terminal)
Rejected The weld didn’t pass — an inspection failed, or an editor rejected it. It is repaired by creating a linked repair weld. Repair
Voided The weld was cancelled or withdrawn from the workflow. None (terminal)
Repair The original rejected weld after a repair was requested — it has been superseded by a new repair weld. None (terminal)
Persisting A transitional state used only while Excel import loads rows, before they enter the live workflow. You never set it in the app. Pending

Terminal statusesAccepted, Voided, and Repair — have no outgoing transitions. A weld in one of them is final and can’t change again. Rejected is not terminal: its one legal move is to Repair. Persisting is the import-only entry point into the lifecycle.

Transition How it happens
PendingAccepted Recording inspection results — when every inspection on the weld has passed — drives it, or an editor sets it directly with the weld’s Change Status → Accept action.
PendingRejected Recording an inspection as Failed drives it, or an editor sets it directly with Change Status → Reject.
PendingVoided An editor sets it directly with Change Status → Void. It is not inspection-driven.
RejectedRepair Requesting a repair from the weld’s drawer, which creates a new linked repair weld and retires the original. This is the only way a weld reaches Repair — you cannot set it with Change Status.
PersistingPending Written only by the Excel import pipeline. No in-app action produces it.

A few points auditors ask about:

  • Change Status is available only while a weld is Pending. Once a weld is Accepted, Rejected, Voided, or Repair, an editor can’t reclassify it.
  • Recording inspection results can drive a weld to Accepted or Rejected, but never to Voided or Repair.
  • Repair is never an in-place status change. It always creates a new, linked weld — see Repair a weld.

This is a single rule set. Whether a status change comes from the online app, from an offline change that syncs later, or from the Excel import pipeline, the transitions above are enforced identically — so a weld can never end up in a state these rules don’t allow.