Generate quantities from meals after accounting for usable stock. Confirm receipt separately after buying.
Kitchen data backup
This readable JSON contains kitchen records, entered prices, preferences, favourites and history. Keep it private. Restoring replaces all saved kitchen data in this browser.
When to Use It
Buy what your saved meals still need.
How to Use
Create or select a list, choose meal dates and calculate needs. Confirm receipt after shopping.
How It Works
Planned ingredient requirements are scaled by servings and compared with usable inventory. Generating a list does not claim that groceries have been purchased.
Shop for the difference between the plan and the cupboard
A meal plan tells you what dinner needs. A shopping list should tell you which part of that requirement is still missing. Those are different quantities, especially when two meals share a bag of rice or the same carton of eggs. Begin with saved meals and reasonably current inventory, then choose the dates this shopping trip is meant to cover.
Calculate once across the meals you are buying for
Create a named list and calculate a current or future date range. Compatible amounts for the same ingredient are combined, and usable stock is allocated in date order. Earlier planned meals are considered before later ones, so the same few eggs are not treated as available for every breakfast.
Generated lists with overlapping date ranges are rejected to prevent two lists from claiming the same period independently. Use one existing list for that period or choose separate ranges. If meals change, recalculate rather than adding another copy of the original requirement. Unpurchased generated lines can change; manual household items need your own review.
Leave room for what the recipe cannot know
Add household supplies and other shopping manually, with notes that will make sense in the aisle. Link a manual food item to a catalog ingredient when it should be eligible for receipt into inventory. An unlinked note such as “dish soap” is still a useful shopping line, but it should not become a food batch.
A recipe may need 270 g of carrots while the shop sells a 500 g bag. Keep the calculated need as a reason for the purchase, then enter the actual amount received when putting groceries away. The larger package is what belongs in stock.
Bought is not the same as put away
Mark purchased while shopping and undo that mark if plans change. Confirm receipt into inventory separately for catalog-linked food, checking the received amount, unit and storage location. A confirmed receipt is protected against being entered twice. It is not a second purchase to click again after refreshing.
Estimated and actual line prices are amounts you supply in the list currency. Missing prices remain missing; a partial total is not a complete forecast. A budget is useful as a comparison only when enough of the list has been priced to make that comparison meaningful.
Keep a private copy before moving browsers
The JSON backup contains saved kitchen data across the tools, not just the current shopping list. Keep the file somewhere private. Restoring replaces local records after validation and confirmation; it is not a merge of two households or a way to combine two independently edited copies.
FAQ
Why is the shopping quantity smaller than the recipe total?
The list subtracts usable recorded stock after allowing for relevant earlier meals. Check the inventory and selected dates if the result is unexpected.
Does the budget use live prices?
No. Enter prices yourself and choose the currency you use. Different currencies are not automatically converted.
Can I buy a different package size?
Yes. Record the actual received quantity and a compatible unit when confirming the food into inventory. Do not enter the recipe shortage as stock if the package contains more.