The Batches page now traces a batch in both directions — upstream to where it came from, and downstream to everywhere it went.
Open any batch and the trace shows the connected records across the full movement chain: purchases and receipts, assembly and disassembly orders, transfers between locations, sales and the customers they went to, returns, adjustments, and remaining stock. The trace supports recursive traversal, so if a raw material batch was used to make an intermediate batch that was then repacked into finished-goods batches, opening any of those batches shows the connected chain in both directions — with cycle protection to prevent infinite loops.
What each direction shows:
Transfers between locations preserve the trace chain. Batches with no upstream or downstream records are handled cleanly — the page shows a direct-only view rather than an error or blank state. If you've ever had to reconstruct a batch trail for a recall or an audit by manually reconciling purchase, manufacturing, transfer, and sales records, this replaces that process.