Es simple pero no es tan simple como lo plantea el amigo Miguel (Bazzoka), bien pudiera hacerse como el indica pero mas tarde esto puede representar un inconveniente, dependiendo claro de que tanto controles con este método. Es como bien dice Enter, hay que lotizar. Esto se hace para productos perecibles, tambien te puede servir para el manejo de inventarios con costeo PEPS o UEPS.
En tu caso Miguel (Scan) vas a tener que modificar la tabla donde llevas los ingresos agregándole una columna NO de fecha de vencimiento sino de lote, esto implica otra tabla donde lleves el numero de lote que muchas veces te lo proporciona el proveedor, el precio de compra y el costo hasta ese punto (para reversiones) de ser posible, luego la fecha de ingreso y por fin la fecha de caducidad de dicho lote. En tu tabla de salidas ya bastara poner una columna del lote. Si deseas en tu tabla de lote podrias poner un campo mas donde vayas actualizando el saldo de ese lote.
En el momento de la venta deberás seleccionar el lote, si deseas lo puedes automatizar, el punto un poco critico es cuando te llevan 10 unidades y te quedan 6 de un lote y 4 de otro, programa eso con cuidado para descargar por antigüedad.
Saludos
EDITO: Iba a mandar el post y ya vi que Miguel encontró su solucion. Que bien.