A welding QC program on two tabs: procedures and NDT
Most welding audits check the same two things. First, was every production weld made to a qualified, current procedure? Second, was the required examination done, with rejects repaired, re-examined, and traced? This workbook covers both. The WPS/PQR Register answers the first question and the NDT Tracking tab answers the second. The running reject rate by welder tells you which hand needs attention before a client auditor points it out.
The WPS / PQR register
List every WPS revision on its own row, with the ranges exactly as they appear on the approved WPS: process, base metal P-number and group (or the AWS D1.1 material group), filler F-number and A-number or AWS classification, thickness and diameter ranges qualified, positions, supporting PQR number(s), governing code, preheat/PWHT reference, who approved it, and status.
| Status | Meaning |
|---|---|
| Active | Approved (by the client too, if required) and issued to the field. |
| Pending | PQR still at the lab or waiting on review. Nobody welds to it. |
| Superseded | Replaced by a newer revision. Pull the paper copies from the weld shacks the same day. |
| Void | Withdrawn. Any welds made to it need an engineering review. |
The template doesn't calculate qualified ranges. Those come from the PQR and the governing code (ASME Section IX QW-451 for thickness, QW-452 for performance, the qualification clauses of AWS D1.1, or API 1104 section 5). Always check them against the edition named in your contract. The register only makes sure the ranges you're working to are written down in one place, and that the number on the welder's WPS matches the number on your list.
The PQR records block
Under the WPS list, log each PQR with its coupon thickness, diameter, test position, tests performed, lab report number, and who witnessed and certified it. The WPSs Supported column counts how many WPS rows cite each PQR. A PQR that shows 0 is orphaned, which is usually a paperwork gap. A WPS that cites nothing and isn't prequalified is a bigger problem.
The NDT tracking log
Use one row per weld per examination method, so a butt weld that gets VT and RT takes two rows. That keeps the % required and the result tied to the method. Columns:
- Weld #, Line / Spool, Welder Stamp, WPS #, Weld Date: tie the exam back to the weld map.
- NDT Method: RT, UT, MT, PT, or VT from a dropdown.
- % Required: the extent your spec sets for that line class and method (for example 5%, 10%, or 100%).
- Selected for NDT (Y/N): whether the weld was picked for random exam.
- NDT Date, Report #, Result: straight from the NDT report.
- Repair #, Re-test Result: R1, R2, or cut-out, and the result after re-examination.
- Welder Examined / Rejects / Reject Rate (running): calculated.
- Status: calculated. Accepted, NDT pending, Repair required, Re-test pending, Repaired – closed, or Re-test rejected.
How the running reject rate is calculated
For each row with a result, the log counts that welder's Accept and Reject results from the first row down to the current one (COUNTIFS with an expanding range), counts that welder's rejects the same way, and divides. You see the rate as it moves through the job, not just a final number. If the rate goes over the Reject-Rate Alert in the header, the cell turns red. The alert value is your company's or client's trigger, and 5% is only an example.
The rate is calculated by weld count. Some clients measure reject rate by linear inch of weld or by film length instead. If yours does, add a length column and switch the counts to SUMIFS.
Progressive examination
When a randomly selected weld rejects, piping codes generally require more examinations of the same welder's work. ASME B31.3 para. 341.3.4 is the one most mechanical contractors work under. Log each tracer exam as a normal row and note which reject it traces (the example rows show two tracers for FW-003). Confirm the count and the escalation rules in your code edition and client spec. They are not built into the formulas.
The welder summary
Type each welder stamp once in the summary block. It returns:
- Welds logged and selected, and the % selected. Filter by method to check RT/UT extent against the % required.
- Examined, rejects, and reject rate.
- Open repairs: rejects without an accepted re-test.
- An Alert that reads REVIEW WELDER once the rate passes your threshold.
The project total row gives the same numbers for the whole job, which is what goes in the weekly QC report.
Common welding QC findings this log helps you avoid
- Welding to a superseded WPS revision. The Superseded status greys out and strikes through the row, so nobody grabs the old one.
- A WPS with no supporting PQR. The PQR cross-reference shows the gap.
- Random selection that isn't random. Picking the best welder's welds, or only the easy spools. Check % selected by welder, not just for the job.
- Repairs that never get re-shot. "Re-test pending" stays amber until a result goes in.
- A welder whose reject rate climbs for weeks before anyone notices. The running rate and alert catch it on the next report.
When the spreadsheet stops scaling
On a job with a few hundred welds, a spreadsheet works. Past a few thousand, with multiple NDT vendors and a turnover package due, keeping the weld map, NDT reports, and repair history in sync gets hard. Field PM's weld mapping ties every weld to its drawing, welder, WPS, NDT report, and repair, and builds the turnover data book. It's included with Projects, not sold as an add-on. Start a free 30-day trial.
Related free templates and references
- WPS & welder continuity log: welder qualifications and six-month continuity
- Weld log template: production welds, fit-up, and visual
- API 1104 weld acceptance, explained
- Inspection request log: schedule NDT and third-party inspections
- Bolt torque & erection log: structural bolting and flange bolt-up records
- Field PM QA/QC inspections