Ok, see where you are coming from and that raises the question how frequent are warranty claims. The higher the frequency, the better the purchase tracking needs to be. I’m going to assume that there are two types of spare parts, brand/model specific and generic (filters, fan belts etc), Do the warranty claims tend to happen under one type or both.
If the purchase invoice relates directly to a client(s)/vehicle(s) then those client(s)/vehicle(s) could be noted in the description box. For a mixed (specific/generic) purchase invoice you could note the client/vehicle for specific items in the description box. Would this provide sufficient tracking?
Alternatively, you could adopt the practice of not doing mixed specific/generic ordering, even not doing mixed client/client specific ordering, where feasible.
For the sales invoice you could adapt the usage of supplier codes. Let say your main suppliers are called Alpha, Beta & Delta. When providing a description of the work you could start with a (A), (B) or (D), even a (ABD) if required. This can then point you in a direction “if” the warranty need arises.
You wrote “wouldn’t itemize and keep track of profit per item”, but do you need that?. Lets say you have a general rule that mark ups on spare parts is X%, noting there can be exceptions. Then comparing your Sales Spare Parts against your Purchases Spare Parts would give provide a overview how that general rule is performing.
Also, “I just need a clean way to keep customer-vehicle history”. When Manager eventually has the JOB COSTING feature, your prays will be answered, meanwhile . . . . . . .