Can it be really that difficult in principle? Give each consignment an identifier, likewise each location and vehicle. Record each transfer of each consignment from one location or vehicle to another. Handling that sort of data is the sort of thing that Good Old RDBMS does really well. It's falling down on that recording that causes problems. Fail to record those transfers and your consignment's AWOL. The problem is the practical one of what should be done not being done, concentrate on find out why that's happenig. If the transfer doesn't happen when it should, raise an alarm, that is also within the capabilities of Good Old RDBMS.
Using AI/ML when the transfer isn't recorded is a fancy name for guessing. If the transfer's recorded you don't need the AI.