I don't meal plan before shopping, I use a web site / app called Pepperplate to keep a list of pantry items I want to maintain. The family knows when they use something to grab a new one from the pantry, and then I simply inventory my pantry before leaving for the grocery, approximately every two weeks when I get paid.
My list will identify how many of each item I want to keep on the shelf and if I have that number, I delete it from this weeks list. If there is a sale or coupon, I usually buy items that are shelf-stable, then I organize my list (in the app) by the store I plan to buy it at. BJ's, food lion, Aldi, Save-A-Lot, Wal-Mart, etc. If I have something on the list that happens to be really expensive, I may delete it and try to get it next shopping run.
Sometimes, if I'm making something "special", I will add that recipe to my shopping list to ensure I have the necessary items.
This works for me and my family.
Good luck.