Is my understanding correct that the end goal is FEFO for inventory with the ability to promote quantities based on dates/batches?
This is what comes to mind:
• As already mentioned, we would want to avoid adapting stock locations but hook into inventory units.
• We need a Batch model for inventory units to "belong to" -- inventory units will get a new column for this.
• The Batch model will store the expiry date for all inventory units that "belong to" it and be open for extension in the future.
• Promotions have access to line items, so there will need to be some good SQL here to promote a specific inventory count based on the batch number/date of expiry defined in the promotion.
• Then, of course, a custom stock coordinator will utilise the batch model to allocate inventory correctly -- the items are, presumably, in stock, which makes it simpler.
• The admin UI for allocating new stock will need to be altered to support batch-based updates.
I would need input about potential issues here, as nothing has popped into mind.