I have a list of every item I ever buy on our computer. From food to loo rolls to sundry items I buy occasionally, listed in groups (fresh fruit and veg, meats, sauces, toiletries,cleaning items, frozen) according to where I'll find the item in the supermarket.
Once a week I simply adjust the list and print it off. The Original List is saved as "read only" so remains unchanged.
As a package becomes empty (or near empty) I make a note to replace it
Very rarely to I forget anything.
Benefit is; you also don't buy unnecessary items and with a full fridge have no excuse for takeaways!
Grouping the items saves time.