Allan's schema landed on Monday. Rather than take it at face value, we pointed it at the real Mission export from 18 June and tested every working assumption in your June notes against what the file actually contains.
Most of what you mapped out holds up. On every ICBC rate we could check, your shop bills exactly right. And the file is considerably richer than either of us expected. It carries technician-level productivity, true parts and materials margin per job, and a vendor delay trail, none of which was in the plan. All of that came out of one night, at one shop, from a file that already exists.
There are fourteen shops, and it arrives every night.
What follows is the homework behind that. No proposal and no pricing, just what is genuinely in the file and how we know. Section 01 is what it makes possible.
Everything below this section is evidence. This is what the evidence adds up to. None of it is a proposal. It is what the file has already been shown to support.
Every capability above was proved from that. The pipeline runs on fourteen shops, every night, and gets sharper every week it runs.
Eight things worth two minutes. Everything below is traceable to a specific line in the file, and most of it you can check yourself in ImEx.
We pulled ICBC's published Collision Repair Program schedule and cross-referenced it line by line. Repair planning and documentation at $50.00, four-wheel alignment at $147.00, two-wheel at $105.84. All three match the published rate exactly, and that is worth saying first. One line sits outside its rate and it is in section 07. The hourly labour rates do not match, and they look like an easy fix worth real money. Section 08 has it.
ICBC raised Collision Repair Program hourly rates for any repair with a car-in date of 1 April 2026 or later, and the schedule requires participants to re-apply the estimate profile to receive them. Mission is billing body and refinish at $89.46 against a published $91.25, and frame and mechanical are short by the same margin. All four sit at exactly 98.04% of published, which is a 2% increase that has not been applied. All 33 jobs in this file with a car-in date qualified. On the labour already booked here that is about $2,050, and it is a settings change rather than a process change.
Each code was proved by summing it and matching it against the totals block on every single repair order. Six codes, 56 of 56 records, zero mismatches. Four of them behave differently than the June working notes assumed, and one of them was not in the notes at all.
Of the 1,722 detail lines, only 344 are purchased parts. The largest single group,
714 lines under PAE, carries $0.00 on every one. Any parts margin calculated across
all 1,722 lines understates itself by roughly five times.
Detail lines plus the nine labour buckets plus sales tax equals the gross total. On all 56 records, to the cent. That means any future file can be integrity-checked automatically the moment it arrives.
80 supplement lines confirmed, exactly as your notes said. But they sit on 12 jobs, not 56, and four jobs carry 65 of the 80. That is a specific, findable pattern in a single night of data.
Labour totals $105,603.12 across the file and exists only as nine buckets per repair order. There is no per-operation labour line. Anything built on line items alone is describing under two thirds of the job.
Policy numbers, peril codes on the claim references, real repair work, and body labour billed at $96.48 against $89.46 on the ICBC jobs that carry body labour. Your question about EI was the right one to ask. We can now narrow it: it is an insurer, and only the name is still open.
Five agents, working the same file in parallel, each with one job. One of them was built specifically to disagree with the other four.
A single pass produces a confident answer with no way to tell whether it is right. So the four finding agents never saw each other's work, and a fifth built a neutral structural inventory using a completely separate parsing library and command-line tooling.
Where all of them independently landed on the same number, the number is solid. Where they would have disagreed, we would have known before anything reached this page. On the twelve hard counts, they agreed exactly.
We did not let the agents choose their own definitions. Deciding what counts as an ADAS part, or which suspension components mandate an alignment, is a judgement call, and a machine that picks its own definition produces a number that looks authoritative and means nothing.
So every agent had to return the actual repair order numbers and the raw line text it matched on, not just a total. That is why the findings below quote your own descriptions back to you.
Several figures from your June notes reproduce exactly, and on the three billing questions the shop comes out clean. Every flat fee matches the published rate. The hourly rate table is the exception, and it is the most valuable single thing in this report.
| Item | ICBC published rate | What Mission bills | Result |
|---|---|---|---|
| Repair planning & documentation | $50.00 | $50.00 on 42 of 43 lines | Correct |
| Four-wheel alignment | $147.00 | $147.00, flat, all 11 lines | Correct |
| Two-wheel alignment | $105.84 | $105.84 | Correct |
| Total loss handling | $100.00 | $105.00 gross on RO 30051 | Correct, plus GST |
| Hourly rates, car-in 1 April 2026 or later | |||
| Body | $91.25 | $89.46 | Short $1.79/hr |
| Refinish | $91.25 | $89.46 | Short $1.79/hr |
| Frame | $104.32 | $102.27 | Short $2.05/hr |
| Mechanical | $117.35 | $115.05 | Short $2.30/hr |
ICBC's published schedule states that the current hourly rates apply to any repair with a car-in date of 1 April 2026 or later, and that "participants must re-apply the estimate profile to receive the new rates for vehicle repairs in progress." A second trigger took effect 1 July for newly written estimates.
Every ICBC job in this file carries the same four rates, and all four sit at exactly 98.04% of published. Multiply Mission's rates by 1.02 and you land on ICBC's published figures to the cent. That is the signature of a two percent increase that has not been applied, rather than a tier or a negotiated table. Mission is not on the 95% Development Rate either.
All 33 repair orders here with a car-in date fall after 1 April, so every one of them qualified. On the labour already booked across these 56 jobs the gap is roughly $2,050. We have not multiplied that by 14 shops or by a year, because one night cannot support that and you would be right not to trust it if we had. What we can say is that it is a profile setting, not a habit, and it is the fastest money on this page.
Open the estimate profile behind any current ICBC job and read the body rate. If it says $89.46, the profile has not been re-applied since ICBC's increase. If it says $91.25, this export predates the change at your end and you can tell us to drop it.
The billing discipline at Mission looks genuinely solid. On every flat fee we could check against ICBC's own published schedule, the shop bills exactly right. That is not a small thing, and it changes where the opportunity actually sits.
The one exception is the hourly rate table, which appears to be sitting one ICBC increase behind. That is not a discipline problem, it is a profile that needs re-applying, and it is the first item in section 08.
Your June notes made a first pass at the type codes with no schema and no way to test them. We tested each one by summing it and matching it against the totals block on every repair order. Here is the confirmed key.
| Code | Lines | Value | Reconciles to | What it actually is |
|---|---|---|---|---|
PAE | 714 | $0.00 | Nothing | Estimate operation lines. Not parts. All 714 carry zero dollars. Top descriptions are
TINT COLOUR, ICBC POST REPAIR SCAN, FEATHER PRIME & BLOCK.
Where one is named like a part, the priced part is a separate line on the same job. |
PAN | 163 | $49,462.23 | PartsOEM |
OEM parts, one bucket. 125 of 163 vendors are franchised dealerships. ImEx does not split dealer from non-dealer, so there is only the one category. |
PAA | 172 | $43,882.73 | PartsAM |
Aftermarket. As expected. |
PAS | 122 | $11,393.80 | SubletTotal |
Sublet. As expected. This is where alignments and repair planning live. |
PAL | 9 | $7,259.53 | PartsRecycled |
Recycled and salvage. Vendors are Pro Auto Recyclers and Reid's Autowrecking, descriptions are salvage assemblies. |
| (blank) | 542 | $37,009.41 | PM + BM + Misc |
Paint materials, body materials, miscellaneous. This sixth category has no code at all. Anything that filters on the five named codes silently drops 542 lines and $37,009.41. |
Pull it up in ImEx. You will find Rear Bumper Cover listed twice. Once as a
PAE line at $0.00, which is the operation, and once as a PAN
line at $1,085.90 carrying part number 85018-6TL2D, which is the actual part.
That pattern is why PAE cannot be dealer parts.
$149,007.70 in detail lines, plus $105,603.12 in labour, plus $30,633.66 in sales tax, equals $285,244.48 gross. On 56 of 56 repair orders, zero mismatches. Every future nightly file can be checked against this the moment it lands, which means a corrupt or incomplete delivery announces itself instead of quietly poisoning a report.
Three of the revenue rules came back at zero here. The useful part is not the zero itself, it is what your own figures say a sample this size was ever going to show.
We built all three of your rules and ran them: ADAS calibration, repair planning, and alignment. They executed cleanly and returned named repair orders rather than totals, which is the first thing worth knowing. The logic works. None of the three found an instance at Mission on 18 June.
Before reading anything into that, it is worth running the arithmetic on your own figures. $54,600 a year at $350 a calibration is three occurrences a week across the whole network, which is one every 33 shop-nights. The alignment estimate works out to roughly the same. Put all three rules together and your own numbers predict about two or three flags a night across 14 shops, which at a single location is one flag every six nights.
We looked at one shop for one night. Finding nothing is the single most likely outcome even if every one of your estimates is exactly right. On your own figures there was roughly a one in six chance this sample would surface anything at all.
So this is not a mark against the case. It is a measurement of how small the window is. A once-a-month-per-shop event is invisible to a snapshot and unmissable to a system reading all 14 shops every night, which is precisely the difference the pipeline makes.
Repair planning is the one rule with a real base behind it. 35 ICBC jobs over $2,500 were in scope and all 35 carried the charge. That is a genuine full capture rate on the exact population your rule targets, and it is the strongest single result in the file.
Where a repair planning line is genuinely absent, nine of eleven cases are estimates or scheduled jobs with no car in the shop yet. The charge does not exist because the work has not started. That is correct behaviour, not a miss.
ADAS and alignment are thinner. Only three jobs in the file carry a camera, radar or blind-spot part and only two carry a suspension part. All of them are billed correctly, which is good news as far as it goes, but three jobs and two jobs are not yet a measurement.
56 jobs from one night at one shop cannot answer "how much are we leaving on the table." It is not a big enough base, and it mixes open work in progress with recently closed files.
The alignment question makes this concrete. Only two repair orders in the entire file carry a suspension part, and neither is closed. There is simply no evidence here about closed jobs that were never billed, which is the only version of that question that costs money.
A snapshot can tell you what is true tonight. It structurally cannot tell you what is true across 14 shops over a quarter.
The June notes used $66 as the ICBC repair planning rate. ICBC's published Collision Repair Program schedule lists it at $50, applicable to all repairable claims, and that is exactly what Mission bills on 42 of 43 lines.
The $285,244.48 total includes 13 closed jobs and 20 that have not started, so cars actually in the shop and not yet closed comes to $175,322.31 across 23 repair orders.
And the 80 supplement lines sit on 12 repair orders rather than being spread across all 56.
A cost field sits beside every billed total in the schema, and on parts and materials it is real: OEM, aftermarket, recycled, paint and body materials all carry a credible cost. Labour cost is very nearly empty. Body labour shows $6,008.60 of cost against $70,022.06 billed. Mechanical, frame and miscellaneous labour show none at all. No repair order in the file carries a cost on every category it billed, and across the export 46% of billed dollars have no cost behind them.
So parts and materials margin is available per job today. Whole-job profit is not. It is very likely the same root cause as the zeroed actual hours, which means your answer on technician clocking probably settles both at once.
The most interesting findings were not on the list. They fell out of the file while the agents were checking something else.
80 supplement lines across 12 repair orders, and four of those 12 carry 65 of the 80. Supplements are not an even background rate, they are concentrated in a handful of jobs. In one night, at one shop, with no history and no modelling required.
Every repair planning charge in the file is $50.00 except one. RO 29998 carries $700.00. ICBC's rate is a flat $50 on all repairable claims, so this is either a legitimate exception on a total loss file, an insurer-specific arrangement, or a keying error. All three are worth knowing about, and it took one pass to surface.
35 labour lines across 16 repair orders, each carrying technician names and flag hours and labour cost split nine ways: body, mechanical, glass, structural, electrical, aluminum, refinish, detail and other. The structure for true profit is there as well, with a cost field against every billed total, though only parts and materials actually populate it today. Section 06 has the detail.
Flag hours are populated. All nine actual-hours fields read 0.00 on all 35 lines. Either the shop is not clocking technicians onto jobs, or the export is not carrying it. That one answer decides whether true technician efficiency is measurable at all.
All four EI jobs with labour bill body work at $96.48 per hour. All 50 ICBC jobs bill $89.46. Alongside policy numbers and peril codes on the claim references, that settles what kind of thing EI is. There is no rental or loaner element anywhere in the file, so a true length-of-rental measure is not available from this feed. Days in shop is.
Vendor, order date, received date and invoice number appear on 300 of the 1,722 lines, spread across 40 repair orders. Ordered-to-received time by vendor is computable from this file today. The structured backorder and IOU flags exist but are never populated, so a backorder shows up only as free text in a description.
The REPAIR PLANNING & DOCUMENTATION line at $700.00. Every other one in the file is $50.00.
A single line, TOTAL LOSS HANDLING, and no repair planning charge. It reads as a gap in a
naive count, but it is a write-off file where the charge would be wrong rather than missing. This is the
kind of case a rule has to be taught, and it is why we would rather show you the working than hand you
a total.
Two of the four questions we sent you earlier today have now been partly answered by the data itself. The three below are the ones that still change what gets built.
Rear Add w/Parking Sensor imply a calibration?EI expand to?A roadmap, in plain English, built on the findings above rather than on assumptions. Every claim in it will trace back to something on this page. It follows once your three answers land.
Each agent worked the file independently. Open any of them for its mission, its method, and what it actually found, including the things it could not resolve.
34 ADAS-indicator lines across 13 of 56 repair orders, and 7 calibration lines across 5. The gap depends entirely on how strictly you define an ADAS part, so it reported three definitions rather than picking one.
The agent tested seven definitions to see which produces 76 ADAS-related lines. Exactly one does:
counting post-repair scans as ADAS lines. 42 of the 76 are scans, and 37 of those are the identical
string ICBC POST REPAIR SCAN. Counting only equipment and calibration, the file holds 34.
Four of the six gap jobs qualify through refinish operations such as
Rear Add w/Parking Sensor, which indicate a sensor-equipped bumper but not necessarily a
calibration requirement. That needs shop knowledge, so it is on the open list rather than in a total.
43 repair planning lines across 43 repair orders, all under PAS. The standard charge is
$50.00 on 42 of the 43. No line anywhere in the file is priced at $66.00.
Of the 11 without, nine are estimates or scheduled jobs with no car-in-shop date at all, and eight of those are an identical placeholder shell. The two remaining cases are a total loss file and a glass claim. The realistic opportunity in this export is one job, $50, and arguable.
Reproducible and correct, if you match the exact string
REPAIR PLANNING & DOCUMENTATION. It misses three free-typed variants at the same $50 and
the same code, so the true count is 43. Also worth noting that 20 of the 56 are pre-production, so the
file is not 56 active jobs.
The gap is zero, on every definition tested. Only 4 detail lines out of 1,722 are suspension components, sitting on 2 repair orders, and both bill a four-wheel alignment at $147.00.
Both suspension jobs are in progress. No closed job in the file carries a suspension part at all, so this export contains no evidence either way about closed jobs that were never billed. The claim is neither confirmed nor refuted, and a single night cannot settle it.
Matching on the word "align" alone catches structural pull operations such as
PULL AND ALIGN UNIBODY, which are not wheel alignments. Four repair orders contain only
those. Harmless here, material at scale.
Rather than guess from descriptions, the agent summed each type code per repair order and matched it against the corresponding field in the totals block. Six codes, 56 records each, zero mismatches. That is what makes the decoded key in section 04 a proof rather than an interpretation.
5-NNN-NNNNNN format. Rentals do
not have policy numbers, and ICBC policies use a different form entirely.COLL, MVA, and one
BLINDACV on the single non-driveable total loss.A sweep of every element in the file for any expanded company name returned nothing. The name has to come from the ImEx insurer-code table.
Both hold on 56 of 56 records and both are now built into how we would check every incoming file: the blank-code lines sum exactly to paint plus body materials plus miscellaneous, and detail lines plus labour plus tax sum exactly to gross.
It was told nothing about what the others were looking for. Its only job was to produce a complete, boring structural inventory using a different parsing library and different command-line tooling, so that a bug in one approach could not quietly propagate into every number on this page.
Twelve hard counts, re-derived by a second method and then a third. All twelve agreed exactly. 56 repair orders, 1,722 detail lines, 35 labour lines on 16 repair orders.
It reported that line totals do not reconcile to headline totals, and quantified the gap at $136,236.78 without attempting to explain it. Agent D then found the missing pieces, labour and sales tax, which closed it exactly. Neither agent could have got there alone.
Every figure on this page comes from the 18 June export for Mission, or from ICBC's published Collision Repair Program rate schedule. Nothing has been extrapolated to other locations, to a month, or to a year.