Skip to main content

Deterministic In-Browser Spreadsheet Qualification

Order Dossier (€149 + VAT)

For Type A and Type non-A inspection bodies · NDT · pressure equipment · lifting equipment · pipelines · structural steel

Validate your inspection spreadsheets for ISO/IEC 17020:2026 Clause 7.5 — before your transition assessment asks for the record.

The 2026 edition gives the control of data and information a clause of its own. Every workbook that turns a UT reading, a proof load or a design pressure into ACCEPT or REJECT is calculation software your assessor may sample. NormXL recalculates every formula with an independent engine, proves the locks, constants and rounding at each acceptance limit, and seals the file with SHA-256. It all happens inside your browser: not one byte of client inspection data leaves your workstation. About three minutes. €149 + VAT.

  • For Type A and Type non-A bodies alike. Clause 7.5 applies to every accredited inspection body, whatever its independence type.
  • Evidence you can reference in UKAS's transition gap analysis, RvA's verschilanalyse, NATA's implementation checklist and DAkkS's transition application.
  • €149 + VAT per spreadsheet. A validation consultant bills €1,300–€1,800 a day.
Order Your Inspection Spreadsheet Dossier — €149 + VAT Download Sample Dossier (ISO/IEC 17020:2026 profile · 24 pages · PDF)

No installation · No admin rights · Works offline once loaded · Your workbook never leaves your machine

One reading, two verdictsA wall-thickness template prints the minimum as 4.5 mm while storing 4.5053571428571431, and a 4.46 mm reading is accepted because rounded values are compared.ABC123456789Design pressure P5.0 MPaOutside diameter D168.3 mmAllowable stress S138 MPaQuality factor E1.00W1.00Y0.4Allowances c1.5 mmMinimum wall tm4.5 mmUT reading4.5ACCEPTObservationDisplay ≠ decision ·flagged in §6Illustrative values4.5053571428571431UT reading 4.46 → prints 4.5False assuranceBoth cells print 4.5. The decision comparedrounded values: the pipe is 0.045 mm below tm.One reading, two verdictsA wall-thickness template prints the minimum as 4.5 mm while storing 4.5053571428571431, and a 4.46 mm reading is accepted because rounded values are compared.ABC123456789Design pressure P5.0 MPaOutside diameter D168.3 mmAllowable stress S138 MPaQuality factor E1.00W1.00Y0.4Allowances c1.5 mmMinimum wall tm4.5 mmUT reading4.5ACCEPTObservationDisplay ≠ decision ·flagged in §6Illustrative values4.5053571428571431UT reading 4.46 → prints 4.5False assuranceBoth cells print 4.5.The decisioncompared roundedvalues: the pipe is0.045 mm below tm.
  • ASME B31.3 · 304.1.2 t = P·D / [2(S·E·W + P·Y)]
  • ASME VIII-1 · UG-27(c)(1) t = P·R / (S·E − 0.6·P)
  • API 570 · remaining life RL = (tactual − trequired) / CR

Your formulas, recalculated by an independent engine, digit for digit.

One Clause 7.5, assessed by your national accreditation body

  • 2026-edition assessments available since 1 September 2026; at every visit from 1 January 2028. UKAS's gap-analysis proforma is due at least one month before your transition assessment. See the milestones →
  • 2026-edition assessments from October 2026, at your next scheduled visit. Complete NATA's implementation checklist beforehand. Transition closes 31 March 2029. See the milestones →
  • Mandatory from 1 July 2027. Submit your gap analysis, internal audit report and management review at least four weeks before your assessment. See the milestones →
  • Swedac: New applications on the 2026 edition from October 2026; 2026-edition assessments throughout 2028; transition ends March 2029. DANAK · NA · FINAS: Confirm your national milestones with your accreditation body. The international transition ends in March 2029. See the milestones →
  • Initial and transition applications from 1 November 2026; 2026-edition assessments from January 2027. See the milestones →

Named only to identify the accreditation frameworks NormXL dossiers are structured for. NormXL is independent and is not affiliated with, endorsed by or approved by any of these organisations.

See what your assessor would see, without anything leaving this tab

Drop the calculator your inspectors use most, or try the bundled sample: a B31.3 wall-thickness template of the kind found on many site laptops. The sample scan shows the findings a Dossier documents. For your own file, the browser computes its SHA-256 fingerprint and a quick count of formulas, locks and constants locally, and nothing is sent anywhere.

Drop your .xlsx or .xlsm here, or use the sample inspection template

Client data in the file? It stays in this browser tab. Open your browser's network monitor (F12 → Network) and watch: nothing is transmitted.

  • Parsing OpenXML package…
  • Rebuilding 41 formulas from syntax trees…
  • Testing decision cells at their limits…
  • Auditing protection…

B31.3_Wall_Thickness_Sample.xlsx SAMPLE WORKBOOK

SHA-256 28a815ee b5a86f43 6546c770 2ea8702f f1fc66cb 77d15a42 d511af50 8ac260d1

41 formula cells · 8 unique formulas · 2 worksheets · 12 CMLs

3 assessor red flags · 2 more findings

  1. Calc!F33 IEEE 754 precision drift

    Calc!F33 =IF(C33-D33>=0.1,"ACTION","NO ACTION") (CML-04: 4.72 mm → 4.62 mm). The wall loss is exactly 0.10 mm on paper. Excel stores 0.099999999999999645, so the cell returns NO ACTION at your 0.10 mm action threshold.

  2. Calc (sheet) + Inputs!C9 Unlocked formula cells

    Sheet Calc is not protected, so all 41 formula cells can be overtyped and its "Locked" cells are not locked. Inputs!C9 (quality factor E) has no data validation: it accepts 0.85, 1.00 or 10.

  3. G14 · H22 · H23 · F30:F41 Buried hard-coded constants

    0.4 (Y) in Calc!G14, 1.5 (corrosion allowance) in Calc!H22, 0.875 (mill under-tolerance) in Calc!H23 and 0.1 (action threshold) in Calc!F30:F41: 4 values with no source, in 15 formulas.

Also found

Display ≠ decision: Calc!H22 prints the minimum wall as 4.5 mm and stores 4.5053571428571431. G35 compares the stored value, so CML-06's 4.50 mm reading is rejected while the sheet shows 4.5 against 4.5.

Text accepted as a reading: "N/A" for CML-07 returns ACCEPT in Calc!G36, because Excel ranks any text above any number. MIN(D30:D41) skips it, and its wall-loss and interval-action cells show #VALUE!.

Ran in this tab · 0 requests carrying workbook data · 0 KB of your workbook uploaded

This scan ran in your browser. Your workbook was not uploaded, logged or stored.

Generate the full Dossier — €149 + VAT Preview the first three pages of the sample Dossier →

The 2026 edition gives data control a clause of its own

The 2012 edition dealt with computers in a short paragraph of its equipment requirements. Clause 6.2.13 asked for software that was adequate for use, procedures to protect the integrity and security of data, and maintained equipment. Many inspection bodies met it with a sentence in the quality manual. If an experienced engineer had built the sheet years ago and spot-checked two rows on a pocket calculator, nobody pressed further.

ISO/IEC 17020:2026, published on 27 March 2026, keeps an equipment-level requirement on software (the old 6.2.13 continues, revised, as 6.2.9). It also adds something entirely new: Clause 7.5, Control of data and information. In summary, the systems that collect, process, record, report, store or retrieve your inspection data have to be:

  • validated for their intended use before use;
  • re-validated before changes are implemented;
  • protected against unauthorised access, tampering and loss;
  • monitored, with failures recorded.

Inspection data has to stay intact along its whole path, from the reading in the field to the conclusion on the report. Every spreadsheet on that path is now visibly in scope. (Paraphrased. Read the clause in your copy of the standard and your accreditation body's transition guidance.)

Even where off-the-shelf software in general use can be treated as sufficiently validated, that covers Excel as Microsoft ships it. It does not cover the formulas, limits and look-ups you configured in it.

Assessors draw a sharp line between office software and bespoke calculation tools. A word processor used for a cover letter is office software. A workbook that turns ultrasonic thickness readings into a remaining-life decision, or a test load into a safe working load, is a calculation tool that directly determines inspection results. It is expected to be validated for its intended use and controlled like the critical equipment it effectively is. In GAMP® 5 terms, the vocabulary most validation specialists share, it is configured software (Category 4).

In practice, assessors preparing transition assessments ask for:

  • an inventory of the software and spreadsheets that influence inspection results, with versions and owners;
  • evidence of validation for the intended use, completed before first use;
  • protection against accidental overwrite and unauthorised change;
  • controlled re-validation whenever formulas, constants or layout change;
  • record integrity from end to end: the number printed on the report is the number the decision was based on.

Where your report states that an item conforms, the 2026 edition also expects the basis of that statement, including any decision rule, to be clear. That makes the arithmetic at the acceptance limit an assessment matter, not a spreadsheet detail.

ISO/IEC 17020:2012ISO/IEC 17020:2026
Where software sitsClause 6.2.13, inside the equipment requirementsAn equipment-level requirement (6.2.9) plus a new standalone Clause 7.5, Control of data and information
Typical evidence offeredIT policy, back-up routine, "software adequate for use" statementEvidence that each calculation tool affecting results is validated for its intended use, protected, version-controlled and traceable
Template changesOften uncontrolled between assessmentsValidated before implementation, and provably so
Independence typesType A, B, CType A and Type non-A
Preventive actionA clause of its ownReplaced by actions to address risks and opportunities

Orientation summary only. Read ISO/IEC 17020:2026 and your accreditation body's transition guidance for the exact requirements.

Whichever body accredits you, the question about software will be the same: show us how the tools that produce your inspection results are validated, controlled and protected.

Type A or Type non-A: Clause 7.5 asks every body the same question

The 2026 edition reduces the A, B and C classification to two: Type A (independent third party) and Type non-A. Existing Type B and C bodies become Type non-A; RvA, for example, makes the change automatically. Your type describes your independence. It never set your data-control obligations. Clause 6.2.13 applied to every type in 2012, and Clause 7.5 applies to every type now.

If you are an in-house inspection department inside a utility, a refinery or a manufacturer, "our network is secure" is an IT control. It keeps outsiders away from the file. It tells an assessor nothing about:

  • whether the formula inside is right;
  • whether cell F18 still holds it, or someone overtyped it on Tuesday;
  • whether the file in use is the file that was validated;
  • whether the value on the report matches the value behind the decision.

Clause 7.5 asks for evidence on all of them.

In-house departments are often more exposed than third-party bodies, because their templates have grown inside one organisation for years without anyone outside ever reviewing them.

Assessors write findings against the requirement, not against Excel

Typical wording looks like this:

"Failure to demonstrate the validation of bespoke calculation software affecting inspection results."

"Inadequate control of data and information: no tamper-evident record or version control for the calculation template used to determine conformity."

"Calculation cells in the wall-thickness template are not protected against inadvertent alteration."

Illustrative wording based on typical assessment findings. Your assessor's wording will differ.

Closing a finding like these takes three things:

  • a root-cause analysis;
  • a correction;
  • objective evidence that the tool is now fit for purpose: a validation record showing what the tool is for, how it was tested, that it is protected, and which version is approved.

The correction also has to cover every spreadsheet in scope, not just the one the assessor opened. Where earlier reports relied on the tool, you may need to recalculate them to show that no unsafe equipment was passed. The NormXL Validation Dossier is the validation record, produced before the assessor asks rather than after.

The transition clock is already running

ISO/IEC 17020:2026 was published on 27 March 2026. ILAC agreed a three-year transition (Resolution GA 29.22), now carried forward under Global ACI: after March 2029, accreditation to the 2012 edition is no longer recognised. National accreditation bodies have set their own, earlier milestones, so most inspection bodies will meet the 2026 edition at a routine surveillance or reassessment visit, long before the final deadline. Your next visit date is your real deadline.

Accreditation body2026-edition assessmentsMandatory from / final datesWhat you prepare
UKAS (UK)Available since 1 Sep 2026 (optional until 31 Dec 2027)At every visit from 1 Jan 2028; 2012-edition accreditations end 27 Mar 2029UKAS's assessment-readiness gap-analysis proforma, with supporting evidence, at least one month before your transition assessment
RvA (Netherlands)New applications only on the 2026 edition from 1 Sep 2026; voluntary transition until 1 Jul 2027 (notify RvA at least 8 weeks ahead)Mandatory from 1 Jul 2027; a positive decision needed by 31 Dec 2028; 2012-edition accreditations withdrawn 27 Mar 2029Gap analysis (verschilanalyse, template in ASR013 Annex A), internal audit report and management review, uploaded at least four weeks before the assessment
NATA (Australia)From October 2026, at your next scheduled visitTransition closes 31 Mar 2029NATA's ISO/IEC 17020:2026 implementation checklist, completed before the visit
DAkkS (Germany)Initial and transition applications from 1 Nov 2026; 2026-edition assessments from January 2027Within the international window ending March 2029Transition application under the DAkkS transition guide (Umstellungsanleitung)
Swedac (Sweden)New applications on the 2026 edition from October 2026; 2027 is a soft transition2026-edition assessments throughout 2028; transition ends March 2029Swedac asks before each surveillance visit which edition to assess against
DANAK · Norsk akkreditering · FINASConfirm with your accreditation bodyInternational window ends March 2029As published by your body

Dates as published by each body at the time of writing (November 2026). Always confirm against your accreditation body's current transition notice.

ISO/IEC 17020:2026 transition clock A timeline from March 2026 to March 2029 showing when UKAS, RvA, NATA, DAkkS and Swedac move to ISO/IEC 17020:2026, with a draggable assessment date that places the UKAS gap analysis one month earlier, and the international end of the 2012 edition on 27 March 2029. today 2 Nov 202627 Mar 2026 · ISO/IEC 17020:2026 publishedUKASoptional (2012 or 2026)every visit on the 2026 edition27 Mar 2029RvAvoluntary (notify ≥ 8 weeks ahead)mandatory31 Dec 2028 · positive decision needed27 Mar 2029 · withdrawalNATAat your next scheduled visit31 Mar 2029DAkkS1 Nov 2026 · applicationsassessments availableSwedacOct 2026 · new applications on 2026soft transitionassessments on the 2026 editionInternational (ILAC Resolution GA 29.22 → Global ACI)27 Mar 2029 · 2012 edition no longer recognisedJul 2026Jan 2027Jul 2027Jan 2028Jul 2028Jan 2029Gap-analysis proforma due (≥ 1 month before) 1 Feb 2027chargeable desk reviewGap-analysis proforma due (≥ 1 month before) 1 Feb 2027chargeable desk reviewYour transition visit 1 Mar 2027Your transition visit 1 Mar 2027optional or voluntarymandatoryavailable, national end date not publisheddeadlineDates as published at the time of writing (November 2026). Confirm with your accreditation body. ISO/IEC 17020:2026 transition clock A timeline from March 2026 to March 2029 showing when UKAS, RvA, NATA, DAkkS and Swedac move to ISO/IEC 17020:2026, with a draggable assessment date that places the UKAS gap analysis one month earlier, and the international end of the 2012 edition on 27 March 2029. today 2 Nov 202627 Mar 2026 · ISO/IEC 17020:2026 publishedUKAS1 Sep 2026 – 31 Dec 2027 · optional (2012 or2026)from 1 Jan 2028 · every visit on the 2026 edition27 Mar 2029Your transition visit 1 Mar 2027Gap-analysis proforma due (≥ 1 month before)1 Feb 2027chargeable desk reviewRvA1 Sep 2026 – 1 Jul 2027 · voluntary (notify ≥ 8weeks ahead)from 1 Jul 2027 · mandatory31 Dec 2028 · positive decision needed27 Mar 2029 · withdrawalNATAfrom Oct 2026 · at your next scheduled visit31 Mar 2029DAkkS1 Nov 2026 · applicationsfrom Jan 2027 · assessments availableSwedacOct 2026 · new applications on 20262027 · soft transition2028 · assessments on the 2026 editionInternational (ILAC Resolution GA 29.22 →Global ACI)27 Mar 2029 · 2012 edition no longer recognisedoptional or voluntarymandatoryavailable, national end date not publisheddeadlineDates as published at the time of writing (November2026). Confirm with your accreditation body.
Order Your Inspection Spreadsheet Dossier — €149 + VAT

100% in-browser · VAT invoice in your organisation’s name · For business customers

Five traps your assessor can find in minutes, and your inspectors cannot see

None of these is visible on screen. All of them can be found in a transition assessment.

  • 1 · The 4.5 mm that is really 4.5054 mm. A minimum wall stored as 4.5053571428571431 mm prints as 4.5 mm. Decide on the stored value and your formula rejects a 4.50 mm reading that your report says meets the minimum. Decide on rounded values and it accepts a 4.46 mm pipe. Conservative practice rounds the requirement up: ROUNDUP(t_m,2) gives 4.51 mm at a 0.01 mm display resolution. Alternatively, decide on the unrounded value and print it to the resolution of the gauge. Either way, the rule belongs in your procedure and in the formula, not in the cell format. The binary layer adds its own twist. The wall loss between readings of 4.72 mm and 4.62 mm is exactly 0.10 mm on paper, but Excel stores it as 0.099999999999999645 (and shows 0.0999999999999996 if you widen the format), so =IF(C33-D33>=0.1,"ACTION","NO ACTION") returns NO ACTION at your procedure's 0.10 mm action threshold. Subtracting one close reading from another is exactly the operation that brings the residue to the surface.

  • 2 · One keystroke on joint efficiency. The joint efficiency sits in an unlocked input cell. Change 0.85 to 1.00 and the required shell thickness drops by 15 % and the calculated pressure rating rises by 17.6 %. Nothing on screen changes colour. Remember too that Excel's "Locked" cell format does nothing until sheet protection is switched on.

  • 3 · 0.875, 0.85, 0.4, 1.5, 9.81: numbers without a source. Mill under-tolerance, joint efficiency, the Y coefficient, a corrosion allowance and gravity, typed straight into formulas. When the design basis or the code edition changes, the literals stay, and every report since carries the old values.

  • 4 · Readings that aren't numbers. In a typical "not less than" test, =IF(B22>=H22,"ACCEPT","REJECT"), a UT reading entered as N/A returns ACCEPT, because Excel ranks any text above any number. A reading typed with a decimal comma on an English-locale laptop, or pasted from a gauge export as text, does the same. A blank becomes zero. A probe error gives a negative value. Two readings on the same date give #DIV/0!, which IFERROR() turns into a reassuring number.

  • 5 · Five years later: which version calculated that minimum acceptable thickness? After an incident, investigators ask for the inspection record and the calculation behind it. A file's modification date proves nothing. A SHA-256 fingerprint recorded in the Validation Dossier identifies the exact file, byte for byte, years later. Record the Dossier ID and the fingerprint in your template register, and every report you issue traces back to a validated version.

Display versus decisionA minimum wall thickness prints as 4.5 mm but is stored as 4.5053571428571431. Comparing the stored value rejects a 4.50 mm reading while the sheet shows 4.5 against 4.5; comparing rounded values accepts a 4.46 mm reading that is below the minimum. A wall loss of exactly 0.10 mm is stored as 0.099999999999999645 and triggers no action.What the sheet showsH22=G14+1.5FGHI22Minimum wall tm (mm)Calc4.54.5053571428571431What the file stores<c r="H22"><f>G14+1.5</f><v>4.5053571428571431</v></c>17 significant digits stored · 2 shownWhat the decision does=IF(D35>=$H$22,"ACCEPT","REJECT")4.50REJECTObservationcorrect on the stored value, but the sheet shows 4.5 against 4.5(Calc!G35)Illustrative variant=IF(ROUND(D35,1)>=ROUND($H$22,1),"ACCEPT","REJECT")4.46ACCEPTFalse assurance0.045 mm below tmThe binary layer4.72 − 4.62 = 0.10 on paperstored 0.099999999999999645=IF(C33-D33>=0.1,"ACTION","NO ACTION")NO ACTIONFalse assurance(Calc!F33)Reproduced in Microsoft Excel 16.0Sample A · illustrative valuesDisplay versus decisionA minimum wall thickness prints as 4.5 mm but is stored as 4.5053571428571431. Comparing the stored value rejects a 4.50 mm reading while the sheet shows 4.5 against 4.5; comparing rounded values accepts a 4.46 mm reading that is below the minimum. A wall loss of exactly 0.10 mm is stored as 0.099999999999999645 and triggers no action.What the sheet showsH22=G14+1.5GH22Minimum wall tm (mm)Calc4.54.5053571428571431What the file stores<c r="H22"><f>G14+1.5</f><v>4.5053571428571431</v></c>17 significant digits stored · 2 shownWhat the decision does=IF(D35>=$H$22,"ACCEPT","REJECT")4.50REJECTObservationcorrect on the stored value, but the sheet shows4.5 against 4.5 (Calc!G35)Illustrative variant=IF(ROUND(D35,1)>=ROUND($H$22,1),"ACCEPT","REJECT")4.46ACCEPTFalse assurance0.045 mm below tmThe binary layer4.72 − 4.62 = 0.10 on paperstored 0.099999999999999645=IF(C33-D33>=0.1,"ACTION","NO ACTION")NO ACTIONFalse assurance(Calc!F33)Reproduced in Microsoft Excel 16.0Sample A · illustrative values

Built for engineering codes, where a decimal error passes unsafe plant

Generic spreadsheet checkers built for financial models look for circular references and inconsistent cash-flow formulas. They have no concept of allowable stress tables, quality factors, corrosion allowances or test-load coefficients. NormXL validates the arithmetic of whichever code your template implements: ASME, EN or PD 5500. The examples below use illustrative values.

A. ASME B31.3: pressure design thickness and minimum wall

t = P·D / [2(S·E·W + P·Y)] (para. 304.1.2, Eq. 3a; valid while t < D/6)

tm = t + c

P is the internal design gauge pressure and D the outside diameter. S is the allowable stress at design temperature (Table A-1). E is the quality factor: for longitudinal welds it is in Table A-3 of B31.3-2024 (Table A-1B in editions up to 2022). W is the weld joint strength reduction factor (para. 302.3.5), 1.0 below the creep range. Y is the coefficient from Table 304.1.1: 0.4 for ferritic and austenitic steels below 482 °C. c is the sum of mechanical allowances plus corrosion and erosion allowances.

Worked example (illustrative): NPS 6 seamless line, P = 5.0 MPa, D = 168.3 mm, S = 138 MPa, E = 1.00, W = 1.00, Y = 0.4, c = 1.5 mm

t = 841.5 / 280 = 3.0053571 mm

tm = t + c = 4.5053571 mm (stored 4.5053571428571431; prints "4.5")

Ordered nominal with 12.5 % mill under-tolerance = tm / 0.875 = 5.1489796 mm

The minimum wall is a design and fabrication value. Delivered pipe and replacement spools are checked against it. In service, the picture changes, and the template has to know which zone a reading falls in:

Three zones of a wall-thickness decision A pipe wall-thickness scale in three zones (allowance intact above 4.5054 mm, allowance being consumed down to 3.0054 mm, below pressure design thickness under 3.0054 mm) and a zoomed ruler showing that rounding both sides accepts readings from 4.45 mm, while the stored value rejects 4.50 mm. t = P·D / [2(S·E·W + P·Y)] · tm = t + c · B31.3 para. 304.1.2Illustrative values≥ tm = 4.5054 mm ·corrosion allowanceintactt = 3.0054 … tm ·allowance beingconsumed · remaininglife and interval govern(API 570)< t = 3.0054 mm ·below pressure designthickness ·fitness-for-service(API 579-1) or repair01234567mm4.62 mm3.80 mm2.95 mm4.704.404.60 · ROUNDUP(tm,1)4.51 · ROUNDUP(tm,2)4.5054 · stored tm · decision on the stored value4.50 → rejected on the stored value; prints 4.5 against4.5Observation4.46 → accepted under roundingFalse assurance4.45 · lowest reading accepted if both sides arerounded to 0.1 mmWhich line is right is your procedure's decision. The sheet must implement it explicitly.requirements round UP:ROUNDUP, never ROUNDt < D/6 checked (D/6 =28.05 mm)Y = 0.4: ferritic steel up to482 °C, austenitic up to 566 °C(Table 304.1.1) · check materialand temperatureNPS 6, P = 5.0 MPa, D = 168.3 mm, S = 138 MPa, E = W = 1.00, c = 1.5 mm Three zones of a wall-thickness decision A pipe wall-thickness scale in three zones (allowance intact above 4.5054 mm, allowance being consumed down to 3.0054 mm, below pressure design thickness under 3.0054 mm) and a zoomed ruler showing that rounding both sides accepts readings from 4.45 mm, while the stored value rejects 4.50 mm. t = P·D / [2(S·E·W + P·Y)] · tm = t + c· B31.3 para. 304.1.2Illustrative values≥ tm = 4.5054 mm ·corrosion allowanceintactt = 3.0054 … tm ·allowance beingconsumed · remaininglife and intervalgovern (API 570)< t = 3.0054 mm ·below pressuredesign thickness ·fitness-for-service(API 579-1) or repair01234567mm4.62 mm3.80 mm2.95 mm4.704.404.60 · ROUNDUP(tm,1)4.51 · ROUNDUP(tm,2)4.5054 · stored tm · decision on thestored value4.50 → rejected on the stored value;prints 4.5 against 4.5Observation4.46 → accepted under roundingFalse assurance4.45 · lowest reading accepted if bothsides are rounded to 0.1 mmWhich line is right is your procedure's decision.The sheet must implement it explicitly.requirements round UP: ROUNDUP, never ROUNDt < D/6 checked (D/6 = 28.05 mm)Y = 0.4: ferritic steel up to 482 °C, austenitic up to566 °C (Table 304.1.1) · check material andtemperatureNPS 6, P = 5.0 MPa, D = 168.3 mm, S = 138MPa, E = W = 1.00, c = 1.5 mm

Where B31.3 templates go wrong:

  • Y buried as 0.4. Correct for ferritic steels below 482 °C; not above, and not for every material.
  • E and W hard-coded as 1. Correct for seamless pipe below the creep range; wrong for a welded line or at elevated temperature.
  • Units. Pressure entered in bar or psi into an MPa formula; S looked up in ksi.
  • Negative and text inputs. A design pressure entered as −5.0 MPa gives tm = −1.59375 mm, so every reading passes. A UT reading of N/A returns ACCEPT.
  • The D/6 limit assumed, not checked.

What NormXL does with this sheet:

  • inventories P, D, S, E, W, Y and c as inputs or as literals inside formulas, and lists every literal in the Constant Ledger with an empty "source" column for your engineer to complete;
  • tests the ACCEPT/REJECT cell at tm, at t, and one gauge-resolution step either side of each;
  • prints both sides of every comparison to 17 significant digits, and records whether the boundary uses ROUND, ROUNDUP or ROUNDDOWN;
  • checks the t < D/6 validity condition;
  • injects blank, zero, negative and text readings into every input.

B. ASME VIII-1 UG-27: one unlocked cell and the pressure rating moves 17.6 %

t = P·R / (S·E − 0.6·P) (UG-27(c)(1), circumferential stress; valid for P ≤ 0.385·S·E and t ≤ R/2)

P = S·E·t / (R + 0.6·t) (the same equation rearranged for the pressure rating, MAWP)

R is the inside radius in the corroded condition. E is the joint efficiency from UW-12. For a Type 1 butt joint it is 1.00 with full radiography, 0.85 with spot radiography and 0.70 with none. A seamless shell section is not automatically 1.00: UW-12(d) applies.

Worked example (illustrative): 1,200 mm ID vessel, SA-516 Grade 70

R = 600 mm (corroded) · S = 138 MPa · design pressure P = 1.50 MPa · E = 0.85 (Type 1 butt joint, spot RT)

Required thickness: t = 1.5 × 600 / (138 × 0.85 − 0.6 × 1.5) = 7.73 mm

In service: measured minimum, less future corrosion allowance, t = 7.0 mm

Rating with E = 0.85: 138 × 0.85 × 7.0 / (600 + 0.6 × 7.0) = 1.359 MPa → below the 1.50 MPa design pressure: derate or repair

Rating with E = 1.00: 138 × 1.00 × 7.0 / (600 + 0.6 × 7.0) = 1.599 MPa → "fit for service at 1.50 MPa"

Overtype 0.85 with 1.00 in an unlocked cell, perhaps copied from another vessel's sheet, and the calculated rating rises by 17.6 % (1 ÷ 0.85). A vessel that must be derated is reported fit for its design pressure. Nothing on screen marks the change, and the report looks perfectly normal. But the full radiography that would justify E = 1.00 was never carried out.

The UG-27 overrideTwo otherwise identical vessel reports and a pressure gauge. With joint efficiency 0.85 the rating is 1.359 MPa, below the 1.50 MPa design pressure, so the vessel must be derated. With the factor overtyped as 1.00 in an unlocked cell, the rating rises 17.6 percent to 1.599 MPa and the vessel falsely appears fit for service.UG-27(c)(1): t = P·R / (S·E − 0.6·P) · rating P = S·E·t / (R + 0.6·t) · R = 600 mm (corroded), S = 138 MPa, t = 7.0 mmIllustrative valuesJoint efficiency E0.85(spot RT)Pressure rating1.359 MPa Intended decision: derate (below design 1.50 MPa)Joint efficiency E0.851.00overtyped · unlocked · no data validationPressure rating1.599 MPaFit for service False assurance00.51.01.52.0+17.6 % from one keystrokerating below design → deratedesign pressureE = 0.85E = 1.00 (overtyped)NormXL audit: E restricted to 0.70 / 0.85 / 1.00 by data validation? NO · cell locked? NO Finding · §6The UG-27 overrideTwo otherwise identical vessel reports and a pressure gauge. With joint efficiency 0.85 the rating is 1.359 MPa, below the 1.50 MPa design pressure, so the vessel must be derated. With the factor overtyped as 1.00 in an unlocked cell, the rating rises 17.6 percent to 1.599 MPa and the vessel falsely appears fit for service.UG-27(c)(1): t = P·R / (S·E − 0.6·P) ·rating P = S·E·t / (R + 0.6·t) ·R = 600 mm (corroded), S = 138 MPa,t = 7.0 mmIllustrative valuesJoint efficiency E0.85(spot RT)Pressure rating1.359 MPa Intended decision: derate(below design 1.50 MPa)00.51.01.52.0+17.6 % from one keystrokerating below design → deratedesign pressureE = 0.85E = 1.00 (overtyped)Joint efficiency E0.851.00overtyped · unlocked · no data validationPressure rating1.599 MPaFit for service False assuranceNormXL audit: E restricted to 0.70 / 0.85 / 1.00by data validation? NO · cell locked? NO Finding · §6

What NormXL does with this sheet:

  • records whether the E cell is locked and restricted by data validation to the joint categories your procedure allows;
  • lists S, E and the corrosion allowance in the Constant Ledger;
  • checks the applicability limits (t ≤ R/2, P ≤ 0.385·S·E) as part of the boundary set;
  • tests the derate decision at the design pressure and one step either side.

Working to European or British codes? NormXL is code-agnostic: it validates the arithmetic your template implements.

EN 13445-3 §7.4.2 e = P·Di / (2·f·z − P) z = 1.0, 0.85 or 0.7 from the testing group (EN 13445-5)

EN 13480-3 §6.1 e = pc·Do / (2·f·z + pc) straight pipe, outside diameter

PD 5500 §3.5.1 e = p·Di / (2·f − p) no joint factor in the equation; the construction category acts through the design stress f

The traps are the same: a nominal design stress f or a weld joint coefficient z typed into a formula; a calculation pressure entered in the wrong unit; a testing group that changed while the coefficient did not.

C. API 570: corrosion rate, remaining life and the next thickness inspection

CRLT = (tinitial − tactual) / years between CRST = (tprevious − tactual) / years between

RL = (tactual − trequired) / governing rate (the greater of the two, unless your procedure justifies otherwise)

Next thickness inspection: the lesser of RL/2 and the maximum interval for the piping class (Class 1: 5 years · Classes 2 and 3: 10 years)

Worked example (illustrative; trequired = 3.01 mm, the pressure design thickness from example A, rounded up)

Readings: 7.11 mm (2014) → 5.70 mm (2021) → 4.62 mm (2026)

CRLT = (7.11 − 4.62) / 12 = 0.2075 mm/y CRST = (5.70 − 4.62) / 5 = 0.216 mm/y → governing 0.216 mm/y

RL = (4.62 − 3.01) / 0.216 = 7.45 years → next thickness inspection within 3.7 years

Round the rate to 0.22 first and RL becomes 7.32 years: every rounding step on a decision path matters.

Where remaining-life sheets go wrong:

  • A thicker reading than last time (UT scatter). With 6.20 mm last time and 6.25 mm now over five years, the short-term rate is −0.010 mm/y, and a sheet that uses it directly prints a remaining life of −324 years.
  • Zero corrosion. A rate of exactly zero makes RL a division by zero. IFERROR(…,999) turns "no data" into "safe for 999 years". IFERROR(…,"") produces a blank that MIN() then quietly ignores.
  • Date maths. YEARFRAC() without a third argument uses the US 30/360 day-count basis: a financial convention silently built into a safety calculation. Years computed as days/365 in one column and days/365.25 in another. Dates typed as text such as 03/12/2021 read as 3 December on a UK-configured laptop and 12 March on a US-configured one.
  • A hand-picked governing rate. The higher rate is copied by hand instead of computed with MAX(), and the next survey forgets to copy it.
  • Averaged readings across a circuit that hide a local thin area.
Remaining life: the trend and its traps Thickness readings falling from 7.11 mm in 2014 to 4.62 mm in 2026, projected at the governing 0.216 mm per year to the 3.01 mm required thickness: a remaining life of 7.45 years, reached in mid-2033. Alongside, three ways such spreadsheets mislead, and the boundary vectors NormXL generates to catch them. 3.04.05.06.07.0mm201420162018202020222024202620282030203220342036trequired = 3.01 mm7.11 (2014)5.70 (2021)4.62 (2026)0.216 mm/ymid-2033 · RL 7.45 ynext thickness inspection ≤ 3.7 y (RL/2)Illustrative readingsFindingThicker reading → RL −324 yearsFindingRate 0 → IFERROR(…,999) → "999 years"FindingYEARFRAC default basis = US 30/360Boundary vectors NormXL generatesCR = 0CR < 0Δt = 0blank tactualtactual = trequiredtactual < trequired Remaining life: the trend and its traps Thickness readings falling from 7.11 mm in 2014 to 4.62 mm in 2026, projected at the governing 0.216 mm per year to the 3.01 mm required thickness: a remaining life of 7.45 years, reached in mid-2033. Alongside, three ways such spreadsheets mislead, and the boundary vectors NormXL generates to catch them. 3.04.05.06.07.0mm201420182022202620302034trequired = 3.01 mm7.11 (2014)5.70 (2021)4.62 (2026)0.216 mm/ymid-2033 · RL 7.45 ynext thickness inspection ≤ 3.7 y (RL/2)Illustrative readingsFindingThicker reading → RL −324 yearsFindingRate 0 → IFERROR(…,999) → "999 years"FindingYEARFRAC default basis = US 30/360Boundary vectors NormXL generatesCR = 0CR < 0Δt = 0blank tactualtactual = trequiredtactual < trequired

What NormXL does with this sheet: it records how the governing rate is selected, tests the remaining-life cell with zero, negative and same-date inputs, lists every date convention and day-count basis in use, and flags every IFERROR that turns an error into a plausible number.

D. Lifting equipment: test loads and girder deflection

Load-test and deflection calculators look simple, but they hide more constants than any other inspection template:

  • static and dynamic test loads (typically 125 % and 110 % of rated capacity for overhead cranes under EN 15011 and the Machinery Directive; confirm against the standard your crane was built to);
  • gravitational acceleration typed as 9.81 or 9.80665 m/s²;
  • Young's modulus as 210,000, 205,000 or 200,000 N/mm²;
  • spans in metres in one cell and millimetres in the next;
  • the girder's design deflection limit, taken from the crane's own documentation (CMAA 70 and EN 15011 projects each set their own criterion).

The design limit belongs to one crane. Copy the template to another crane and the limit should change with the span. If it is typed into the formula, it doesn't:

Template built for a 25 m span: =IF(C12<=25000/888,"PASS","FAIL") → limit 28.15 mm

Reused for a 20 m crane: the same ratio gives 20000/888 = 22.52 mm

Measured deflection: 24.0 mm

Template verdict: PASS

Verdict against this crane's limit: FAIL

What NormXL does with this sheet: it extracts every span, ratio, coefficient and unit factor into the Constant Ledger with every occurrence listed, flags limits computed from literals rather than from the input cells, and tests the PASS/FAIL cell at the limit and one measurement-resolution step either side. The deflection criterion itself stays your engineer's, taken from the crane's documentation.

The crane template, reusedA deflection template built for a 25 m crane span carries its limit, 28.15 mm, as a number typed into the formula. Reused on a 20 m crane whose limit is 22.52 mm, a measured deflection of 24.0 mm still passes.test load: typically 1.25 × rated capacity(static); confirm against your designstandard25 m span25000/888 = 28.15 mm20 m span24.0 mm20000/888 = 22.52 mm=IF(C12<=25000/888,"PASS","FAIL")24.0PASS False assurance: the limit was typed for a 25 m spanAgainst this crane's own limit: 24.0 > 22.52 Intended decision: FAILIllustrative valuesThe deflection criterion comes from each crane's own documentation. The trap is a limit typed into a formula for another crane.The crane template, reusedA deflection template built for a 25 m crane span carries its limit, 28.15 mm, as a number typed into the formula. Reused on a 20 m crane whose limit is 22.52 mm, a measured deflection of 24.0 mm still passes.test load: typically 1.25 × rated capacity (static);confirm against your design standard25 m span25000/888 = 28.15 mm20 m span24.0 mm20000/888 = 22.52 mm=IF(C12<=25000/888,"PASS","FAIL")24.0PASS False assurance: the limitwas typed for a 25 m spanAgainst this crane's own limit: 24.0 > 22.52 Intended decision: FAILIllustrative valuesThe deflection criterion comes from each crane'sown documentation. The trap is a limit typed intoa formula for another crane.

Other calculators inspection bodies bring to us

  • Weld heat input. EN 1011-1 (with ISO/TR 17671-1) uses Q = k·U·I·60 / (v·1000) in kJ/mm with a process efficiency k: 1.0 for submerged arc; 0.8 for MMA, MAG and flux-cored; 0.6 for TIG and plasma. ASME IX (QW-409.1) records arc energy with no k. At 24 V, 180 A and 300 mm/min that is 0.864 kJ/mm of arc energy, but 0.69 kJ/mm of heat input for MAG and 0.52 kJ/mm for TIG. A sheet that compares an EN-basis value with an ASME-qualified range, or the reverse, shifts a TIG weld by 40 %. NormXL makes the convention and the k value visible as constants, so your reviewer sees which basis the sheet uses.
  • Fitness-for-service screening (API 579-1/ASME FFS-1 Level 1): a remaining strength factor against RSFa = 0.90, and a reduced pressure MAWP_r = MAWP · RSF / RSF_a.
  • NDT calibration-block and probe-angle checks, and structural bolting pre-load and torque tables.

The engineering judgement stays yours. The arithmetic becomes evidence.

NormXL proves four things: your spreadsheet computes its own formulas correctly, it behaves predictably with bad inputs, it is protected against accidental change, and it is the exact file you validated. It does not decide whether you chose the right code equation, edition, material allowable or joint category. That is engineering judgement, and it belongs to your competent engineer. What the Dossier does is make those choices visible: every constant is listed for sourcing, every look-up table is identified, and §1 records the code and edition the template implements. An assessor can then see that the engineering basis was deliberately chosen and is controlled.

From workbook to Dossier in about three minutes

  1. Drop the template. It is read locally, and its SHA-256 fingerprint is computed before anything else.
  2. NormXL parses and recalculates. Every formula is rebuilt from its syntax tree, recomputed by the independent engine and compared with the results Excel cached in the file.
  3. It attacks the boundaries. Vectors are generated at every acceptance limit, along with text, blanks, zeros and negatives in every input.
  4. It audits the structure. Locks, protection, display precision, constants, volatile functions, external links and hidden sheets.
  5. You state the intended use. One sentence, confirmation of the acceptance criteria NormXL found, your rounding rule, and the reviewer and approver names.
  6. You download, review and sign. PDF for the record and DOCX for your own document control, 20+ pages, with the ISO/IEC 17020:2026 profile.

"About three minutes" covers steps 1–6 up to the download, including your answers. Review and approval follow your own procedure, typically 30 to 60 minutes for a calculation template.

The three-minute timelineA true-scale timeline of about three minutes from dropping the workbook to downloading the Dossier. The engine works for the first ninety seconds, the user then answers the intended-use questions, and review and signature follow under the user's own procedure.ISO/IEC 17020:20260:00Drop · SHA-2560:05Parse & recalculate · 41 formula cells0:40Boundary & negative vectors1:10Structure audit1:30Intended use · your answers≈3:00Dossier ready · PDF + DOCXNormXL engine 0:00–1:30your answers and the download 1:30–≈3:00Then: review and sign under your procedure (typically 30–60 min)The three-minute timelineA true-scale timeline of about three minutes from dropping the workbook to downloading the Dossier. The engine works for the first ninety seconds, the user then answers the intended-use questions, and review and signature follow under the user's own procedure.ISO/IEC 17020:20260:00Drop · SHA-2560:05Parse & recalculate ·41 formula cells0:40Boundary & negative vectors1:10Structure audit1:30Intended use · your answers≈3:00Dossier ready · PDF + DOCXNormXL engine 0:00–1:30your answers and the download 1:30–≈3:00Then: review and sign under your procedure(typically 30–60 min)
Order Your Inspection Spreadsheet Dossier — €149 + VAT

100% in-browser · VAT invoice in your organisation’s name · For business customers

A validation record your assessor can verify without relying on you, or on us

The assessor's questionWhere the Dossier answers
Is this spreadsheet validated for its intended use?§1 User requirements & scope (intended use, acceptance criteria, rounding rule) · §4 OQ dual-engine test vectors
How do you know the arithmetic is right?§4 Excel-versus-NormXL agreement for every recalculated cell · engine benchmark statement (NIST StRD)
What happens when an inspector enters a bad value?§5 Negative & boundary stress-test log
Is the template protected from overwrite and unauthorised change?§6 lock, hidden-cell and protection audit
Does the printed value match the value behind the decision?§6 display-versus-decision precision audit at every acceptance comparison
Which version was validated, and is it the one in use?SHA-256 in every page header · §7 version log
What triggers re-validation, and who approved this one?§7 re-validation triggers · reviewer and approver block (Technical Manager / Quality Manager)
Was client information kept confidential during validation?Local-processing statement: 0 KB of the workbook transmitted, no external provider (Clause 4.2)

Check our work without trusting us

  • Recalculate any line by hand. Every §4 row shows the inputs, the formula as written, Excel's stored value, NormXL's independent value and the difference.
  • Verify the seal with one command: Get-FileHash .\Template.xlsx -Algorithm SHA256 (PowerShell), certutil -hashfile Template.xlsx SHA256 (Windows) or shasum -a 256 Template.xlsx (macOS, Linux). Compare the result with the cover page.
  • Hand the assessor the Quick-Verify card: three pre-selected vectors to check with a calculator, and the re-hash commands.

Where the Dossier goes in your transition paperwork

  • UKAS gap-analysis proforma: reference each Dossier's ID and SHA-256 in the rows that cover software validation and the control of data and information.
  • RvA verschilanalyse: list the Dossiers against Clause 7.5. Your internal audit report can cite them as objective evidence.
  • NATA implementation checklist: reference the Dossier set under the control of data and information.
  • DAkkS transition application: cite the Dossiers as documented evidence for the new data-control requirements.

The gap analysis is your own self-assessment against the 2026 edition; NormXL does not write it for you. It gives you the evidence to point to.

NormXL produces evidence; your organisation approves it. The decision on any finding is always the assessor's. The Dossier is built to make that decision quick.

The 24-page Dossier, explodedThe eleven parts of the 24-page sample Dossier, from cover to assessor quick-verify card, with four pages enlarged: the constant ledger listing four unsourced values, a recalculated cell, two failed boundary tests and a lock map showing an unprotected calculation sheet. The cover status reads Not released.p1Cover & sealp2–3Executive summaryp4–5§1 URS & scopep6–7§2 Risk & traceabilityp8–11§3 IQ & formula inventoryp12–17§4 OQ dual-engine matrixp18–19§5 Negative & boundarylogp20–21§6 Precision & tamperauditp22§7 Release & versioncontrolp23App. A Clause 7.5cross-referencep24App. B Quick-Verify cardNot released: 3 red flags, 2 more findingsSHA-256 28a815ee…8ac260d1 · ISO/IEC 17020:2026 profileSHA-256 28a815ee…8ac260d1p8–11§3 IQ & formula inventory0.4 · Calc!G14 · source: ____1.5 · Calc!H22 · source: ____0.875 · Calc!H23 · source: ____0.1 · Calc!F30:F41 (12×) · source: ____SHA-256 28a815ee…8ac260d1p12–17§4 OQ dual-engine matrixCalc!G14 · =Inputs!C5*Inputs!C6/(2*(Inputs!C7*Inputs!C9*Inputs!C8+Inputs!C5*0.4)) · Excel 3.0053571428571431 ·NormXL 3.0053571428571431 · Δ 0SHA-256 28a815ee…8ac260d1p18–19§5 Negative & boundary logCML-04 · expected ACTION · actual NO ACTIONTest failedCML-07 "N/A" · expected REJECT · actual ACCEPTTest failedSHA-256 28a815ee…8ac260d1p20–21§6 Precision & tamper auditCalc: not protectedInputs!C9 · no data validationSample in the ISO/IEC 17020:2026 profile. Your chosen profile changes Appendix A and the clause references; the structure is identical.The 24-page Dossier, explodedThe eleven parts of the 24-page sample Dossier, from cover to assessor quick-verify card, with four pages enlarged: the constant ledger listing four unsourced values, a recalculated cell, two failed boundary tests and a lock map showing an unprotected calculation sheet. The cover status reads Not released.Not released: 3 red flags, 2 more findingsSHA-256 28a815ee…8ac260d1 ·ISO/IEC 17020:2026 profilep1Cover & sealp2–3Executivesummaryp4–5§1 URS & scopep6–7§2 Risk &traceabilityp8–11§3 IQ & formulainventoryp12–17§4 OQdual-enginematrixp18–19§5 Negative &boundary logp20–21§6 Precision &tamper auditp22§7 Release &version controlp23App. A Clause7.5cross-referencep24App. BQuick-VerifycardSHA-256 28a815ee…8ac260d1p8–11§3 IQ & formula inventory0.4 · Calc!G14 · source: ____1.5 · Calc!H22 · source: ____0.875 · Calc!H23 · source: ____0.1 · Calc!F30:F41 (12×) ·source: ____SHA-256 28a815ee…8ac260d1p12–17§4 OQ dual-engine matrixCalc!G14 ·=Inputs!C5*Inputs!C6/(2*(Inputs!C7*Inputs!C9*Inputs!C8+Inputs!C5*0.4))Excel 3.0053571428571431 ·NormXL 3.0053571428571431 · Δ 0SHA-256 28a815ee…8ac260d1p18–19§5 Negative & boundary logCML-04 · expected ACTION ·actual NO ACTIONTest failedCML-07 "N/A" · expected REJECT ·actual ACCEPTTest failedSHA-256 28a815ee…8ac260d1p20–21§6 Precision & tamper auditCalc: not protectedInputs!C9 · no data validationSample in the ISO/IEC 17020:2026 profile. Yourchosen profile changes Appendix A and the clausereferences; the structure is identical.
Order Your Inspection Spreadsheet Dossier — €149 + VAT

100% in-browser · VAT invoice in your organisation’s name · For business customers

Your clients' plant data never leaves your workstation, even with no signal

Thickness surveys of a refinery, the design basis of a pressure system, the layout of a client's lifting operations: inspection data is commercially sensitive and, for critical infrastructure, sometimes security-sensitive. Clause 4.2 makes you responsible for keeping it confidential, and many client contracts prohibit sending it to third-party services at all. A cloud validation tool turns a documentation task into a supplier security assessment.

NormXL never receives your workbook. The engine runs as WebAssembly inside the browser your IT team already manages, with no installer and no administrator rights. Once the page has loaded, you can disconnect entirely and complete the qualification offline: on a site laptop, in a plant control room or offshore. For segregated networks there is a single-file offline edition.

  • No upload endpoint, no cloud storage, no AI model, no sub-processor for your workbook
  • No installation and no administrator rights; nothing for IT to allow-list
  • Verify it yourself: open the browser's network monitor (F12 → Network), drop a file and watch nothing leave
The air gapThe NormXL engine runs inside the browser on the user's own computer. The workbook is fingerprinted and checked locally, and a dashed boundary shows that no workbook data is sent to the cloud or to an AI service.normxl.comNormXL engine · WebAssembly sandboxB31.3_Wall_Thickness_Sample.xlsxSHA-256recalculationSHA-256 · Dossier.pdf0 KB of your workbookno admin rightsworks offline after loadNetwork · 0 requests carrying workbook dataThe air gapThe NormXL engine runs inside the browser on the user's own computer. The workbook is fingerprinted and checked locally, and a dashed boundary shows that no workbook data is sent to the cloud or to an AI service.0 KB of your workbooknormxl.comNormXL engine · WebAssembly sandboxB31.3_Wall_Thickness_Sample.xlsxSHA-256recalculationSHA-256 · Dossier.pdfno admin rightsworks offline after loadNetwork ·0 requests carrying workbook data

€149 + VAT per spreadsheet, where validation consultants charge €1,300–€1,800 a day

Validating one inspection template properly takes an external consultant two to three days of briefing, access, protocol, hand-calculated expected results, boundary testing and reporting: typically €2,000–€5,000 per spreadsheet. On top of that come an NDA, supplier approval and four to eight weeks of procurement and scheduling, while your transition assessment date stays where it is. NormXL produces the evidence before the consultant's purchase order would have been approved, and nothing leaves your workstation, so no NDA is needed.

External validation consultantIn-house, from a blank templateNormXL
Cost per spreadsheet€2,000–€5,000€1,800–€2,400 (30–40 h at €60 loaded)€149 + VAT
Time to evidence4–8 weeks, including procurement1–3 weeks of interrupted workAbout 3 minutes, plus your review
Client data leaves your premisesYes, under NDANoNo: 0 KB of your workbook uploaded
Every formula recalculated independentlySampledRarelyEvery supported formula; any exceptions listed
Boundary and negative testsDepends on the consultantUsually missingGenerated at every acceptance limit
Re-validation after a changeA new quoteRepeat the workIncluded on the Annual Register

Twelve calculation templates: external consultant €24,000–€60,000 · in-house 360–480 engineering hours · NormXL Annual Quality Register €490 + VAT for the year.

Illustrative. Consultant rates and effort vary; in-house cost uses an illustrative loaded rate of €60 per engineering hour.

The cost ledger and the template illusionConsultant €2,000–€5,000, 4–8 weeks elapsed. In-house €1,800–€2,400, 1–3 weeks elapsed. NormXL €149 + VAT, ≈ 3 min + review. Illustrative ranges · VAT excluded except where shown.Consultant €2,000–€5,0004–8 weeks elapsedIn-house €1,800–€2,4001–3 weeks elapsedNormXL €149 + VAT≈ 3 min + reviewIllustrative ranges · VAT excluded except where shownThe cost ledger and the template illusionConsultant €2,000–€5,000, 4–8 weeks elapsed. In-house €1,800–€2,400, 1–3 weeks elapsed. NormXL €149 + VAT, ≈ 3 min + review. Illustrative ranges · VAT excluded except where shown.Consultant €2,000–€5,0004–8 weeks elapsedIn-house €1,800–€2,4001–3 weeks elapsedNormXL €149 + VAT≈ 3 min + reviewIllustrative ranges ·VAT excluded except where shown

One calculator before the assessment, or every template in your scope

Single Dossier

€149 + VAT

one-time · per spreadsheet

The calculator your assessor is most likely to open, or the finding you have to close before the next visit.

  • 1 inspection spreadsheet (.xlsx or .xlsm)
  • Full Validation Dossier, 20+ pages, ISO/IEC 17020:2026 Clause 7.5 profile: PDF for the record, DOCX for your document control
  • Dual-engine recalculation of every formula cell, with printed test vectors
  • Display-versus-decision check of every ACCEPT/REJECT cell
  • Lock, protection and Constant Ledger audit
  • Negative and boundary stress tests at every acceptance limit
  • SHA-256 seal record for the exact file you validated
  • Generated and downloaded locally. Nothing stored on our servers
Validate 1 Spreadsheet · €149 + VAT
4 Single Dossiers = €596 + VAT

Annual Quality Register

€490 + VAT

per year · up to 20 spreadsheets

Four Single Dossiers cost €596 + VAT. The Register covers up to 20 for €490 + VAT.

The Technical Manager who owns every calculator in the inspection scope, and the transition.

  • Up to 20 spreadsheets in one version-controlled register
  • A full Validation Dossier for every spreadsheet
  • Re-validation after every change, with no per-change fee
  • Version change-log diffing: formula, constant and protection differences between revisions
  • Audit-day integrity check: every seal re-verified in one report before the visit
  • All three compliance profiles: ISO/IEC 17020, ISO/IEC 17025, ISO 13485
Start Annual Register · €490/year + VAT

For business customers. All prices exclude VAT, GST and other local taxes, where applicable; they are added to your invoice.

Prices are in euro; your card issuer converts the amount.

Up to three spreadsheets, Single Dossiers cost less; from four, the Annual Quality Register does.

FAQ

Clause 7.5 requires the systems that handle your inspection data to be validated for their intended use and protected. A spreadsheet that calculates results is such a system. Assessors have long treated bespoke calculation tools as equipment that must be shown fit for purpose. The 2026 edition makes that expectation explicit and harder to argue around. How you demonstrate validation is your choice. That you can demonstrate it is not.

No accreditation body pre-approves validation tools or documents, and you should be wary of anyone who claims otherwise. Assessors evaluate whether your organisation has validated its calculation tools adequately for their intended use and can demonstrate it. The Dossier is built around exactly that demonstration: intended use, executed tests with results, boundary behaviour, protection and version control. Every claim in it can be checked during the visit. Once your Technical Manager reviews and signs it, it is your validation record. The decision is always the assessor's.

Yes. Your type describes your independence, not your data-control obligations. Clause 7.5 applies to every accredited inspection body. Internal network security protects the file from outsiders. It does not prove that the formulas are right, that nobody overwrote them, or that the printed value matches the decision.

Use your accreditation body's own form: UKAS's proforma, RvA's verschilanalyse or NATA's implementation checklist. A convincing entry describes a register, validation before use, the evidence and change control. Wording you can adapt:

"All calculation spreadsheets that influence inspection results are listed in our validated spreadsheet register. Each was validated against a documented intended use before use, or retrospectively on [date]. Validation evidence comprises independent recalculation of every formula, boundary and negative testing, a protection and rounding audit, and a SHA-256 fingerprint that binds the evidence to the released file. Any change to formulas, constants, protection or layout triggers re-validation before release."

Reference each Dossier by its ID and fingerprint.

Not necessarily, but check what the old validation actually contains. A signed statement with no executed tests may struggle against Clause 7.5. So may one with no boundary or negative testing, no evidence of protection, or no way to prove that the file in use is the file that was validated. Many bodies use the transition to re-baseline their templates once, properly, and then control changes from there.

No. You validate the master template: its formulas, protection, input checks and version. You then control how it is used. Completed copies are records produced by a validated tool. Record the master's SHA-256 in your template register so that anyone can check a field copy against it in seconds, with Get-FileHash or certutil and no network connection.

Yes. Undocumented legacy templates are where NormXL saves the most time. The Dossier inventories every formula, constant, input and protection setting, so you can see what the template actually does. From that you write the intended-use statement, which only you can make, because only you know what the template is for.

No, and you should be wary of any tool that claims to. NormXL proves that the spreadsheet computes its own formulas correctly and robustly and that it is the file you validated. Choosing the equation, edition, material allowable or joint category is engineering judgement. The Dossier makes those choices visible for your engineer and your assessor.

Firmware supplied unaltered inside a calibrated instrument is controlled through equipment calibration and verification against reference blocks. NormXL validates the spreadsheets you build around the instrument: the workbooks that take its readings and turn them into a verdict.

It depends on where the stresses live. If they sit in a locked look-up table that formulas reference, updating them is a controlled data change under your procedure. If they are typed into formulas, the update is a software change, and you re-validate. The Constant Ledger shows you which one you have.

It is tamper-evident, which is what an assessor needs. It does not stop anyone editing the file. It makes any edit, down to one character in one formula, immediately detectable. Sheet protection guards against accidents; the fingerprint detects change.

VBA modules are analysed statically and never executed. Calls that matter for validation are listed: external file access, silent error suppression with On Error Resume Next, and switching calculation to manual. Cells whose values depend on macros are listed as "not independently recalculated" and included in a review checklist for your engineer. In GAMP® 5 terms, custom VBA moves a template towards Category 5.

Choose the profile per workbook at no extra cost: ISO/IEC 17020:2026 (Clause 7.5) or ISO/IEC 17025:2017 (Clause 7.11). An Annual Quality Register can hold both kinds.

Then it has done its job before your assessor did. Every Dossier carries an overall status: Released, Released with observations, or Not released. Fix the template, run it again, and file the Dossier for the corrected version. On the Annual Register, re-validation after a change is included.

Put it in your validation file, next to the template register. If the assessor asks, offer a live check: pick a vector, verify it with a calculator, and recompute the fingerprint of the file on your server. Two minutes of checkable evidence settles more questions than an hour of explanation.

Don't let your transition assessment be the day you discover what cell F18 really holds.

Pick the calculator your inspectors use most: the one copied onto every site laptop. Find out in about three minutes what your assessor could find in it, and walk into your 2026-edition assessment with its validation record already signed.

Order Your Inspection Spreadsheet Dossier — €149 + VAT Download Sample Dossier (24 pages, PDF)

No installation · No admin rights · 0 KB of your workbook uploaded · VAT invoice in your organisation's name

Order Dossier · €149 + VAT
Pre-release · NormXL 7.0

Complete Your Order

Spreadsheet Validation Dossier · generated in your browser · 0 KB of your workbook uploaded

For business customers

Package Choice
4 Single Dossiers = €596 + VAT

As it should appear on your invoice.

Printed on the cover of your Dossier and on your VAT invoice.

Your order confirmation and release notification are sent here.

Sets the clause references and terminology in your Dossier, at no extra cost. The Annual Register includes all three profiles; choose the one you will use first.

100% In-Browser. No card charged during pre-release qualification.

Your spreadsheet is not part of this form. It is only ever read inside your browser.

Questions before you order? Read the FAQ or the Security & 0 KB Upload page. Both open in a new tab, and this form keeps what you have entered.