M MahirRMS What's New

What's New

Product updates and release notes — newest first.

Tighter Locks Between Businesses

Improvement

Jul 31, 2026  ·  v2.30.109

A security review tightened how record deletions are scoped across the whole application, bringing them in line with the checks that edits already applied.

🔒 Applied Everywhere at Once: • Both shared model foundations now verify business and branch ownership before a delete or an undo takes effect • That covers 44 delete endpoints across 32 screens in a single change, with no per-screen work • Branch-limited records get branch-scoped deletes, matching how their edits already behaved • Global lookup tables that have no business column are untouched and behave exactly as before.

🍳 Kitchen Screens: • Food Category and Food Timing save and delete now confirm ownership before acting, so an out-of-scope request returns an honest error instead of a silent no-op that reported success.

Result: Every screen now applies the same ownership rule to deletions that it already applied to edits.

Stock History: Sort by When an Entry Was Actually Made

Improvement

Jul 31, 2026  ·  v2.30.110

Product stock history always listed in transaction-date order, so a purchase entered today but dated last week buried itself in the middle of the timeline — exactly the entry you were looking for.

🔽 New Order By Filter:Transaction Date stays the default, nothing changes unless you ask • Created At (Newest First) surfaces backdated entries at the top.

🧮 Balances Stay Right: • The running stock figures are still calculated in true chronological order — only the display is re-sorted, so the numbers never lie in either mode.

Result: Backdated entries are one click away instead of a scroll hunt.

Day Close Log — Every Close Attempt on the Record

New Feature

Jul 31, 2026  ·  v2.30.113

A branch once ran consumption for seven months in one night. The cause was an abandoned, never-used register sitting open since December that anchored the consumption window — and the day close then deleted it, taking the evidence with it. That can no longer happen, and can no longer hide.

📓 New Day Close Log: • Every day-close attempt is now recorded — including the ones that were blocked or failed • Who requested it, who authorized it (even failed authorizations), from which IP • Which registers were open, which closed, which were skipped • The empty registers that get pruned are recorded here first — this is now their only surviving record.

🔍 Browse and Filter: • Find it under Setup → Audit → Day Close Log • Filter by date and time, branch, outcome, consumption status or the user involved • Two incident-hunting switches: Clamped windows only and With pruned registers only • Expand any row for the full snapshot — every register, the consumption decision, and the background job's outcome.

🛡️ Three New Guards: • Only one day close can run per branch at a time • Consumption can never reach back before your last closed day — the seven-month window would now be about one minute • A window that collapses to nothing skips consumption entirely instead of running it twice.

Result: Double consumption is blocked at the source — and if anything ever looks wrong, the whole night is on the record.

Blink Orders Now Sync Back to You Automatically

New Feature

Jul 31, 2026  ·  v2.30.111

Until now orders flowed one way — you pushed them to Blink and found out the rest by phone. Blink now reports every status change straight back into your system, applied exactly as if your own staff had done it at the POS.

Accepted: • The order starts processing for real — invoice and token generated, kitchen and department slips printed, notifications sent, and the order enters rider assignment.

🛵 Dispatched: • Handover is recorded with rider-out timestamps and the items marked delivered • If the order was somehow still pending, it is accepted first automatically — without reprinting the kitchen slip.

📦 Delivered: • Delivery timestamps recorded and synced to the customer app, filling in any earlier step that was missed.

Rejected: • The order is fully voided the same way a POS cancellation works — item quantities returned, deals and add-ons unwound, and Blink's own comment saved as the cancellation reasonAlready-paid orders are never auto-cancelled — they are skipped and left for a human.

🔁 Safe to Repeat: • Every transition is repeat-proof, so Blink echoing back a status you just sent them does nothing • Each change writes an activity log entry so you can always see what came from Blink.

🔗 Setup: • The Third-Party Integrations page now shows an Our Webhook URLs card with both addresses and copy buttons.

Result: Your order screen tells the truth about delivery orders without anyone re-keying a status.

Production Times Saved Right + No More Failed Partner-Reference Orders

Bug Fix

Jul 31, 2026  ·  v2.30.102

Two quiet but costly annoyances fixed.

🏭 Production Entry Time: • The time you picked on a production entry was silently replaced by the current time • All four entry forms (regular, raw, and both edits) now save exactly the date and time you selected — matching how purchases have always worked, so backdated production lands in the right shift and stock period.

🧾 Third-Party Reference Numbers: • A too-long reference number typed on a waiter-app or POS order used to make the whole order fail at the database • Every order path now checks the 50-character limit up front and returns a clear message instead of losing the order.

Result: Accurate production timestamps for your reports, and no more mystery order failures at the counter.

Food Timing: Multiple Daily Time Slots per Item

New Feature

Jul 31, 2026  ·  v2.30.107

A breakfast deal that also runs at dinner no longer needs juggling separate one-slab entries. Food Timing now works in time-slot sets.

🕐 Many Slots, One Save: • Add as many start–end rows as you need (7–11 AM and 6:30–9 PM) • Apply them to several food items at onceOvernight windows like 10 PM – 2 AM are fully supported.

✏️ Smarter Editing: • Editing any row opens the item's complete timing set so you manage all its slots in one place • The saved set cleanly replaces the old one — no stale leftovers • Also fixes a bug where editing with several items selected silently kept only the last one.

🟢 Live Status: • The list shows a real-time Available now / Off hours badge per slot and displays times in your 12/24-hour format.

Result: Menu availability finally matches how restaurants actually run — multiple service windows a day, managed in one dialog.

Edit All Food Categories in One Spreadsheet

New Feature

Jul 31, 2026  ·  v2.30.106

The Kitchen → Food Category tab gets a Bulk Edit button that opens a spreadsheet-style grid right above the familiar list — which keeps working exactly as before.

📊 Everything Editable at Once: • Names, parent category, department, consumption department and tax as friendly dropdowns • Featured, online-ordering, addon-multiplier and active checkboxes • Sorting order, category code and ready time • Product counts shown per category.

Safe by Design: • Edited rows highlight light green until saved • Only the rows you touched are saved, and every change lands in the activity log like a normal edit • Category images stay untouched — those remain in the regular edit form • Main-branch only, same as the existing edit buttons.

Result: Reordering a whole menu's categories or retagging departments is now a two-minute job instead of fifty modal dialogs.

Discount Vouchers: Bulk Tools, Precise Times & a Grid That Flies

New Feature

Jul 31, 2026  ·  v2.30.105

Managing hundreds of vouchers is no longer a one-at-a-time chore. Three releases turn the voucher screens into a bulk-first workspace with minute-precise validity.

🗑️ Bulk Delete: • Tick any number of vouchers (or select all) and remove them with one confirmed click • Admin-only, and strictly limited to your own business's vouchers.

Start & End Times: • Creating vouchers now asks for a start time and end time, prefilled with your branch's opening and closing hours • Redemption now honors those times — previously a voucher quietly expired at midnight entering its last day; now one ending at 11 PM works until 11 PM, and one starting at 5 AM can't be used at 2 AM.

📝 Bulk Edit Grid, Rebuilt: • Clean column layout that no longer breaks • Categories shown by name, not cryptic numbers • Per-voucher start/end time columns • The branch multi-select popup works reliably — no more frozen table • Rows you edit turn light green so you always see what changed • Saving posts only the changed rows and refreshes the grid in place — no page reloads.

Result: Campaign clean-ups that took an afternoon now take a minute — and vouchers are valid exactly when you say they are.

Sub-Area Editing Fixed + Reliable Pre-Payment Bill Printing

Bug Fix

Jul 30, 2026  ·  v2.30.100

Two annoyances gone in one release.

🗺️ Sub-Areas Edit Properly Now: • Editing a delivery sub-area used to quietly create a duplicate instead of updating the original • Edits now update the existing sub-area — and the drawn map geofence stays intact through every edit.

🖨️ Bill Printing Race Fixed: • When a bill was sent to print just as the cashier settled the payment, the print could fail silently and never come out • The printer now detects the payment and prints the correct paid invoice with amounts and payment details.

Result: Clean delivery-area lists and no more vanished bills at the counter.

Top Customers Report — Filters, Group By and Excel-Ready Columns

New Feature

Jul 30, 2026  ·  v2.30.100

Your best customers, exactly the way you want to slice them. The Top Customers report now has a full filter bar, flexible Group By views, and every column ready for a one-click Excel export.

🔍 Filter It Your Way: • Any date range with times • A single branch or all branches at once • Order type — Dine-In, Take-Away, Delivery, or a specific delivery partner • Choose whether the walk-in customer is included or kept out of the ranking • Set how many top customers to pull.

📊 Group By, Four Ways:Branch Wise — see each customer's orders per branch • All Branches Cumulative — one row per customer with their total across every branch they visit • Order Type Wise — the same customer's Delivery vs Take-Away volumes side by side • Segment Wise — rank customers inside each loyalty tier.

🏷️ Know Who They Are: • Every row now shows the customer's Customer Group and loyalty Segments next to their name, mobile, order count and order types.

📥 Straight to Excel: • Branch, Customer Name, Customer Number, Order Count, Order Types, Group and Segments — all exportable with the built-in Excel / CSV / PDF buttons.

Result: Marketing lists, loyalty reviews and franchise comparisons come straight out of one report — no manual spreadsheet work.

Separate Real Wastage from Count Variance in Stock Reports

New Feature

Jul 24, 2026  ·  v2.30.99

Not every stock deduction is real wastage. Every adjustment now carries a proper reason, and the stock report finally shows real losses and count corrections in separate columns.

📝 Adjustment Reasons Everywhere: • Pick why stock moved — Spoilage, Expired, Theft, Breakage, Staff Meal, Complimentary, Count Error, Data-Entry Error and more • Reasons are grouped into Wastage / Loss (stock physically gone) and Variance / Correction (the number was wrong) • Available on stock adjustments, department adjustments, food wastage and stock reconciliation • Each product line can even carry its own reason when one entry mixes causes.

📊 Stock Report, Split in Two: • The old “-Wastage” column is now -Wastage and -Variance, each with its own quantities and amounts • Spoiled kitchen stock no longer hides count-error corrections — and vice versa • Past entries stay exactly where they were, so historical reports don't shift.

⚖️ Honest Stock Overages: • When a count finds more stock than expected, the correction now posts at zero value — found stock no longer inflates income or stock value out of thin air.

🔎 Full Traceability: • The chosen reason shows on adjustment lists and entry details • Reasons recorded in stock reconciliation flow straight through to the report columns.

Result: You can finally see how much stock was truly lost versus merely miscounted — and hold the right people accountable for each.

One-Tap Void & Cancel Reasons at the POS

New Feature

Jul 24, 2026  ·  v2.30.93

Voiding an item or cancelling an order no longer means typing the reason by hand every time: the POS now offers a ready-made list of cancellation reasons — the same list your online ordering app uses — right inside the void and cancel dialogs.

📋 Pick, Don't Type: • The item void / minus dialog and the order cancel dialog show a dropdown of your predefined reasons • One tap selects the reason and moves you straight on to authorization • Need something specific? Choose “Other” and the familiar free-text box appears.

🗂️ One List, Managed in One Place: • Maintain your cancellation reasons once in Order Settings and they appear everywhere — app and POS • Your default reason is always offered first • Switched-off reasons stay hidden.

⚙️ Fully Automatic, Fully Optional: • The dropdown appears automatically as soon as reasons exist — no setup needed • No reasons defined? The dialogs work exactly as before • Prefer free typing? A new POS setting lets you turn the list off any time.

Result: Faster voids and cancellations with clean, consistent reasons you can actually report on.