Stop the leak: 10 AI skills for what your suppliers charge you
par-levels
order what actually sells, not what you fear running out of
How the two work together
Claude thinks it through. Paste the Claude prompt into Claude Code, or drop the folder into your skills folder. Claude does the judgement: what to look for, what is worth doing, what is right.
Codex gets it done. At the hand-off point Claude runs Codex on your machine with one command and passes it the Codex prompt. Codex does the mechanical part and hands the result back. Claude checks it before you see it.
No API key to set up: Claude calls the Codex you already have installed. If Codex is not installed, Claude does that half itself and tells you.
Prompt for Claude
--- name: par-levels description: Sets a par level and a reorder point for every stock item from the last twelve weeks of sales and the real supplier lead time, and produces an order sheet showing the working behind each number. --- # Order the right amount of everything, worked out from what actually sells You give this skill twelve weeks of till sales, your supplier delivery days and cut-off times, and a current stock count. It gives you back one order sheet: for each item, how much to hold (the par), the level at which you must order (the reorder point), and the three figures the par was built from, so anyone can see why the number is what it is. It replaces ordering by feel, which is the habit that produces both empty shelves on a Saturday and a walk-in full of stock nobody will get through. ## What it does 1. **Pull twelve full weeks of sales and every delivery note for the same twelve weeks.** Take a product mix or item sales report from the till, and the supplier invoices or delivery notes covering exactly the same dates. Twelve weeks is long enough to contain a quiet week and a busy week, and short enough that the menu has probably not changed underneath it. If the site has been open less than twelve weeks, or the menu changed part-way through, use only the weeks since the change and write at the top of the sheet how many weeks the numbers are built on. Never average weeks from before a menu change together with weeks from after it. 2. **Convert every item into the unit you buy it in, not the unit you sell it in.** For each item write one conversion line: how much goes into one portion, and how much comes in one delivered pack or case. Usage in packs is then portions sold, times portion size, divided by pack size, rounded up to the whole pack. Do this before any other arithmetic, because a par level expressed in portions cannot be ordered and a chef cannot check it against a shelf. Where the recipe is not written down, weigh one portion three times and use the average, and mark that row as measured rather than documented. 3. **Work out usage across the gap each delivery has to cover, not across a flat week.** Add up usage for the actual days between one delivery and the next: a Tuesday delivery in a pub may have to cover Tuesday to Friday, while the Friday delivery covers Saturday and Sunday, which can be double the volume in half the days. Nory's guide states the standard restaurant formula as "Par Level = (Average Daily Usage × Lead Time in Days) + Safety Stock" and defines the first term as "Average Daily Usage = How much you typically use per day". Use that formula, but feed it the average daily usage of the specific days that delivery must carry, not the seven-day average, or every weekend par will come out too low. 4. **Measure lead time to the moment the stock is usable on the shelf, including the order cut-off.** Sculpture Hospitality defines lead time as "the time it takes for your supplier to deliver the items after you place an order", which is the delivery half of it. Add the waiting half: if the cut-off is 3pm Wednesday for a Friday drop and you place orders on Thursday morning, your real lead time is not two days, it is eight. Add any time the goods sit unusable, such as frozen items that must be defrosted or meat that needs decanting and relabelling. Write the lead time in days as a whole number on the sheet next to each supplier, not each item. 5. **Set safety stock from the worst of the twelve weeks, not from nerves.** For each item, take the busiest of the twelve weeks and subtract the average week: that difference, scaled to the cover period, is the real surge you have seen. Sculpture Hospitality recommends a safety factor "between 20 to 50 percent" of average need, so use the measured surge but hold it inside that band, with 20 per cent as the floor for anything that stops service if it runs out and 50 per cent as the absolute ceiling. Unleashed's worked example holds 4 bags of safety stock against 20 bags of weekly use, which is a 20 per cent buffer, and that is the sensible starting point for a dry good with a steady sale. Anything with a single supplier who has missed a drop in the last twelve weeks goes to the top of the band; anything with two suppliers who can deliver next day goes to the bottom. 6. **Calculate the par two ways and take the higher of the two.** First way, Nory's formula: average daily usage over the cover period, times lead time in days, plus safety stock. Their worked example is "If you use 20kg of chicken per day, have a lead time of 3 days, and want 10kg as safety stock: Par Level = (20 × 3) + 10 = 70kg". Second way, Unleashed's formula: "PAR level = (amount of inventory used each week + safety stock) ÷ (number of deliveries each week)", worked in their example as 20 bags of chips plus 4 safety, one delivery a week, giving a par of 24 bags. If the two answers differ by more than a quarter, the delivery schedule and the usage pattern disagree, so recheck step 3 before accepting either. 7. **Cap the par at what the item's shelf life and your storage will actually take.** Divide the par by the average daily usage: that is how many days of stock you are asking a shelf to hold. If that number is larger than the days of shelf life left on a typical delivery, the par is wrong no matter what the formula said, and the fix is more frequent deliveries rather than a bigger number. Nory's guide is explicit that "Perishable, high-value items (e.g., seafood) need tighter controls than dry goods". Then add up the capped pars by storage area, in cases or shelf-metres, and if the total does not fit the walk-in, the freezer or the dry store, cut the longest-dated items first and record what you cut. 8. **Write the reorder point and the order-up-to quantity onto the same row as the par.** The reorder point is the level that triggers the order: Wikipedia's entry defines it as "the level of inventory which triggers an action to replenish that particular inventory", and Sculpture Hospitality gives it as "Reorder Point = (Demand Rate x Lead Time) + Safety Stock". The order quantity is simply par minus counted stock, so the sheet needs a count column beside it. Lay the sheet out in the order a person physically walks the store, fridge then freezer then dry goods then bar, because a sheet ordered alphabetically gets counted wrongly. Every row carries its own average daily usage, lead time and safety stock in three small columns so the number can be argued with. 9. **Fix a review date and the three events that force an early rewrite.** Nory advises that "Par levels should be reviewed regularly — at least monthly — and adjusted for seasonal changes, menu updates, promotions, and supplier performance", and Sculpture Hospitality says "periodic reviews and recalibrations of your reorder points are essential to maintaining optimal inventory levels". Set the review for the same date each month and put it in the diary. Rewrite early, without waiting for that date, when any of three things happen: the menu changes, a supplier changes their delivery days or cut-off, or you run out of something twice in one month. Keep the previous version of the sheet with its date on it, so you can see whether a par went up because trade grew or because somebody panicked. ## Then it checks 1. Every line is expressed in the pack, case or weight the supplier actually invoices, and that pack size matches the supplier's current price list rather than an older one. 2. Every par has its three inputs printed on the same row: average daily usage, lead time in days, and safety stock, with no blank cells. 3. No par holds more days of stock than the item's typical remaining shelf life on arrival, and any item where it does is listed separately as needing an extra delivery. 4. The pars added up by storage area fit the fridge, freezer and dry store that exist on site, with the counted capacity written next to the total. 5. Every item has a reorder point that is lower than its par, and an order-up-to quantity defined as par minus counted stock. 6. The top of the sheet states how many weeks of sales history it was built from, the date of the stock count used, and which rows were measured by weighing rather than taken from a written recipe. Any check fails: name it, redo that step once. Failed twice: say what is wrong and stop. ## Rules - Public information only. - Never invent a fact, a number or a quote. - Never fill a gap in the sales history with an estimate. A par built on a guessed week looks identical on the page to one built on real sales, so it gets trusted, ordered against and never questioned, and the error repeats every week until someone counts the walk-in. Leave the row blank and mark it "no data" instead. - Never carry over a par a supplier suggested, or one that was already written on an old sheet, without recalculating it from the twelve weeks of sales. A supplier's recommended par is a sales figure for them, and an inherited par is the reason the item is being over-ordered in the first place. - Never raise a par because of a single busy day, a private booking or a one-off event. Order extra for that event as a separate one-off line, because a par raised for a Christmas party stays raised through February and turns into stock that is thrown away. WRAP's Guardians of Grub campaign puts "£3 billion of food thrown away at hospitality and food service outlets" against the sector, and over-ordering is the quietest part of it. - The finished sheet is a working document for the owner and head chef to check, and the shelf-life caps in it are a stock-control judgement, not a food safety ruling. Anything touching date labels, storage temperatures, defrosting or how long a prepared item may be held must be confirmed against the business's own HACCP plan and, where there is any doubt, with the local authority Environmental Health Officer. This sheet never replaces that. ## Built from - Nory, "How to Calculate Par Level in a Restaurant", https://www.nory.ai/blog/how-to-calculate-par-level-in-a-restaurant, no publication date shown, read 13 September 2026: the core par formula, the 20kg chicken worked example, the at-least-monthly review cadence and the rule that perishable high-value items need tighter control than dry goods. - Sculpture Hospitality, "How To Calculate Reorder Points For Your Bar Or Restaurant", https://www.sculpturehospitality.com/blog/how-to-calculate-reorder-points-bar-restaurant, no publication date shown, read 13 September 2026: the reorder point formula, the definitions of lead time and safety stock, and the 20 to 50 per cent safety factor band used in step 5. - Unleashed Software, "PAR Levels in Inventory Management (with Formula & Examples)", https://www.unleashedsoftware.com/blog/par-levels-in-inventory-management-with-formula-examples/, no publication date shown, read 13 September 2026: the deliveries-per-week version of the par formula used as the cross-check in step 6, and its 24-bag frozen chips example. - Wikipedia contributors, "Reorder point", https://en.wikipedia.org/wiki/Reorder_point, no publication date shown, read 13 September 2026: the definition of a reorder point as a trigger level and of safety stock as protection against demand fluctuation, plus the statistical version of the formula that step 5 deliberately simplifies. - WRAP, "Guardians of Grub", https://www.wrap.ngo/take-action/guardians-grub, no publication date shown, read 13 September 2026: the £3 billion sector food waste figure and the framing that over-ordering is fixed by changing how food is bought rather than by buying less of everything.
Prompt for Codex
# par-levels ## You are given A folder from a UK hospitality business containing any of: a twelve week product mix or item sales report from the till (CSV or PDF), the supplier invoices and delivery notes for exactly the same dates, a current stock count, a text file giving each supplier's delivery days, order cut-off times and the day orders are actually placed, recipe or portion sheets, and a note of the counted capacity of the walk-in, the freezer and the dry store. Assume the till report is in portions sold, the invoices are in cases, some portion sizes were weighed rather than written down, and the menu may have changed part-way through the twelve weeks. ## Produce Write into an `output/` folder next to the inputs: 1. `par-sheet.xlsx` with one sheet named `Par sheet`, laid out in the order a person physically walks the store: fridge, then freezer, then dry goods, then bar. Columns in this order: `Walk order`, `Storage area`, `Item`, `Supplier`, `Supplier product code`, `Pack as invoiced`, `Portion size`, `Portion source` (written recipe, or weighed DD Month YYYY), `Portions sold in the period`, `Usage in packs`, `Cover period (days)`, `Average daily usage (packs)`, `Lead time (days)`, `Safety stock (packs)`, `Par method A (packs)`, `Par method B (packs)`, `Par (packs)`, `Days of stock held`, `Shelf life on arrival (days)`, `Reorder point (packs)`, `Counted stock (packs)`, `Order up to (packs)`. Method A is average daily usage over the cover period, times lead time in days, plus safety stock. Method B is usage per week plus safety stock, divided by deliveries per week. `Par (packs)` is the higher of the two, rounded up to a whole pack. Reorder point is demand rate times lead time, plus safety stock. `Order up to` is `Par` minus `Counted stock`. 2. `par-sheet.csv` - the same sheet, flat. 3. `par-sheet.md` - one printable page in walk order, with the header block at the top stating the number of weeks of sales history used, the first and last date of that history, the date of the stock count, and the number of rows measured by weighing rather than taken from a written recipe. 4. `lead-times.csv` with columns: `Supplier`, `Order placed on`, `Cut-off day and time`, `Delivery day`, `Days waiting for the cut-off`, `Days from order to delivery`, `Days unusable on arrival`, `Lead time (days)`, `Deliveries per week`, `Cover period per delivery (days)`, `Source`. Lead time is a whole number and is set per supplier, not per item. 5. `method-disagreement.csv` with columns: `Item`, `Supplier`, `Par method A (packs)`, `Par method B (packs)`, `Difference %`, `Cover period (days)`, `Deliveries per week` - every row where the two methods differ by more than 25 per cent. 6. `shelf-life-breaches.csv` with columns: `Item`, `Supplier`, `Par (packs)`, `Average daily usage (packs)`, `Days of stock held`, `Shelf life on arrival (days)`, `Extra deliveries needed per week`. 7. `storage-capacity.csv` with columns: `Storage area`, `Pars added up (cases)`, `Counted capacity (cases)`, `Over or under`, `Longest-dated items cut`, `Packs cut`. 8. `no-data.csv` with columns: `Item`, `Supplier`, `What is missing`, `Which column it belongs in`, `What was looked for`. Every row with a gap in the sales history, a missing portion size or a missing pack size. 9. `surge.csv` with columns: `Item`, `Busiest week of the twelve`, `Usage that week (packs)`, `Average week (packs)`, `Measured surge (packs)`, `Surge as % of average`, `Safety stock applied (packs)`, `Safety stock as % of average`, `Held at floor, measured, or ceiling`. 10. `README.md` - the files read, the exact sales date range, the stock count date, the number of items with a par, the number with no data, and any menu change date that split the history. ## Rules - Convert every item into the unit it is bought in before any other arithmetic. A par expressed in portions cannot be ordered and cannot be checked against a shelf. - Every par carries its three inputs on the same row: average daily usage, lead time in days, and safety stock. No blank cells in those three columns. - Work usage across the actual days each delivery has to cover, never across a flat seven day week. - Never fill a gap in the sales history with an estimate, a typical figure or a neighbouring week. Leave the row blank, write `no data` and put it in `no-data.csv`. - Never average weeks from before a menu change together with weeks from after it. Use only the weeks since the change and say how many weeks that is. - Never carry over a par a supplier suggested or one already written on an old sheet. Recalculate every par from the supplied sales history. - Never raise a par because of a single busy day, a private booking or a one-off event. Those go on `no-data.csv` as a note, not into the par. - Safety stock is the measured surge from the twelve weeks, held between 20 and 50 per cent of average need. Record in `surge.csv` whether each row sat at the floor, at the measured figure, or at the ceiling. - Every reorder point must be lower than its par. Where it is not, the row goes to `method-disagreement.csv` rather than being adjusted. - Pack sizes must match the supplier's current price list or the most recent invoice, not an older one. Purchase prices, where shown, go in net of VAT and are labelled as such. - Round up to a whole pack at the par and the reorder point. Round nothing else except at the point of display, to two decimal places. - Use British English, £, and DD Month YYYY dates. No em dashes. - The shelf-life caps in the sheet are a stock-control calculation, not a food safety ruling. Write no sentence about date labels, storage temperatures, defrosting or how long a prepared item may be held. ## Return A list of the files written with their absolute paths, the number of weeks of sales history used, the number of items given a par, the number in `no-data.csv`, the number in `method-disagreement.csv`, the number in `shelf-life-breaches.csv`, and every storage area whose pars do not fit the counted capacity.
Built from the best public work on this
Sources for par-levels
Everything below was opened and read on 13 September 2026. Nothing is cited that could not be loaded.
1. Nory, "How to Calculate Par Level in a Restaurant"
https://www.nory.ai/blog/how-to-calculate-par-level-in-a-restaurant, no publication date shown on the page, read 13 September 2026.
Nory is a hospitality operations and inventory platform working with restaurant and bar groups in the UK and Ireland, and this is its own guide to setting par levels. It supplies the backbone formula the skill uses in step 6, given on the page as "Par Level = (Average Daily Usage × Lead Time in Days) + Safety Stock", with the terms defined plainly, including "Average Daily Usage = How much you typically use per day". Its worked example, "If you use 20kg of chicken per day, have a lead time of 3 days, and want 10kg as safety stock: Par Level = (20 × 3) + 10 = 70kg", is quoted in the skill rather than replaced with an invented one. The review cadence in step 9 is taken directly from its instruction that "Par levels should be reviewed regularly — at least monthly — and adjusted for seasonal changes, menu updates, promotions, and supplier performance", and the shelf-life caution in step 7 rests on its line that "Perishable, high-value items (e.g., seafood) need tighter controls than dry goods". Where the skill goes further than Nory: Nory applies average daily usage as a single flat figure, and the skill instructs the opposite in step 3, feeding the formula the average daily usage of the specific days a given delivery has to cover. In a pub or a restaurant with a weekend-heavy trade, a flat seven-day average systematically under-sets the Friday par and over-sets the Tuesday one, which is exactly the pattern owners complain about when they say the sheet "does not work at weekends".
2. Sculpture Hospitality, "How To Calculate Reorder Points For Your Bar Or Restaurant"
https://www.sculpturehospitality.com/blog/how-to-calculate-reorder-points-bar-restaurant, no publication date shown on the page, read 13 September 2026.
Sculpture Hospitality is a bar and restaurant inventory consultancy, and this article is its practitioner explanation of reorder points rather than a textbook one. It gives the formula quoted in step 8, "Reorder Point = (Demand Rate x Lead Time) + Safety Stock", and the working definitions the skill adopts: lead time as "the time it takes for your supplier to deliver the items after you place an order", and safety stock as "an additional buffer of inventory that you maintain to account for unexpected surges in demand or delays in supplier deliveries". Its recommended safety factor of "between 20 to 50 percent" became the band in step 5, and its statement that "periodic reviews and recalibrations of your reorder points are essential to maintaining optimal inventory levels" supports step 9. The skill disagrees with it in two places. First, Sculpture's lead time stops at delivery; the skill extends it to the moment stock is usable and, more importantly, adds the waiting time before the supplier's order cut-off, which in practice is often the larger half of the number and is the single most common reason a correctly calculated par still runs out. Second, the 20 to 50 per cent band is applied by Sculpture as a judgement of risk appetite, whereas the skill makes it a constraint on a measured figure: work out the busiest week minus the average week, then hold that result inside the band. A restaurant owner asked to pick a percentage will pick a high one, and a 50 per cent buffer on fresh fish is a bin, not a safeguard.
3. Unleashed Software, "PAR Levels in Inventory Management (with Formula & Examples)"
https://www.unleashedsoftware.com/blog/par-levels-in-inventory-management-with-formula-examples/, no publication date shown on the page, read 13 September 2026.
Unleashed is an inventory management software vendor, and this article is the clearest public statement of the delivery-frequency version of the par formula: "PAR level = (amount of inventory used each week + safety stock) ÷ (number of deliveries each week)". Its worked example is a restaurant one, 20 bags of frozen chips used a week with 4 bags of safety stock and a single Monday delivery, giving a par of 24 bags and an order of 16 when 8 are counted on the shelf, and the skill uses that example verbatim in step 6. It also notes that "PAR levels will change depending on factors such as seasonality, celebrations, and events", which supports the early-rewrite triggers in step 9. The skill does not treat this formula as the primary method, and that is a deliberate disagreement. Dividing weekly usage by deliveries per week assumes usage is spread evenly across the week, which is close enough for a warehouse and wrong for hospitality, where a Saturday can be triple a Tuesday. The skill therefore uses it only as a cross-check against the lead-time formula, and instructs that a gap of more than a quarter between the two answers means the delivery schedule does not match the trading pattern, which is a scheduling problem to raise with the supplier rather than an arithmetic one to average away.
4. Wikipedia contributors, "Reorder point"
https://en.wikipedia.org/wiki/Reorder_point, no publication date shown on the page, read 13 September 2026.
This is the neutral reference definition, used in the skill to make sure the plain-English wording does not drift from the accepted meaning. It defines a reorder point as "the level of inventory which triggers an action to replenish that particular inventory" and safety stock as "the minimum level of inventory that is held as a protection against shortages due to fluctuations in demand", both quoted in step 8, and it states the underlying identity as "Reorder Point = Normal consumption during lead-time + Safety Stock". It also carries the full statistical version, which incorporates a service level factor and the standard deviations of both demand and lead time. The skill deliberately does not use that version, and this is the most useful disagreement in the whole source list. The statistical formula is the correct one, but it requires an owner to calculate two standard deviations per line item across a hundred lines, which will not happen in a fifty-cover restaurant, and a method nobody runs produces worse stock control than a rough method everybody runs. Step 5 therefore substitutes a plain-English proxy for demand variability, the busiest of twelve weeks minus the average week, and the skill says openly that it is a proxy rather than presenting it as the statistically correct answer.
5. WRAP, "Guardians of Grub"
https://www.wrap.ngo/take-action/guardians-grub, no publication date shown on the page, read 13 September 2026.
WRAP is the UK charity that runs the government-backed food waste programmes, and Guardians of Grub is its campaign aimed specifically at hospitality and food service. The page states that the campaign exists to address "£3 billion of food thrown away at hospitality and food service outlets" and argues for "simple, low-cost changes to the way food is bought, prepared and served that can help reduce the amount of food needlessly thrown away". That figure and that framing are what justify the direction of the skill: a par level is not only a stockout guard, it is the control on over-buying, which is why the shelf-life cap in step 7 is allowed to overrule the formula and why the rules forbid raising a par for a one-off event. The campaign's free resources index at https://guardiansofgrub.com/resources/ was also read on the same day and lists a "Stock Control Sheet", described there as "A stock control sheet to help co-ordinate stock checks and purchasing", alongside a 7 Day Tracking Sheet and a Food Tracking Calculator. The skill does not take its arithmetic from WRAP, because the stock control sheet is a recording form rather than a calculation method, but an owner who wants a free printed sheet to count against should take WRAP's rather than build one.
Best public prompt we found for this job
There is no public agent prompt, SKILL.md or instruction file for setting restaurant par levels that is worth copying. A GitHub repository search on api.github.com for "restaurant inventory par level" returned only two repositories, `withinreachintl-coder/wri-par-tracker` ("Par Level Tracker — Real-time inventory par tracking for restaurant teams") and `MJarvis15/Restaurant_Inventroy_Management`, both with **0 stars**, both read from api.github.com on 13 September 2026, and neither containing a prompt.
The closest usable public artefact is not a prompt at all: it is WRAP's free **Stock Control Sheet** from the Guardians of Grub resources page, described there as:
"A stock control sheet to help co-ordinate stock checks and purchasing."
That line is worth copying because it names the right scope for the output. The sheet's job is to tie the physical count and the purchase decision to the same piece of paper, which is precisely the failure this skill is fixing: in most kitchens the count and the order are made by different people, at different times, from different lists. A broader search for inventory-calculation code did surface `surakshashukla/Inventory-Management-System-using-R` (21 stars, read from api.github.com's search endpoint on 13 September 2026; the direct `/repos` endpoint rate-limited before it could be confirmed a second time), which calculates safety stock and reorder points in R, but it is a statistics project rather than anything a hospitality owner or an agent could follow.
Want this running in your business?
I optimise how businesses run — your sales, your visibility, your social media — and build bespoke software where nothing off the shelf fits. The first conversation is free. Work starts from £150 a day.
Foxera