A Shopping List That Knows When to Remind You

Most shopping lists solve the wrong problem. They capture what you need today. This template solves the harder problem: which items do you need today, which ones come up on a regular cycle, and which are one-time acquisitions that shouldn't clutter the regular view.

The Frequency field — One-time or Regular — makes that separation at the record level. One-time items exist for a specific trip and don't need to be seen again. Regular items are the standing inventory of things you buy on predictable cycles. Combined with Every (a number) and Cycle (Day, Week, Month, Year), the template lets you express "every 2 weeks" or "every 3 months" as structured data, not a mental note.

What Makes a Record Complete Before You Leave the House

Item, Brand, Category, and Notes give the purchase its full specification. The Photo field is the one people underestimate: a photo of the exact package prevents the wrong variant problem that wastes more trips than any other failure mode. When you're standing in front of a shelf with eight varieties of the same product, the photo in the record is the reference. You're not guessing whether it was the 400ml bottle or the 500ml, salted or unsalted, the original or the low-fat version.

QR Code and Barcode scanning take this further. Scan the item from your pantry before you leave, and the exact product identifier is in the record. In a retail environment that changes products and packaging, the barcode is more reliable than a brand name. If the store is out of the specific product you have on file, you know it immediately at the shelf rather than bringing home a substitute that doesn't work.

Quantity and Unit — thirty-two unit types including piece, gram, kg, litre, sachet, bag, pack, dozen, roll, drum, and more — ensure the quantity field is unambiguous. "2 roll" means something different from "2 pack" for the same item, and a unit field that defaults to "piece" without options for weight and volume measurements fails the moment you're buying rice by the kilogram or cooking oil by the litre.

Subtotal (Quantity × Price) auto-calculates, giving you the running cost per item as you populate the list. The price is recorded in IDR.

The Order and Purchase Separation

Three sentences: Order date and Purchase date are distinct fields, which matters for items ordered in advance — online orders, click-and-collect, or bulk purchases placed days before the actual collection date. Paid amount records what was actually spent, which may differ from the calculated subtotal when prices change or substitutions happen. Payment — Cash, Debit, or Credit — closes the loop for anyone tracking spending by payment method across receipts.

Seller Linkage and Status Tracking

Seller links to a separate Stores database, which means every item record knows where it's typically purchased. Over time, filtering by Seller shows where each category of spending goes — which stores serve which needs — without requiring manual review.

Status — Planned, Ordered, Purchased, Canceled — gives the list its operational state. When you're mid-trip and working through items, marking each as Purchased as you go keeps the active list clean. When a price is wrong and you skip an item, Canceled distinguishes it from items still to get.