I have several systems that are close to this: Customer, CustVeh - CustVeh being related to Customer by CustomerID. This is simple & straightforward & DF handles it with little or no coding.

Relating CustVeh to multiple customers makes it much trickier. As far as I know, the only way to do it is a bridge file - one that contains just 2 columns: CustomerID & VehicleID - each indexed: CustomerID & VehicleID and VehicleID & CustomerID. You then have to do some coding to to do finds: In the customer view, use the CustomerID, VehicleID index on the bridge file to load a grid with all vehicles for that customer. In a vehicle view, it'd be the opposite.

If then creating a work/repair order, use a normal lookup for the customer, then a customized one for looking up vehicles for the customer - that uses the bridge file as well as Vehicle.