Restaurant Merchant

v1.0.0-alpha.242 · Printing and phone-size screens · ~57 MB

Download APK

What's new in alpha.242 · Printing and phone-size screens

Tickets print like they always have: every printer, including the one built into Sunmi terminals, prints straight away. The app no longer stops a ticket to ask the printer about paper.

Wi-Fi printers print at full speed: receipts and kitchen tickets come out in one go on older network printers too.

Is everything OK?: one tap checks your printers, internet, order sound and store, with a fix button next to anything that needs it.

Fix printer: if a printer stops, a short guided check helps you get it going again.

Fits phone-size screens: on upright Sunmi V2 and V3 terminals, the new-order screen, order details and menu fit properly, and printer or alert problems show as small buttons at the top instead of filling the screen.

Back works first time: one press of Back from an order takes you straight back to your orders.

From alpha.216 · Courier deliveries

Food ready in, courier on time: on stores where a courier delivers every order, the new-order screen asks one thing, when the food will be ready, and shows when the courier will be sent so they arrive as it's bagged.

Send via Uber: on stores that deliver with their own drivers, an order can be handed to an Uber courier instead, priced and paid from the same screen.

Courier details at a glance: the driver's name, vehicle, plate, pickup PIN and live status sit at the top of the order.

Uber Eats orders: ready for stores that link Uber Eats: set the prep time, mark ready, add time, and print the kitchen ticket.

From alpha.213 · Clearer order cards

See when a delivery has left: an order that is out for delivery now says so on its card, with the driver's name and how long it has been on the road.

Timers that say what they mean: each card shows Ready in, Ready for, Out for or Late by, counting from when that step started instead of from when the order was placed.

Red means late: a card only turns red once a ready time or a promised delivery time has actually passed.

Nothing cut off: names, tags and buttons always show in full, on phones and tablets, at any text size and in every language.

From alpha.212 · Receipt changes show straight away

No more waiting for receipt changes: when you save your receipt design in the dashboard, the tablet picks it up straight away, so the very next ticket prints with your changes.

From alpha.211 · Bigger, clearer text receipts

Large items look like normal letters: on 80mm text receipts, items set to Large or Extra large now print wider as well as taller, instead of tall and narrow. Subtotal and tax stay normal size.

See receipt changes straight away: Test Print and opening Printers pick up the latest receipt design from your dashboard, and Test Print shows a text receipt when that is what you print.

From alpha.210 · Whole receipts on Bluetooth printers

Fixed receipts stopping halfway: some printers couldn't take a full receipt image in one go and stopped part way through. The receipt is now sent in smaller pieces, so it prints in full.

From alpha.209 · Tickets print the moment you accept

Accept prints straight away: the ticket starts printing as soon as you tap Accept, using the order already on screen, instead of waiting for the order to be sent and loaded again. Much faster on a slow internet connection.

Quicker reprints: the Print button on an order reuses what the tablet already has. Test Print now shows exactly what a real ticket from this tablet looks like.

From alpha.208 · Faster, more reliable printing

No more stuck printer: if a Bluetooth printer stops taking a receipt, the app now gives up after a few seconds and tells you, instead of quietly holding every ticket after it. You no longer need to close and reopen the app to get printing going again.

Faster receipts: Sunmi tablets with a built-in printer, and printers set to your Default receipt, can now draw the receipt on the tablet itself when your store has this switched on, instead of waiting for it to be drawn online.

From alpha.207 · Email receipts and a Printers button

Email a receipt: at the bottom of an order, tap Email the receipt and send it to the customer's email, or type another address. Your store needs this switched on first.

Printers button: on a tablet, Printers now has its own button in the side menu, with a coloured dot when a printer needs attention. Tap it to see and fix your printers without going into Settings.

From alpha.205 · A new start screen

The app now opens with a short animation of the shop opening up: the storefront builds itself, the lights come on and the app's name appears, then it fades into the app. It only plays when you open the app from its icon, never when a new order opens it, and a tap skips it.

From alpha.204 · Printers and missed orders

Wi-Fi printers that change address are found again automatically. If your router gives the printer a new address, the app finds it and keeps printing. No more deleting and re-adding the printer.

When a printer can't print, you'll know. A red banner on the orders screen names the printer and how many tickets are waiting, with a Fix printer button that walks you through it. Waiting tickets print as soon as it's back. For Bluetooth printers it tells you if Bluetooth is off, the printer isn't paired, or the app needs permission, with a one-tap fix for each.

Warns you when new orders won't ring with the screen off, with a button to turn order alerts on. The alarm volume can no longer be set below 30%.

Clearer messages. No Wi-Fi now says "No connection" instead of "Incorrect PIN". If marking an item sold out, pausing or closing the store, accepting a delivery-app order or sending a chat message doesn't go through, the app says so and offers Retry. Also fixes the "app keeps stopping" crash.

From alpha.202 · Two more fixes

An unpaired tablet no longer rings for its old store. A tablet that was unpaired kept receiving new-order alerts until the server noticed; it now ignores them and drops its push registration the moment it is unpaired. The new-order alarm no longer cuts out after a second when the screen rotates or the app is brought back to the front.

From alpha.201 · Fix: wrong or half-printed receipts

Receipts drawn on the tablet could print the previous order, or only the top half. On a busy tablet the picture was copied before the new receipt had finished drawing. The app now waits for the receipt to be fully drawn before printing, and if that ever fails it prints the server's copy instead - never another order's. Please update every tablet on alpha.199.

From alpha.199 · Picture receipts rendered on the tablet

Picture receipts are now drawn on the tablet too. The app carries the same receipt design engine the dashboard preview uses, with the receipt fonts built in, so the receipt you designed is drawn locally the moment you tap Accept instead of being downloaded from the server. Together with alpha.198, every receipt style now prints without waiting on the internet. The server remains the fallback if anything goes wrong.

Reminder: over Bluetooth, picture receipts are still a large file for the printer to swallow. If a Bluetooth printer prints gibberish, switch that printer to Built-in text receipt in Settings.

From alpha.198 · Receipts rendered on the tablet

Text receipts are now built on the tablet, not the server. The receipt you designed in the dashboard (layout, labels, sections) is rendered by the app itself, byte-for-byte the same as the server would print it, so nothing has to be downloaded between tapping Accept and the paper moving. This applies to text-mode templates and to printers with Built-in text receipt switched on, which now print your designed receipt instead of the plain built-in layout. On a slow connection this is the biggest single speed-up yet.

Live updates. Once your store is switched on for it, order changes reach the tablet instantly over a live connection instead of the 15-second check, and the background checks slow right down when the shop is closed.

Today's stats come pre-computed from the server, so the home tab no longer downloads every order of the day to add them up.

From alpha.197 · Faster printing on slow connections

Bluetooth printers stay connected. The app now keeps the link to your Bluetooth printer open between prints instead of reconnecting for every receipt, so the second and every later print of a shift starts straight away. The link is released after ten minutes without printing, or when the printer is switched off.

Printing starts warming up the moment an order arrives. While staff are still reading a new order, the app connects to the printer and refreshes the receipt setup in the background, so Accept goes to paper faster.

The order list appears instantly on launch. The last known list of ongoing orders is kept on the tablet (a few KB, this store only) and shown straight away, then refreshed in place as soon as the server answers.

Lighter background traffic. The today's-stats refresh now runs once a minute and only asks for today's orders, instead of the full recent history every 15 seconds.

USB diagnostics in Settings. Settings → Printers → USB diagnostics shows exactly what the tablet sees on its USB port, with a Copy button so you can send it to support. Plugging in a configured USB printer now prints a short test slip automatically.

From alpha.196 · Orders open instantly

Tapping an order no longer waits on the server. The app keeps your ongoing orders in memory (nothing is saved to the tablet), so opening an order you've already seen is instant, and a new one shows its header straight away while the items load behind it. On a slow connection this is the difference between a spinner on every tap and none. Finished orders are dropped from memory as they complete.

USB printer step now says what it sees. If no printer is listed, the message tells you whether the tablet sees nothing at all on its USB port (cable, OTG adapter, or port not in host mode) or sees a device that doesn't look like a printer, and names it.

From alpha.195 · USB & Bluetooth printing fixes

USB printers stay connected. The first time you print, Android asks for permission to use the printer - tick Use by default for this USB device on that prompt and the app keeps access after the printer is switched off or the tablet restarts, so morning prints no longer stall on a permission dialog. If a print does need permission, the app now says so on screen instead of a generic "print failed".

Bluetooth printers connect faster. The app remembers how each Bluetooth printer likes to connect and uses that first, cutting several seconds off every print on printers that used to fail the first connection attempt. Tip: for Bluetooth printers, turn on Built-in text receipt on the printer in Settings for the fastest prints.

Includes everything from alpha.184-194 - Bookings & floor plan, Star printers auto-detected, Dutch language, a new typeface, the redesigned offline screen, and the order-status sync fixes.

From alpha.183 · Refund handling

Refunds on some marketplace-billed orders now go through as a full refund. For orders paid through certain platform billing setups, a refund is issued for the whole order rather than a partial amount. Everyday orders are unchanged - you can still refund any amount.

From alpha.182 · Quieter when you're closed

The app uses less data and battery outside your opening hours. It used to check the server for new orders every 15 seconds around the clock - including overnight, with the shop shut and nothing able to come in. It now checks less often once you're closed, and goes straight back to full speed the moment you reopen.

Orders still arrive the same way. New orders are sent to your tablet the instant they're placed rather than waited for, so nothing is slower. If one arrives while the app has eased off, it wakes up immediately.

Nothing on screen has changed in this update.

From alpha.181 · Filters & clearer orders

Quick filters above the order list. Tap In Kitchen or Ready to see just that part of the queue, with a count on each so you know what's waiting before you tap. Tap again to go back to everything.

Filter by service. If your store does more than one, you'll also get Pickup, Delivery and Dine-in filters - only the ones you actually offer.

You can always see which filter is on. Previously a filter could quietly shorten your list with nothing on screen explaining why. Now it shows as a badge you can tap to clear.

Scheduled orders show their time when you open them. The order list showed it but the order itself didn't - now there's a band at the top saying exactly when it's due, alongside the paid/unpaid one.

The new-order screen is much easier to read. The item list is now dark text on white instead of white on green, and the items are noticeably bigger on phones. Removed ingredients (like "no onion") now stand out in red, since those are often allergies.

From alpha.178 · A tighter order screen

Order cards are a third shorter. The same information, packed into far less space - six orders now fit on screen where four did before, so you can see your whole queue without scrolling.

Orders are grouped by what they need. The list is split into Needs action, In the kitchen and Ready, so the ones waiting on you sit at the top instead of being mixed in with everything else.

Paid or unpaid is now obvious. Opening an order shows a clear band at the top - green when it's been paid, solid red with the amount to collect when it hasn't. It's the only solid block of colour in the app, so an unpaid order can't be mistaken for a paid one at the counter.

The print button has moved away from the main button. On every order card and inside the order itself, printing now sits well clear of Mark ready and Complete, so a thumb reaching for one can't land on the other.

On a tablet in landscape, tapping an order opens it beside the list instead of covering it - the queue stays visible while you read an order.

Test orders no longer count towards your takings. Orders sent from Settings to check a printer were being added to today's order count and revenue. They're now left out of every figure, though they still appear in the list marked TEST.

Auto-confirmed orders print on startup. If the server accepted an order while the app was closed, it now prints when the app comes back up instead of being missed.

From alpha.177 · A new look

The app has been redesigned. Every screen has been rebuilt to be calmer and easier to read at a glance - especially on a tablet in landscape, where the old layout left half the screen empty.

The top bar is no longer a big block of colour. Your store's status now sits in a single tap-to-change pill (Open / Paused / Closed / Outside hours), and on a tablet today's orders, takings and pace are shown right there in the header instead of being hidden behind an icon.

Order cards tell you more at a glance. Each card now shows where the order came from (your website, Uber Eats, DoorDash), its number, and its current stage along the top. The timer is a ring, so you can see how much time is left without reading the numbers, and a coloured stripe down the side of the card tells you the order's stage from across the kitchen.

Nothing flashes or pulses any more. The old breathing animations have been removed - they were distracting on a screen you watch all shift, and they slowed down older tablets.

Easier to read. Prices and timers no longer jiggle as they count, text has been checked for contrast so nothing is washed out, and buttons are bigger and easier to hit with a thumb.

Your settings screen is unchanged.

From alpha.176 · USB printers, scheduled orders & a freeze fix

USB printers are now supported. If your terminal has a USB port, you can plug a thermal printer straight in - choose USB printer when adding a printer and it'll appear in the list. (The option only shows on devices that can take a USB printer.)

Scheduled orders move to the kitchen on their own again. The "Time to prepare" screen - the reminder that pops up when a scheduled order is due to be cooked - had been switched off after it caused a problem on one store. The underlying cause is fixed, so it's back on, with a safety net that quietly steps aside for a single order rather than ever holding up the whole app.

Scheduled orders no longer print twice. If the app was closed or restarted between accepting a scheduled order and its cooking time, the ticket could print a second time. It now remembers what it has already printed, even across a restart.

Fixed a freeze when printing. On slower terminals the app could lock up and be closed by Android while fetching a receipt to print. Receipt fetching and image processing now happen in the background, so the screen stays responsive.

The new-order screen uses the whole tablet. In landscape, order details now sit on the left with the item list in its own column at a much larger size - readable across the kitchen. The screen no longer pulses.

Includes everything from alpha.169-175 - Star printer support, live order updates, and the reliability work below.

From alpha.175 · Star printers auto-detected

Star Micronics Bluetooth printers work automatically. Star's TSP-series heads speak their own language instead of the standard one, so they would connect but print nothing. The app now recognises a Star printer by its hardware and prints receipts, kitchen tickets, end-of-day reports and prep dockets through Star's own driver - including from the Test Print button. (There's also a Star Micronics printer switch when adding a Bluetooth printer, but you no longer have to find it.)

From alpha.168 · Nothing fails silently

A failed accept or reject now tells you - and never loses the order. If accepting or rejecting an order didn't go through (a dropped connection, say), the order used to just disappear from the screen with no receipt and no warning. Now it stays put, a clear message explains what happened, and you can try again. A reject that doesn't go through says so plainly - the order was not cancelled and the customer was not refunded - so it's never missed.

Changing an order's status shows a Retry if it fails. Marking an order Ready / Preparing / etc. no longer just silently snaps back when the connection hiccups - you get a message with a one-tap Retry.

The app recovers instead of crashing. A run of rare edge cases - a printing hiccup mid-accept, an unusually long menu, a background alert that Android blocks - could close the app. These now fail softly and keep you working. Crash reporting was added underneath so any that remain get spotted and fixed quickly.

Removed from the dashboard? The app returns to pairing on its own. If this device is unpaired from the Dashboard, the app now goes back to the pairing screen automatically instead of sitting on errors. And unpairing from Settings now works even when offline.

From alpha.162 · Choose your receipt template

Adding a printer now always asks which receipt template to use. Previously, if nobody had opened the receipt editor in the Dashboard, the setup screen showed no template choice at all. You'll now always see a Default (built-in) option alongside any templates you've created.

Bluetooth setup guidance. When you add a Bluetooth printer, the wizard now recommends turning on Built-in text receipt - the reliable option for Bluetooth, where designed image receipts can print garbled.

From alpha.161 · Easier-to-tap order cards

The reprint button is no longer next to the action button. On the order cards, the printer icon sat right beside Mark Ready / Start Preparing, which made it easy to hit the wrong one in a rush. Actions now sit on their own row with the printer at the far left and the main button at the far right - and the customer's name is no longer cut short.

The order total is easier to read. Bigger and bolder on every card, instead of being tucked into the small grey line.

From alpha.160 · Scheduled orders, quiet after hours

Pre-orders no longer ring after hours. A scheduled order placed while you're closed now waits silently - no alarm, no notification - and appears as one accept/reject list when you open.

Accepting always prints. Accepting an order from its details screen (and accepting a scheduled order) now prints the receipt and kitchen docket, which it previously skipped in some cases.

Order screen fixes. The action buttons no longer sit under the Android navigation bar, the item list and the customer's note now show on the new-order screen, and a scheduled order arriving while you're open looks and behaves like any normal order.

From alpha.158 · Reliable Bluetooth printing & a clearer order screen

Bluetooth receipts that don't garble. Each printer now has a Built-in text receipt option (Settings → Printers) - recommended for Bluetooth printers. It prints a fast, plain-text receipt that stays readable, instead of the designed image that can come out as garbled characters over Bluetooth. Bluetooth connections are also more reliable underneath. Your Sunmi built-in printer and Wi-Fi printers are unchanged.

A clearer new-order screen. When an order comes in, the type - Pickup, Delivery or Dine-in - is now big and obvious at a glance. The item list scrolls inside its own panel so Accept and Reject never get pushed off screen, the customer's note stands out in a banner, and the auto-accept countdown now runs inside the Accept button itself.

Scheduled orders, brought in line with normal orders. Pre-orders placed while you're closed now wait quietly - no alarm, no printing - and appear as one clear accept/reject list the moment you open. Accepting prints the kitchen docket straight away, anything already past its time is flagged LATE, and you can review an order's items before deciding.

Prep time always on the receipt. Fixed a case where accepting an order from its details screen could print a receipt with no prep time on it.

From alpha.153 · A layout made for tablets

Turn your tablet sideways for a whole new view. In landscape, the app now uses the full screen - a side menu on the left, your orders in the middle, and the selected order's details on the right, all at once. Tap an order to see its items without leaving the list. Phones and upright tablets keep the layout you already know.

Settings, tidied up. Each settings section is now a card you tap to expand, so it's no longer one long scroll. The end-of-day report stays visible with its print options tucked away until you need them, and each store now shows only the order services it actually offers - with a Refresh to pick up any you switch on from the dashboard.

Test an order from any screen. A new Test order button in the top bar sends a test order through the whole flow - the alarm, the new-order screen, and printing - so you can check your setup end to end. It's clearly marked as a test and never counts as a real order.

From alpha.152 · Live courier tracking

Follow the driver without leaving the order. For deliveries handled by a courier service, the order screen now shows the driver's progress as it happens - dispatched, driver assigned, on the way, delivered - with the driver's name, one-tap calling, and the live tracking map right there in the order. Delivered orders collapse to a tidy one-line summary.

The app no longer asks you to do the courier's job. When a courier is handling the delivery, your part finishes at Mark Ready. The "Out for delivery" and "Complete" buttons now disappear for those orders, because the courier reports those steps themselves - previously tapping them just failed. If you ever need to close one of these orders yourself, use Override status in the order's menu.

Quieter driver updates. Driver progress now arrives as a silent notification, so it never rings like a new order. If an automatic dispatch fails, you'll see a clear message and a Retry dispatch button.

From alpha.151 · Your prep times, everywhere they matter

The prep time buttons now match what you set up. The new-order screen used to show a fixed set of prep time buttons that ignored the prep times configured for your store - so changing them had no effect on the terminal. It now shows your prep times, per service, and your default is pre-selected and highlighted. Pickup, delivery and dine-in each use their own list and their own default; previously delivery and dine-in orders were shown the pickup default by mistake.

From alpha.150 · Text receipts on the built-in printer

Text templates now print as text on Sunmi terminals. If you chose a text-style receipt template, the built-in printer on Sunmi devices still printed the image-style receipt instead. It now prints the text version you selected - which is also noticeably faster. Image templates are unchanged.

From alpha.149 · Order alerts on every screen

New orders now ring and print no matter which screen you're on. The new-order alert only existed on the Home screen, so if staff were viewing an order or in Settings when an order came in, there was no sound and no docket - silently. The alert now sits above the whole app and works everywhere.

Orders confirmed automatically now print too. If your store confirms orders automatically on a timer, the server could confirm an order before anyone tapped Accept - and the kitchen docket never printed. Those orders are now picked up and printed. (For security, the alert still doesn't appear on the PIN lock screen - those play a sound instead.)

From alpha.148 · More reliable order alerts

Stop missing orders when the app is in the background. Some terminals (especially Sunmi) on "Optimised" battery mode let Android throttle or kill the app in the background, so new orders could arrive with no ring and no print until someone opened the app. The app now asks - with a clear explanation first - to be exempted from battery optimisation, so it stays awake to receive orders. There's also a Battery optimization status row in Settings → Diagnostics showing whether the exemption is active, with a one-tap fix.

From alpha.147 · Live delivery tracking

Follow your delivery orders in real time. When a delivery order is auto-dispatched to a courier, its details now show a live tracking card: a status timeline (dispatched → driver assigned → on the way → delivered), the courier's name with one-tap calling, and a Live tracking button that opens the courier's live map. Once delivered, it collapses to a tidy summary. Only appears for stores set up for automatic courier dispatch.

From alpha.146 · Faster, reliable Bluetooth receipts

Image receipts print faster. Designed (image-mode) receipts used to download a large image and process it on the device before printing - slow, especially on Bluetooth printers. The app now fetches the receipt already prepared for the printer from the server and streams it straight through, so it starts printing sooner. It looks exactly the same as before - the same design from your dashboard template.

No more garbled Bluetooth receipts. The app now sends to Bluetooth printers at a steady speed matched to how fast the printer can actually print, so the printer's buffer can't be flooded - the cause of the jumbled text on long receipts. There's a Bluetooth print speed setting (Safe / Default / Fast / Max); Default just works on most printers, and Max uses the printer's own flow control for top speed if it supports it.

From alpha.140 · Pause individual add-ons

Run out of one topping? Pause just that add-on. You can now pause a single add-on or choice - like extra cheese or a gluten-free base - instead of the whole item. A new Add-ons tab on the Menu screen lists every choice; pause one there and it's marked sold out on every item that offers it, so you only do it once. Pauses can run for a few hours, the rest of today, until tomorrow, or a custom date and time you pick - and they lift automatically. Custom times now work when pausing items and sizes too.

From alpha.139 · A distinct chime for customer messages & an in-app update prompt

Customer messages now have their own bell. A new customer message used to play the same sound as a new order and chimed just once, so the two were easy to confuse. It now has a dedicated "Message Tone" - a different bell that keeps ringing until you open the chat and read every message, so you won't miss one during a busy service. (It's sound-only; it won't vibrate, and it never rings over a new-order alert.)

Know when an update is ready. When a newer build is available on the Play Store, a banner now appears at the top of the app. Tap Update to download it in the background, then Restart to install - no need to go hunting in the Play Store. (Side-loaded builds from this page are unaffected - the banner simply doesn't show.)

From alpha.138 · Background chat push notifications

Customer messages now reach you even when the app is closed. When a customer messages about their order, the device now gets a push notification on a dedicated "Customer Messages" alert - even if the app is backgrounded or shut. Tap it to jump straight to that order's chat. While the app is open, the in-app bubble and chime now appear within about a second instead of waiting for the next refresh.

Note: requires the matching server update to be live. Allow notifications when prompted so background alerts can show.

From alpha.137 · Live customer chat alerts & meal deal pricing

Chat bubble + chime when customers message you. When a customer sends a message from their order tracking page, a notification bubble now pops up above the bottom tab bar showing their name, order number, and message preview, and a chime plays so you don't miss it. Tap it to go straight to that order with the chat already open - or dismiss it with the ✕. (This is checked every 15 seconds while the app is open. A background push when the app is closed is still coming.)

Meal deal pricing is now clear. Meal deals show the full deal price on the "Meal Deal" header, and each item underneath shows "Incl." (covered by the deal) or "+$X" for any paid extras - in the order screen, the new-order popup, and on the kitchen prep ticket. No more confusing per-item prices that didn't add up.

From alpha.136 · Meal deal grouping

Meal deal items grouped in the app. Meal deal items now appear as a group in both the order detail screen and the new order takeover, with a "Meal Deal" header instead of showing as separate flat items.

From alpha.135 · EOD breakdown, meal deal dockets & smarter scheduled orders

EOD full breakdown. The End-of-Day section now shows payment breakdown (Cash / Card / Online) and service breakdown (Pickup / Delivery / Dine in), plus a revenue detail section with subtotal, fees, discounts, tips, and tax. After 1 minute without refreshing, the section dims and shows a large "Refresh data" button so you always know whether you're looking at live figures.

Meal deals print as one docket. Items in a meal deal now group onto a single prep ticket (labelled MEAL DEAL) instead of printing as separate individual tickets. Each item in the deal is still listed clearly on the combined slip.

Scheduled orders respect business hours. Scheduled order takeover screens no longer appear outside your operating hours - they queue silently and surface when the store opens, so the tablet isn't interrupted overnight.

From alpha.134 · Business hours & resume-all

Knows when you're closed. Outside your opening hours the header now shows "Outside hours" (slate) instead of a green Open, and the Pause option is disabled - there's nothing to pause when you're already closed.

Resume everything at once. When items are paused, the Menu shows a "Resume all" banner that lists exactly what will come back, then resumes it in one tap.

From alpha.130 · New look - rolling UI redesign (build 1)

New navigation. The bottom tabs are now a cleaner floating bar, kept centred so it stays tidy on larger countertop terminals as well as handhelds. This is the first of several UI refresh builds - more screens get the new look in upcoming builds. Everything else works exactly as before.

Preview build - please test on your device and tell us if anything looks off.

From alpha.128 · Server-side receipt rendering

Receipts now print exactly what you designed in the dashboard - always. The app no longer generates receipt layout on-device. Instead it asks the server to render each receipt and streams the result straight to the printer. For image-mode templates (the default) this is unchanged. For text-mode templates the server now produces the ESC/POS bytes directly, so the printed receipt matches the live preview in your dashboard pixel-for-pixel, regardless of which device or printer is being used. The in-app Receipt Designer and the per-printer Image/Text format switch have been removed - receipt format is now controlled entirely from the dashboard template's render mode.

From alpha.127 · Pause timing, clearer prep tickets & a safer unpair

Pause all items, for how long you choose. Pausing a whole category used to silently pause for 1 hour. Now it opens the same time picker as pausing a single item - Rest of today, 2 hours, 4 hours, or Tomorrow.

Hide sizes on prep tickets. A new per-printer option in Settings → Printers (under prep tickets) lets the kitchen slip leave off the size/variant line when you don't need it called out. Half-and-half splits and required choices still print.

Store name on every prep ticket. Each prep ticket now prints your store's name in a bold banner across the top, so a slip is easy to place at a glance.

Bigger scheduled-order times. On the scheduled-order alert screens the time is now much larger and brighter, so it's easy to read at a distance.

Safer unpair. Unpairing a device now requires a valid staff PIN - a wrong code is properly rejected instead of sometimes being accepted.

From alpha.123 · Bluetooth printing fix - no more garbled receipts

Fixes Bluetooth printing on a real printer. Receipts were printing in slow stop-start bursts, and a full order could come out as gibberish on a long roll of paper. The app was sending the whole receipt to the printer in one burst, which overran the printer's small memory buffer and corrupted the print. It now sends the receipt in small, paced pieces so the printer keeps up - receipts print cleanly and steadily.

From alpha.122 · Print to Bluetooth printers

You can now print to a paired Bluetooth thermal printer. Before, picking a Bluetooth printer let you add it but nothing actually printed - the app only knew how to talk to network (WiFi) and the Sunmi built-in printer. Now receipts, kitchen prep tickets, the End-of-Day report and the test print all go out over Bluetooth too. Pair the printer once in your device's Bluetooth settings, then add it in Settings → Printers → Bluetooth, send a test print to confirm it's the right one, and save. Auto-print on accept works the same as it does for WiFi printers.

If a Bluetooth print fails, check the printer is on, in range, and still paired in your Bluetooth settings.

From alpha.121 · Orders print when you accept - with the right times

Tickets now print the moment you accept an order, not the moment it arrives - so the kitchen ticket and customer receipt always show the confirmed prep/ready time and full order details, never a blank or too-early time. Orders you reject no longer waste paper. Scheduled orders are handled too: acknowledging one prints a receipt right away as your record, and the kitchen prep ticket prints later, when it's time to start cooking.

From alpha.120 · Required picks first, optional last, blank lines between

Prep tickets now group an item's lines so the cook reads them in the order the kitchen needs them. Size (variant) and required modifiers - the meat option, the must-pick choice - print at the top right under the item name. Then a blank line, then the base ingredients, then a blank line, then optional add-ons and "No <ingredient>" requests. Notes still print last. Each section is separated by a blank line for breathing room.

Required vs optional is detected heuristically - a modifier with no extra price and not a "No X" line counts as required. The API doesn't expose a required flag yet, so this works best in stores where mandatory choices are included in the base price.

From alpha.119 · Cleaner prep tickets when an ingredient is removed

When a customer removes an ingredient, the prep ticket now just leaves it off the list instead of printing a "NO <ingredient>" line. The cook sees only what should actually be on the plate - no extra noise to read past. (Only applies when the item is flagged "Print ingredients on kitchen ticket" in the Dashboard; items not flagged still show "NO <ingredient>" as their only signal that something changed.)

From alpha.118 · Bigger, more readable prep tickets

Prep tickets now print at a size the kitchen can read from across the room. The item name is double-width and double-height, and every line underneath it - variant, ingredients, modifiers, removed items, notes, plus the order number, type and customer name in the header - is double-height. No more squinting at the build line.

From alpha.117 · Per-product ingredient printing

Choose per menu item whether its description prints as an ingredient list on the kitchen prep ticket. The previous device-wide toggle is gone - flag items individually in the Dashboard (Menu → product editor → "Print ingredients on kitchen ticket"). Items not flagged print no ingredients, so descriptions that are choices or options (e.g. a snack pack) stop printing as nonsense.

From alpha.116 · List each item's ingredients on prep tickets

From alpha.114 · Choose what each printer prints

From alpha.113 · A separate kitchen ticket for every item

From alpha.112 · Cleaner order alarm

From alpha.111 · New-order screen pops in time with the alarm

From alpha.110 · Scheduled orders stand out in the list

From alpha.109 · Scheduled orders always get a heads-up

From alpha.108 · Scheduled orders, reworked

From alpha.107 · Customise what prints on the EOD report

From alpha.106 · No more double order sound

From alpha.105 · Scheduled-order alarm fix + alarm failsafe

From alpha.104 · View End-of-Day report for any day + print fix

From alpha.103 · Auto-accept timer picker no longer snaps back

From alpha.102 · Auto-accept timer fix + per-service auto-accept

From alpha.100 · Language selector + auto-detect

From alpha.98 · Sunmi EOD print fix

From alpha.97 · EU pairing + German locale deep pass

From alpha.95 · Demo pairing + driver map

From alpha.92 · Compact UI redesign

From alpha.90 · Deep i18n completion

From alpha.89 · Map label fix

From alpha.88 · ViewModel + network layer i18n

From alpha.87 · Deep i18n audit

From alpha.86 · EOD German label fix

From alpha.85 · Unpair fix + currency + status labels

From alpha.84 · Deep i18n sweep + EOD tax breakdown

From alpha.83 · Full i18n + translated receipts

From alpha.81 · Brand leak audit (white-label safety)

From alpha.80 · Orders toolbar slimmed down

From alpha.79 · Sunmi prints via sendRAWData (same fast path as network ESC-POS)

From alpha.78 · Sunmi printer feature parity + paper-size detection

From alpha.77 · Skip cutPaper on V3 (tear-bar hardware)

From alpha.76 · Skip printerInit on V3

From alpha.75 · Sunmi op-level diagnostics

From alpha.74 · Sunmi AIDL ordering fix

From alpha.73 · Sunmi diagnostics

From alpha.72 · Sunmi built-in printer support

From alpha.71 · Sprint 11 (Training - Tip of the day)

From alpha.70 · Sprint 10 (Ops intelligence)

From alpha.69 · Sprint 9 (Print resilience)

From alpha.68 · Sprint 8 (Kitchen mode + Undo toasts)

From alpha.67 · Sprint 7 (Map polish)

From alpha.66 · Sprint 6 Part 2 (Auto-promote + Settings)

From alpha.65 · Sprint 6 Part 1 (Scheduled redesign - Upcoming strip)

From alpha.64 · Sprint 5 (Bulk + Takeover polish)

From alpha.63 · Sprint 4 (Auth + Order Detail)

From alpha.62 · Sprint 3 (Menu bulk actions)

From alpha.61 · Sprint 2 (Settings rework)

From alpha.60 · Sprint 1

First ship of the design-audit rollout. Four tactical Orders-screen + header wins. All use the existing app palette - no new colours or component patterns introduced.

From alpha.59

From alpha.58

From alpha.57

From alpha.56

From alpha.55

From alpha.54

From alpha.53

From alpha.52

From alpha.51

From alpha.50

From alpha.49

From alpha.48

From alpha.47

From alpha.46

From alpha.45

From alpha.44

From alpha.43

From alpha.42

From alpha.41

From alpha.40

From alpha.39

From alpha.38

From alpha.37

From alpha.36

From alpha.35

From alpha.34

From alpha.33

From alpha.32

In this build

Requires Android 8.0+ · Works on Sunmi terminals & generic tablets
Enable "Install from unknown sources" before installing