53 releases shipped

Every release, in plain language

What you can now do, what got better, and what we fixed — written for the people running the business, not the people writing the code. We ship weekly, and it all lands here.

Asked for something? See how a request becomes a feature.

v6.1In progress

Orbit — The Assistant Inside Your Space

New

  • Ask Orbit how to do something and get an answer about your own space — in English, Thai or Bengali, and about the modules you actually have switched on rather than the ones you do not. It answers from SpaceOS's own module reference, release notes and product decks, and when the answer is not in there it says it does not know instead of inventing one
  • Open the assistant from any dashboard page and keep it open while you work. It sits alongside the screen you are on instead of taking it over, and it remembers the conversation
  • Ask to be taken somewhere and be taken there. Orbit opens the right page, rings the exact control you asked about, and can fill a form in ahead of you — always a page you were already allowed to open, and always leaving the button for you to press
  • Ask what the business actually did and get the number with a link to the page it came from, so you can check it. Sales and money, stock and products, orders and customers, bookings and resources — read out of the same reports your screens use, never from a query the assistant wrote itself, and never showing you anything your own permissions would not
  • See exactly what Orbit is about to change before it changes anything. Every action that would write something comes back as a card naming the record and the change; nothing happens until a person taps Confirm, the card works once and once only, and permissions are checked again at the moment of the tap. Confirming from a voice session or from a connected outside AI client carries the change out today — confirming in the typed chat panel records the approval and does not yet make the change, which is still being finished
  • Ask for a deck, a report or a spreadsheet and get a real file. Orbit turns a data answer into a branded deck or report you can preview and export as PDF, or into a genuine .pptx, .docx or .xlsx — with the credit cost shown before generation starts, progress while it runs, and a download link when it is done. A table can also be pulled straight out as CSV
  • Find every document the space has generated on one page, with retention limits, a delete that really deletes, and a shareable link you can send outside the space and revoke afterwards
  • Let an approved AI client outside SpaceOS work with a space. A space owner creates a key, names it, decides whether it may only read or may also propose changes, and revokes it — and the key carries one person's permissions and one space's modules, re-checked on every single call. A change asked for from outside still comes back as a card somebody in SpaceOS has to approve
  • Talk to Orbit instead of typing — press-to-talk or hands-free, in English, Thai or Bengali, with a live transcript that joins the same conversation as your typed messages, minutes counted on our clock and shown while you speak, and the same confirm card for anything that would change something. ⚠️ Preview only: every run so far has been against a test stand-in, no person has held a conversation with it and no real microphone audio has been through it, so voice is not yet something to put in front of a customer
  • Give every space a credit budget and stop worrying about a runaway bill. Credits are set aside before a request runs and settled after, so several people asking at once cannot push a space past its cap between them; there is a warning before the cap, a friendly pause at it, and nothing auto-bills or auto-upgrades. A top-up is something the owner buys deliberately, through the billing they already use
  • See where the assistant's credits went — balance, reset date, and usage broken down by what it was used for and by which member of staff, without exposing anybody's conversations

Improved

  • The assistant is switched off by default, hidden from the customer-facing module catalogue, and enabled one space at a time by a platform administrator — so no space gets it by accident
  • Which AI model each capability uses is now a setting an administrator changes rather than code we redeploy, so a better or cheaper model can be adopted without a release
  • Super Admin gains an AI section covering the model registry, credit plans and grants, ledger settings, and what each space cost against what it was charged — with estimated figures flagged as estimates rather than presented as fact
  • There is an off switch for the assistant per space, per capability, and one global switch above all of them. With it off, users are told the assistant is unavailable and no request reaches any AI service at all
  • AI spend joins the existing daily cost snapshot, so it appears alongside the rest of the platform's running costs instead of in a report of its own
  • Prices are stated in credits and in plain language throughout — no token counts anywhere, because nobody should have to learn what a token is to read their own bill
  • Every assistant screen reads in Bengali and Thai as well as English. ⚠️ That wording is machine-authored and checked mechanically for completeness only — whether it reads naturally has not yet been confirmed by a native speaker, and voice reads these lines aloud
v6.0.1In progress

Storefront Header & Hero — Yours to Shape

New

  • Float your header over the hero banner. It sits transparent on top of the image, and turns to frosted glass the moment the shopper scrolls — the treatment you see on the storefronts you were probably comparing yours against
  • Give your header a category dropdown. It fills itself from your product categories, opens sub-categories on hover, and becomes a tap-to-expand list on phones. Nothing to maintain twice: edit the categories under Catalog and the menu follows
  • Swap the header's search box for a full-width panel that slides down over the page, with the cursor already in it
  • Show the account link as an icon instead of text, to buy back room next to the cart
  • Underline navigation links as the shopper points at them
  • Choose a third header layout, with the navigation sitting beside your logo instead of centred
  • Put a video in a hero banner slide. Upload an MP4 or WebM and its opening frame becomes the slide's still image automatically — replace that with your own if you would rather. Optionally play it silently on a loop
  • Set how much a hero banner image is darkened, from none to strong, so a headline stays readable over a bright photo. The picker shows each step over a sample rather than asking you to guess from a word
  • Set how wide the hero's text column runs, and fade the text in as the page loads
  • Give a product category its own picture from Inventory · Categories — it shows up on the storefront's "Shop by category" row instead of a plain text pill
  • Say which districts you deliver to, under Commerce Settings · Delivery. Pick the ones you cover — everywhere else disappears from the checkout address picker, and an order addressed outside them is refused with a message naming where you do deliver. Leave it off and nothing changes: shoppers can order to any district

Improved

  • The hero banner is about a third taller on every storefront, and the taller shape means the phone-sized crop of your banner is shown close to how it was cropped rather than squeezed
  • A hero video plays on desktop and shows its still image on phones. A landscape video in a phone's tall banner kept only the middle quarter of the picture, and it cost a shopper on mobile data several megabytes to be shown that
  • Video files upload straight to storage rather than through the site, so a real video no longer fails for being too large, and you get a progress bar while it goes
  • Shoppers who have asked their device for reduced motion keep a still header and a still hero

Fixed

  • The Save button in Website settings now notices a change to any of the new header options on its own. It previously only woke up if you also touched an older field, so a change could look saved and quietly not be
  • Your logo, account link and menu icons now follow the header's colour, instead of staying dark and disappearing against a hero image
  • A space-logo upload in AVIF, and an Asset Manager receipt in PDF, no longer fail at the last step. Both types were accepted by the form and then refused by storage
  • Checkout no longer quotes a delivery charge before the shopper has given an address. The cart and the first checkout step showed a firm figure that then changed once a real address picked up a different delivery area — both now read "Calculated at checkout" until there is an address to price
  • Checkout only lists the ways your shop actually takes payment. A cash-only shop was showing shoppers greyed-out card and online rows above the one that worked
  • The "enter a valid phone number" message on checkout now disappears the moment the number is fixed, instead of staying on screen until the shopper pressed Continue again. Half-typed numbers are also caught properly — a seven-digit number used to be accepted as a delivery contact
  • The app no longer answers from a saved copy of your data when the connection is slow. On a bad signal it could rebuild a screen — an order list, the till, the ops dashboard — from a copy up to a day old, with nothing saying so. Those copies were also being kept on the device after logout, so anyone who picked up a shared phone could have been shown them; they are now deleted on next visit
v6.0

Commerce Orders — One Status, One Answer About the Money

New

  • Read one status on every screen. An order now carries a single progress status — New, Confirmed, Making, Ready, On the way, Done & delivered or Cancelled — and the fulfilment board, the orders list, your reports and your customer emails all read that same one. Until now four separate signals answered "where is this order", and they could describe the same order differently
  • Open the Money panel on any order and read the whole story of it — the order total, what has been collected, what is still owed, and every payment, refund, credit note and waiver as a dated line saying who recorded it and why
  • Collect a payment against an order — the full balance or part of it — as cash, a card terminal, a payment link or a gateway charge. Part payments come off the oldest bill first, and the order is only marked paid when the last of the money arrives
  • Refund a customer from the order itself, by gateway, by cash or as a credit note, capped at what was actually collected and with a reason recorded against it
  • Waive what is left on an order you have decided not to chase. One attributed, final action — after it the order stops counting as money owed, and the balance stays on the record
  • Find every order you delivered and never got paid for. Two filters now sit permanently on the fulfilment board — Owed only, and Done & still owed — turning the orders your staff used to keep in their heads into a list you can open and work through
  • Cancel an order and give a reason for it: rejected at intake, cannot fulfil, customer cancelled, or duplicate or test. Cancelling as duplicate or test tells the customer nothing and keeps the order out of your reports
  • Design your own order statuses. A Status designer shows the whole flow as a diagram — rename a status, reorder it, add one, switch off one you never use, and choose which statuses are allowed to follow which. The board's columns, the orders list and the customer emails all follow along
  • Shape the fulfilment board to your space: reorder columns, merge two into one, rename them, and set how many hours ahead an order should start showing as due soon
  • Choose what your customers are told at every status, and choose it separately for website orders and till orders. A till customer standing at the counter and a website customer at home no longer share one switch
  • Tell a customer when you cancel their order, with a new email that ships switched off — turn it on per space if you want it
  • Get a message in your team's chat group when an order reaches a status you care about, with the statuses picked per space
  • Take a cash-on-delivery payment from a screen. The product could already do it; nothing in the interface could reach it
  • See what an order actually was — website, till, mobile, phone or imported from your old system — recorded honestly at the moment it was created rather than guessed at afterwards

Improved

  • The fulfilment board no longer keeps its own private idea of where an order is. It is a view over the one status, so a column can never exist that the orders list has never heard of, and renaming a status renames the column
  • Website orders are now recorded the same way till orders are, so "what am I owed" is one number and one definition whether the sale came from your website, your till, the mobile app or an import
  • The board's Pending review lane is gone. Those orders now sit in a New column alongside every other status, instead of in a lane that behaved differently from the rest of the board
  • Every status change is now recorded with who made it and when — and the board's tidy-up of finished work covers cancelled orders too, so they drop off the board after the next working day and stay in your orders list forever
  • Four near-identical drag-and-drop workflow editors scattered around settings became one. The kitchen keeps its own template, now called Kitchen Workflow
  • Customer email settings moved out of the Website section and into Commerce Settings, next to the rest of the order experience, with a pointer left where they used to be. Booking confirmation moved to Facility Settings, where bookings are configured
  • The new order and money screens speak Bengali and Thai, not just English
  • Super Admin gains an API Docs section covering every endpoint the product exposes — searchable, browsable, deep-linkable and copyable as Markdown, so there is one place to read what an endpoint does
  • Hiding an order source on the board now says plainly what it does: it hides cards from view and nothing else

Fixed

  • Orders could vanish from the fulfilment board permanently. Switching off an order source did not merely hide those cards — it removed them from the board's reckoning entirely, so they never got a status, and switching the source back on did not bring them back
  • Renaming an order status silently stopped the customer email attached to it. The pickup email, for one, stopped sending the moment an owner renamed "Ready", with nothing anywhere to show it had happened
  • A customer standing at your counter could receive a "your order is on its way" email meant for someone waiting at home
  • Four of the product's customer emails had no settings screen at all. They sent, and there was nowhere to turn them off
  • Cancelled orders were counted as money owed — inflating what you believed customers owed you, and using up a customer's credit limit for a debt that no longer existed
  • An order you had waived still read as owed, and an order you had partly refunded read as though nothing had been paid on it at all — so orders you had just dealt with came straight back onto the chase list
  • A card payment the customer's bank declined was counted as debt rather than as a payment that never happened
  • An abandoned payment link wrote off what was owed forever, and a failed card charge left the bill stuck where nothing could move it on
  • Taking part of what was owed marked the whole order as paid, so a month's revenue counted money that had not arrived
  • Mobile till sales, mobile returns and mobile manager approvals did not work at all — every request to those three was turned away before it was read
  • A website delivery order opened on a phone showed no delivery address and described itself as an in-store sale, and editing one could report changes that had not been made
v5.11In progress

Asset Manager — Status, Categories & Asset References

New

  • Record where a thing is and whether it works, not just who has it. An asset can now be in use, in stock, needing repair, away at a repairer, out of order, sold, scrapped or lost — so the chairs, air conditioners and cables that belong to a room instead of a person finally have somewhere to live
  • Hand an asset to a room, a department or someone who has left, by typing their name. A holder no longer has to be a SpaceOS user, which is what used to force people to write "Out of Order" into the assignee box
  • Find anything by category, sub-category, location or status. Every space starts with a ready-made list of 7 categories and 84 sub-categories, all editable, and you can restore the standard list any time without losing what you added
  • Give every asset a reference like NIM/HO/03/LAP/1 — company, location, category, sub-category and a number that starts again at 1 for each kind of thing, so "chair 140" is something you can say across a room. It is generated for you and never changes afterwards, because it ends up on the sticker
  • See who changed an asset's status, when, and why. The log is append-only and keeps the person's name even after they leave the company
  • Record a device payment scheme in either direction — an employee repaying the company, or the company subsidising an employee — and see what is still owed, worded from the right side
  • Export your whole register to a spreadsheet with every reference filled in, edit it, and import it back. Rows with a reference update the asset they name instead of creating a duplicate
  • Track brand, model, vendor and their phone number, bill number, owning company, quantity and free-text notes against each asset — so a warranty claim starts with a phone number rather than a search through email

Improved

  • The register now shows reference, status, category, location and holder at a glance, and the summary counts follow whatever you have filtered to
  • See how many assets sit in each status without opening a menu, and click any of them to filter the register down to it
  • Rename a category, sub-category or location, fix its code, or write a better description without deleting anything and starting again. The plain-English description of each sub-category now shows where you pick one, so nobody has to guess whether a base frame is furniture or equipment
  • Your company code is worked out from your space name and locks itself once references have been issued, so one register can never end up carrying two different prefixes
  • The register now warns you about your company code while you can still change it, instead of leaving the explanation on a settings screen you might never open before recording your first asset
  • Quantity starts at 1 and explains itself. Raise it for things that come by the box, and the register tells you plainly that one row covering 8 items shares one code and one status — so you cannot mark just one of them broken
  • Import notes are now visible. Rows that imported with something worth knowing — a quantity covering several items, or a monthly subsidy figure that disagreed with the calculated one — are listed on the review screen instead of being worked out and quietly discarded
  • The Asset Manager now reads in full Bengali and Thai, with every category, status, screen and import step properly translated rather than machine-translated

Fixed

  • Asset values on the register now round the same way as every other figure on your dashboard
  • A device payment scheme brought in from a spreadsheet can now carry its start date, so what is still owed is worked out for imported assets instead of being left blank
  • Dates written as 18/06/23 are now read on import. They were being silently dropped, which quietly emptied the purchase date, warranty expiry and handover date columns for anyone whose spreadsheet wrote dates that way
  • A serial number is no longer kept on a row covering several items, where it could only ever have described one of them
v5.10In progress

Launch Ready — Sample Data, Setup Checklist & a Front Door That Works

New

  • Start your trial with sample data — pick your business type at signup and arrive in a working space with products, orders, rooms or menu items already in place, so you can explore instead of staring at zeros. Remove it all with one click whenever you're ready
  • Follow a setup checklist on your dashboard that knows your business type — add your first product or room, connect payments, publish your storefront, invite your team — with live progress and links straight to each step
  • See exactly what each business type switches on before you choose it at signup, with the reassurance that every module can be turned on or off later
  • Visit live demo stores from the website — every industry page now links to a real, working demo storefront you can browse before signing up
  • Check SpaceOS system health any time on the new public status page, backed by live checks of the actual platform — not a marketing number
  • Request a demo through a form that actually reaches us — demo requests are now stored, tracked and answered instead of depending on your email app
  • Read our terms, privacy policy and the new refund & cancellation policy in one canonical place, linked from every signup and footer

Improved

  • The SpaceOS website now lives at the root address with proper social-share previews, a sitemap and search-engine data — links shared on WhatsApp and Facebook show a real preview card
  • New spaces get the Support portal switched on from day one, and a Help menu in the dashboard links to support, what's new and contact
  • A welcome email now greets every new owner with their trial details and first steps, and the verification email comes clearly from SpaceOS
  • The sidebar speaks plainly — booking, food and finance sections were renamed so you can predict what's behind each entry, and role names read as words, not codes
  • Empty pages now tell you what the page will do for you and where to start, instead of apologising with "no data"
  • The POS register with an empty catalog now offers to add your first product instead of suggesting you search differently
  • Storefront checkout speaks your customers' language — "Pay online — bKash, cards & mobile banking" instead of gateway names, one consistent Cart, and the mobile Add to Cart button actually adds to cart
  • Signing up from the pricing page carries your chosen modules into your new space automatically
  • The pricing page now tells one coherent story: all free modules on every plan, paid modules à la carte on top

Fixed

  • Signing up with a valid promo code could fail at the last step and leave the account half-created
  • Data deletion requests from customer records are now recorded and tracked with a real 30-day follow-up, instead of being acknowledged and lost
  • Unfinished features no longer tease shoppers — wishlist, save-for-later and reviews placeholders are gone from storefronts until they're real
v5.9

Finance — Money, Owed to Us & the Accountant Pack

New

  • Open one Money page and see the month whole — what you sold, what you actually collected, what it cost and what you kept. It reads the same figures the monthly report does, so the two can never tell you different things
  • See what customers owe you right now on a single Owed to Us page, aged into up-to-30, 31-60, 61-90 and 91+ day buckets, oldest first, with the remaining balance on every bill rather than the original amount
  • Copy a short, polite reminder for any customer who owes you and paste it into WhatsApp. SpaceOS never messages your customers on its own
  • Close a month and send your accountant everything they need: orders, order lines, payments, refunds and expenses as spreadsheet files, with a plain-text README that explains every single column so nobody has to email you asking what a heading means
  • Run four checks before you send that pack — whether every trading day's till was counted, whether payments match the gateway, whether costs are recorded, and what is still owed. None of them block the download; they tell you what your accountant is likely to ask about
  • Set the opening cash and bank balance for each month separately. Until now a space had one opening balance in total, which meant it was right for one month and quietly wrong for every other
  • Find all of this in one place. Payments, Reports, Monthly Report and POS Report were scattered across three parts of the menu; they now sit together under Finance in plain language — Money In, Owed to Us, Day Close, Month Close
  • See this month's money on your dashboard the moment you log in, with a button to close the month, instead of hunting for it

Improved

  • Till sales now appear in Payments, its reports and its reconciliation screen. For a shop that takes cash and card at the counter those three pages were previously empty, and the CSV download returned a file with nothing in it
  • Every list that shows money can now be exported, using one shared download that handles Bengali and Thai text correctly in Excel
  • Costs and Profit no longer read "no data" when nothing has been recorded — they explain what recording your spending would give you, and link straight to where to do it

Fixed

  • A customer who had part-paid a bill was shown as owing the full original amount on their ledger
  • Refunded money was counted as money still owed. A sale of 10,000 with 4,000 returned reported 4,000 as uncollected, when nobody owed anything
  • Sales and collected were counted differently, so a space with both bookings and till sales could see "collected 590% of sales" and have a genuine unpaid bill reported as zero
  • The payments report screen ignored a revoked permission and kept showing figures to staff whose access had been taken away
  • An accountant pack downloaded twice for the same closed month could report two different totals
  • Amounts in different currencies were added together into a single meaningless total on the owed balance
v5.8.2

Choose Your Own Orders Table

New

  • Choose which columns your Orders table shows. A Columns button beside the filters opens the full list of everything an order holds — delivery date, dispatch time, phone number, delivery address, discount, delivery charge, notes, tracking number and more — and you tick the ones your space works from
  • Drag your columns into the order you want them, so the thing you check first sits where you look first
  • See the delivery date on the orders list, which is what started this — but as one option among forty rather than one more fixed column nobody else asked for
  • Your column choice is saved for the whole space, so everyone on your team opens the same table and no one has to set it up twice. Owners and managers choose it; everyone else sees it

Improved

  • The orders table now scrolls sideways when you pick more columns than fit, instead of squeezing them all into unreadable slivers
  • On a phone, an order card shows your first six columns and counts the rest, so picking twenty columns does not turn every card into a wall of text
  • Columns that only ever apply to one channel are labelled in the picker — "Till only" or "Website only" — so you know before you tick one whether it will hold anything for your space
  • The Orders page now speaks Bengali and Thai. Its column headings had been hardcoded English since the page was written
v5.8

Delivery, Commerce Settings & Customer Handling

New

  • Set up delivery in one place. Commerce Settings gathers delivery, checkout, customer and partner settings on a single page, instead of the hunt across two hubs and three screens it used to take — and it works whether or not you run a website
  • Choose how your space charges for delivery — collection only, one flat charge, or a charge per named area with a single "anywhere else" rate for addresses that match none of them
  • Take a delivery order at the till. Mark the order as delivery, pick the customer's area, and the charge fills itself in — no catalogue item standing in for delivery, no mental arithmetic
  • Replace the calculated delivery charge with a custom amount for an order the standard rates do not fit. It stays marked as custom on the order and the receipt, so months later a report can still tell the two apart
  • Set the till's delivery charge from a screen. Until now that value existed with no interface anywhere and could only be changed by writing to the database
  • Read an order number down the phone. Every order now has a short reference like GANA-1110 in place of a 24-character code, and typing one back in opens that order
  • Give your space its own order prefix. New spaces get one automatically from their name, and you can change it freely until your first order goes out — after that it locks, so a year of order history can never be renamed underneath you
  • See where every customer came from — a website order, a website sign-up, Google sign-in, the till, the admin screen or an import — and filter your customer list by it
  • Store a second phone number against a customer, with the guarantee that no number belongs to two customers in the same space
  • Let customers order an out-of-stock item for a future delivery date, which the product has promised for some time without doing. Whether a pre-order deducts stock is now your choice — bake-to-order kitchens skip it, shops holding physical stock keep counting
  • Store your RedX API credentials against your space, encrypted, and see at a glance which delivery partners are supported and which are still coming

Improved

  • The same address now costs the same to deliver whichever screen took the order. Until now the website and the till priced delivery through two separate systems, and the amount a customer paid depended on where they happened to order
  • Delivery scheduling — lead time, cutoff, daily caps, blackout dates and closures — now sits beside delivery pricing rather than on a different screen in a different hub
  • Spaces already using shipping zones or a flat website rate keep charging exactly what they charged, with nothing to re-enter
  • Anywhere a delivery setting used to live now links through to Commerce Settings, so it stays findable from wherever you were working
  • A space that runs the till without the website can reach and edit its delivery settings, which was impossible before
  • Order alerts and messages now link to the readable order reference, so the link you tap from your phone matches the number printed on the receipt
  • Commerce Settings now sits under Commerce in the sidebar, next to the till and orders it configures, rather than under Admin
  • Every date now reads the same way across the product — 12-Jul-26 — instead of a mix of 12/07/2026, 07/12/2026 and 12 Jul 2026. The old American-style dates were genuinely ambiguous: 08/04/2026 could be read as either August 4th or the 8th of April
  • The date boxes at the till no longer follow your computer's country setting. They were the one place still showing month-first dates to everyone, whatever their space was set to
  • Your browser tab now names the page you are on — "Orders - SpaceOS" — so five open tabs are five distinct labels rather than five identical ones

Fixed

  • "Free delivery over ৳X" did nothing for any address that matched one of your delivery areas. It saved, it showed, and it silently never applied — so for a space charging by area, the setting had no effect at all
  • A website order placed without signing in showed a customer name that was not a customer. Every web order now lands on a real customer record — an existing one where the phone or email matches, a new one where it does not — and the name on the order opens it
  • Checkout could fail outright when a buyer's phone or email already belonged to an existing customer. It now attaches the order to that customer instead of refusing
  • A report sent to Telegram as an attached picture also printed the picture's link underneath, which the reader could not use. Google Chat, which can only carry a link, still gets one
  • Editing a customer whose email clashed with another customer's returned a message about phone numbers, naming no one
  • Changing your order prefix left the rest of the dashboard showing the old one until you reloaded, while receipts and emails had already switched to the new one
  • Adding a discount at the till made a Tax line appear on a sale with no tax on it — and the amount shown was the discount, not tax. It printed on the customer's receipt too, and the customer-facing screen showed an even larger wrong figure. Discount and tax are unrelated and never affected each other in what you were actually charged; only the display was wrong
  • The till's Subtotal already had the discount taken off, and then showed the discount again on the line below — so the same money was subtracted twice on screen. Subtotal is now the amount before any discount, and the column adds up to the total you can see
  • A large fixed discount could demand a manager's PIN when it should not have, because the percentage was worked out against the already-discounted amount rather than the original
  • The delivery charge appeared twice on an order — once among the products and again in the order summary. It is not a product, and it no longer sits in the product list. Refunds are unaffected: the charge can still be returned exactly as before
  • The warning shown when changing an order prefix said existing orders were unaffected. They were not — every past order would have been renamed
v5.7.1

Browse the Whole Shop

New

  • Browse your entire catalogue in one place. “Shop” now opens a full product listing with a product count, sorting, a price filter, an in-stock filter and page numbers — the shop no longer stops at the eight newest items
  • Search your products from the shop page and then sort, filter and page through the results like any other listing, instead of getting one flat set of matches

Improved

  • Your shop now lives at /shop instead of /c, and each category at /shop/cake instead of /c/cake — a web address you can read out loud. The old /c addresses are retired, so re-share any link you had published under them
  • Categories are now a filter above your products rather than the way in. Shoppers land on everything you sell and narrow it down, and “All products” is always one tap away, so nobody gets stuck inside a category
  • Each category pill shows how many products are behind it, so an empty category is visibly empty before anyone clicks it
  • “Show categories on your website” now governs every category strip on your site, not only the row on your home page

Fixed

  • A shop with no categories showed a page headed “Shop by category” with nothing under it and only the eight newest products below — the rest of the catalogue had no link anywhere on the site. Ganachery had 57 products live and 8 a shopper could reach
  • Turning off “Show ‘Shop by category’ on storefront” hid the row on the home page but left category headings and links on the shop itself. One switch now controls both
  • Product search used to ignore the sales-channel settings on a product, so a product hidden from your website could still surface in search results
v5.7

Notification Enhancements

New

  • Get an alert when someone edits an order, and tick which kinds of edit are worth interrupting for — items changed, the delivery or dispatch time moved, the customer or address changed, or a note edited
  • Get an alert when a payment arrives after the order was placed — cash on delivery collected, a payment link paid, or a balance settled — showing what came in, what is paid so far and what is left. An order paid in full at the till stays a single message
  • Add the dispatch time, the gift recipient's name and phone, and a full money breakdown — subtotal, discount, delivery and tax — to your order alerts
  • Choose the language each alert is written in, separately from the language your business runs in
  • Send yourself a test of the weekly report picture instead of waiting for its scheduled time

Improved

  • Alerts now use the clock your space actually chose — a space set to 12-hour was reading 16:00 in its alerts while every receipt said 4:00 PM. The schedule picker and the delivery log follow it too, and the log now shows times in your space's timezone rather than the reader's
  • Shorter, plainer lines: “Source: From the point of sale” is now just “POS”, and the customer name, phone, items, address and link no longer repeat a label that says what you can already see
  • Telegram, Google Chat and email destinations now carry their own logo everywhere they appear, so you can tell them apart at a glance
  • A rule pointing at two destinations used to show two buttons both saying “Send a test”. Each now names where it sends
  • Order confirmation and owner alert emails show the same subtotal and discount breakdown, and the email editor gained {{subtotal}} and {{discount}} to place them yourself
  • Choosing what sets a rule off is now one plain list — new order, order edited, payment received, or a time of day — and each one only offers the fields that apply to it

Fixed

  • An order with a discount showed the discounted figure labelled “Total”, with the saving invisible. A ৳2,300 order with ৳230 off now reads subtotal, discount and total, in that order
  • Bengali on the weekly report picture was drawn wrongly — vowel marks landed on the wrong side of their letter, joined letters never formed, and some characters did not draw at all. Bengali text in messages was never affected
  • A quotation mark or an ampersand typed into a customer note could arrive in Telegram as " or &
  • Ticking a new field on a rule you had ever re-ordered printed it at the very bottom of the message, underneath the order link, instead of beside the fields it belongs with
  • Gift orders announced their gift charge as though it were an item the customer had bought, and a gift bought for yourself printed your own name and number twice
  • The dispatch time no longer repeats the delivery time when the two are the same
v5.6.1In progress

Storefront & Catalog Fixes

New

  • Move product variants up and down so the option you want customers to see first is the one selected by default on the product page
  • Choose which sales channels — POS, Catalogue, Website — the products in a category default to, from Inventory · Categories, or leave it on Inherit to follow your space setting

Improved

  • Ticking “Unlimited” on a variant now asks you to confirm first, and tells you exactly how much stock will be cleared, instead of silently wiping it
  • Editing a product you opened from Website → Catalog now takes you back to the catalog when you save, instead of dumping you on the Inventory products list — and the catalog remembers which tab you were on
  • Delivery charge and free-shipping-over are whole amounts now — no more decimal spinner nudging the figure to 150.01
  • Order emails, POS receipts and system alerts now go out under your own space's name rather than “SpaceOS”, with no setup needed
  • Product pages now put a divider between the pack size and the per-unit price, so “72 pcs” and the unit price no longer run together
  • Removed the “Email me about order updates and offers” tick box from checkout — order emails are sent either way

Fixed

  • Turning “Show on storefront” off for a category now actually hides it — previously unticking the box did nothing and the category kept appearing on your home page. The “Shop by category” row also disappears entirely when a space has no categories to show
  • Your storefront's branded “page not found” screen now appears for everyone. Signed-in owners and anyone behind a geo or password gate were being shown a bare, unstyled 404 with no header, footer or way back
  • Hiding a product now sends visitors to that product's category instead of dead-ending on a 404, so existing ads, links and shared URLs still land somewhere that sells
  • Tax rules and tax-invoice details no longer arrive pre-filled with example values — a sample 15% rate, a placeholder VAT registration number and a stand-in business name could have reached a real customer invoice
  • The Unsorted tab under Website settings opens instead of returning “page not found”
  • Sender settings under Website → Emails no longer come pre-filled with a demo business's name and email address
v5.6

Guest Checkout, Multi-Space Accounts & Sessions That Last

New

  • Buy from a storefront without creating an account — guest checkout now completes instead of failing with an empty-basket error, and the shopper's name, phone and email are kept on the order itself
  • Track a guest order without signing in — the Track order button on the confirmation page opens the order straight from the confirmation link, no account and no password needed
  • Download a real branded PDF receipt from the checkout confirmation page — an actual .pdf carrying your logo and contact details, instead of the browser's print dialog
  • Hold an account in more than one space — somebody who already has a SpaceOS account can now be added to a second space, keeps the password they already have, and gets a short “you've been added” email instead of a fresh invitation to accept
  • Switch between your spaces without signing out — anyone who works in more than one space sees them listed inside the header user menu with the current one ticked, and one click lands them in the other
  • Choose whether the Shop, Bookings and Events links appear in your storefront's default header navigation, from Website → Branding
  • Switch the home-page hero banner off altogether, lay it out boxed or full-width, add space above and below it, and publish image-only slides now that a slide headline is optional
  • Set a page background colour for your storefront — six presets or your own hex code — applied everywhere, including the password gate and the maintenance screen
  • Turn the “Shop by category” row on your storefront on or off, and show only your deepest categories rather than parents sitting alongside their own children
  • See what still stands between you and launch on Website Overview — a checklist split into 7 must-have items and 6 good-to-have ones, with a counter that reads red until the store is launch-ready and green once it is
  • Drag the fields of a notification message into the order you want — the arrangement is saved with that rule, works from the keyboard as well as the mouse, and there is one click back to the usual order

Improved

  • Stay signed in for 30 days instead of 24 hours, and the window extends itself while you are actually working — the Remember me tick box has come off the login page because every session is now the long one
  • A password change now applies to every space you work in, rather than only repointing the one space you happened to change it from
  • Signing in with an email that opens several spaces takes you to a picker so you choose which one to open, instead of being dropped into whichever of them came back first
  • Signing in with Google gets you the space switcher too, and the picker cards now show the space name instead of two blank, identical buttons
  • Field labels arrive bold on Telegram, Google Chat and email — “Customer: Zunaynah Oishi” reads with the name of the field emphasised — and the preview panel shows the same emphasis before you switch the rule on
  • The “Include in the message” list in a notification rule is now in the same order as the message itself, so what you tick and what you drag matches what arrives
  • Swipe through product photos on a phone, with dots showing where you are; on a desktop the same product gets a thumbnail rail beside the main image
  • The basket badge in the storefront header updates as you shop — it was stuck at zero — and counts distinct products rather than total items
  • Your storefront's browser-tab icon falls back to your logo when no favicon has been uploaded, so the tab is never blank
  • The delivery calendar greys out dates blocked by an ordering pause, shows your pause message on them, and opens on the first month that has a date you can actually pick
  • Checkout always opens on the Contact step with email and phone prefilled for signed-in shoppers, and reloading part-way through keeps you on the step you were on
  • Emptying your basket while you are on the checkout page takes you back to the shop instead of leaving you on a checkout with nothing to buy
  • First-time visitors always see the light theme on both the storefront and the dashboard, whatever their device is set to; the toggle still remembers what you choose after that
  • The banner editor saves everything in one go — the master switch, the slider behaviour and every slide you added, edited, deleted or reordered — and Save stops looking unsaved once the save succeeds
  • Leaving the Branding page with unsaved changes now warns you before the tab closes, instead of silently throwing away a long form that hangs off a single Save button
  • The launch checklist counter is sized as a pill rather than a heading, so it no longer towers over the small controls sitting beside it
  • A payment page still waiting after a minute now stops the spinner and says it has stopped checking, and offers Check again and Back to checkout instead of leaving you on a dead end
  • The dots under a product photo on a phone have a proper finger-sized tap area, rather than being a 6-pixel target
  • Product cards read better: a larger product name, the unit of measure under it, the price in your brand colour, and only the image zooms on hover instead of the whole card
  • Search from a phone with a dedicated search icon in the storefront header that expands into a search panel
  • Filter the admin product picker by category and add every product shown in one click, instead of ticking them one at a time
  • Category tiles are compact text pills instead of empty image tiles, and footer social links show brand icons instead of words
  • Footer and Advanced website settings have moved out of the crowded Branding tab into a temporary Unsorted tab while they wait for a permanent home
  • Guest orders no longer create a customer record — the contact details live on the order, so a guest whose phone number already belonged to another customer can check out cleanly

Fixed

  • Promo codes work again at checkout — validation had been silently answering “Tenant context required” for every code since the July security pass
  • Receipts and the confirmation page now show how a card order was paid and its transaction reference; the Payment column had been blank on every gateway-paid website order
  • Guests paying by card reach their receipt instead of a page that could not be found — PortPos guests were losing it on the way back from the gateway, and Stripe guests were hitting the dead page the instant they were charged
  • The confirmation page's order tracker no longer marks an order Packed the moment payment succeeds — it follows the order's real status
  • Receipts show where the order is actually going. Both the on-screen receipt and the PDF printed the buyer's profile address, so a gift or an order sent to a work address named the wrong destination
  • The confirmation page describes the order you actually placed — a booking says your booking is confirmed, a collection order says it is confirmed for pickup, and a cash-on-delivery order says what you will pay when it arrives and that nothing has been charged yet. Everything used to say “your order is on its way”
  • The “Confirming your payment” page stops checking once there is an answer. It had been requesting every 1.5 seconds forever — past its own one-minute timeout, and even after the payment had succeeded
  • An order cancelled or refunded while the shopper waits on that page now gets its own screen saying so, instead of spinning for a minute and then claiming the payment is still being confirmed
  • A receipt PDF that fails to generate now says which part failed and links to the printable receipt, instead of quietly resetting the button as though nothing had happened
  • A full-width hero banner no longer makes the whole storefront page scroll sideways — it was counting the scrollbar in its own width on Windows and Linux
  • The dark-mode toggle does something on the Kiosk theme. It was the one theme with no dark variant, so switching appeared to do nothing; it now flips to a bright, high-contrast daylight palette
  • The “In your bag” button on a product page uses your brand colour instead of a hardcoded green that clashed with every storefront that is not green
  • Renaming somebody no longer signs them out of every device: saving an edit to a user only ends their sessions when their role or access actually changed
  • The workspace picker no longer expires with “Session expired. Please try logging in again.” while you are still choosing — it allows 30 minutes instead of 5
  • Email notifications stop double-escaping punctuation — an asterisk in an order note was arriving in inboxes spelled out as a character code
  • The centred storefront header no longer crops your logo and tagline on the shorter themes
  • A banner slide can point its button at a relative path such as /c/coffee — saving the banners page used to fail with “Invalid URL” whenever any slide had one, no matter which field you were editing
  • The product picker in Website → Catalog lists your products again — it had been reading the wrong part of the response and showing nothing
  • Every line in the register is taxed at its own rate, so the on-screen total and the payment sheet match the receipt for any product or category with its own tax rate
  • The register stops you adding more of an item than you have in stock, rather than letting you discover it at the payment screen
  • Booking Detail and No-Show dialogs show times in your space's timezone instead of whatever timezone the viewer's browser is set to
  • The company dropdown in the Assign Room dialog is no longer clipped by the edge of the dialog, so you can see and pick every option
  • Long room names on the Bookings by Room chart no longer overlap each other — they are shortened, with the full name on hover
  • The confirmation message after adding or updating a meeting room no longer covers the Add Room button
  • The currency symbol beside Sale Price and Cost Price no longer disappears while an inventory page is still loading
v5.5

Notification Hub — Order Alerts, Nightly Reports & Burst Protection

New

  • Get told the moment an order comes in, without watching a screen — set up alerts once and they arrive on the messaging apps your team already uses
  • Send alerts to a Telegram chat — connect the chat once and pick which alerts go there
  • Send alerts to a Google Chat room — paste the room's webhook address, SpaceOS posts a test message so you know it works before you rely on it, and the address is stored securely and never shown again
  • Change a Google Chat room's webhook address when it is regenerated, without losing the rules or the delivery history attached to that room
  • Manage everything from one Notifications page in your space — which alerts are on, where each one goes, and a history of every message sent with whether it arrived
  • Create a scheduled report rule — a nightly rundown of the orders coming up, sent at a time you choose, in your space's own timezone
  • Choose what the nightly report covers — just tomorrow, or the whole of the next 7 days — and preview exactly what the next one will look like before you switch it on
  • Keep quiet days quiet — optionally skip the report entirely on days with no orders coming up
  • Receive the nightly report as a picture instead of a wall of text, so it is readable at a glance on a phone. Works on both Telegram and Google Chat
  • See the health of notifications across every space on the new Super Admin Notification health screen — spaces are sorted worst-first (not delivering, quiet for 7+ days, delivering, never set up) with a one-click jump into any space that needs attention

Improved

  • A rush of orders no longer floods your channel — when orders arrive faster than they can be sent one by one, they are grouped into a single digest message instead. In testing, 40 orders placed within a minute arrived as 19 messages, one of them covering 22 orders, with nothing dropped. Ordinary order volume is unaffected and still arrives one alert per order
  • A long nightly report is automatically split across several pictures so busy shops still receive the whole thing — a shop taking around 6 orders a day starts to see a second picture, and one taking around 18 a day receives four
  • A report too large even to split is sent as full text rather than not arriving at all
  • A grouped digest that gets held up is picked up and sent automatically, so a rush is never left half-delivered

Fixed

  • A paused notification rule stays paused — it no longer switched itself back on the next time the rule was saved
  • A nightly report that goes out later than its scheduled time now says so, instead of appearing to be on time
  • Bengali text in report pictures now displays properly instead of showing as empty boxes
v5.5.0-orders.1

Deposits at the Till, Dispatch Times & a Smarter Week View

New

  • Take a deposit or part-payment at the till — collect whatever the customer pays now and the rest is tracked as a balance owed on the order
  • Set a dispatch time on an order — when it needs to leave the kitchen, alongside the delivery time it is due to arrive. It fills itself in an hour before the delivery time and shows on the order and the fulfillment board, so the kitchen has a send-out target on every ticket
  • Save a walk-in sale without a phone number — a phone number is only required when the order is being collected or delivered
  • Offer cash on delivery on your website and switch it on or off whenever you like. A cash-on-delivery order is confirmed and ready to fulfil straight away, while the money stays recorded as owed until you mark it received on the order

Improved

  • The tender is now called Split/Partial payment, because it covers both splitting a payment across methods and taking part of the money up front
  • The weekly fulfillment view starts from today instead of the start of the calendar week, so the first thing you see is what still needs doing
  • Pick your own date range in the fulfillment view when you need to look further ahead or back over a stretch that does not fit a single week
  • Every order now lands in one Orders list no matter where it came from — your website, the till, or an import — with filters for channel and status so you can narrow it down
  • All order sources show on the fulfillment board by default, so website orders are visible without having to switch anything on first
  • Money owed on a cash-on-delivery order is kept out of your sales figures until the cash is actually collected

Fixed

  • Paying with PortPos on your website works again — checkout was failing with “Couldn’t start PortPos”
  • Cash-on-delivery orders placed on your website now appear in your orders and can be fulfilled. They were being taken but never showed up anywhere, and stock was not being reduced for them
  • The delivery charge now appears as its own line on order pages, receipts and confirmation emails, so the totals add up instead of leaving an unexplained difference
  • Customers paying by card on your website are no longer left on a spinning “confirming payment” screen after they pay
  • The back button in the till now works for staff with till-only access, and no longer sends you to the payment provider’s site after taking a card payment
v5.4.1

Back Buttons That Actually Go Back

Improved

  • Every back button across the platform now returns you to the page you came from, just like your browser's back button, instead of jumping to a fixed page you may never have visited
  • The Point of Sale register's back control is now a proper Back button rather than a Dashboard shortcut, so leaving the register takes you back to whatever you were doing

Fixed

  • Fixed staff with limited access getting stuck in an endless loop between the Point of Sale screen and a Dashboard they were not allowed to open
  • Staff who cannot open the Dashboard are now sent to the first page they do have access to when they sign in, and no longer see a Dashboard link that would only bounce them away
  • Signing in with Google now lands restricted staff on a page they can actually use, matching how email sign-in already worked
v5.3.9

Cleaner Reports, Smarter Voids & a Tidier Dashboard

New

  • Turn off cash-till sessions for shops that don't count a drawer — a new POS Settings toggle hides Z-Report and open/close-till controls

Improved

  • Voiding a sale now returns its items to stock automatically (with a confirmation), so a mistake sale no longer leaves your inventory short
  • The Customer Report is now a tab inside Reports instead of a separate menu item, and the Reports menu is tidied to Reports · Monthly Report · POS Report
  • Order pages now show a customer avatar, and clearer wording explains when to Void vs Return
  • The owner dashboard leads with your sales, stock, and payment cards; the setup checklist and tips moved to the bottom
v5.3.8

Reliable Card Payments, Customer Report & a Faster Order Page

New

  • See your top customers in the new Customer Report (Reports → Customer Report) — spend ranking, repeat rate, new-customer count, and average order value across the register and website, with CSV export
  • Act on any order without scrolling — a new command bar at the top of the order page keeps Reprint, Public receipt, Edit, Return, and Void one tap away, with the order's status right next to its number
  • Follow an order's story on the new Timeline — created, paid, refunded, and voided events in one place
  • Copy a ready-made refund message for your customer right from the return screen, including how long the money takes to reach their card

Improved

  • The register now feels like an app on phones — the Charge button stays pinned above the browser controls instead of hiding behind them
  • Gift and Order-note are now compact one-tap buttons beside Add customer at the register on phones, freeing up room for the items in your sale
  • Returns now tell you exactly what the payment gateway said — a clear "refund confirmed" or "refund failed, no money moved" instead of a vague message
  • Plain-language hints explain Void vs Return right where you use them
  • Orders list shows all orders by default, order rows open in a new tab with Ctrl/Cmd-click, and Payments search now finds orders by number or gateway invoice ID
  • Saving payment-gateway keys now verifies them with the gateway on the spot — a wrong key is rejected at save time instead of failing silently later

Fixed

  • Fixed card payments not confirming after a successful charge — paid orders now settle and the customer receipt flips to the success screen within seconds
  • Fixed the same order being payable twice from an old payment link — one live invoice at a time, so double-charges can't happen
  • Fixed captured card payments on voided or unsettled orders being impossible to refund from the app
  • Fixed the Recheck-payment button hiding exactly when a stuck payment needed it, and failing on order pages opened by order number
v5.3.7

POS & Fulfillment Refinements

New

  • Require a customer phone number and a delivery/pickup date & time on every order — new per-space toggles in POS Settings (on by default), enforced at the register and on the website checkout
  • Turn the ASAP timing option on or off per space; Schedule now comes first and is the default at the register
  • Sort the Customers list by name, signup date, or number of orders
  • Pick which external terminal received the money when marking a due order as paid
  • See how each order was paid — a "Paid via" line now appears on every order's detail page
  • Hear a chime on the Fulfillment board when a brand-new order arrives, with a mute toggle
  • See the fulfillment method (In-store / Pickup / Delivery) printed on receipts, with a toggle in Receipt Settings

Improved

  • Delivery areas at the register now use the same District → Area lists as the customer form, and the register remembers your last district so single-city businesses never re-pick it
  • Receipts drop the red "Amount due" block for a clean bold line, and the Paid / Awaiting-payment badge is bigger and easier to read
  • The Fulfillment board now lays out properly on phones and tablets
  • Gift messages on fulfillment cards now sit directly under the gift item they belong to
  • Space managers can now edit orders

Fixed

  • Fixed pages occasionally getting stuck and refusing to scroll until a reload after closing stacked dialogs
  • Fixed the stock-adjustment arrows corrupting decimal quantities and the preview showing long floating-point noise
  • Fixed the delivery date chosen at website checkout not being saved with the order
  • Removed the elapsed-time badge from fulfillment cards
v5.3.5

Adding Your Team, Fixed — Co-Owners, Plain-English Roles, and Invite Tracking

New

  • Add a second owner to your business — owners can now appoint co-owners
  • See who hasn't joined yet: people you've invited show an "Invited" badge until they sign in, with a "Resend invite" action and a filter to list everyone still pending

Improved

  • Role descriptions now speak plain business language that fits any business — no more "co-working space", "front desk", or "book rooms and desks"
  • The role screens no longer show platform-only jargon that never applied to your business
  • Invite errors now appear immediately next to the button instead of silently off-screen

Fixed

  • Inviting a user no longer fails silently — choosing a role you couldn't actually assign returned an error you never saw
v5.3.4

Weekly View — Next Week's Orders on One Screen (and One Image)

New

  • See the next 7 days of upcoming orders grouped by delivery day in the new Weekly view on the Fulfillment page
  • Download the whole week as a single phone-friendly image to share with your team — styled like a clean order sheet, big enough to zoom on a phone
  • See each order's scheduled delivery time on the weekly view, sorted earliest-first within each day

Improved

  • The Fulfillment page now remembers your last chosen view (Board, List, or Weekly) on each device
v5.3.3

Money You Can Trust — Financial Audit Hardening & the Upgraded Shop Dashboard

New

  • See today's takings split by payment method (cash, card, gateway, credit) right on the dashboard
  • Track pending gateway payments from a dashboard widget with one-click access to each order's recheck button
  • View every gateway refund in one place — the new Gateway Refunds ledger under Payments lists status, amounts, and PortPos invoice IDs
  • Watch a 6-month revenue trend on the space dashboard
  • Jump straight to the register, Z-Report, Payments, or Reports from the dashboard quick-actions row

Improved

  • Dashboard numbers refresh automatically every minute and show a retry button if loading fails
  • Today's sales line now shows refunds and net revenue alongside gross
  • Order count and average sale are based on money actually collected, with awaiting payments counted separately
  • Refund dialogs now state amounts in your currency (no more confusing "minor units" wording)
  • Super Admins acting as a space user get a proper confirmation step for refunds instead of a silent failure

Fixed

  • PortPos refunds work again — the gateway rejected our refund requests; both request-format issues are fixed and verified live
  • Payment links and card payments work again for Bangladeshi addresses — the gateway rejected empty state fields after v5.3's structured addresses
  • A failed or garbled gateway callback can no longer mark a genuinely-paid order as failed (and silently restock it)
  • Split payments now charge the card leg's amount instead of the full order total — no more double collection
  • Voided orders can no longer be charged, returned, or refunded twice; edits to voided orders are blocked
  • Monthly Summary no longer counts voided sales or ignores refunds, and includes money collected through payment links
  • The cashier till card, Z-Report, and dashboard now all use your shop's timezone for "today" and agree with each other
  • Web shop revenue now appears correctly in the sales report (it previously showed as zero) and stays after orders ship
  • Marking a web order as returned now issues the real gateway refund — customers are no longer emailed a refund confirmation when no money moved
  • Kitchen and lunch refunds record what the gateway actually did, and lunch wallet balances are restored when a payment fails or expires
v5.3.2

The New Register Goes Prime Time — POS2 Fixes & POS1 Retirement

New

  • Share payment links through any channel — the WhatsApp-only button is now a Payment Link flow with an always-available copy button plus WhatsApp, Facebook, Instagram, SMS and Other options; the chosen channel is saved on the order for follow-up and stats
  • Choose which order types your register offers (Walk-in, Phone, WhatsApp) and drag them into your preferred order in POS Settings — a single enabled type is picked automatically
  • Add a Company and Job Title to customer profiles
  • Send SMS receipts straight from the new register
  • Review and clear stuck offline sales from the register's connection pill — pending, failed, and flagged-for-review queued sales are now visible at a glance

Improved

  • The redesigned register is now the one Point of Sale — the classic register retired and old links redirect automatically
  • Attach customers with an inline search — start typing to pick a customer right in the cart; the full form only opens for brand-new customers
  • Smarter cash quick-amounts at payment time — suggestions now round up from the amount due instead of showing fixed notes
  • Delivery times respect your 12-hour/24-hour clock preference everywhere — cart, receipts, and reprints
  • Receipts are now identical everywhere — on-screen, reprint, and email all show the same items, payment, delivery and customer details, and follow your receipt settings

Fixed

  • Street address is no longer wrongly required when adding a customer, and required fields are clearly marked with an asterisk
  • Typing in the street address or apartment field no longer kicks you out of the input after every character, and the duplicate phone field is gone
  • Holding an order now starts the next sale clean instead of carrying over the previous fulfillment, delivery time and customer details, and "Use customer's info" fills the delivery form again
  • Voiding from Recent Orders no longer opens the confirmation hidden behind the sidebar, and Reprint now opens the receipt instead of the order details
  • Receipts no longer show a ৳0.00 tax line when no tax applies
  • Sending a receipt to a different email no longer silently overwrites the customer's saved address — saving is now opt-in and only offered when you change the email
  • The payment-link screen no longer claims no payment gateway is configured when one is
  • Logo and favicon uploads no longer fail when a super admin is managing a space on the owner's behalf
v5.3.1In progress

Security Hardening — Framework Upgrade, Enforced CSP & Script Integrity

Improved

  • Upgraded the platform to the latest secure framework release (Next.js 15.5), closing all known published vulnerabilities flagged in our independent security scan
  • Your browser now actively enforces our Content-Security-Policy on every page — malicious injected scripts, rogue framing, and unexpected form targets are blocked outright instead of just being reported
v5.3

Structured Addresses, Customer Avatars & Google Sign-in

New

  • Enter proper delivery addresses at checkout — smart Bangladesh, Thailand, and international address pickers walk shoppers through the right fields for their country and fill in the postcode automatically, so every online order arrives with a complete, accurate address
  • Capture a delivery address at the till in one tap — an optional delivery step on the POS lets cashiers add or confirm where an order is going, using the same smart address pickers, without slowing down a walk-in sale
  • Give every customer a face — profile photos now appear across your contacts, orders, receipts, and the till, from an uploaded picture, their Google photo, or a clean auto-generated initials avatar when there's no image
  • Sign in to your storefront with Google — shoppers can create an account or log in with one tap, bringing a verified email address and profile photo with them
  • Store structured addresses on customer profiles — add and edit properly formatted addresses for each customer, and backfill all your existing contacts in bulk from a CSV import

Improved

  • Delivery addresses now show up where your team needs them — on receipts, order detail pages, and the fulfillment board — with a per-store privacy toggle so you decide whether staff can see full customer addresses
  • Demo spaces have been refreshed with realistic Bangladesh and international addresses, so previews, screenshots, and trial spaces look true-to-life

Fixed

  • Delivery fees are now actually charged — the fee shown at checkout is applied to the order total on the server, instead of being displayed but never collected
  • Online card orders no longer default to the wrong city — the customer's real delivery address is sent to the payment gateway
v5.2

POSv2 Payments Wave — Real Refunds, Manager PINs & Customer Receipts

New

  • Send customers a beautiful branded receipt page they can open without logging in — every WhatsApp payment link and emailed receipt now leads to your store's own receipt page (with your logo), which doubles as the payment page: pay now, retry a failed payment, and see a clear paid confirmation
  • Email receipts for real — the email button now sends a branded receipt (via a popup that confirms or edits the customer's address, and can save it to their profile), instead of silently doing nothing
  • Refund card payments straight back through the payment gateway (PortPos today, any gateway tomorrow) — partial or full — guarded by an explicit 'this refunds real money' confirmation, and restricted to the Space Owner by default (grantable to any role)
  • Protect sensitive till actions with real manager PINs — each owner/manager sets a 4-digit PIN, cashiers get a touch pinpad for big discounts, voids, refunds, and cash payouts, and you decide per action whether it needs a PIN, is manager-only, or runs free
  • Look up and manage today's orders without leaving the till — a new Recent Orders panel shows the whole till's day, searchable by customer name, order number, or phone, with reprint, resend (email/WhatsApp), and void right there
  • Mark pay-on-delivery and due orders as paid with one button on the orders page — with a cash/terminal choice recorded in the audit trail
  • Sort the POS catalog your way — A→Z, Most Popular, or by price — and the till remembers each operator's choice; large catalogs now load as you scroll instead of all at once

Improved

  • Refunds finally show everywhere: refunded orders are badged 'Refunded' or 'Partially refunded' on the order list and detail (no more 'Paid' after a cash-back), reports show net revenue after refunds, and the customer ledger nets them too
  • The Returns page grew into a proper Refunds hub — refund totals for today and the month, search and date filters, who processed each refund, gateway status, and an 'Initiate refund' button that finds the right order (and explains why an unpaid order can't be refunded)
  • Order detail now shows the gateway's own records — PortPos invoice IDs, statuses, and refunds — and the space-wide Payments page includes POS card payments with a channel column, so reconciliation no longer requires guesswork
  • Add Custom Item is now the first tile on the till (no more hidden '+' button) and gained a details field that flows to the kitchen, order history, and receipts
  • Gift orders are unmistakable: a GIFT ORDER marker and the gift note print on the receipt, and the recipient's details are clearly labeled
  • Receipts and the till honor your time format — 12-hour by default (5:00 PM, not 17:00), switchable per store in POS settings
  • The Take Payment screen is one clean list in the order you use most — Payment Link, Cash, External Terminal, Pay on Delivery, Credit — with card-gateway and split payment below the line
  • The cart no longer vanishes if you leave the till mid-sale — it's restored when you come back
  • Adjusting stock no longer forces you to pick a reason

Fixed

  • Returns refunded too much on tax-exclusive sales (tax was counted twice) — refunds now return exactly what the customer paid
  • Unpaid orders no longer offer a refund
  • The order discount popup shows your store's currency symbol instead of a hardcoded $
  • WhatsApp payment-link messages now include the order details and link to your branded receipt page instead of a bare gateway URL
  • Saving POS settings no longer silently resets the delivery fee to 0
v5.1.1

POS Order Quality — Accurate Scheduling, Complete Orders & Configurable Receipts

New

  • Schedule POS deliveries with a clean 30-minute time picker that preselects the next slot at least an hour ahead — in your store's local time, so the time never drifts a day or hour when a cashier's device is set to a different timezone
  • Choose which optional fields print on your receipts — customer name, phone, address, delivery date, and order note — per store, honored on every receipt: at the sale, on reprint, and from a new reprint button on the orders list that shows a preview before printing
  • See how every order was paid at a glance — the orders list now has a payment-method column, and shows 'Split' for orders paid more than one way
  • Require a delivery date on delivery and pickup orders per store — walk-ins stay quick and need no delivery date

Improved

  • The order detail page now shows the full picture — delivery date & time, a gift indicator with its message, the delivery fee on its own line, and the order note entered at the till
  • Card-gateway payments are now labeled 'PortPos' everywhere — receipts, order detail, payments, returns, reports, and the cashier payment options — so the payment method reads consistently
  • Scheduled POS orders now appear on the fulfillment board with their delivery-date chip and turn up in the delivery-date filter

Fixed

  • Product names show cleanly across POS lines, order detail, and receipts — placeholder junk like 'New Variant' no longer appears
  • Unlimited-stock products correctly show 'Unlimited' instead of 'Out of Stock'
  • Reports show real money values again (fixed blank/NaN figures in revenue and outstanding), and customer balances always display in your store's own currency
  • Order-history import now accepts a discount column (percentage like '10%' or a flat amount) and recomputes totals consistently; the downloadable sample CSV documents the new columns
  • Walk-in sales no longer print a stray 'Delivery: today' on the receipt or show up as deliveries on the fulfillment board
v5.4.4In progress

Instant Card Confirmation — PortPos Payments Confirm on Their Own

Fixed

  • Card payments now confirm automatically within seconds — fixed the gateway notification so a paid card flips the order to paid without any manual 'check again'
  • The payment screen also re-checks with the gateway on its own while you wait, so a sale settles even if the instant notification is ever delayed
v5.4.3In progress

Payments You Can Trust — Accuracy, Honest Reports & Self-Healing

New

  • See exactly what you've actually collected — reports now show Collected, Credit/Due, Awaiting payment, and Declined separately, so unpaid card attempts never inflate your sales or tax numbers
  • Spot unpaid orders in the kitchen — fulfillment cards now carry a payment badge (awaiting / declined / credit) so staff never unknowingly prepare an unpaid order

Improved

  • Payment links now genuinely expire (7 days) and re-sending a link reuses the same invoice instead of creating a second payable one
  • Stuck payments self-heal — abandoned card attempts auto-close after 24 hours, expired links clean themselves up, and online-store orders recover automatically if the gateway confirmation is ever lost
  • Declined card sales automatically return their items to stock

Fixed

  • Fixed gateway refunds sending 1/100th of the intended amount — refunds now move the full amount
  • Booking-cancellation refunds now genuinely go to the payment gateway (previously they were recorded but no money moved)
  • Payments only settle when the amount actually paid matches the amount owed
  • Returns can no longer hand out cash refunds for orders whose payment never arrived; returns on credit sales now reduce the customer's outstanding due
  • Returning a bundle now restores the stock of its components correctly
v5.4.2In progress

POS2 — Recheck Payment, Cleaner Receipts & iPhone App Fixes

New

  • Recover a stuck card sale yourself — a new 'Recheck payment' button on any order that's still 'processing' re-checks with the payment gateway and marks it paid (or declined) on the spot
  • Smarter email receipts — a proper dialog confirms the customer's saved email or lets you type another, and offers to save a new address to their contact for next time

Improved

  • Declined card payments now clearly say 'Payment declined' instead of spinning on 'processing'
  • Receipt printing now produces a clean narrow receipt instead of a giant sideways logo

Fixed

  • Fixed the Charge button being cut off at the bottom of the screen while impersonating a space
  • Fixed the register on the iPhone home-screen app — the top bar now sits correctly under the status bar, the stray grey box in the cart is gone, and the on/off switches render as proper toggles
  • Marked SMS receipts as 'coming soon' since that channel isn't live yet
v5.4.1In progress

POS2 — Card Payments That Actually Confirm, App-Like Screen

Fixed

  • Card payments through the payment gateway now confirm properly — after the customer pays, POS2 waits for the live confirmation and shows a clear 'Payment successful' receipt instead of getting stuck on 'processing'
  • Any card payment that was left unconfirmed is now automatically reconciled against the gateway and marked paid once confirmed
  • The POS2 register now fits the screen like an app — the page no longer scrolls as a whole; only the product list scrolls, with the Charge bar always fitted to the bottom of the device
  • Cleaned up the on/off switches on the register so they look and behave like proper toggles
v5.4In progress

Fulfillment v2 — Kitchen-Ready Order Board

New

  • See every order as one card listing all its items — no more guessing which items belong together
  • Move a whole order forward (or undo it back) with big touch-friendly arrow buttons built for kitchen tablets
  • Tick off individual items inside a card as they're prepared, so the whole team sees what's done
  • Spot gift orders instantly with a gift badge, gift-wrapped item markers, and the gift message on the card
  • Choose when shipped orders leave the board — next day, next business day, after 3 or 7 days, or never — in the new Settings
  • Control what the expanded card shows (prices, notes, phone, address and more) per space in Settings
  • View an order's full status history — every change, when, and by whom — on the order details page

Improved

  • Delivery dates now sit top-right on every card, color-coded by urgency (overdue, today, tomorrow)
  • Much larger fonts and icon-first design so kitchen staff can read the board at a glance, with full Thai and Bangla translations
  • The board refreshes itself every 15 seconds — new orders appear without reloading
  • A small link on each expanded card jumps straight to the full order details page
v5.3.1In progress

POS2 Enhancements — Remote Payments, Inline Options & Full Receipts

New

  • Record card-machine sales with the new External Terminal option — pick the terminal and add a reference, just like the classic register
  • Print proper thermal receipts from POS2 — store logo, name, address, Tax ID, payment breakdown with change, and footer message, plus email, SMS and WhatsApp sending

Improved

  • Choose product options inline — tapping a multi-option product now expands its choices right under the card instead of opening a pop-up, on both grid and list views
  • Phone and WhatsApp orders are now one "Phone / WhatsApp" order type — one tap instead of two near-identical buttons
  • Delivery recipient name, phone and address fill in automatically from the selected customer — edit them freely for a different recipient
  • Card payments now show a clear "No payment gateway configured" notice when the gateway isn't set up, instead of silently completing the sale

Fixed

  • Sending a WhatsApp payment link or taking a pay-on-delivery order no longer demands that credit sales be enabled on the space — only real credit (pay-later) sales require it
  • Card payments now actually go through the payment gateway (PortPos) instead of marking the sale as paid immediately
v5.3In progress

Product Sizes & Quantities

New

  • Give any product a size or quantity — an amount plus a unit (e.g. 750 g, 1.5 kg, 12 pcs) — on the product and on each variant, so different sizes each show their own measure
  • Manage your own unit list in Inventory → Product settings: keep the built-in units (grams, kilograms, pieces, litres and more), hide the ones you don't use, or add your own
  • Import product sizes straight from a spreadsheet using the new Amount and Unit columns
  • Filter and sort products by size on the products list

Improved

  • Product pages and the register now show each item's size, plus a price-per-unit (e.g. ৳300 / 100 g) so shoppers can compare value at a glance
  • Size and option labels now show whatever you've set and nothing you haven't — a size-only variant reads simply "750 g" (instead of "New Variant · 750 g"), and the size is carried onto order lines and receipts
v5.1.4

Land Where You Work — Faster Sign-In & Cleaner Impersonation Bar

Improved

  • Sign in and pick up right where you left off — SpaceOS now returns you to the last page you were working on instead of always the dashboard
  • Platform owners go straight into the Super Admin panel on sign-in — no more switching in from your space view every time
  • The impersonation bar now sits cleanly above the app instead of overlapping it, so nothing at the top of the page gets cut off
v5.1.3

Impersonation & Super Admin Quality-of-Life Hotfix

Improved

  • Impersonation (“Use as user”) sessions now last 3 hours instead of 30 minutes, and the top indicator bar is half the height so it stays out of your way
  • A gentle prompt appears 15 minutes before an impersonation session expires, letting you extend it for another 3 hours with one click
  • Super Admins now return to the exact page they were last working on — after logging in, choosing the admin workspace, or exiting impersonation — instead of always landing on the dashboard

Fixed

  • Impersonated sessions no longer flash a full-page reload every minute — in-progress forms, dialogs, and scroll position are preserved while you work
v5.1.3

Reopened Bug Batch — Round 2

Fixed

  • POS Settings and Meeting Room Settings save buttons no longer all show a loading spinner when you click just one
  • Saving a POS fulfillment workflow step now tells you exactly which step and field failed, instead of a generic “Validation failed” message
  • Fulfillment step names are capped at a sane length so a long name can no longer break the workflow list layout
  • The Low Stock filter and the Stock badge on the Products page now always agree with each other
  • Inventory summary counts (Total / In Stock / Low Stock / Out of Stock) now reflect your full catalog instead of just the current page
  • The “Product name is required” error clears as soon as you type a valid name, instead of staying stuck until you submit again
  • Fixed product descriptions occasionally losing text when typing or pasting quickly near the character limit
  • Success and error toasts moved to the top of the screen so they no longer hide behind the feedback widget
  • Customer phone numbers are now validated to contain only digits and standard phone punctuation
  • Visitor check-in/check-out confirmations now use the same toast style as the rest of the app
v5.2In progress

POS2 (Beta) — A Faster, Phone-Friendly Register

New

  • Ring up sales on POS2 (Beta), a redesigned full-screen register with an always-visible Charge button so payment is never below the fold
  • Track every PR across the delivery pipeline on the new Delivery Board in Super Admin — live columns from open PR through gecko, staging, and main to verified-live-on-production, with one-click CI re-runs, auto-merge arming, and promote-PR creation
  • Take orders on your phone or tablet — a persistent bottom charge bar shows the running total, and the cart slides up as a bottom sheet
  • Browse the catalog as photo-forward tiles with one-tap category filters
  • Capture phone and WhatsApp orders with the customer, delivery details, and pickup or delivery scheduling attached
  • Add a gift note and deliver to a separate recipient with their own name, phone, and address
  • Collect remote payments your way — send a payment link, mark pay-on-delivery, or put it on the customer’s credit account
  • Complete cash sales on a built-in keypad with quick-tender chips and live change display
v5.1.2

v5.1 Polish — Bundles, Assets & Storefront

New

  • Bundle product pages now show a “What’s Included” list of components — with quantities and, per your Bundle Detail Level setting, savings or per-item prices
  • Delete a company asset (with its assignment history) directly from the Assets list or an asset’s page, and edit an asset from its detail page

Fixed

  • Paused stores now reopen automatically once the scheduled reopen date passes — no manual toggle needed
  • The Create Product form now accepts fractional opening stock (e.g. 0.5 kg) when you sell by weight or fraction, instead of rounding it down
  • The “Bundle Detail Level (Storefront)” setting now actually changes what shoppers see on bundle pages
  • Reorder is now disabled while a store is fully closed, matching the rest of the storefront
  • Password, coming-soon and country-block gates now cover every storefront page — including cart, checkout and account
v5.1.1

v5.1 Fixes & Refinements

Fixed

  • Fixed the Delivery settings page returning a 404 when opened from Website → Delivery
  • Fixed the “Accepting Orders” toggle failing to pause online ordering
  • Made bundle products publish to the storefront by default so they’re visible to shoppers right after creation
  • Geographic restrictions now apply to public visitors only — as a signed-in owner you can still preview how your store appears from a blocked country
  • Fixed asset assignment showing only one person — you can now assign an asset to any member of your space
  • New v5.1 screens (Delivery, Gift add-ons, Website Access, Assets) now translate with the language switcher (English / Bangla / Thai)
  • Fixed layout overflow on small phones (≈375px) in the cart, checkout steps, and delivery date picker
v5.1

Bundles, Delivery Scheduling & Store Controls

New

  • Create bundle products from inventory items — a gift box, hamper or combo draws stock from its components automatically
  • Schedule delivery dates at checkout with lead-time rules, daily capacity caps, and blackout dates
  • Pause and resume online ordering instantly — storefront shows a closure banner and blocks new orders
  • Add gift wrapping and seasonal add-ons at checkout with daily stock limits that reset automatically
  • Block specific countries from your online store, or put the entire site behind a password or coming-soon gate
  • Track company assets — laptops, furniture, equipment — with purchase records, assignment history, and warranty dates

Improved

  • Every new storefront gets real policy pages (About, Contact, Shipping, Privacy, Terms, Refund) with Bangladesh-appropriate starter copy
  • Checkout now shows a consent checkbox linking your Terms, Privacy, and Refund pages

Fixed

  • Fixed fractional stock quantities (e.g. 0.5 kg) rounding incorrectly during CSV import and stock adjustments
v5.0

Faster Storefronts — Instant Pages, Instant Edits

Improved

  • Your storefront pages now load dramatically faster for shoppers — home, product, about, contact and your policy & custom pages are served straight from the edge cache — while your edits still appear on the live site within seconds of saving
v5.0

Stronger Foundations — Data Safety & Exact Money

Improved

  • Wallet balances, invoices and payment records now use exact decimal math — amounts are always accurate to the cent, and reconciliation no longer reports phantom differences
  • Your customers' data now sits behind an additional always-on safety layer that keeps every space's information completely separate from every other space's
v5.0

Faster Dashboards & Snappier Pages

Improved

  • Dashboard widgets now load independently and in parallel — the page appears faster and one slow section no longer holds up the rest
  • Major screens (Reports, Users, POS, Kitchen ordering, Spaces admin, Roles, Company Rooms) now load faster and more reliably
v5.0In progress

Meeting Rooms — Import Rooms From Any CSV

New

  • Import meeting rooms from any CSV with column mapping — upload a spreadsheet, confirm how its columns map to name, room number, capacity, rate and amenities, review new vs. already-existing rooms, then import in one click (with a full-batch undo)

Improved

  • CSV imports for customers, products, orders and rooms now share the same familiar flow — upload, map your columns, review, import
v5.0In progress

Notifications — Header Bell & Order/Refund Emails

New

  • View in-app notifications from the header bell — a live unread count and dropdown that keeps owners and managers on top of fulfillment activity
  • Get an email when your order is ready for pickup (standard fulfillment workflow)
  • Receive an automatic refund email if a payment arrives after a booking hold has expired
v5.0In progress

Payroll — Salary Advance Approvals Without the Expenses Module

Fixed

  • Salary advance approvals now work in spaces that use Payroll without the Expenses module — turning approvals on gives you a ready-made advance sign-off chain, the advance shows up in your Approvals inbox for you to approve, and issuing one no longer fails with an approval error
v5.0In progress

Dark Mode — Switch the Dashboard to a Dark Theme

New

  • Switch the whole dashboard between light and dark from the moon/sun button in the header — your choice is remembered on this device and follows you across pages and new tabs

Improved

  • The dashboard now follows your device's light or dark setting the very first time you open it, with no white flash while the page loads
  • Dark mode is easier on the eyes across the app — cards, tables, dividers, input placeholders and buttons all read cleanly on a true-black background instead of leaving bright patches

Fixed

  • Exporting a POS Z-Report to PDF while the dashboard is in dark mode now produces a normal light, printable PDF instead of a black page
v5.0In progress

Kitchen — Filter Orders by Free or Paid

New

  • Filter your kitchen dashboard by All, Free, or Paid — see only no-charge orders (free items or waived), only orders that cost money, or everything, across the Active, Completed, and All tabs

Improved

  • New-order sounds and the active-order count stay complete even while you're filtered to Free or Paid, so a new paid order still flashes and chimes and is never missed
v5.0In progress

Customers — Every Customer Gets a Number & Phone Is Now Optional

New

  • Every customer now gets their own number, so people you serve without a phone or email — walk-ins and cash buyers — are still easy to tell apart in your customer list and when you pick them at the till
  • Phone is now optional when you add or edit a customer, so you can save a walk-in on the spot without making up a fake number
  • Phone is now optional everywhere you add a customer — entering a paper order by hand, or importing orders and customers from a spreadsheet — just give a name instead, and each phone-less person becomes their own separate customer

Improved

  • Typing a phone number a different way (for example 01713… instead of +88…) now gently warns you it looks like a customer you already have — and offers to open them — instead of blocking you with an error, so you decide whether it's really the same person
v5.0In progress

Retail — Fulfillment Sources, Web Orders on the Board & Void Fixes

New

  • Choose exactly what lands on your fulfillment board — turn made-to-order items, custom items, standard products, and website orders on or off from the board's settings, so the kitchen sees only what it needs to make
  • Work website orders right from the fulfillment board — paid web orders now appear as cards, and dragging one to the final column automatically marks it shipped and emails the customer their tracking details, so nobody has to open the website backend or forget an order

Improved

  • The POS Z-Report now lists voided sales in their own section, including how much is still owed back to customers as a pending refund — split into cash from the drawer vs. gateway — so a void never silently hides money that hasn't actually been returned
  • Tick off refunds as you give them — each voided sale on the Z-Report (and on the order page) has a 'Mark refund given' button that flips it from pending to a green 'Refund given', so staff have a running checklist and don't forget to return anyone's money
  • The Orders list now shows a clean red 'Void' tag for voided sales instead of dumping the raw void note into the table — the full reason stays on the order page
  • The Z-Report Payment Breakdown now splits each payment method by void status — real sales, voided-but-pending-refund, and voided-and-refunded show as separate lines with a clear note — so refunded cash that's already left the drawer isn't mistaken for collected revenue

Fixed

  • Voiding a sale now removes it from every report and dashboard — POS Z-Reports, sales totals, items sold, monthly summaries, and the home dashboard no longer count a voided order, while it still stays in your order list with its void reason for the record
  • Fixed the POS Z-Report Payment Breakdown showing a nonsensical percentage (e.g. 1,343,800%) on days where sales were voided — each method's share is now calculated against total payments taken
v5.0In progress

Payroll — Employees, Salary Versions, Runs, Advances & Settings

New

  • Manage your staff in one place — add employees with a code, department, and designation, enroll them in the Provident Fund with a single toggle, and deactivate a leaver while keeping their full history
  • Give each employee a salary structure with a basic and your own named allowance lines, and raise their pay over time as effective-dated versions that never overwrite the old one
  • Log overtime as hours × rate per month — it's paid in full on top of the prorated salary
  • Run payroll for a month — generate a draft, review each computed payslip with basic, allowances, overtime, PF, tax, advances, gross and net laid out clearly, then finalize to lock every payslip permanently for audit
  • Handle a partial month — when someone joined or left mid-month, choose how to prorate their basic and allowances (calendar-day, fixed-30, working-day, or a custom amount) and the draft recalculates
  • Issue an interest-free salary advance that auto-repays from monthly salary over a term you set, watch the outstanding balance, and settle it early in one click
  • Forgive an outstanding advance as a write-off — the remaining balance is cancelled, the employee never repays it, and it shows separately from advances repaid in cash
  • Give an advance as a gift — pay it out and record it with no repayment schedule at all, so it's never deducted from future salary
  • Tune your payroll policy in Settings — set the PF rate, edit the income-tax slabs and tax-free threshold, set a net-pay floor so deductions never push take-home below a safe minimum, and pick your default proration basis
v5.0In progress

Expense Management — Expenses, Requisitions, Petty Cash & Approvals

New

  • Record one-time and daily expenses with a payee, description, amount, and your own categories — and edit or remove them before they're finalized
  • Organize spend with custom expense categories you can rename or delete, with sensible defaults ready out of the box
  • Set up a recurring fixed cost (like rent or a subscription) once — approve it a single time and it posts automatically each month, with no monthly sign-off
  • Prorate the first month of a recurring expense so a mid-month start only charges for the days remaining
  • Create purchase requisitions with multiple line items and a live grand total that updates as you add items
  • Track several petty-cash funds at once, each with its own running balance and a Top up / Record spend / Adjust ledger that never lets a fund go negative
  • Attach up to three receipt photos when you record a petty-cash spend, preview them before saving, and reopen the thumbnails from the ledger later
  • Turn on approvals for spending when you want them — expenses and requisitions then need a sign-off before they're final, with an approval history you can follow on each item
  • Submit an expense or requisition for approval, see exactly where it stands, and edit it again if it's sent back for changes

Improved

  • Rename a petty-cash fund after creation from either the fund list or its ledger page, with duplicate-name protection
  • While an item is awaiting approval or already approved, it's locked from edits everywhere — not just greyed out on screen — so amounts can't be changed after sign-off
  • Approvals are off by default; a one-time prompt on the Expenses page lets you turn them on whenever you're ready, and it won't nag you again if you choose 'Not now'
v4.3In progress

Website Module — Catalog, SEO, Banners, Pages & Inbox polish

New

  • Switch your storefront to Catalog-only mode — customers browse products, categories, banners, and pages while Add-to-cart and checkout are hidden, ideal for showroom or wholesale-by-enquiry sites
  • Add alt text to each hero banner slide so the image is described for screen readers and search engines
  • Set per-page SEO — give any custom page its own search title, meta description, and an indexable toggle that adds noindex when you want a page hidden from Google
  • Set a site-wide title pattern (with a %page% placeholder) and an X/Twitter handle that now appear in your storefront's search and social link previews
  • Triage contact submissions — opening a message marks it read, you can archive or re-open it, and reply in one click via your email app; new messages show an unread dot
  • Connect Google Analytics 4, Google Tag Manager, or the Meta Pixel to your storefront by pasting your ID — no code required — plus a custom <head> snippet field for anything else
  • Show a cookie-consent banner on your storefront that holds analytics/tracking until visitors accept, with your own message and a link to your cookie policy
  • Edit your storefront emails — customise the subject, heading, and body for order confirmation, contact-inquiry, and owner-alert messages, set a sender name and reply-to address, and your brand color now flows into the email design
  • Charge shipping at checkout — turn on a flat shipping rate with an optional free-shipping threshold, shown as its own line in the cart and checkout summary alongside tax
  • Style each hero banner slide — set text alignment (left/center/right), choose a button style (solid/outline/link), and make the whole slide a clickable link
  • Connect a custom domain yourself — copy the exact DNS records, jump straight to your Cloudflare or GoDaddy DNS settings, and click Verify to confirm it's pointed correctly
  • Set up shipping zones — create your own regions (e.g. Inside Dhaka, Outside Dhaka, International) each with its own rate and an optional free-shipping-over amount; checkout automatically picks the right rate from the customer's address and falls back to a default rate
  • Control your hero banner slideshow — turn auto-rotate on/off, set the speed, pick slide or fade transitions, show/hide dots and arrows, and pause on hover
  • Block AI crawlers — one toggle adds the rules that keep GPTBot, ClaudeBot, CCBot, Google-Extended, PerplexityBot and others from scraping your storefront

Improved

  • The Catalog tab's Add product, Edit, and CSV import buttons now open the real product editor and importer — no more buttons that do nothing
  • Banner alt text, page SEO, the title pattern, the Twitter handle, and checkout mode all save properly and show up on your live storefront right away
  • Your storefront now serves its own robots.txt and sitemap.xml — search engines get a clean, per-site map that respects each page's indexable setting and hides the site during maintenance
  • The Catalog Variants and Inventory sub-tabs now show real summaries of your live catalog with one-click links to manage them in Inventory
v4.3

Universal CSV Import & Migration

New

  • Import products, customers, and orders from any CSV — map each column to the right field with smart auto-suggested defaults
  • Bring product photos across automatically — featured and in-description images are downloaded, optimized, and re-hosted
  • Save a column mapping for a source (WooCommerce, Shopify, or your own) and reuse it in one click
  • Preview your import before committing — see exactly which rows are new, matched, or flagged so you can fix issues before anything is written

Improved

  • Auto-detect your CSV's columns and pre-fill the field mapping so most imports need little or no manual setup
  • Reuse a saved mapping across repeat imports from the same source, so recurring migrations take seconds
v4.2

Dynamic Roles, Regional Tax & Offline POS

New

  • Create your own staff roles — start from a built-in role as a template, fine-tune individual permissions (never beyond your own access), and assign roles to specific space types with a default per type
  • Run a dedicated POS terminal — a full-screen mode hides the dashboard chrome to maximize screen space, and a POS-only login lands operators straight in the sale screen
  • Give cashiers a focused 'POS Operator' role that grants register access without exposing the rest of the dashboard
  • Install SpaceOS as a tablet/desktop app (PWA) that launches directly into the POS terminal
  • Set your own tax label per space — 'VAT', 'GST', 'Sales Tax', or whatever your region uses — and see it consistently across the POS cart, receipts, storefront, invoices, receivables, the Z-Report, and reports
  • Complete cash and credit sales even when the internet drops — they queue safely on the device and sync automatically the moment you reconnect, with no duplicates
  • Keep selling from your saved catalog while offline — products and prices stay available from the last sync
  • See a live offline status pill showing how many sales are waiting, plus a sync panel to review anything that needs a manager

Improved

  • Oversold offline sales are flagged for a manager to review on sync rather than being silently dropped
  • Card payments are clearly blocked while offline (they need a live connection) so you're steered to cash or customer credit instead of dead-ending
  • On iPhone/iPad, a prompt now guides you to add SpaceOS to your Home Screen before relying on offline mode, so unsynced sales aren't lost to a browser tab clearing its storage
  • Built-in system roles can no longer be deleted, and Space Owner stays the locked default maximum-permission role for every space

Fixed

  • Fixed creating a custom role from a base template — cloning a role that included everyday permissions (like visitor check-in) no longer fails with a permissions error
v4.1

Customer + Product + Past-Order Imports & Inventory Hub

New

  • Bulk-import your customer book from a CSV — phone number is the unique key, so re-uploads safely match existing customers without overwriting their details
  • Bulk-import products and variants from a CSV — supports auto-generated SKUs, slug uniqueness, and category auto-create with no manual setup
  • Bulk import past paper orders from a CSV — multi-line orders, automatic customer creation by phone, dry-run review with new/matched/error badges, and full Past Imports / Undo support
  • Manually enter a single past paper order on screen when CSV isn't practical — one form covers customer + date + line items + optional total override
  • See every CSV import in one place with the new Inventory hub — Customers, Products, Orders all tracked with row counts, who imported, when, and one-click Undo
  • Undo any past import safely — protected rows still referenced by orders or stock are kept; only unreferenced rows are removed
  • View kitchen and lunch as separate staff roles — Kitchen Staff now own kitchen orders, while a new Lunch Staff role owns lunch orders, so each team only sees what they need to act on
  • Edit POS orders after they're created — change the linked customer, line items, totals, order date, or notes from a single Owner-only edit drawer with built-in conflict protection
  • View a change log for every order — every edit shows who changed what and when, including legacy customer-change rows, so back-office adjustments are fully auditable

Improved

  • Imported past orders stay out of your live revenue dashboards — back-filling old paper orders never inflates today's sales
  • Space Managers can now assign every team role except Space Owner — including promoting another teammate to Space Manager, Finance, Kitchen Staff, or Lunch Staff — so Owners no longer have to handle every role change personally
  • Removed mobile bottom navigation; the left-side nav (opened via the hamburger menu) is now the sole mobile nav surface, freeing up screen real estate for content
v4.0.1

Website Module Polish

New

  • Anonymous cart items and held bookings now follow you when you sign in, sign up, or claim your account via magic link — nothing is lost at the auth boundary
  • Apply a promo code right on the checkout page with inline validation, discount preview, and a one-tap Remove

Improved

  • Adding a product to your cart now reserves that stock for a configurable window — so two shoppers can never both buy the last unit

Fixed

  • Account pages on stores that don't have the website module no longer bounce visitors to a confusing sign-in screen
v4.0

Website Module

New

  • Launch a public storefront at spaceos.app/{spaceSlug} or a custom domain — branded home page with hero slider, category tiles, curated home strips, and an editorial block
  • Browse the full product catalog by category with filters (price bucket, in-stock), sort, and numbered pagination
  • View product detail pages with image gallery, variant selector, quantity stepper, sanitized description, and related products
  • Sign up or sign in with email + password or Google SSO; convert a guest checkout into a full account via a one-tap magic-link email
  • Build a mixed cart of products and bookings that persists across devices and merges anonymous → signed-in on sign-in
  • Pay with Stripe card, PortPos, or cash on delivery in a single 3-step checkout
  • Apply promo codes at checkout with percentage, fixed, or shipping discounts
  • Receive an order confirmation email and revisit any order from /account/orders
  • Book a public resource from the storefront with a real-time availability widget and confirm free bookings (community access, 100%-off promo, $0 total) without a payment step
  • Show a scannable QR pass at check-in for every confirmed booking from /account/bookings
  • Edit About, Privacy, Terms, Refund, and custom marketing pages from the admin Pages tab with a rich-text editor and draft/publish control
  • Toggle transactional email templates per space (order confirmation, shipped, delivered, refunded, booking confirmation, owner alert, contact inquiry) and send test emails before going live
  • Submit a contact form on the storefront and notify multiple owner-alert addresses
  • Browse upcoming events (preview UI) on /events with featured cards, category filter, and a Tickets tab under My account
  • Curate hero banners (desktop + auto-mobile crop, schedule windows, CTA buttons, drag reorder), home strips, category storefront visibility, editorial block, and SEO defaults from the admin Website module
  • Bind a custom domain from the Branding tab and pick brand color, logo, site name, and tagline that the storefront reflects immediately
  • Switch between light and dark mode on the storefront with WCAG AA contrast preserved against the configured brand color

Improved

  • Every storefront is completely walled off from every other — your catalog, customers, and orders can never surface on another space's site, even via guessed URLs
  • Features you turn off disappear entirely — no leftover menu entries, and their pages can't be reached from old links or stale tabs
  • Storefront pages serve full SEO metadata, Open Graph cards, Twitter Cards, and JSON-LD for richer search results and social previews; per-tenant /sitemap.xml + /robots.txt help search engines crawl correctly
  • Booking confirmation email embeds a scannable QR code for fast door access
  • Currency on every storefront surface renders from the tenant's primary currency setting (no more hardcoded BDT)
  • Mark orders as shipped or delivered from the admin order detail — customers get notified automatically
  • Cart and booking hold windows (how long an item stays reserved for a shopper) are now configurable, so reservations match how your business sells

Fixed

  • Cart, checkout, product and category pages for a disabled storefront feature can no longer be opened from stale browser tabs
v4.0-p108

Events Preview

New

  • Browse upcoming events on the storefront /events page with featured event card, category filter, and grid
  • Open event detail pages (/events/{slug}-{shortId}) with hero image, ticket tier list, and a disabled "Coming soon" reserve CTA
  • See a Tickets tab under My account with an honest empty-state preview of the future ticketing experience

Improved

  • Turn Events on or off per space — switching it off hides the listing, event pages, the Tickets tab, and every menu and sitemap entry
  • Per-tenant sitemap now includes /events and each event detail URL when the events module is enabled
v4.0-p107

Pages, Emails & Contact

New

  • Edit About, Privacy, Terms & Refund pages with a rich-text editor from the admin Pages tab
  • Create custom marketing pages (FAQ, Locations, etc.) with draft/publish controls
  • Toggle transactional emails (order confirmation, shipped, delivered, refunded, booking confirmation, owner alert, contact inquiry) on or off per space
  • Send a test email from any template to verify formatting before going live
  • Submit a contact form on the storefront /contact page; submissions are persisted and notify your team
  • Receive owner alerts and contact-form notifications to multiple addresses configured in the Branding tab
  • Mark orders as shipped or delivered from the admin order detail — customers get notified automatically

Improved

  • Country-aware Privacy / Terms / Refund drafts are pre-seeded when a space activates the website module
  • Booking confirmation email now embeds a scannable QR code for fast door access
v4.0-p106In progress

Public Bookings

New

  • Book a space from the storefront — browse public resources by type, pick a slot, and add it to your cart in one tap
  • View your bookings under My account with filter pills (All / Upcoming / Completed / Cancelled)
  • Show a QR pass at check-in — every confirmed booking renders an inline QR code on its booking detail page
  • Confirm free bookings without payment — community access, 100%-off promo codes, and zero-total carts skip the gateway and confirm in one step

Improved

  • Resource booking slot holds now auto-expire after 5 minutes (down from 15) to reduce squatting on popular slots
  • Admins can feature resources on the bookings home and capture amenities + house rules directly from the resource edit form
v4.0-p105In progress

Promotions & SEO

New

  • Run promo codes on the storefront — create percentage or fixed-amount codes with eligibility rules, expiry, and per-customer caps from the new Promotions tab
  • Apply a promo code at checkout to discount your order — the discount appears on your order confirmation and order history
  • Edit per-page SEO from the admin SEO tab — set defaults for the whole site or override titles, descriptions, canonicals, and Open Graph images per product and category

Improved

  • Storefront pages now serve full SEO metadata, Open Graph cards, Twitter Cards, and JSON-LD for richer search results and social previews
  • Per-tenant /sitemap.xml and /robots.txt help search engines discover and crawl each storefront correctly
v4.0-p104In progress

Cart, Checkout & Order Channel

New

  • Build a mixed cart with products and bookings — your cart stays with you across devices when you sign in
  • Pay with Stripe card, PortPos, or cash on delivery — one checkout, three ways
  • View your order history at /account/orders and revisit any order with a single signed link
  • Receive an order confirmation email — guests get a one-tap link to set a password and claim their account

Improved

  • A booked slot now stays reserved while you finish browsing — even before you've signed in
  • Currency on every storefront surface renders from the tenant's primary currency setting (no more hardcoded BDT)
v4.0-p103

Storefront Catalog

New

  • Browse a tenant's storefront with hero slider, category tiles, curated home strips, and an editorial block
  • Filter and sort products on category pages by price bucket, in-stock, and sort order; deep-link via numbered pagination
  • View product detail pages with image gallery, variant selector (when applicable), quantity stepper, sanitized description, and related products
  • Curate hero banners with desktop + auto-derived mobile crop, schedule windows, CTA buttons, and drag reorder from the admin Banners tab
  • Curate home strips (newest / by category / manual), category storefront visibility + order + price buckets, and a home editorial block from the admin Catalog tab

Improved

  • Inventory product editor gains a Featured-order field for storefront sorting
v3.2

Space Type Bundling & Auth

New

  • Run a single-company office without a fake sub-company — invite kitchen, lunch, and visitor staff directly to the space
  • Run a retail store without a fake company — invite cashiers and store managers directly to the space; shoppers continue to live in the customer database
  • Sign in with your company email on single-company offices and retail stores — set allowed domains on the Space and Google login auto-creates accounts
  • Open the command palette from anywhere with Cmd+K (Mac) or Ctrl+K (Windows/Linux) to jump to any page or settings screen
  • Convert a space from one type to another from Space Settings — see exactly which modules turn on/off and which data stays before confirming

Improved

  • Modules page redesigned as cards grouped by category (Workspace / Food / Commerce / Admin) with bundle defaults, Modified chips, and an impact preview before toggling
  • Sidebar refactored into 4 collapsible categories with refreshed typography, spacing, and active-state indicator; open/closed state persists per user
  • Sidebar hides items that don't apply to your space type — desks and packages disappear in retail; companies disappears in single-company
  • New Space Settings → Sign-in & Domains section for setting up domain-based auto-registration outside coworking

Fixed

  • Domain claims are now blocked from being added to both a Space and a Company in the same workspace — the conflict surfaces with a clear error
v3.1

Retail Polish & Bug Fixes

New

  • View order and payment numbers as human-readable sequences (e.g. Order #1000, Payment #1041) instead of long IDs
  • Open a payment detail page that shows the full order summary — line items, totals, customer, and payment method
  • Attach an existing customer or quick-create a new one to a placed order from the order detail page
  • Set per-product and per-variant tax rate overrides, with an Inherit option that shows the resolved parent rate in italics
  • Configure a global default tax rate and tax-inclusive pricing toggle from the new Products Settings page (gear icon top-right)
  • Pay with quick-tender chips below Amount Received — a 'Full' chip plus 2–4 denomination chips drawn from your space's currency

Improved

  • Every retail surface (POS, Inventory, Customers, Orders) renders prices in your Space currency — no more $ leaking in BDT or THB spaces
  • Products list prices show whole numbers without trailing .00 (e.g. ৳1,250 not ৳1,250.00) and keep 2 decimals when the fraction is non-zero
  • Variant manager has Name + Value inputs and no longer breaks page width when you add many variants
  • Orders list date column renders consistently as 24/JAN/2024 14:32 across all locales
  • Notes on the Orders list now wrap fully — no more silent truncation
  • Stock Log shows the user (name + role) who performed each adjustment
  • Cash payment Amount Received starts blank so cashiers type the actual amount received
  • Numeric step controls in payment interfaces increment in whole units, not decimals
  • Per-space cash rounding (BDT=1, THB=1, USD=0.01) applies at the cash tender total with a Cash Rounding line on the receipt when non-zero

Fixed

  • Fixed checkout failing when a discount was applied
  • Fixed split payment failing to complete across multiple methods
  • Fixed Fulfillment tab rendering blank for Made-to-Order orders
  • Removed the cluttered Margin column from the Products list
  • Moved Clear All Products from the Products list into Space Settings → Danger Zone, gated to Space Owner only
v2.5

Smarter Signup & Independent Roles per Space

New

  • Choose your space type during signup with template descriptions and an 'Other' option for custom types
  • Each space now gets its own role configurations instead of sharing a single global set

Improved

  • Template picker in signup now shows helpful descriptions for each space type
  • Space type selection is required during signup for better onboarding

Fixed

  • Setting up a second space no longer silently overwrites the first space's role settings
  • Fixed missing template descriptions for Sports Facility and other non-Coworking space types in signup
  • Removed leftover test entries that cluttered the space type picker
v2.4

Space Types & Role Templates

New

  • Define role template bundles per space type with versioned configurations
  • Auto-create template roles during space onboarding based on the selected space type
  • Filter roles by space type, template source, and specific template version
  • View template audit reports showing which spaces use which templates and role configurations

Improved

  • Roles page clearly distinguishes template roles from custom roles with provenance badges
  • Onboarding pre-selects modules and role templates based on chosen space type while allowing overrides
  • Template versioning tracks changes to role definitions over time for audit compliance
v2.3

Payments & Receivables

New

  • Pay for kitchen orders online at checkout using your space's payment gateway
  • Pay for lunch orders online at the time of pre-order
  • Pay company invoices online directly from the invoice page
  • Receive refunds for cancelled paid resource bookings through the original payment gateway

Improved

  • All paid modules (resources, kitchen, lunch, invoices) share a unified receivables ledger for consistent reporting
  • Reconcile gateway transactions against SpaceOS records from the new reconciliation dashboard
  • Permission descriptions, search, and grouping make managing 100+ permissions practical
v2.2

Platform Enhancements & Resource Bookings

New

  • Book sports courts, event spaces, and other configurable resources with real-time availability
  • Select hourly or fixed-slot booking modes per resource
  • Pay for resources online, via company invoice, or for free — configured per resource
  • Staff can book resources on behalf of walk-in guests by entering their name and contact
  • Soft-delete rooms, desks, menu items, companies, and users with full cascade handling
  • Spaces configure their own Stripe, PortPos, and 2C2P payment gateways

Improved

  • Module catalog shows descriptions, feature lists, and cost information for each module
  • Space type (Coworking, Sports Facility, Event Venue, etc.) sets sensible default modules during onboarding
  • Delete actions show an impact summary before execution so nothing is removed unexpectedly
v2.1

Self-Service Onboarding

New

  • Sign up and create your own workspace without needing an admin invite
  • Verify your email with a configurable grace period before enforcement
  • See trial countdown with color-coded urgency and subscribe when ready
  • Apply promo codes during signup for extended trial periods
  • Receive automated email reminders before your trial expires

Improved

  • Space Owners manage their own billing lifecycle end-to-end
  • Non-owner roles see clear messaging when trial expires
v2.0.1

Displays, Scheduling & Polish

New

  • View meeting room availability on dedicated tablet/TV displays
  • Add special request notes to individual kitchen order items
  • Schedule announcements to publish at a future date and time
  • Provide a cancellation reason when cancelling a booking
  • Download invoices directly from the subscription page

Improved

  • Company privacy modes for room displays — hide sensitive meeting info
  • Calendar week view works properly on mobile with room pre-selection
  • Booking timezone handling corrected for cross-timezone spaces

Fixed

  • Fixed pages occasionally refusing to load until a hard refresh
  • Image uploads show preview immediately in lunch menu config
  • Users with higher roles can no longer be edited by lower roles
  • Admin-only rooms are hidden from regular user booking views
  • 30+ smaller issues resolved across the app based on customer feedback
v2.0

Production Ready

New

  • Subscribe to SaaS plans with per-seat, flat-rate, or tiered pricing
  • View and manage your subscription from a dedicated My Subscription page
  • Receive personalized payment emails with your space branding

Improved

  • Dates, times, and currencies display in your space's locale format
  • Pages load noticeably faster across the app
  • Smoother, more reliable Stripe checkout and billing portal
v1.9

UX Polish & Fixes

New

  • Set booking penalty rules for no-shows and late cancellations

Improved

  • Cleaner UI across all pages — unused features hidden, labels fixed
  • Improved filters on companies, users, bookings, and reports pages
  • Better calendar views with enhanced day/week navigation
  • Company and user management flows streamlined
  • Announcement editor cosmetic improvements
v1.8

SSO & Domain Management

New

  • Sign in with Google across all roles
  • Auto-register users from approved email domains — no manual invites needed
v1.7

Lunch Orders & Service Features

New

  • Pre-order lunch from the cafeteria menu with scheduled pickup/delivery
  • Tap 'Call for Service' to request staff assistance from your desk
  • Configure working hours per space and per room

Improved

  • Lunch kitchen dashboard with 5-tab workflow (Summary → Confirmation → Collection → Delivery → Settlement)
v1.6

Kitchen Overhaul & Room Management

New

  • Assign rooms to specific companies for private meeting spaces
  • Order from a categorized menu with item modifiers and customizations
  • Track your order status in real-time from placement to delivery
  • Kitchen staff manage orders on a Kanban-style dashboard with sound alerts

Improved

  • Drag-and-drop configurable order workflow steps
  • Delivery management with room-based routing
v1.4

Feature Modules

New

  • Enable or disable modules per space (Kitchen, Lunch, Desks, Rooms, Visitors, Announcements, Service)
  • Disabled modules are fully hidden — no leftover menu items or reachable pages

Improved

  • Modules work independently of billing packages — mix and match freely
v1.3

Desk Booking

New

  • Book a hot desk by clicking on an interactive floor plan map
  • Build floor plans with a drag-and-drop grid canvas editor
  • View occupancy levels and available desks at a glance
v1.0

Initial Launch

New

  • Manage coworking spaces with companies, users, and role-based access
  • Book meeting rooms with calendar integration
  • Order from the kitchen with real-time status tracking
  • Subscribe and pay via Stripe (checkout, invoices, billing portal)
  • Receive email notifications for bookings, orders, and invoices

Ship weekly, with us.

Start free, switch on the modules you need, and tell us what to build next.

Free to start · No credit card required · Cancel anytime