1
📥
Ambil data inventoriAPI gudang — produk, tarikh luput, kuantiti
2
🧮
Kira hari luputTarikh sekarang vs tarikh luput setiap item
3
🔍
Kategorikan risikoKritikal <7 hari, Soon 7-30, Ok >30
4
🏷️
Cadangan tindakanFlash sale, bundle, atau pelupusan
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)}))