Overview
Enterprise resource planning is the least romantic phrase in software. It names the systems that track warehouses, purchase orders and supply chains for companies with procurement departments. Grocy borrows the term on purpose. The project calls itself “ERP beyond your fridge”, and the label fits. Grocy is a free, open-source, self-hosted web app that treats a household’s groceries, chores and equipment as inventory to be counted, dated and reordered.
The positioning is deliberate and narrow. The data lives on a server the household runs itself, and every client talks to that server, from the browser to the phone apps. That choice defines the audience before any feature comes up. Grocy’s reception reflects it. Most of its following comes from the self-hosting community, where users credit its thorough inventory tracking, barcode-driven workflows and food-waste features. Their standing complaint is how much work setup and data entry demand.
The product listed here carries the name of Patrick Zedler, who develops Grocy Android. It is one of two community-built native clients that the official grocy.info site links. The Grocy team ships no official mobile apps. On Apple hardware, the counterpart is Grocy Mobile by Georg Meissner, which covers iOS and macOS. A Windows desktop version completes the set. The web app itself runs as a responsive, installable PWA, so any phone with a modern browser already has a basic client.
That split shapes how to read this review. Grocy behaves like one system with several front ends. The server holds the logic, the stock ledger and the recipes. The native clients are faster, more phone-friendly ways into it. Judging the Android or iOS client means judging two things: how well it brings a demanding back end to a small touchscreen, and how much of that back end it leaves out.
Key features
- Barcode-ready purchase entry: Purchases go in through forms built around barcodes, with camera scanning directly in the browser. Product details come from Open Food Facts, so nobody has to type names and metadata for every new item.
- Best-before tracking: Grocy records stock levels alongside expiry dates and highlights what’s due soon. This is the center of its pitch against food waste.
- Automatic shopping lists: Set a minimum stock for a product, and Grocy adds it to the shopping list when stock falls below that line. Lists can be grouped by store layout, so the list follows the aisles.
- Recipes with a Due Score: The recipe module checks ingredients against current stock and sends missing items to the shopping list. It ranks recipes by a Due Score that favors food close to expiry.
- Meal planning: Plans connect to recipes, stock and shopping, so a week’s plan feeds the same ledger as everything else.
- Household modules: Chores, tasks, battery charge cycles and equipment manuals sit alongside the kitchen tools.
- Customization and API: Custom fields and lists, feature flags, a night mode, custom CSS/JS and a full REST API.
- PWA plus native clients: The responsive web app installs as a PWA. Native clients exist for Android and iOS/macOS, and a Windows desktop version is also available.
Analysis
The Ledger Is the Product
Every Grocy feature hangs off one loop: buy, record, consume, record, reorder. A purchase adds stock with a best-before date. Consumption subtracts it. When a product drops below its minimum, it goes onto the shopping list automatically. The design works neatly on paper because each step produces the data the next step needs, and the user never has to remember anything.
The loop is also fragile in one specific place. The ledger only matches the pantry if every purchase and every consumption gets logged. Skip a week of recording what got eaten and the shopping list drifts out of sync with reality. The due-soon warnings then flag food that is already gone. The ERP framing hides this trade-off: businesses run inventory systems with staff whose job is data entry, and households have no such staff. The common complaint about setup and data-entry effort follows directly from the architecture. Better interface design can reduce that burden but cannot remove it.
Grocy’s ways of lowering the cost of each entry are sensible. Barcode scanning turns logging a purchase into a scan instead of a search. Open Food Facts lookup handles the most tedious step, which is creating a product record the first time an item enters the house. These two decisions largely determine whether a household keeps using the system after the first big shop. Neither helps with loose produce, leftovers or anything else without a barcode, and that is where the friction concentrates.
Due Score: The Smartest Idea Here
Most recipe apps answer “what would we like to cook?” Grocy’s Due Score answers “what should we cook before it spoils?” Ranking recipes by how much expiring stock they use turns meal choice into an inventory problem, which is what food waste is. The ingredient check adds to this: it compares a recipe to current stock and sends missing items to the shopping list in one step. Together, these make the recipe module the payoff for all the logging. This is where the system starts returning value instead of demanding it.
The catch is dependency. Due Score is only as accurate as the best-before dates entered at purchase. A household that logs dates carefully gets a recipe list that steers it away from the bin. A household that guesses gets a ranking built on guesses.
Scope Without Sprawl
Chores, tasks, battery charge cycles and equipment manuals are unusual features for a pantry tracker. Battery tracking in particular shows who Grocy is for: people who want a record of how often the rechargeable batteries in the house have been cycled. That is a specific kind of organized mind, and Grocy is built for it.
The risk with this breadth is a cluttered app that does six things adequately. Feature flags address that risk directly. A household can switch off the modules it doesn’t need, so a family that only wants stock tracking never has to deal with chore schedules. It’s a small configuration detail with a large effect on approachability. Users can start with the pantry and add the rest later.
Built for Tinkerers
Custom fields, custom lists, custom CSS/JS and a full REST API complete the profile. The API matters most, because it lets other software read and write the inventory. Stock data can then feed scripts, dashboards and whatever else a home setup already runs. For self-hosters, that openness is a large part of the appeal: the data sits on their own hardware and stays available on their own terms. For everyone else, custom JavaScript is an option they will never use, and its presence signals the technical skill Grocy expects of its users.
Onboarding Friction
The largest design decision sits outside the app. Every client requires a Grocy server that the household hosts itself. Someone has to set it up, keep it updated and make it reachable from a phone. That’s routine for anyone already running services at home and a wall for anyone who isn’t. Grocy doesn’t hide this, and we treat it as a filter on the audience. It does mean the “free” label leaves out the time and hardware needed to run the server.
Visuals & performance
Grocy’s interface follows its ERP roots. The design centers on forms and lists built for data entry, so expect a functional layout rather than a decorative one. That’s the honest choice for a tool whose main job is recording things accurately. The responsive layout and installable PWA let one interface scale from desktop to phone. Night mode and custom CSS give users more control over the look than most consumer apps offer.
The Android client has the more modern look. Grocy Android is well regarded for its Material You design, which follows Android’s system theming instead of fitting a web layout onto a phone screen.
Performance depends on something unusual: because the server is self-hosted, responsiveness depends on the hardware and network the household provides. A household-scale grocery database is a light workload, and a modest home server on the local network should handle it easily. A server reached over a weak remote connection may not perform as well. This is why the Android client’s offline shopping lists matter. A store aisle is exactly where a home server that lives only on the local network becomes unreachable. A list that works without a connection fixes the most practical weak point in the whole setup, and the client’s reputation for fast barcode scanning covers the other common task.
Platform nuances
Neither platform gets an official client from the Grocy team. Both rely on community developers, and both need the same self-hosted server.
- Android: Grocy Android (Patrick Zedler). This is the better regarded of the two. Users point to its Material You design, offline shopping lists and fast barcode scanning. Scanning with a phone camera is the natural input for a barcode-driven system, so this client plays to Grocy’s strengths.
- iOS/macOS: Grocy Mobile (Georg Meissner). It holds 3.5 out of 5 from 34 ratings on the US App Store. Reviews praise its scanning, inventory and shopping-list features. They also report bugs with Quick Scan saving and quantity units, and note that meal planning and recipes are missing. That gap is significant, because it removes the Due Score from the native iPhone app, and the Due Score is the feature that best justifies all the logging.
- The PWA fallback. On either platform, the installable web app provides the full feature set, including recipes and meal planning, with camera scanning in the browser. iPhone owners who want the Due Score may end up using the native client for scanning and the PWA for planning.
Grocy itself is free. Its touch-first scanning workflows suit phones on both platforms, but only Android has a native client with feature coverage close to the server’s.
Final verdict
Grocy asks a lot and gives a lot back, but the asking comes first. Its inventory loop, minimum-stock shopping lists and Due Score recipe ranking form a coherent system for using up what’s already in the house. Barcode scanning and Open Food Facts lookup keep the cost of each entry about as low as a manual ledger allows. The trade-off is unavoidable: a self-hosted server, consistent logging, and mobile apps that come from community developers. Android users get the better-regarded companion in Grocy Android. iPhone owners get a scanning and shopping-list client that leaves out the recipe tools and has reported bugs. We recommend Grocy to self-hosters and waste-conscious households with the discipline to keep it updated, and to few others. Casual list-makers should look for something lighter.
Reviewed by the Rankeno Productivity Desk. Scores are out of 10; the overall score is the desk’s editorial judgement, informed by the four sub-scores above. How we review