
A batch's expiry date comes from its lab report: either the retest date the lab gave, or the test date plus your shelf life setting if the lab didn't give one.
On the product page, a released batch shows "sellable until" the date it expires. Once that date passes, the batch moves to "On hold" automatically the next time it's checked.
Change how long a report stays valid on Release rules. Changing it re-checks every batch right away.