Skip to content

Import file spec

This page is the specification for the Excel workbook the MaxTrax importer accepts. It documents each worksheet, the columns on each, the values each column accepts, and every reason a row can be rejected. For the upload-and-fix task flow, see Import weld data from Excel.

  • The file must be an .xlsx workbook. .xls, .xlsm, and password-protected files are not supported. The upload also enforces a 25 MB upload limit.

  • The workbook holds up to four worksheets, processed in this fixed logical order regardless of their physical tab order: ISO → Weld → Inspection → FilmInterval.

  • Worksheets are matched by name (case-insensitive; the first match wins):

    Sheet Accepted worksheet names Required
    ISO ISO, Iso Yes
    Weld Weld, Welds No
    Inspection Inspection, Inspections No
    FilmInterval FilmInterval, Film Interval, FilmIntervals No
  • The ISO worksheet is required — a workbook without one fails the whole run (see Whole-run failures). It may be left with only its header row when every drawing your other sheets reference is already in the project; see Appending to ISOs already in the project. A run that ends up with nothing at all to process — no usable ISO rows and no drawing that resolves against the project — still fails as a whole.

  • Cells are read by column position (letter), not by header label. Place each field in the column letter documented below; the header row is not parsed for names. Empty cells may be omitted.

  • Every sheet is keyed to an ISO by its drawing number in column A. Rows are grouped by ISO for processing. A drawing number is matched first against this workbook’s ISO sheet and then against the ISOs already in the project; a child row whose drawing number matches neither is rejected as an orphan.

  • Key values — drawing numbers, weld labels, and reference codes — are trimmed and uppercased before matching, so matching is case-insensitive.

  • Duplicates take the first definition. A repeated ISO drawing number, or a repeated weld label within one ISO, keeps the first row and ignores the later one (not a rejection). The ignored row is listed in the validation report, so a second row carrying different values — a different welder, heat or filler, say — is never dropped without telling you. It is a warning, so it does not count toward the run’s rejected-row total and does not stop the run.

You do not have to re-list a drawing on the ISO sheet to add welds to it. A workbook of new welds against drawings a previous import already loaded is an ordinary import: for each drawing your Weld / Inspection / FilmInterval sheets name but your ISO sheet does not, MaxTrax looks the drawing up in the project and uses the ISO it finds.

  • The match is on drawing number, within this project, and the ISO must still be active. A drawing whose only match in the project has been deleted is treated as unknown and its rows are rejected as orphans — a deleted ISO is never revived or reattached to.
  • A drawing that is on your ISO sheet is resolved from that row as before; the sheet row always wins, and its create-or-reuse behaviour and test-package assignment are unchanged.
  • A drawing that matches nothing — not the sheet, not the project — still rejects its rows with No matching ISO in the workbook., so a typo’d drawing number is as visible as it ever was.
  • Because the ISO sheet no longer has to carry these drawings, it may hold only its header row in a welds-only workbook. One caveat in that shape: if the ISO sheet has no data rows and not a single drawing on your other sheets resolves against the project, there is nothing for the run to process at all, so it fails as a whole with The ISO worksheet has no data rows; nothing to import. rather than listing each row as an orphan. If a welds-only workbook fails that way, check the drawing numbers in column A for a typo.

Many columns hold a code that MaxTrax looks up against existing, active reference data (weld types, inspection classes, contractors, NDE contractors, procedures, components, materials, heats, ASTM codes, filler heats, inspection types, film-interval statuses, facilities, and more). The importer does not create reference records — the referenced value must already exist and be active. An unresolved optional code is left unset; an unresolved required key rejects the row.

  • Multi-value cells (welder stencils, filler-heat codes) accept several values separated by any of . , | : ; tab, or newline.
  • Date cells accept an ISO / invariant date string or an Excel numeric date serial. A blank date cell means “no date”; a non-blank date that cannot be parsed rejects the row.

Creates or reuses each ISO. Columns not listed are ignored.

Column Field Required Meaning / accepted values
A Drawing number Yes The ISO drawing number. Blank rejects the row.
B Unit No Free text.
C Area No Free text.
D System No Free text.
E Test package No Test-package code; assigns the ISO to that package. Unknown code, or a signed ISO/package, rejects the row.
F Inspection class No Reference code.
G Line service No Reference code.
H Insulation type No Reference code.
I Line number No Free text.
J Line size No Number.
K Insulation size No Number.
L Contractor No Reference code.
M Spool No Free text.
P Description No Free text.
Q Sub-system No Free text.
R Package tier No Optional classification for the package named in column E: IWP, TWP, or RFPC (common long forms such as Installation, Test, Ready-for-Pre-Commissioning are also accepted, case-insensitive). Blank leaves the package’s tier unchanged; an unrecognized value records a warning and leaves it unclassified.

Creates or reuses each weld on its ISO, then applies its descriptive and completion data. A row that carries welders (column I) completes the weld and requires a real weld date.

Column Field Required Meaning / accepted values
A Drawing number Yes Must match an ISO in the workbook.
B Weld label Yes The weld number, unique within its ISO. Blank rejects the row. A {label}R{n} label links the weld as a repair of its predecessor on the same ISO.
C Diameter No Number.
D Pipe schedule No Text; also read as the wall thickness.
E Weld type No Reference code.
F Inspection class No Reference code. Leave it blank to keep the class already set on that weld — a blank cell no longer resets the weld to its drawing’s class. An unknown code rejects the row.
G Procedure No Welding-procedure (WPS) code.
H Weld date No Date. Required when the row carries welders. A non-blank, unparseable date rejects the row. So does a weld date the system stores as the “not welded yet” marker or earlier — 1990-01-01 at midnight, anything within a few milliseconds after it, or any earlier date — for a weld that is already complete (it has a real weld date and at least one welder), because a completed weld can’t be un-completed by import. A genuine later time that day (for example 1990-01-01 08:00) is a real date and is accepted. Correct the date instead, or void the weld while it is still pending.
I Welders No One or more welder stencils (multi-value). Each must resolve to an active welder; an unknown stencil rejects the row. Present ⇒ the weld is completed.
J Component 1 No Reference code.
K Heat 1 No Reference code.
L Material 1 No Reference code.
M Component 2 No Reference code.
N Heat 2 No Reference code.
O Material 2 No Reference code.
P ASTM No Reference code, shared across both element sets.
Q Filler heats No One or more filler-heat codes (multi-value).
R Joint location No Field, Shop, or TPS (case-insensitive). Any other value is stored as unset, not rejected.
S Spool No Free text.
T Description No Free text.
U Facility No Optional facility code that scopes this row’s welder stencils. Blank uses the default (unscoped) welders; a supplied but unknown facility rejects the row.

Creates or reuses an inspection on a weld and, when a status is given, records its disposition. Columns not listed (including D) are ignored.

Column Field Required Meaning / accepted values
A Drawing number Yes Must match an ISO in the workbook.
B Weld label Yes Must match a weld under that ISO, or the row is rejected.
C Inspection type Yes Reference code; must resolve to a known inspection type, or the row is rejected.
E Technician No NDE technician stencil.
F NDE contractor No Reference code.
G Inspection date No Date.
H Status No The inspection result: Passed, Failed, Pending, or Negated (case-insensitive). Blank records no disposition; an unrecognized or illegal value rejects the row. See Inspection states.
I Welder failure stencils No One or more welder stencils (multi-value) that failed this inspection. An unknown stencil rejects the row.
J Welder failure reason No A single reason applied to each failing welder on the row.
L Facility No Optional facility code that scopes the welder-failure stencils. A supplied but unknown facility rejects the row.

Adds film intervals to an inspection. The parent inspection is identified by the weld label (column B) and inspection type (column C) under the ISO. Columns not listed (including D) are ignored.

Column Field Required Meaning / accepted values
A Drawing number Yes Must match an ISO in the workbook.
B Weld label Yes Identifies the parent inspection with column C; if no matching inspection exists, the row is rejected.
C Inspection type Yes Reference code; identifies the parent inspection with column B.
E Status No Film-interval status reference code.
F Begin No Number — interval start.
G End No Number — interval end.
H Rejected length No Number.
I Comments No Free text.

A bad row never stops the import. It is recorded and skipped, and the rest of the workbook imports normally. When a run finishes with rejected rows, the validation report lists each one with its sheet, row number, ISO drawing number (when known), field (when attributable), and a reason. The reasons the report can show:

Category Reason shown Where
Missing key Blank drawing number. ISO, column A
Missing key Blank weld label. Weld, column B
Orphan row No matching ISO in the workbook. — the drawing number is on neither this workbook’s ISO sheet nor an active ISO in the project (see Appending to ISOs already in the project) Weld / Inspection / FilmInterval, column A
Missing parent Weld '{label}' not found under ISO '{drawing}'. Inspection, column B
Missing parent Inspection '{label}/{type}' not found under ISO '{drawing}'. FilmInterval, column B
Unknown reference Unknown inspection type '{code}'. Inspection, column C
Unknown reference Unknown welder stencil '{stencil}'. Weld / Inspection
Unknown reference Unknown facility '{code}'. Weld / Inspection, facility column
Bad value Unparseable weld date '{value}'. Weld, column H
Bad value Unrecognized inspection status '{value}'. Inspection, column H
Warning Unrecognized package tier '{value}' — test package '{code}' left unclassified. ISO, column R
Warning ISO '{drawing}' is listed more than once in this workbook. The first row won; this row's ISO values were not imported. ISO, column A
Warning Weld '{label}' is listed more than once on ISO '{drawing}' in this workbook. The first row won; this row's values were not imported. Weld, column B
Domain rule The rule message from the create/update the row triggered — for example a signed-ISO lock (iso_signed), a signed-test-package lock (test_package_signed), a validation error, a missing reference, or a concurrency conflict. Any sheet

A structural problem with the workbook fails the entire run rather than rejecting individual rows:

  • The required 'ISO' worksheet is missing from the workbook.
  • The ISO worksheet has no data rows; nothing to import. — raised only when the run has nothing to process at all: no usable ISO row and no drawing on the other sheets that resolves against an active ISO in the project. A welds-only workbook against already-loaded drawings imports normally.
  • Other workbook-structure errors, reported against a Workbook entry.