Dashboard
Inventory
| Item | Category | Vendor | Store | Storage | Total | Par | Suggested | Status | Cost | Cost/Serving | Servings/Unit |
|---|
▾ 🤝 Would hire again judge each hire, then see what the two groups have in common — and what they don't
▾ 📊 Analytics visuals reflect current filters · click chips above to slice
🔒 The Square access token is stored securely on the server (Azure SQUARE_ACCESS_TOKEN), never in the app or SharePoint. There is nothing to enter here.
To rotate it: Square Developer Dashboard → Your App → Production → regenerate the token, then update SQUARE_ACCESS_TOKEN in the Azure Function App configuration and click Test Connection.
Sync Square team members into BSC Staff. Matches on email — creates new records or updates existing ones.
Map Square location IDs to your BSC location names so synced data goes to the right store.
Pull your Square catalog — items, categories, and pricing — into the BSC Menu page.
Pull merchandise, food, and grocery items from their Square catalog categories into BSC. Updates prices, names, categories, and propagates archive state both ways.
Pull current menu item stock counts from Square into per-location Menu Counts lists.
| First Name | Last Name | Location | Status |
|---|
Shared tags used across vendors, contacts, inventory, and maintenance
Click a role to edit its name and module access
Locations appear in filters and inventory tracking
SLACK_WEBHOOK_URL environment variable). Set or
rotate it in the Azure Portal → Function App → Configuration.
Posts route through /api/slack-post.
signin@email = slack@email — only needed when someone's Slack uses a different email than their Microsoft login.Who gets DM'd for each location's notifications (orders, low stock, checklists, maintenance, no-clock-in). Auto derives the list from Staff — anyone with a manager/owner role covering the location. Manual lets you pick exactly who. Person-specific events (project owners, task assignees) always go to those people directly.
Waste assumptions applied to monthly reconciliation. Each bag sold deducts an additional % from on-hand inventory to account for misprints (labels) or damage/expiry (retail bags).
Default: 10%. Higher % = more labels deducted per bag sold.
Default: 2%. Higher % = more bags deducted per bag sold.
Sync Access — silently grants SharePoint site access to all active staff. No emails sent.
Send Invitations — emails the Microsoft sign-in invitation to external staff (Gmail, iCloud, etc.) so they can log in. Run after adding someone new or if they need the link resent.
Master Lock has no API for creating or deleting Vault Enterprise users, so inviting people stays a manual paste — this just formats it. Pick who to invite, then paste each batch into enterprise.masterlockvault.com → Users → Add Users. Ten per batch, so each paste is small enough to check before you send it.
Removing someone is manual too: the offboarding run posts a reminder to #bsc_hr on their last day, and the Staff page Revoke button now says so as well.
Creates or updates the SharePoint lists and columns the app stores its data in — its database schema. This runs by itself on the first load after every app update, so you normally never need this button. Use it only to force a repair: for example, if a list or column was accidentally deleted directly in SharePoint. Safe to run any number of times — it only adds what's missing and never deletes existing data.
Wipes all cached app data from this browser (session cache, column preferences, notification settings, Square sync timestamps). The page will reload and re-fetch everything from SharePoint.