M MahirRMS What's New

What's New

Product updates and release notes β€” newest first.

Owner App: Going Out, Day Close and Who Sold What

New Feature

Sep 08, 2026  Β·  v2.30.360

The owner had no quick answer to where the money went that day, or how each day had closed. The owner app now answers both

πŸ’Έ Going out: β€’ Leaks today: discounts, cancelled orders, voided items and refunds β€’ Expenses and purchases for today and this month, taken from the accounts ledger β€’ Food cost estimated from the recipes, with the actual food cost from the day close beside it and the difference β€’ Left over so far: sales less food cost and expenses. This is not profit

🧾 Reports: β€’ A 14-day picker shows any past day's day close, branch by branch β€’ Each completed close shows the sales figure from the printed slip, and open branches show live sales β€’ One line each for discounts, cancelled orders, voided items and refunds

🍳 Food and staff: β€’ Top items by revenue and by quantity, and items expected to sell but not selling β€’ Kitchen timing by department, against each branch's target β€’ Waiters and cashiers ranked by what they took, with the cashier's register variance β€’ Delivery per rider: delivered, out, late and median time

Result: The owner sees where the money went without asking anyone.

Owner App Alerts Reach Your Phone

New Feature

Sep 08, 2026  Β·  v2.30.361

A branch that went offline, or a day left open overnight, was only found when someone happened to look.

πŸ”” Now: β€’ Alerts cover a branch going offline or quiet, sales behind target, a day not closed, and voids, discounts, refunds and registers closed short as they happen β€’ Event alerts such as voids and discounts are off until you switch them on, and they arrive batched, at most once every ten minutes per branch β€’ Quiet hours hold the phone notification, but the alert still waits in the owner app's inbox β€’ A manager with the permission can finalize the day from the app

βš™οΈ Settings: β€’ Business Settings β†’ Owner App Alerts chooses the rules, and each rule can be set for the whole business, a brand or one branch

Result: Trouble reaches the owner while it can still be fixed.

Owner App: Today's Business on Your Phone

New Feature

Sep 08, 2026  Β·  v2.30.359

Knowing how the day was going meant opening several reports on a computer. The owner app puts today on one phone screen, so an owner can see it from anywhere.

πŸ” Sign-in: β€’ Sign in with the same email or username and password as the web login, with no server address to type β€’ You see only the branches you are allowed to see, set by the owner app permission

πŸ“Š Money: β€’ Sales so far against the same time last week, with orders, guests and the average per order β€’ Dine-in, take-away and delivery, with each platform's fee β€’ Tenders: cash first, then card and credit still owed, with taxes and charges β€’ Attention: orders cancelled after cooking, discounts of 30 percent or more, and registers closed short of the cash they should hold

πŸͺ Operations: β€’ Each branch shows whether it is live, quiet, behind sync, offline or closed β€’ Tables, kitchen timing, riders out and open registers with the cash expected

Result: The whole business on one screen, from any phone.

The POS Now Knows Whether the Print Utility Is Running

Improvement

Sep 07, 2026  Β·  v2.30.357

The browser and the print utility could both take bills from the same queue, so a bill could be split between them, and a printer that went offline failed without any warning at the POS.

πŸ–¨οΈ Now: β€’ While an active print utility is polling the branch, the browser stops taking bills. This is on by default. To turn it off, go to Business Settings, in the printer section, and clear "Browser stops printing while the print utility is active" β€’ The POS shows the utility as seen, as owning the queue, or as gone β€’ A toast appears on the POS when a printer is missing or offline β€’ A bill the utility has not confirmed is sent again once, so a lost bill comes out without a reprint

Result: Bills print once, and a dead printer tells the cashier straight away.

Printing β†’ Utility Reports: What the Print Utility Saw at Your Branch

New Feature

Sep 07, 2026  Β·  v2.30.353

When the print utility (3.1 or later) could not reach a printer, or a PC stopped answering, the only sign was a bill that never came out, with nothing in the ERP to say why.

πŸ“‹ Now: β€’ Printing β†’ Utility Reports lists what the utility reported at this branch, and the same page is on Tools β€’ Reports cover no response, rejected jobs, print failures, missing printers, crash restarts and two printing users polling one branch β€’ A double consumer is reported at most once every ten minutes, so the page stays readable

πŸ› οΈ Quiet reliability: β€’ The print utility's sign-in, queue, acknowledgement and report calls now follow one response format β€’ Each utility's presence is kept in the database, and stale utility logins are cleared every night

Result: Every missing bill now has a reason on record.

Counter Bills No Longer Stall Behind Kitchen Slips

Bug Fix

Sep 06, 2026  Β·  v2.30.350

When ten kitchen slips reached the front of the print queue, a counter user's poll came back empty and every bill behind them waited. At one branch, 38 bills sat behind 82 kitchen slips until the kitchen printing user was changed.

πŸ–¨οΈ Now: β€’ Counter printing users are offered the bills and invoices queued behind kitchen slips β€’ Kitchen slips still wait for a user who is allowed to print them β€’ Reprints of a single named job or a single order work as before

Result: Bills print in order even when the kitchen queue is long.

Inventory Opens on an Overview: Shortcuts, a Health Check and Bulk Ingredient Tools

New Feature

Sep 05, 2026  Β·  v2.30.348

The Inventory page dropped straight into the ingredient list, with the units, categories, recipes, purchases and stock pages scattered across the menu. It now opens on an Overview tab, the way the Kitchen page does.

🧭 The Overview Tab: β€’ What an ingredient, a category, a unit and a recipe are, and the order to set them up in β€’ A card per tab, and shortcut cards for the dialogs (add or import an ingredient, add a category, add or import a unit) and the pages (recipes, purchases, stock report, wastage, stock transfer, closing inventory, stock reconciliation)

🩺 Inventory Health Check: β€’ A read-only look at the ingredient list: ingredients with no live category, a missing or retired unit or purchase unit, no alert level, a zero purchase price, stock below zero, blank or duplicated SKUs, duplicated or untidy names, units with a base but no multiplier, categories holding nothing

πŸ› οΈ Bulk Tools, Preview First: β€’ Tidy Ingredient Names strips stray spaces with an optional casing pass; a name another ingredient already carries is left alone β€’ Move Ingredients Between Categories puts every uncategorised ingredient into a category, or moves a whole category into another before retiring it β€’ Fill Blank Alert Levels gives a default alert, reorder and maximum quantity to stock-tracked ingredients that have none; levels set per location still win β€’ Retire Unused Units retires units that no ingredient, recipe, purchase or stock movement refers to; Retire Empty Categories does the same for categories holding no ingredient β€’ Every tool shows exactly what it would change before it writes, needs edit rights on ingredients, and runs from the main branch only

πŸ”§ Also: β€’ The Category filter on the ingredient list never matched anything β€” it read the supplier and customer categories. It now lists the ingredient categories

Result: Ingredient housekeeping that used to be row-by-row is one preview and one click.

Deleted Tables Can Be Listed and Restored, and a Category Takes Its Tables With It

Improvement

Sep 05, 2026  Β·  v2.30.347

A table deleted by mistake was gone for good, a category could not be deleted while it still held tables, and the table form had no way to set a table free by hand.

♻️ Restore: β€’ A new Show filter on the table list switches between active, deleted and all tables; deleted rows carry a Restore action, and a ticked selection restores in one go β€’ A restored table comes back free with no order attached; a split table brings its sub-tables with it β€’ A table whose name is now taken, a merged-away member, a lone sub-table or a table whose category is gone stays deleted, and the message says why β€’ Deleted categories have the same filter and restore on the category list

πŸ—‚οΈ Category Delete Cascades: β€’ Deleting a category now deletes its tables with it; the confirmation says how many β€’ The delete stops whole if any table involved is booked or checked in β€” nothing is half-deleted; the message names the tables in use β€’ The same all-or-nothing rule applies to a bulk delete on the table list

πŸ“ The Single Table Form: β€’ Adding or editing one table now shows every field, including a Status select (free, booked, checked-in) β€’ Setting a table free by hand clears the order and check-in time attached to it, so a stuck table no longer needs a database fix

Result: A wrong delete is one click to undo, and a category clean-up never leaves an occupied table behind.

Waiter App Gets Live Floor Figures

New Feature

Sep 05, 2026  Β·  v2.30.346

The waiter app could list tables but had no picture of the floor: how many tables are busy, how many guests are seated, how much is open on the bills.

πŸ“Š Floor Summary: β€’ A new table stats summary for the waiter app: total, free, busy and checked-in tables, occupancy percentage, seating capacity, reservations still to arrive, open orders, seated guests and the open amount β€” for the whole floor and per table category β€’ Scoped to the floors the waiter is assigned to

🍴 Per-Table Live Order: β€’ The table list can now include busy tables with their running order: bill number, token, items, guests, running total, waiter, and how long the table has been occupied β€’ A checked-in table that has not ordered yet shows how long the party has been seated β€’ Figures follow the table’s own live order, so a stale unpaid order from weeks ago no longer shows a free table as occupied; open amounts read from the bill instead of showing 0

Result: Waiters and floor managers see the floor as it is, from the app.

Tables and Table Categories: Create, Edit and Delete in Bulk

New Feature

Sep 05, 2026  Β·  v2.30.345

Setting up a floor meant adding tables one at a time, and tidying up meant deleting them one at a time. The table list and the category list now work on many rows at once.

βž• Add Many at Once: β€’ Add Many Tables creates a numbered run β€” a prefix, a starting number, how many, optional zero-padding and suffix β€” or takes a pasted list of names, one per line β€’ A live preview shows exactly what will be created and greys out names that already exist in that category; those are skipped, never duplicated β€’ Add Many Categories does the same for table categories β€’ A brand-new business starts with 5 default tables instead of 20

βœ… Select Rows, Act Once: β€’ Tick tables and a bar appears: Move to category, Set capacity, Delete selected; the selection survives paging β€’ Edit All Tables opens a spreadsheet grid for category, name, capacity and sort order β€” change what you like and save once; rows that cannot be saved are listed with the reason β€’ Header filters narrow the list by category, by state (regular, split, merged, sub-tables) and by free or booked β€’ The category list shows how many tables each category holds; the number opens the table list filtered to that category, and the two pages link to each other

πŸ›‘οΈ Safer Deletes: β€’ A booked table, a merged table or a sub-table of a split is not deleted β€” the message says which and why; deleting a split table takes its sub-tables with it β€’ Deleted tables stay on old orders, so past bills still show their table name; a category that still has tables cannot be deleted β€’ Merged-away tables no longer appear in the POS table picker

Result: A 40-table floor is set up in one dialog and reshaped in one grid.

The Classic Register Summary Prints Compact, With Explanations on Demand

Improvement

Sep 05, 2026  Β·  v2.30.343

The classic register summary carried a β€œwhat this row means” note under almost every figure, so the printed and WhatsApp copies ran to three pages of grey text around a handful of numbers.

πŸ“„ Compact by Default: β€’ The notes start hidden; an Explain figures button above the summary on the report page brings them back, the same way the newer slip layout works β€’ Printed, PDF, WhatsApp and emailed copies are the compact version β€’ Short qualifiers such as β€œ(via Cash)” stay in place

Result: A one-page slip for the owner, the full explanations for whoever wants them.

Cancelled Orders Report: Made Food and Un-Made Food Are Different Lists Now

Improvement

Sep 05, 2026  Β·  v2.30.342

The two Reports-menu links, Made Food Order and Un-Made Food Order, and the POS Cancelled Order tab all opened the same unfiltered list. The filter behind them had been switched off for a long time.

πŸ” The Split That Was Promised: β€’ Made Food Order lists orders with at least one line voided as made food; Un-Made Food Order lists orders with none β€’ A new Void Type dropdown on the table (All / Made / Un-Made) lets you switch on the spot; the menu links preset it and the POS tab opens on All β€’ Every row gets a Void Type column β€” Made, Un-made, or Made + Un-made β€” so the split can be checked at a glance

Result: Kitchen waste and change-of-mind cancellations can be reviewed separately.