AI agent that tracks product expiry dates, generates alerts for soon-to-expire items, and suggests markdown or disposal actions.
import json, datetime
from dateutil import parser
inventory = [
{"name":"Susu Kotak","expiry":"2026-07-15","qty":120,"cost":8.50},
{"name":"Biskut","expiry":"2026-08-01","qty":60,"cost":3.20},
{"name":"Minyak Masak","expiry":"2026-06-25","qty":40,"cost":12.00},
{"name":"Barang Kering","expiry":"2027-01-10","qty":200,"cost":5.00}
]
today = datetime.date.today()
for item in inventory:
exp = parser.parse(item["expiry"]).date()
item["days_left"] = (exp - today).days
if item["days_left"] < 0:
item["status"] = "EXPIRED"
item["action"] = "Dispose"
elif item["days_left"] < 7:
item["status"] = "CRITICAL"
item["action"] = "URGENT markdown"
elif item["days_left"] < 30:
item["status"] = "SOON"
item["action"] = "Flash sale / bundle"
else:
item["status"] = "OK"
item["action"] = "Monitor"
at_risk = sum(i["qty"] * i["cost"]
for i in inventory if i["days_left"] < 30)
print(json.dumps({"items":inventory,
"value_at_risk": round(at_risk, 2)}))
Basic Package
Special SME traction programme by AINNA.
Limited starter website offer. AI usage, hosting, maintenance and custom integrations depend on the confirmed scope.
View SME Offer โ
Ask about AINNA pages, services and articles.
AINNA sources only ยท up to 5 lines ยท 20 questions/hour
No section data available yet.
Sites with documented sections will appear here.
We value your privacy
We use browser storage to remember your choice. Optional analytics runs only after you allow it; your choice is recorded with an anonymous ID. Privacy Policy