+ Add Question

Shopping lists


I'm trying to make a shopping list using todoist.

The main functions are:
- Make list of items (would like a master list with nesting structure that I can instantiate)
- Add item to list after instantiating it
- Mark item as something I need to buy
- Mark item as something I have bought
- Organize the unbought items so I can buy them some other time
- Clean up the bought items so the list is ready for the next time
- Don't mess up the master list (could happen if items that I mark are removed from the master list)

Can you advise how this can be done conveniently using:
- todoist on the web for setting up the master list
- todoist on the iPhone for marking items to buy and marking items already bought
- todoist on either platform for resetting the list for the next trip

All responses

Brendon Wadey  staff
Replied on Mar 31, 2014 - 19:27 UTC

Hi Bruce,

It can be much similar than that. Just create a new project, "Groceries" or "Shopping" and add the items you need to that list. Don't add dates or labels or anything.

When you purchase something, check it off, it's then gone.


Bruce Esrig  premium
Replied on Mar 31, 2014 - 19:42 UTC

So far so good, but I'm a little worried about items that disappear when I have bought them because then I might not remember to add them the next time.

I have an existing project that has all the items organized into groups that more or less reflect how they are arranged in the store. If I make a new project, "Next Shopping Trip" ... then ... will there be a good way to work from my existing project to add the items I need to the new project?

I see how to move items to a new project, but, at least without Premium, I might not be able to get a fresh copy of each item without destroying the original list.

Can I do it without Premium? Can I do it with Premium?

Brendon Wadey  staff
Replied on Mar 31, 2014 - 19:49 UTC


You can add tasks as recurring instead, but then it has a due date. You can use the Templates feature, but this is only possible in the Premium version.

Though, I myself re-add items whenever they are needed, even if it was something I had before, at least for shopping related items. As you don't always need the same items?


Bruce Esrig  premium
Replied on Mar 31, 2014 - 20:09 UTC

We're creatures of habit, but a little forgetful, so having something to refer to makes a big difference for us.

Could you say more about how this could be done with Templates?

Brendon Wadey  staff
Replied on Mar 31, 2014 - 20:36 UTC


Well, in terms of "forgetfulness" then unless you add a task as a recurring one, such as "everyday" there aren't many options. As there is no auto re-add of a task, unless recurring, but even then, you may forget a recurring task. You can add reminders, but not reminders to re-add a task :) I hope that makes it clear.

The template feature exports all tasks from your project, and then can be added to a new project (or any project). Wrench icon in the top right within each project can show you this feature. It's manual though.


Bruce Esrig  premium
Replied on Mar 31, 2014 - 21:36 UTC

Thank you, Brendon,

It's good to know that when you import a template, it adds the tasks in the template. The thing I find easy to forget is what subset of my usual items I would like to get this time, and a template could help with that.

Looking at it another way, though, I'm starting to think that my intended use of tasks is a bit backwards. I want to check an item from a larger list to indicate that I need it, and uncheck it to indicate that I got it. But as completed tasks, the checked items would disappear from the list on my phone, when what I want is to *show* each checked item until I get the item. In that sense, tasks work in the opposite way from what I wanted for the items on a shopping list.

As a fallback, I might end up using todoist only for things that are really task-like, and use something else for lists of items.

I appreciate the support.

Best wishes,


David Trey  staff
Replied on Mar 31, 2014 - 22:01 UTC

Hello Bruce,

Have you tried using sub-tasks? Create a parent task called "Shopping" and indent tasks below it, each representing an item. They will always stay checked on the list until you check off the entire parent task.

Combine this with templates and you can import the shopping list with sub-tasks whenever you need it :-)

Best regards,

Bruce Esrig  premium
Replied on Apr 01, 2014 - 07:19 UTC

That's a really good property of sub-tasks. I was using them, but I didn't realize they would work that way.

I upgraded, and can use templates now. I have lots of comments!
- The pen interferes with the wrench in the task actions icon. Would it be enough to just use a wrench?
- There's an import/export templates video, but it's only available after you find the function. Could it be pulled up to top level in the help?
- Saving a template naturally doesn't save the states of the tasks, so I can't mark everything completed, import the shopping list items, and then uncheck the ones I want. I have to explicitly dismiss all the items I don't want each time I import the template.

Let me see if I can make this observation into a suggestion under Votebox.

Best wishes,


Barbie Smith  premium
Replied on Mar 24, 2015 - 22:31 UTC

Here's how I've been using a shopping list project: I add items one time to the list. Then I add labels to each item for the store(s) where I can find this item. If i'm going to xx store, I filter for all the items for that store. After I've bought something I mark off the task. It works beautiful EXCEPT for the problem of completed tasks disappearing. I can view completed tasks. But since the task list is so long, I have to click "show completed items" a number of times. Then I need to Ctrl-F to find the item I need, to uncheck it. Very inconvenient.

So... I set up a new shopping project with a subfolder for each store. I think this will work. The only downside is that I have to enter items multiple times. For example, "milk" would be added to 4 grocery store subfolders. I'll try this... I think it will work for me.

Still looking for that perfect solution!