OBD-II Diagnostic Reports: Codes, Findings, and Approval

Explain trouble codes, readiness, test findings, and repair approval in plain English. A practical OBD-II report example for independent auto repair shops.

Article

A customer arrives with a free scan showing P0302: Cylinder 2 Misfire Detected. They were told they need an ignition coil and want a price.

P0302 means the engine computer detected a misfire in cylinder 2: the air-fuel mixture was not burning properly. The code does not establish whether the cause is a coil, spark plug, fuel problem, wiring, or a mechanical condition. Before quoting a repair, explain what the scan tells you and what testing is still needed.

OBD-II means second-generation on-board diagnostics. Its diagnostic trouble codes, or DTCs, are evidence to investigate. A useful report answers three questions: What did the vehicle report? What did the technician find? What decision does the customer need to make? Keep the detailed scan with the job file, but put those answers first.

In Documentorium, use the inspection summary and checklist notes in the automotive inspection report for the findings. Price the proposed next step in an automotive estimate, then record the customer's decision in the repair authorization. Reference scan exports kept in your shop's records; the form does not import scan-tool data or attach those files automatically.

State the scope in Checklist notes. A code scan alone does not justify answering yes to Multi-point inspection completed?

This guide is for independent shops documenting light-duty vehicle service. Examples are fictional reporting notes, not repair instructions. Use current service information for the actual vehicle, qualified personnel, and the repair and inspection rules that apply to your shop. Sources were reviewed August 31, 2026.

Put the customer summary before the scan printout

A customer should not have to interpret ten pages of codes to find out why you recommend another diagnostic hour.

Use this order:

SectionWhat the customer needs to know
ConcernWhat they reported and whether you reproduced it
FindingWhat testing established, or what remains unresolved
EvidenceRelevant codes, measurements, test conditions, and scan references
Next stepRepair, further diagnosis, monitoring, or a safety recommendation
Price and approvalThe proposed scope, charge or limit, and whether it is approved
Result after workWhat you retested, the outcome, and any remaining conditions

For example, after authorized testing supports a coil fault, the customer summary could say:

We reproduced the rough idle you reported. Testing points to the ignition coil originally on cylinder 2, which supplies the voltage that makes the spark plug fire. When we moved that coil as part of the test, the misfire moved with it. We recommend replacing the coil and repeating the checks. The attached estimate lists the work and price; replacement has not yet been authorized.

If all you have is the initial scan, use a different summary:

The engine computer recorded a misfire in cylinder 2. We have not established the cause. The next step is the diagnostic work described and priced in estimate D-1842. No repair or parts replacement is included in that proposal.

Both versions tell the customer what is known and what they are being asked to approve. Use the one supported by the work actually completed; the code alone does not support the first version.

The repair-order guide explains how to carry that summary into the technician's instructions and final invoice.

Record the symptom and deal with immediate risks first

“Check-engine light” is a starting note. Ask whether the light was steady or flashing, what the vehicle did, and when it happened. Record recent battery work, previous repairs, and whether anyone has already cleared the codes.

A useful intake note is:

Customer reports rough idle after a warm restart and a steady check-engine light. The light has not flashed, according to the customer. Battery replaced two days ago. Customer does not know whether codes were cleared.

Keep the customer's account separate from your observations. If you cannot reproduce the rough idle, say so.

Address fuel leaks, smoke, overheating, oil-pressure warnings, severe shaking, or braking and steering concerns before routine testing. Ford's owner guidance, for example, warns that a flashing service-engine light while the engine is running can indicate misfire and damaging exhaust temperatures. Follow the instructions for the actual vehicle and document any restriction on testing or movement.

A communicating scanner, a steady light, or a pending code is not a safety clearance. If continued operation is unsafe, explain the reason and recommend appropriate handling or towing. Saving diagnostic evidence must never delay an immediate safety measure.

Get approval for a defined diagnostic stage

The FTC advises customers to ask for a written estimate and an agreed point at which the shop must contact them before exceeding a time or cost limit. State law can impose more specific requirements.

A practical diagnostic approval identifies the concern, permitted tests, charge or cap, and stop point. For example:

Customer authorizes the initial scan, data preservation, visual checks, and up to one diagnostic labor hour for the reported rough idle, subject to the $185 limit on estimate D-1842. No parts replacement, programming, or diagnostic disassembly is included. Contact the customer before additional work or charges.

The amount is illustrative. State how diagnostic charges apply if the customer declines the repair, whether they are credited toward later work, and how applicable taxes and permitted fees are disclosed. A labor-hour allowance without a price or disclosed pricing basis leaves the customer guessing.

If disassembly becomes necessary, stop and follow the applicable estimate rules. California BAR's Write It Right guidance requires a tear-down estimate before diagnostic disassembly, including reassembly information, followed by an itemized estimate and authorization to repair or reassemble. A general approval to “diagnose it” does not replace those requirements.

When the first stage is complete, use the estimate-authorization guide to document the next decision. Approval of a scan does not automatically cover another diagnostic hour, a part, or an unrelated repair. Record the estimate version, exact work, amount, approving person, date, time, and permitted communication method.

Identify the vehicle and what was actually scanned

Record the VIN, year, make, model, engine or propulsion type, odometer, and relevant modifications. Add the scan tool and software version, scan time, ignition/engine state, and the service-information reference used.

Then describe coverage:

  • Generic emissions OBD scan: the emissions-related information the vehicle and tool support. This does not establish the condition of the brakes, airbags, steering, or every other module.
  • Enhanced multi-module scan: the additional modules and functions supported by that tool for that vehicle. List any expected modules that did not respond.

Write “21 of 22 requested modules responded; telematics module did not communicate” rather than “all systems checked.” Non-response needs investigation when relevant; it does not, by itself, prove that the module has failed.

Save the original evidence before clearing codes

Preserve the initial scan before resets, programming, parts removal, or repairs that could change the data, when it is safe to do so. The EPA's OBD inspection guidance identifies codes and associated freeze-frame data as useful diagnostic evidence before repair.

Keep:

  • the exact codes, reporting modules, and all displayed statuses;
  • commanded malfunction indicator lamp (MIL) status, plus what the technician saw on the dashboard;
  • freeze-frame or snapshot data, with units;
  • readiness status for each monitor;
  • the scan timestamp, operating conditions, and any communication limitations;
  • the raw export under a file reference that matches the repair order.

Clearing codes can remove useful fault information and reset readiness. Record any clearing step and its reason. Incomplete monitors can be consistent with a recent reset, but do not establish who cleared codes or why.

A short note is enough:

Initial scan saved as DR-1842-A before any reset. Customer reports recent battery replacement. Several supported monitors are incomplete; the scan does not establish the cause of that status.

Translate the code without turning it into a parts diagnosis

SAE J2012 defines standardized diagnostic trouble codes and ranges reserved for manufacturer-specific use. Use the complete code and the definition that applies to the vehicle and module. Preserve any additional suffix or failure-type information the tool supplies.

Common code families start with P for powertrain, B for body, C for chassis, and U for network communication. That first character helps organize the record; it is not a repair recommendation.

For example:

Scan evidenceCustomer explanationWhat is still unknown
Engine control module (ECM) reports P0302, cylinder 2 misfire detected, confirmed and permanentThe computer recorded a problem with combustion in cylinder 2. It also retains a permanent record that cannot simply be erased with the scanner.Whether the cause is ignition, fuel, a mechanical condition, wiring, or something else
ECM reports P0300, random/multiple cylinder misfire detected, pendingThis code records misfiring without naming one specific cylinder. It does not prove that a second part failed.Whether it shares the same cause as P0302
An enhanced scan reports U0121 as historyA control module recorded that it lost contact with the anti-lock brake system (ABS) controller.When it occurred, why it occurred, and whether it relates to today's concern

Record the actual reporting module for the network code. Do not assume that a code mentioning ABS proves the ABS module is defective.

Explain code status, lamp status, and readiness separately

These describe different things. They should not become one “pass/fail” box.

Code status

Retain the tool's exact labels; definitions and reporting strategies vary.

The same code can appear in more than one status category. If P0302 appears as confirmed and permanent, record both statuses; they do not, by themselves, establish two separate faults.

StatusWhat to explain
PendingThe system detected a fault that may need further detections before it turns on the check-engine light. Pending and confirmed statuses can coexist; this is not an urgency rating.
Confirmed / storedThe fault met the criteria for storage. It may not be occurring at the time of this scan.
PermanentAn emissions-related record that ordinary code clearing or battery disconnection cannot erase. The onboard system must complete the conditions for clearing it.
Active / current / historyManufacturer or tool labels whose meaning depends on the system. Preserve the label and the conditions in which you read it.

California BAR explains permanent-code behavior, including vehicle-specific issues and its inspection rules. A permanent code remaining after repair is not, by itself, proof that the repair failed. Explain it alongside the post-repair test results and any follow-up needed.

Lamp status

Keep three observations distinct: what the customer reported, what the technician saw, and whether scan data show the computer requesting the check-engine light to turn on (MIL commanded on). A dashboard lamp and the computer's command can disagree. Other warnings, such as ABS or airbag lights, are not the check-engine light.

Readiness

Readiness describes whether a supported emissions self-test has completed. It does not tell the customer that every part is healthy.

  • Ready / complete: the self-test completed. Check fault results separately; completion alone is not a pass result.
  • Not ready / incomplete: the self-test has not completed under the relevant conditions. This is not the same as a failed component.
  • Not supported: that monitor is not provided by the vehicle.
  • Unavailable / not retrieved: you did not obtain a usable result. Do not relabel it as “not supported.”

Check the applicable emissions program's current rules when discussing test eligibility. California shops can use BAR's OBD test reference; its pass/fail criteria are not a nationwide rule.

Keep test conditions with the findings

Freeze-frame data are selected operating readings saved with certain faults. They may help show whether the engine was cold, warm, idling, or under load. They are not a recording of the whole event, and availability varies.

For each useful reading, state the source, units, conditions, expected result, and actual result. “Fuel trim high” is less useful than a recorded value for the identified bank at a stated engine temperature and speed. Use the manufacturer's criteria for that vehicle, not an internet list of universal normal readings.

The same discipline applies to live data and physical tests. Do not write “sensor failed” if the report contains only a sensor-related code. Do not present a coil comparison as proof of an internal failure mechanism you did not establish.

After the customer authorizes any necessary access and additional testing, a report might read:

Concern: Rough idle after warm restart; steady check-engine light.

Initial evidence: P0302 reported as confirmed and permanent; P0300 pending in the engine control module. Original scan and available freeze-frame data saved as DR-1842-A. Rough idle reproduced when warm.

Tests: Manufacturer diagnostic procedure followed within the separately approved scope for access and testing. Misfire activity concentrated on cylinder 2. During the specified coil comparison, the misfire moved to cylinder 4 with the coil from cylinder 2. Connector checks, spark plug inspection, and preliminary mechanical checks are recorded in worksheet DR-1842-B, with results and limits.

Finding: The test results support a fault in the coil originally installed on cylinder 2. The code identified the affected cylinder; the comparison testing supports the coil recommendation.

Next step: Quote replacement of that coil and the required reassembly and verification. Further parts replacement needs its own supporting finding and customer approval.

Record only work actually performed. If the test is inconclusive, the useful result may be a proposal for further diagnosis:

Rough idle was not reproduced during today's warm-restart check. Initial scan saved. No failed component established. Ask the customer to note when the symptom occurs and arrange further diagnosis under those conditions if needed, with the scope and charge agreed beforehand. Do not attempt to photograph or operate a phone while driving.

Keep unrelated inspection findings separate. The multi-point inspection guide shows how to explain maintenance, urgent defects, and items that were not inspected without treating every stored code as part of one repair.

Check service information and possible recall coverage

Review the manufacturer's diagnostic instructions and relevant service bulletins before recommending parts. A bulletin is not automatically a recall, proof of a fault, or a promise of free repair.

When a campaign may relate to the concern, use NHTSA's recall lookup and the manufacturer's information. NHTSA lists limitations: results may omit completed recalls, certain older recalls, some newly announced recalls, and non-safety campaigns. Record the source, date, and result, then confirm eligibility with the manufacturer or dealer where needed. Write “No unrepaired safety recall returned by this lookup on [date]” rather than “No recalls.”

Explain a potentially relevant recall before the customer agrees to pay for work that may overlap its remedy. A recall search does not replace diagnosis or confirm coverage by itself.

Verify the repair under stated conditions

Once approved, put the scope and verification steps on the automotive work order. After the repair, record:

  • work completed, including required setup or relearns;
  • relevant tests repeated and measured results;
  • whether the original symptom returned during those tests;
  • the post-repair scan, remaining codes, and readiness status;
  • conditions you could not reproduce or tests that remain incomplete;
  • any restrictions, return instructions, or agreed follow-up.

“Light cleared, all good” does not explain what was verified. A more useful closeout is:

After the approved coil replacement, the rough idle did not return during the warm-restart check or the documented road test. No pending or confirmed misfire code returned during those checks, and the check-engine light was off. Post-repair scan DR-1842-C still shows permanent P0302 and an incomplete catalyst monitor. These results have been explained to the customer; emissions-test eligibility has not been confirmed. Arrange a readiness recheck under the vehicle-specific procedure if needed.

That is one possible fictional closeout, not the expected result of every coil repair. Record the actual remaining codes and monitors, and explain what to do if the symptom returns. Put the performed work and charge on the invoice; a receipt records payment, not the diagnostic result.

Do not promise an emissions-test pass

A repair report and an official emissions inspection serve different purposes. Eligibility can depend on the vehicle, model year, check-engine light status, readiness, permanent codes, communication, and other checks required by the program. “Repair verified under the conditions listed” and “eligible for an emissions test” are separate conclusions.

Do not tell every customer to “drive 50 miles.” Monitor conditions vary, and an unsafe vehicle should not be driven to complete them. Follow vehicle-specific instructions and the current program rules. Where readiness remains incomplete, explain what remains to be verified and whether a return check is needed.

Before you send the report

Check that a customer can find the concern, the supported finding, the proposed next step, and its approval status without reading the raw scan. Confirm that the report preserves the original data, identifies untested systems, and describes the post-repair result honestly. Keep the estimate, approvals, scan exports, and test worksheet under the same job number.

Sources

Sources reviewed August 31, 2026. SAE's public scope is cited for code definitions, not as a substitute for the full standard or manufacturer procedures. EPA's June 2001 guidance supports the evidence and readiness distinctions; use current state sources for inspection eligibility.

Common questions

Does an OBD-II code tell me which part to replace?
A code alone is not enough. It identifies a detected condition or affected system. Testing and vehicle-specific service information establish whether the cause is a component, circuit, mechanical problem, software issue, or another condition.
Why does a shop charge for diagnosis after a free code scan?
Reading a code and finding its cause are different amounts of work. Diagnosis may require reproducing the symptom, checking service information, and performing tests. The shop should explain the proposed stage and its charge before starting. A free scan does not authorize paid work; the estimate-authorization guide explains that approval step.
What does the P in a P-code mean?
P identifies the powertrain code family. B, C, and U commonly identify body, chassis, and network communication codes. Keep the complete code, reporting module, status, and applicable vehicle-specific definition; the first letter does not identify a failed part.
Is a pending code less important than a confirmed code?
Not necessarily. Pending is a reporting status, not an urgency rating. It may help identify an intermittent fault, but the symptom and test findings determine what action is appropriate. A serious operating problem still needs attention even if the code is pending.
Does a confirmed code mean the shop has confirmed the cause?
No. “Confirmed” describes the vehicle's code-storage status. It does not mean a technician has reproduced the symptom or identified a failed part. A report should state those findings separately, with the tests that support them.
Why is a permanent code still present after repair?
A permanent code can remain after a successful repair until the onboard system verifies that the fault is gone and meets its clearing conditions. It can also coexist with an unresolved fault, so check the actual test results and any returning codes. Ordinary code clearing and battery disconnection do not erase it. BAR's OBD reference explains the behavior and California inspection rules.
What is freeze-frame data?
It is a limited set of operating readings saved in connection with certain faults. It can help show the conditions in which a fault was detected, such as engine temperature or speed. It is not a complete history of the event and does not establish the cause by itself.
Does “not ready” mean a part failed?
No. It means a supported emissions self-test has not completed under the relevant conditions. Readiness is separate from fault results. “Ready” also does not mean the whole vehicle passed an inspection. The EPA's OBD guidance explains this distinction.
Should the shop clear codes before diagnosis?
Not as a routine first step. Save the initial scan and available freeze-frame data when safe to do so. Clearing can remove useful evidence and reset readiness. Record any clearing step that the diagnostic or repair procedure requires.
Is a generic code scan a full vehicle inspection?
No. A generic emissions scan does not establish the condition of every control module, mechanical component, or safety system. Even enhanced scan coverage varies. State what was scanned, what responded, and what was not inspected.
What should the report say if a module does not communicate?
Name the module, the scan coverage attempted, and the result. Do not call it a failed module or mark it as passed. Tool coverage, vehicle configuration, power supply, wiring, or a module fault may need investigation using the vehicle's service information. Explain whether that limitation affects today's diagnosis and whether further testing needs approval.
Can the vehicle still have a problem if the scan shows no codes?
Yes. A fault may be intermittent, outside the scan's coverage, or not have met the conditions for storing a code. Describe the symptom, the systems scanned, and the tests performed. “No codes retrieved” is a scan result, not proof that the vehicle has no fault or is safe to drive.
Can a stored code be unrelated to today's complaint?
Yes. Use the operating conditions, timing, symptom reproduction, and tests to explain the relationship. If that relationship has not been established, say so. Do not treat every stored code as a reason for a customer-paid repair.
Does turning the check-engine light off prove the repair worked?
No. A light may stay off after clearing until the relevant monitor runs again. Retest the original concern, record the post-repair scan and readiness, and explain any remaining limitations. Neither a cleared light nor this report guarantees an emissions-test pass.
Can I drive with a flashing check-engine light?
Do not use a scan result to decide that continued driving is safe. A flashing light while the engine is running can indicate misfire with a risk of further damage, as Ford's guidance illustrates. Follow the actual vehicle's warning instructions and seek prompt assistance; stop safely and arrange appropriate help if it is running severely rough or otherwise unsafe to operate.
What should the customer approve before diagnosis continues?
A specific next stage, its price or limit, and any access or disassembly involved. Record what is excluded and when another approval is needed. Where teardown rules apply, use the required estimate and reassembly disclosures; California BAR describes its requirements here.
Does paying for diagnosis mean the shop guarantees it will find the fault?
Not necessarily. Before starting, agree on the tests, charge or limit, any promised result, and what happens if testing is inconclusive. The report should explain the work performed, what it established, and what remains unknown. If more testing is justified, quote the next stage and get approval before continuing. An inconclusive result does not justify a parts replacement.