Connect Square and ShelfCount learns what you sell. Map each menu item to a recipe once, and every sale is costed down to the ingredient, with the modifiers that were on it. That is what powers your theoretical food cost, your usage variance and your menu margins.
Who it is for
Cafes and restaurants that ring up sales in Square and want to know what each sale cost in milk, beans, cups and food. If you have a Square catalog with sizes and modifier lists, ShelfCount reads them as they are.
One ShelfCount account is one business, at $50 a month. It can watch several Square locations of that business, and you choose which. There is no combined report across separate businesses.
Connecting
Square connects with an access token you create; ShelfCount reads sales, catalog, and locations and never writes to Square. Read-only OAuth is on the roadmap.
- Generate an access token from your Square account.
- Paste it on the Square page in ShelfCount. If you are not sure where to find the token, email hello@getshelfcount.com and we will walk you through it.
- Pick which Square locations to watch.
- Map your menu to recipes. The page keeps a running to-do of what is left.
What we read, and what we never touch
SquareConnects today
What it reads
- Your locations
- Your catalog: items, sizes and modifiers
- Your orders, with the modifiers on each line
- Refunds, so a fully refunded order comes back out of what was used
Never writes anything to Square.
Square connects with an access token you create; ShelfCount reads sales, catalog, and locations and never writes to Square. Read-only OAuth is on the roadmap.
How the Square connection works
ShelfCount only reads from your POS. It never changes an item, a price or a sale there. A purchase order goes to a vendor only when you send it, or when you have switched on auto-send for that vendor.
That list is the whole of it. A test fails if the code that talks to Square starts making a call that is not on it.
How a Square variation and modifier become an ingredient
In Square, an item has variations (a Latte in 12 oz and 16 oz) and modifier lists (Milk: whole, oat; Extras: extra shot). A sale is costed through the variation that was sold, so each variation points at a recipe, or straight at an inventory item for simple retail products like a bottled drink.
Example: a customer buys a 16 oz Latte with oat milk and an extra shot. The 16 oz Latte variation points at a recipe that uses whole milk and two shots. The oat milk modifier replaces the whole milk with oat milk, and the extra shot modifier adds a third shot. That sale is costed as exactly that drink, not as a plain latte. Each modifier shows its net cost impact, so you can check your upcharges.
When something changes in Square, such as a renamed drink or a new size, the affected mappings are flagged for review instead of being guessed.
Each modifier gets one or more of five effects, applied in order. You set them once, and every sale after that is costed with them.
- NONE: Changes nothing about what is used. Hot or iced, "not tossed", "for here".
- ADD: Adds an ingredient on top of the recipe. Extra shot adds espresso.
- REPLACE: Takes one ingredient out and puts another in. Oat milk replaces whole milk.
- CHANGE_QUANTITY: Sets an ingredient to a different amount. Zero removes it. Half sweet, light ice, "no syrup".
- CHANGE_PACKAGING: Sets how many of a cup, lid or sleeve a sale uses. To-go cup instead of a mug.
How often it syncs
Sales are pulled about every 15 minutes. Square can also send webhooks, if you add a webhook signature key in settings, which nudge a fresh pull when something changes. The webhook only says that something happened; ShelfCount pulls the real orders and catalog from Square's API. A Sync now button pulls on demand.
What you get
- Usage variance. What your sales say you should have used, next to what your counts say you did use, item by item.
- Menu profitability. Cost and margin per menu item, with the modifiers that were actually sold counted in.
- Purchase orders. Orders drafted from your counts and par levels. Nothing goes to a vendor until you send it, unless you have switched on auto-send for that vendor.
Limits you should know about
- A modifier with no effect set changes nothing in the cost.
- Square connects with an access token today, not OAuth.
- Sales of a variation you have not mapped still sync, but they cannot be costed until you map them.
- Only fully refunded orders come back out of what was used.
Questions we get
Does ShelfCount change anything in my Square account?
No. It reads sales, catalog and locations. It never writes an item, a price or a sale to Square.
How does ShelfCount connect to Square?
With an access token you generate in your Square account and paste into ShelfCount.
Do modifiers like oat milk and extra shot get costed?
Yes. Each modifier can add, replace or change an ingredient, so a latte with oat milk and an extra shot is costed as exactly that.
I have several Square locations. Can I use them all?
Yes, if they belong to one business. One account is one business at $50 a month and can watch several Square locations; you choose which. Separate businesses are separate accounts, with no combined report across them.
What if I switch away from Square?
Your recipes, counts and costs stay. You remap the menu items to the new POS's items.
Keep reading