Pantry Atlas User Manual
How to run restaurant inventory in Pantry Atlas, from first sign-up to stocktakes, stock transfers, purchase orders and food-cost reports. Every screen in the web app is covered, in the order it appears in the sidebar.
Key concepts
Six ideas explain almost everything in Pantry Atlas. Read this chapter first.
Establishment
Your business. Everything you record (products, suppliers, purchase orders, staff) belongs to one establishment, and people from other businesses can never see it. One person can belong to several establishments, for example an owner with two restaurants or a chef who works for two businesses. You pick which one you are working in after you sign in.
Sections
Areas of the business that keep separate stock, such as Kitchen, Bar or Pastry. Products, categories, storage areas, units, suppliers and waste entries belong to a section. Admins see every section; other staff see only the sections they are assigned to.
Locations
Physical sites or branches, such as Main Kitchen, Central Warehouse or Northbridge store. Every batch of stock sits at one location, and stock moves between locations with requests and transfers. A staff member assigned to specific locations sees only those; a staff member with no location assignments sees all of them.
Batches
Pantry Atlas tracks stock per batch. Each product row is one batch with its own quantity, expiry date and cost, and its own batch code. Ten kilos of onions delivered on Monday and five kilos delivered on Thursday are two batches of "Onions". This is what lets you see exactly which batch is expiring, rotate stock first-in first-out, and trace waste back to a delivery.
Batch codes are created automatically when a batch is added. They look like PREFIX-DDMMYY-HHMM-INITIALS-xxxx: the date and time the batch was made, the initials of the person who added it, and a short unique ending. The batch code is what the QR label encodes.
Roles and permissions
Each team member has a role, and each role is a set of permissions (see chapter 15). The owner of the establishment, and anyone with a role named Admin, can do everything. Menu items you don't have permission for are hidden from your sidebar.
Free and Pro
Pro belongs to the establishment owner's subscription. When the owner is on Pro, the whole team gets the Pro features in that business. Pro features show a ★ Pro star in the sidebar while the business is on the free plan.
Free
- Products, batches, expiry and low-stock tracking
- Quick Scan, QR labels, barcode scanning
- Stock requests and transfers between locations
- Suppliers and purchase orders, delivery receiving
- Inventory, stock history, product and supplier reports
- Expenses
- Owner + 3 team members (4 people)
Pro ★ Pro
- Everything in Free
- Stocktakes with variance reconciliation
- Wastage & spoilage log with cost impact
- Financial report: P&L, COGS, profitability
- Purchase report
- Unlimited team members
Getting started
Creating your business, joining someone else's, signing in and choosing where you work.
Set up a new business (owners)
pantryatlas.com/create-business
- Fill in Establishment Name, and optionally Contact Number and Location/Address.
- Under the admin account, enter your Full Name, Admin Email Address and a password of at least 8 characters. This account becomes the owner, with the Admin role.
- Complete the bot check and submit. We email you a confirmation link.
- Open the email and click the link, then sign in with the same email and password. Your establishment is created at that first sign-in and you land on the dashboard.
- Create your first section (for example "Kitchen") and your locations, then start adding products.
Join a business (staff)
- Create your own account at Register: name, email, password, and tick that you agree to the Terms and Conditions and Privacy Policy. Confirm your email.
- Give your manager the email address you registered with. They invite you from Users; an invitation only works for an account that already exists.
- Sign in. If you haven't been invited yet, you'll see two cards: Set up my business (start your own) or Wait for an invite. Once you're invited, the business appears in your list.
Sign in
- Email and password at Sign in, after the bot check.
- Google: use Sign in with Google. The first Google sign-in creates your account automatically.
- Forgot password: enter your email at Forgot password, open the link in the email, and choose a new password on the page it opens.
Choose your establishment, section and location
- Establishment. If you belong to one business you go straight in. If you belong to several, pick one on Select Establishment. To switch later, go to Select Establishment, or sign out and back in.
- Section. If the business has more than one section you can see, pick one. Change it any time with the section switcher in the sidebar. Most lists show the selected section only.
- Location. When you can see more than one location, the location switcher in the sidebar filters lists to one location, or shows all of them. Staff assigned to exactly one location start there automatically.
The Add New button in the top bar is a shortcut to add a category, product or user. Your name in the top bar opens My Profile and Logout.
Dashboard
The admin's overview of the selected section and location. Admins
Sidebar → Main → Dashboard
- Counters: total products, products in service, low-stock items and recently added items.
- Usage & Wastage: a chart of the products used most in service against the amount wasted, from Quick Scan and waste entries.
- Recently Added Products: the newest batches with location and date added.
- Expired Products: batches past their expiry date, with a shortcut to deal with them.
Staff without the Admin role land on Products instead of the dashboard.
Products & batches
Adding stock, finding it, editing it and keeping an eye on expiry and low stock.
Add a product manually products.create
Sidebar → Inventory → Create Product → Manual Add Product
- Product Name *
- What the item is called, e.g. "Brown onions". Use the same spelling each time; transfers, par levels and purchase orders match items by name and unit.
- Category *
- Pick one, or create a new category on the spot.
- Location *
- Where this batch physically is. You can create one on the spot if you're an admin.
- Storage *
- Where it's kept at that location, e.g. Cold Room A, Dry Store, Freezer 2.
- Unit *
- kg, L, each, case… New units need a name and a short name (Kilogram / kg).
- Prepared by *
- Who made or prepped the batch. Pre-filled with your name.
- Supplier
- Optional. Linking a supplier lets purchase orders send this item to the right supplier.
- Unit Cost
- What one unit costs you. Used for stock value, waste cost and COGS.
- Selling Price
- Optional. Used for gross margin and the profitability ranking.
- Quantity *
- How much is in this batch. Decimals are allowed (2.5 kg).
- Minimum Threshold
- The low-stock alert level. At or below it, the batch appears in Low Stocks.
- Expiry Date
- Use-by date. A batch counts as expired on its expiry date, not the day after.
- Defrost / Frozen Date
- Optional dates for frozen goods.
- Description
- Free notes: allergen info, recipe reference, handling.
- Photos
- Optional, JPG/PNG/WebP up to 5 MB each.
Saving creates the batch, gives it a batch code, and records an Added entry in Stock History.
Scan to add a product products.create
Sidebar → Inventory → Create Product → Scan to Add Product
For packaged, shop-bought items. Scan the product's barcode with your camera or a USB scanner, or type the code into Product Code. Then fill in the same details as above and save. The barcode is stored on the batch, so you can find it later with Quick Scan.
Product list products.read
Sidebar → Inventory → Products
- Shows every batch in the selected section and location: Batch ID, name, location, date created, quantity and who prepared it.
- Search by batch code or name; filter by category.
- Stock that is in transit to another location is not listed until it's received.
- Open a row for Product Details: every field, status and photos.
- Edit products.update changes any field, including quantity and expiry.
- Delete Batch products.delete removes the batch and its photos. Its history stays in reports under the product's name.
Batch statuses
| Status | Meaning |
|---|---|
Active | In stock and untouched since it was added. |
In Service | Some has been used in service (via Quick Scan). Still usable stock. |
Waste | Some or all was recorded as waste. |
In-Transit | Dispatched to another location and not yet received. Hidden from lists. |
Transferred | Received at its new location after a transfer. |
Expired Products products.read
Sidebar → Inventory → Expired Products
Every batch whose expiry date is today or earlier. Search by batch or item, export to PDF or Excel, and delete batches you've disposed of. To keep a record of the cost, log the batch as waste first (chapter 10) and then delete it.
Low Stocks products.read
Sidebar → Inventory → Low Stocks
Batches at or below their Minimum Threshold. Filter by location and category, and export to PDF or Excel. Items at zero are marked Critically Low. Use Generate from Low Stock to turn this list into a purchase order.
Quick Scan
The fastest way to record what was used or thrown out, straight from the QR label. products.update
Sidebar → Inventory → Quick Scan
- Scan the batch's QR label with the camera, scan a barcode, or search by product name.
- Choose how to enter the amount: By Quantity (in the batch's unit, e.g. 1.5 kg) or By Percent (e.g. 25% of what's left).
- Enter how much you're removing.
- Tap SERVICE if it was used to cook or sell, or WASTE if it was thrown away.
The batch quantity goes down (never below zero), its status becomes In Service or Waste, and the movement is recorded in Stock History. Service movements feed the cost of goods sold in the financial report; waste movements feed the wastage figures.
Categories, locations, storage & units
The lists that products are organised by. Set them up once, then pick from them.
| List | Sidebar | Belongs to | Who can change it | Examples |
|---|---|---|---|---|
| Categories | Inventory → Category | Section | categories.* | Produce, Dairy, Proteins, Dry goods |
| Locations | Inventory → Location | Establishment | Admins | Main Kitchen, Warehouse, Branch 2 |
| Storage | Inventory → Storage | Section | Any team member | Cold Room A, Freezer 2, Dry Store |
| Units | Inventory → Units | Section | Any team member | Kilogram (kg), Litre (L), Each (ea) |
- Each list has search, an Active / Inactive filter, and add, edit and delete buttons. Names must be unique (locations within the business; the others within the section).
- Set an entry to Inactive to stop it being offered on new products without deleting it.
- You can't delete an entry that products still use. Pantry Atlas lists the products that use it; move or delete those first.
Printing QR labels
Label every batch so Quick Scan, transfers and receiving take one scan. products.read
Sidebar → Inventory → Print QR Code
- Choose a Location and/or Category to list the batches in stock.
- Pick the Label Size for your Brother QL printer: 62mm Continuous (DK-2205) or 29mm × 90mm (DK-11201).
- Set Qty to Print per batch with the + and − buttons, or remove rows you don't need.
- Click Preview QR Codes, check the sheet, and print it from your browser.
Each label carries the product name and its batch code as a QR code.
Stock requests & transfers
Moving stock between locations, with a record of who asked, who sent and who received.
1 · Request stock products.read
Sidebar → Stock → Request Stock · done by the location that needs the stock
- Under Find Products, choose a source location to see what it has in stock, or type to search.
- Add items to the cart: Item Name, Quantity, Unit and Request From (Source).
- Open View Cart, review the requests and submit. The whole cart goes in one go, and the source location's team gets one notification on their phones.
My Pending Requests lists what you've asked for and not yet received. You can cancel a request while it is still Pending.
2 · Dispatch products.update
Sidebar → Stock → Stock Transfer · done by the location sending the stock
- Choose My Dispatching Location. The Request Queue shows Pending requests addressed to it, and what's already In-Transit.
- Pick up the batch you're sending and scan its QR label. Pantry Atlas matches it to the oldest pending request for that item.
- The quantity is taken off your batch, and a copy of the batch with the same batch code goes "on the road" as In-Transit to the requesting location.
If you can't fill a request, Decline it with a reason. The requester is notified.
3 · Receive products.update
Sidebar → Stock → Receive Stock · done by the location that asked
- Choose your Receiving Location. Incoming Transfers lists everything on its way to you.
- When the delivery arrives, scan the QR label on it, or click Receive on the row.
- The batch joins your inventory with status Transferred, and the request is marked Received with your name and the time.
Stocktake
Count what's physically on the shelves and correct the system to match. ★ Pro products.update
Sidebar → Stock → Stocktake
- Click New Stocktake. Give it a Session Name (e.g. "Weekly count — Main Storage") and optionally limit it to one Location; otherwise it covers all locations in the section.
- Pantry Atlas freezes the current system quantity of every batch as the Expected figure.
- Open the session and count. For each product, click Record Count, enter the Counted Quantity and any notes. Filter by Uncounted, Counted or Variance to see where you are.
- Several people can count at the same time; each count records who did it and when.
- When you're done, click Submit. Each counted batch is set to the counted quantity, and every difference is recorded as a stocktake loss or stocktake gain in Stock History. This can't be undone.
- The session shows a running summary of losses and gains.
- Cancel Stocktake closes a session without changing any stock.
- Export any session to Excel or PDF for your records or your accountant.
- Uncounted batches are left as they are when you submit.
Wastage & spoilage
Record what's thrown away, why, and what it cost. ★ Pro products.update
Sidebar → Stock → Wastage & Spoilage
- Click Log Waste and start typing the product name, then choose the batch.
- Enter the Quantity wasted and the Reason: Expired, Damaged, Spoiled, Overcooked, Dropped, Contaminated or Other.
- Optionally change the Date & Time, enter a Cost Impact (left empty, it's calculated as unit cost × quantity), and add notes.
- Save. The batch quantity is reduced, and the waste appears in Stock History, the dashboard and the financial report.
- Filter the log by product, location, reason and date range; export to Excel or PDF.
- Each entry shows who logged it and the cost impact, so you can see where money is being lost.
products.delete) removes the record only. It does not put the stock back; edit the batch quantity if you need to.Suppliers
Who you buy from. suppliers.read to view, suppliers.create / update / delete to change.
Sidebar → Purchases → Suppliers
- Supplier Name *
- e.g. ABC Trading Co.
- Contact Person
- Your rep at the supplier.
- Phone
- Contact number.
- Email Address
- Needed to email purchase orders. Suppliers without an email are skipped when you send.
- Address, Notes
- Delivery address, account number, ordering cut-off times.
- Status
- Active or Inactive.
Search by name, contact or email, and filter by status. Link products to suppliers on the product form so purchase orders know who supplies what. You can also email a one-off message to a supplier from this page.
Purchase orders
Build an order from what's running low, send it to suppliers, and check the delivery against it.
Create a purchase order purchase_orders.create
Sidebar → Purchases → Purchase Order
- Click Generate from Low Stock, add products one by one with Add, or do both. Generated lines come from two rules:
- Below par: the item has a par level (set in the mobile app) and you have less than it. Suggested quantity = par − on hand.
- Low stock: no par level, and the batch is under its minimum threshold. Suggested quantity = (threshold − quantity) × 1.2, a 20% buffer.
- Review each line: Supplier, Current Qty, Min. Threshold, Suggested Order Qty (edit it), Unit and Notes. Untick a line to leave it out.
- Click Confirm Purchase Order. The order is saved with status Confirmed and gets a PO number.
- Click Send to Suppliers to email it. Each supplier receives only their own lines; the order becomes Sent. Lines whose supplier has no email are flagged so you can phone them instead.
- Optional: Export PDF or Export CSV to print or attach elsewhere. Clear Order starts over.
Purchase history purchase_orders.read
Sidebar → Purchases → Purchases
- All orders with PO number, who created them, number of items, status and date. Search by PO number.
- Open an order to see its lines. Send emails a confirmed order that hasn't been sent.
- Delete purchase_orders.delete removes the order and its delivery records. Stock already received stays in inventory.
Receive a delivery purchase_orders.create
Purchases → open an order → Receive Delivery
- For each line, enter the Received Qty and the Unit Price on the invoice. Already-received amounts from earlier deliveries are shown.
- Pantry Atlas sets the Match Status: matched, short, over, or missing (nothing arrived).
- Add notes, then save. Received quantities are added to the linked products, a stock lot is recorded, and Stock History shows a Received entry.
- The order becomes Partially received or Received. Receive the rest when it arrives.
Outstanding deliveries appear in the Supplier Due Report.
Expenses & financials
Operating costs and the profit picture. Admins
Expenses (DOE)
Sidebar → Finance → Expenses (DOE)
Direct operating expenses that aren't stock: wages, utilities, rent and so on.
- Date *
- When the expense was incurred.
- Category *
- Labor, Utilities, Rent, Supplies or Other.
- Amount *
- At least 0.01.
- Description
- e.g. "Electricity, March".
Search by description, filter by category and date, and export to Excel or PDF. Each entry shows who recorded it.
Financial Report ★ Pro
Sidebar → Finance → Financial Report
Choose a From–To date range and generate. The report covers the whole establishment:
- P&L Waterfall: revenue, cost of goods sold, gross profit, operating expenses and net result.
- Cost of Goods Sold by Product: quantity consumed, COGS and share of the total. Consumption = stock used in service + waste + stocktake losses, at the unit cost recorded at the time.
- Product Profitability Ranking: revenue, gross profit and margin % per product, using selling prices.
- Direct Operating Expenses by Category: entries, totals and share of DOE.
Export to Excel or PDF.
Reports
Everything under Reports needs reports.read. Pick filters, then click Generate Report.
| Report | Filters | What it shows |
|---|---|---|
| Inventory Report | Date range, location, category, unit | Item, storage, quantity, expiry and date created: what you had on hand. |
| Stock History | Date range, location, category, activity type | Every movement with quantity, reason, user and time. Types: Added, Received, Service, Waste, Stocktake loss, Stocktake gain. |
| Product Report | Date range, location, category | Products with storage, quantity, expiry and date created. |
| Purchase Report ★ Pro | Date range, status | Each PO with date, creator, items and total ordered quantity. |
| Supplier Report | Status | Suppliers with contact details, number of assigned products and total POs. |
| Supplier Due Report | — | Lines from confirmed orders still waiting to be delivered: supplier, PO, product, ordered quantity, order date, status. |
Most reports export to Excel and PDF.
Team, roles & sections
Who can see and do what. Admins
Users
Sidebar → User Management → Users
- Ask the new team member to register and confirm their email first.
- Click Invite User, enter their email, choose a Role, and tick the locations and sections they work in.
- They get an email and see the business the next time they sign in.
- Edit changes someone's role, locations and sections. Giving someone the Admin role clears their location and section assignments, because admins see everything.
- Remove User takes them out of this business only; their account and other businesses are untouched. You can't remove the owner or yourself.
- Free plan limit: the owner plus 3 members. Inviting a fifth person asks you to upgrade to Pro.
Roles & Permissions
Sidebar → User Management → Roles & Permissions
Create roles that match your kitchen, such as Head Chef, Line Cook or Store Person. Click Create Role, give it a name, tick its permissions and set it Active. The Admin role always has every permission.
| Permission | Allows |
|---|---|
products.read | See products, expired and low stock, print QR labels, request stock |
products.create | Add products (manual or scan) |
products.update | Edit products, Quick Scan, dispatch and receive transfers, stocktakes and waste (Pro) |
products.delete | Delete batches and waste entries |
categories.read / create / update / delete | View and manage categories |
locations.read / create / update / delete | Location permissions used by the mobile app; the web Locations page is admin-only |
suppliers.read / create / update / delete | View and manage suppliers |
purchase_orders.read | See purchase history |
purchase_orders.create | Create orders and receive deliveries |
purchase_orders.update | Send orders to suppliers |
purchase_orders.delete | Delete orders |
reports.read | Everything under Reports |
activity_logs.read | Read the activity log |
Admin-only pages, whatever the role's permissions: Dashboard, Users, Roles & Permissions, Manage Sections, Locations, Activity Logs, Expenses and the Financial Report.
Manage Sections
Sidebar → Sections → Manage Sections
Add, rename and remove sections (name plus optional description). You can't delete a section while products, categories, storage areas, units or suppliers in it are still in use; move or delete them first.
Activity Logs
Sidebar → Settings → Activity Logs
An audit trail of what was created, updated and deleted, by whom and when. Search, filter by action or user, and show 10, 25 or 50 per page.
Profile & subscription
Your own account, and the business's plan.
Profile
Sidebar → Settings → Profile
- Change your Name and Profile photo.
- To change your password, enter your Current Password, then the new one twice. Leave the fields blank to keep your password.
- Delete Account permanently deletes your account after you confirm with your password. You can also do this at pantryatlas.com/account/delete. Deleting your account does not cancel an App Store or Google Play subscription; cancel that in the store.
Subscription
Sidebar → Settings → Subscription
- Shows whether the business is on Free or Pro. Pro comes from the owner's subscription and covers the whole team.
- On the free plan, choose Monthly or Yearly and click Subscribe Now. Payment is handled securely by Stripe.
- Restore previous purchase re-applies a subscription you already bought.
- Manage Subscription opens the billing portal to change or cancel. Subscriptions renew automatically unless cancelled at least 24 hours before renewal; you keep Pro until the paid period ends.
- A subscription bought in the mobile app works on the web too, and the other way round, as long as you sign in with the same account.
Privacy Policy, Terms and About
Linked at the bottom of the sidebar and on the website: Privacy Policy, Terms and Conditions and About.
The mobile app
The Android and iOS app uses the same account and the same data as the website. Phone
- Anything recorded on the phone appears on the web straight away, and the other way round.
- Only in the app:
- Par levels: the stock level you want to keep per item, per section and location. Purchase orders use them for "below par" lines.
- Push notifications: new stock requests, declined or cancelled requests, items running out, and a morning summary of items expiring within 5 days.
- An in-app alert feed of expired, near-expiry (within 7 days), critical and low items. Alerts you mark as seen are cleared for the whole team, and come back if the batch changes.
- Phones make scanning easiest: Quick Scan, dispatch and receive by pointing the camera at the label.
Troubleshooting
The questions people ask most.
A menu item is missing from my sidebar.
Your role doesn't include that permission, or the page is admin-only. Ask an admin to check your role in Roles & Permissions.
I can't find a product I know we have.
Check the section and location switchers in the sidebar. Stock that is in transit is hidden until it's received at its new location.
A product shows as expired but it expires today.
That's intended: a batch counts as expired on its expiry date.
I can't delete a category, unit, storage area, supplier or location.
Products still use it. The message lists them; edit those products to use something else, or delete them, then try again. Or set the entry to Inactive.
A ★ star appears next to a menu item.
It's a Pro feature and the business is on the free plan. The owner can upgrade from Subscription.
Inviting a team member fails.
They must register and confirm their email before you invite them, using exactly that email. On the free plan you can have the owner plus 3 members.
Scanning a label for dispatch says there's no matching request.
Make sure you've selected the right dispatching location, that a Pending request exists for that item, and that the batch holds at least the requested quantity.
"Send to Suppliers" says no supplier has an email.
Add email addresses to those suppliers in Suppliers, or export the order as PDF and send it yourself.
I deleted a waste entry and the stock didn't come back.
Deleting a waste entry only removes the record. Edit the batch to correct its quantity.
The page says "This page has expired".
You were inactive for a long time. Refresh the page and sign in again.