Inventory for restaurants

Role

I was the lead designer of this platform inventory project. I collaborated with relevant cross functional teams and owned the holistic experience of the proposed solution.

Timeline

Mar 2024 to Dec 2024

Project context

Inventory at Square

The Square POS system has historically focused on retail businesses that manage finished goods with a formal inventory workflow (receiving, recounting, reporting loss, etc), treating inventory as a back-office task that can be handled during slower periods.

Problem

Square’s existing inventory system falls short for food and beverage businesses where inventory fluctuates constantly based on ingredient availability, preparation status, and other unexpected situations. Restaurants need a flexible system allowing quick transitions between unlimited availability, limited quantities, and sold-out states without the burden of formal inventory processes.

Example scenario

Morning prep

Kitchen makes a big pot of beef stew. On Square, the item is generally Available.

Service begins

As customers order beef stew throughout lunch, it remains generally Available.

Item runs low

Kitchen notices only 5 portions left and calls out to a server. A server updates Square to show 5 available.

Item is sold out

As those final 5 orders come in, Square automatically marks beef stew as Sold out when the count hits zero.

Considerations

Platform perspective – In this project, I had to balance the needs of two distinct user types: the restaurant seller and the retail seller. The goal was to introduce inventory functionality tailored for restaurants, while preserving the existing features that continued to serve retail sellers effectively. This tension between evolving and maintaining functionality was a central consideration throughout the project.

Collaboration style – As design lead, I bridged Square’s retail and restaurant teams by establishing an efficient collaboration framework with regular updates and strategic reviews. Additionally, I coordinated cross-team design sessions to create feedback loops in order to catch issues early which allowed me to successfully navigate dependencies to deliver an effective solution.

Project planning

Milestone 1️⃣ – Addressing the restaurant use case

The first milestone focused on solving the core problem for restaurants.

Milestone 2️⃣ – Weaving the experience into the platform

Once we have the confidence that we’re in the right direction for solving the restaurant use case, then we can focus on how we can seamlessly add it back into the platform.

Milestone 3️⃣ (Future) – Strategic feature discovery & adoption

Once Milestone 1 and 2 are complete, then we can focus on introducing advanced inventory concepts to our sellers. Where is the right time and place so that we introduce it to our sellers?

Discovery & Exploration

💬 Feedback from sellers – The team had been receiving consistent feedback from our restaurant sellers that our inventory functionality was not meeting their needs. Below are some quotes from our customers:

“We have to inflate our inventory numbers to something superficially high like 1000 so that we don’t accidentally run out. Then, we do an inventory recount to the correct number when we want to actual limit something”

“Managing a stock number requires too many clicks to reach the page to adjust stock. I usually have to do this on the fly, and the current number of clicks is overwhelming when customers are waiting to put in an order in store”

📑 Competitor audit

💬 Internal critiques

🤝 Stakeholder workshop

– Build a shared understanding of the problem space
– Surface key concerns from each team
– Brainstorm concepts

👥 Concept testing

Insight: Showing examples of actual products that sellers might stock proved to be the most effective way to help them understand different inventory types and categories especially when compared with copy.

Insight:
Sellers don’t focus on inventory efficiency during initial setup. Instead, they identify opportunities for improvement only after reviewing reports and analyzing operational data.

Insight: When the default inventory method aligns with sellers’ expectations, they rarely explore additional inventory features. They simply use the functionality as presented without investigating other options.

Solution

A dedicated modal with three clear options

The solution was designed with three inventory states an item can exist in: generally available, a limited quantity, or sold out. We made these options simple to toggle between, and—most importantly—immediately understandable for busy restaurant staff.

Accessing the inventory modal

We made this modal accessible from where sellers naturally work: primarily in the Menu tab of their point of sale system, where they frequently process orders, and additionally within the Edit item modal, where sellers expect to find all item-related information in one place.

Switching inventory modes

While sellers are defaulted to an inventory experience, they can switch modes when needed—like restaurants typically selling food items who occasionally need to manage merchandise such as t-shirts.

Food & beverage popover
Finished goods popover

Success metrics

<73% engagement with users who have requested this functionality in closed beta

100% legacy platform users migration to unblock a prioritized platform migration

Challenges & Learnings

Balancing conflicting seller needs across different business types

When audiences have conflicting needs, don’t compromise with a middle-ground solution – use smart defaults to serve each group appropriately.

Managing scope and risk through project planning

During discovery, we uncovered a need to rebuild Square’s existing inventory setup experience. We decided to realign the problem with stakeholders early and broke the project down into manageable incremental milestones. This allowed us to structure the work to allow for continuous validation and course correction rather than building everything at once and hoping it would meet our diverse seller needs.

Protecting seller onboarding

Don’t overwhelm beginners with advanced features – introduce complexity progressively as users and their businesses mature