Products can be set to have batch numbers and expiration dates by editing the item:
When you add them to stock from a PO you can enter the batch number and expiration date.
Quantities can be picked from specific batches on the delivery note.
When picking for a delivery you can select the batch to take from: