Product updates
Changelog
Everything new, improved, fixed, and removed in Fixmo. Newest first.
- FixedHigh prioritySeptember 4, 2026
Fixed: an invoice would not take payment again after a payment was deleted
If you recorded a payment on an invoice, deleted it because the amount was wrong, then tried to record the corrected payment, Fixmo answered “Something went wrong. Please try again later.” It named nothing, and it happened every time you tried. The invoice was stuck. Correcting a mis-keyed amount is an ordinary thing to need to do, so this was worth getting right. The cause was that deleting a payment did not undo everything recording one had done. Recording a payment takes the goods out of stock, creates a sale behind the invoice, records the agent’s commission, and marks the serial numbers on the invoice as sold. Deleting the payment removed the sale and the commission. It left the stock deducted, and it left the serial numbers marked as sold. So when you recorded the payment again, Fixmo tried to record the same serial number a second time, and the whole operation stopped there. Deleting a payment now reverses all of it. The quantity goes back on the shelf, serial numbers that came from stock return to being in stock, and serial numbers you typed in by hand are removed. Recording the corrected payment then works, and it takes the stock down once instead of twice. Two related problems were fixed alongside it. When a serial number on an invoice is already recorded against another sale or repair, Fixmo now says so and names the number, instead of failing without explanation. And a sale created by paying an invoice now carries the commission agent from that invoice, so the agent shows on it correctly and an exchange against it no longer loses their commission. One thing this does not do. Stock left wrong by the old behaviour is not corrected for you. If you deleted a payment on an invoice before today, check the stock figure for the items on that invoice.
- FixedHigh prioritySeptember 4, 2026
Fixed: a flat figure typed in a percentage box was accepted as a percentage, however large
Several places in Fixmo put a number box next to a small toggle that switches between a percentage and a flat amount: the agent commission on a sale, repair or invoice, the discount on a line and on a whole order, and the default advance payment for repairs. If you typed a flat figure while the toggle was still on %, Fixmo took it at its word. A commission meant as a flat 2,000 entered with % still selected became a commission of 2,000 percent — on a 10,000 sale, that is 200,000, recorded quietly with nothing on screen to suggest anything was wrong. The mistake takes one moment to make and is invisible afterwards, because the saved record shows only the resulting figure. Percentages are now capped at 100 everywhere one is entered. The box refuses a larger number as you type it and says so, suggesting the fixed-amount setting if a flat figure is what you meant, and it re-checks the number when you flip the toggle, so switching from amount to percent can no longer carry a large figure across. The server applies the same limit, so nothing can get in by another route, and the amount is checked once more when it is worked out — which also covers an agent whose saved default rate was set before this change. Discounts have a second guard: a line can now be reduced to zero but never below it, so an over-large discount on one item can no longer eat into what another item on the same sale contributed. Tax rates and promotional-sale percentages were already limited to 100 and are unchanged. Figures already recorded are not rewritten — if you find a commission or discount that looks wrong, it still needs correcting on the record itself.
- FixedHigh prioritySeptember 3, 2026
Fixed: out-of-stock serialized items could not be selected when purchasing inventory
When adding a product to a purchase order, or to a supplier's price list, Fixmo was applying the rules that govern selling stock rather than buying it. A product variation that tracks serial numbers and had run out was shown greyed out and could not be picked at all — so the moment you most needed to reorder something, the moment you had none of it left, was the moment the screen refused to let you order it. Purchasing now treats acquiring stock as a different thing from selling it. On a purchase order or a supplier price list, the quantity you currently hold no longer decides what you may order: variations sitting at zero, or below zero, can be selected like any other, and serial numbers are not asked for while the order is being placed. Serial numbers are still recorded exactly where they always were, when the goods arrive and are received into stock. Nothing changes on the selling side — the stock limits, the negative-stock setting and the serial-number rules for the POS, sales, invoicing and repairs all behave as they did before. Affects every shop; no action required.
- FixedHigh priorityAugust 29, 2026
Fixed: in rare cases one shop's customer details could be reached from another shop
When an invoice, repair or sale was created, Fixmo accepted the customer, branch, job and sale it was pointed at without first confirming those records belonged to your shop. In practice that meant a request naming another shop's customer would be accepted, and the reply could carry that customer's email address back — an address the person making the request never had. It also let a document pick up another shop's branch code, which starts a stray numbering series in your own document codes. Every one of those references is now checked against your shop before anything is read or saved, and anything that is not yours is refused outright. The same check was added to supplier contacts, where the list of linked products was accepting items from other shops and showing their names and product codes back. We have no evidence any of this was used, and nothing was visible inside another shop's screens — the records simply pointed across. Affects every shop; no action required.
- FixedHigh priorityAugust 29, 2026
Fixed: the Team page was sending more about each person than it should have
The team list was returning every column stored against a person, not just the ones the screen shows. That included the encrypted form of their password, the one-time links used to reset a password or verify an email, and the security PIN field — for everyone in the shop, including the owner, to anyone who could open the Team page. It also included the invitation links for anyone you had invited and who had not yet accepted, and those links are what create the account, so holding one is enough to use it. Nothing was shown on screen and nothing was ever displayed to a user, but the information was being sent to the browser. The team list, the add-member reply and the edit-member reply now return only the fields the page actually uses. If you have pending invitations you would like to be certain about, cancel and resend them from Settings, Team.
- FixedHigh priorityAugust 29, 2026
Fixed: cost prices and customer phone numbers appeared on screens where you had hidden them
Turning off 'See cost price' or 'See contact details' hid those fields on the screens built around them, but eight other places were still sending them: the repair list and the dashboard both carried the customer's phone number, the dashboard also carried the postal address on a second list, the sales list carried it too, and the Finance insights page listed your top customers with their numbers. On the cost side, a repair's page hid the cost of parts you might add while showing the cost of every part already fitted, and the supplier item list, the low-stock list and combo products all still carried it. All of them now respect the setting. If you had switched either of those off for a role, they now behave the way you expected when you switched them off.
- FixedHigh priorityAugust 29, 2026
Fixed: branch managers and cashiers could see other branches' money
For shops with more than one branch, three places were adding up figures across the whole shop while the rows beneath them were correctly limited to the person's own branch. The Finance transactions list showed other branches' agent commissions and supplier payments; the expense page's category totals showed the whole shop's spending, so a branch cashier could be told the shop had spent nine million on rent when her branch had spent under four; and the owner's capital in and out of the business was readable in full by any manager who had been given that permission, whichever branch they belonged to. All three now follow the same branch rule the lists beside them already followed. Only affects shops with more than one branch.
- FixedMid priorityAugust 29, 2026
Fixed: some records were still reachable after you removed access to them
Removing 'View sales' from a role stopped the sales list but not an individual sale or its printable receipt, so anyone who could get hold of a sale's link still saw the whole thing. The supplier and agent search boxes, which feed the dropdowns when you are typing a name, were answering for people who had no access to suppliers or agents at all — returning names, contact people, phone numbers, email addresses and payment terms. And the plan usage page was showing subscription pricing to anyone allowed into Settings, rather than only to those allowed to see billing. Each of these now checks the same permission as the list it sits beside.
- ImprovedMid priorityAugust 29, 2026
Improved: the permission change log now records everything, including what it used to miss
Resetting a role or a person back to defaults sometimes cleared a setting and wrote nothing to the log, so the change history did not tell the whole story. Clearing someone's personal settings because their role changed was recorded as a single unlabelled line that no filter could find, without the address it was made from. Both now record every setting that was cleared, one line each, filterable by section like every other change. Saving permissions also behaves better under pressure: if two people save at once, or something else in the shop is busy, you now get a clear 'try again in a moment' within a few seconds instead of a long wait ending in a generic error — and a save that the server cannot read now says exactly which setting it could not understand, instead of quietly reporting success and changing nothing.
- ImprovedMid priorityAugust 29, 2026
Improved: your permission settings can no longer be quietly ignored
If Fixmo could not read a shop's permission settings — during a deployment, or a brief database problem — it fell back to the old fixed behaviour for that request and carried on, which meant every restriction you had configured was ignored and nothing said so. It now retries, then uses the last settings it successfully read rather than falling back, records the problem loudly if it still cannot, and refuses to start at all rather than serve a shop with its permissions ignored. This is invisible when everything is working, which is most of the time; it matters on the day it is not.
- AddedHigh priorityAugust 29, 2026
You can now decide exactly what each role, and each person, is allowed to do
Until now, what a Manager, Technician or Cashier could do was fixed. It was written into Fixmo and the same in every shop, so if your cashier needed to void an invoice, or your senior technician needed to see the whole branch's jobs, there was nothing you could do about it. Settings now has a Roles & Permissions page. Every feature in Fixmo, 176 of them, grouped into 18 sections with a search box, and a switch against each one. Change a whole role, or change one specific person and leave everyone else on the role's settings. Each module also has a data scope, so you can say whether someone sees only their own records, their branch's, or every branch's. Turning something on or off that would break something else is refused with an explanation instead of being allowed to happen: switching off 'View invoices' while 'Create invoice' is still on tells you which permissions depend on it, and switching on something that needs another permission offers to turn both on together. Where a change would let one person both raise and approve the same thing, you get a warning and the choice is recorded. Every change is written to a log with who made it, when, from what to what, and from which address, and that log cannot be edited or deleted. There is a Reset to default on every role and every person. Only the shop owner can open this page, and that is deliberately not something that can be given away, because whoever held it could give themselves everything else. Your existing setup is unchanged: everyone keeps exactly what they had, and the page simply shows you what that is. A few things did change, because we found real gaps while building this. Cashiers could see every branch's finance figures, not just their own branch's. Anyone signed in, including a technician, could reach the bulk import screens and overwrite your customer list or your stock. The billing page, your cost prices, the WhatsApp conversation history and the exchange list were readable by more people than intended. Those are now closed. Affects every shop with more than one user; no action required, though it is worth a look at Settings, Roles & Permissions to see how your team is set up.
- ImprovedHigh priorityAugust 17, 2026
Change due now works on repair payments, invoice payments, and the sales form
The 'Cash received' box that works out a customer's change arrived in the POS first, but cash gets taken in three other places, collecting the balance when a repair is delivered, recording a payment against an invoice, and creating a sale from the Sales page, and none of them had it. Now all four use exactly the same box: type what the customer handed over and the change due appears underneath, whether the payment is all cash or cash is one leg of a split. As in the POS, the amount recorded is always the amount actually taken, so cash drawer balances, account totals, and reports are untouched. To be clear about what did not change: automatic printing stays a POS-only behaviour. Only a completed POS sale sends its receipt to the printer on its own, sales created from the Sales page, repair payments, and invoice payments print only when you press Print on that record, exactly as before. Also new in the Help Center: a guide to setting up a counter terminal so POS receipts print with no browser confirmation at all. Affects anyone taking cash on a repair, an invoice, or the Sales page; no action required.
- AddedHigh priorityAugust 16, 2026
The POS now works out a customer's change for you
When a customer hands over more cash than the sale comes to, the counter had to do the subtraction, on paper, on a phone, or in their head, and mistakes there cost real money. Now the payment window has a 'Cash received' box: type what the customer actually gave you and the change due appears underneath straight away. A Rs 8,024 sale paid with a Rs 10,000 note shows Rs 1,976 change. It appears whenever cash is involved, including when cash is only one part of a split payment, in which case the change is worked out against the cash portion alone. If you type too little, Fixmo tells you how much is still short instead of showing change. Both the cash received and the change are printed on the receipt so the customer can check it. Importantly, none of this changes what gets recorded: the payment saved against the sale is still the amount actually taken, so cash drawer balances, account totals, and revenue reports are completely unaffected. Affects everyone taking cash at the POS; no action required.
- ImprovedHigh priorityAugust 16, 2026
Completing a sale now prints the receipt and moves straight to the next customer
Finishing a sale used to take three clicks, Complete Sale, then Print, then New Sale, with a receipt filling the screen in between. On a busy counter that added up. Now pressing Complete Sale sends the receipt to the printer and clears the cart immediately, so the terminal is ready for the next customer with nothing to dismiss. Your browser will still show its own print confirmation unless the counter's browser is set up for silent printing (in Chrome, launching with the --kiosk-printing flag removes that step entirely and makes it a single click). Nothing is lost by not seeing the receipt on screen: every sale can be reprinted from the Recent Sales tab in the POS, which now has a printer icon on each row for exactly that, and the full-size printable templates are still on the sale detail page. Affects everyone using the POS; no action required.
- FixedHigh priorityAugust 4, 2026
Non-admin staff now see your whole product catalogue in inventory and search
Managers, Cashiers, and Technicians used to lose products from the Inventory list and global search whenever an item had no stock recorded at their branch, so a product that showed up fine in POS could be completely missing from search for everyone except the Admin. That's fixed. A product belongs to your shop, not a branch: now every role sees the full catalogue everywhere, and the branch only affects the quantity shown. An item with no stock at your branch appears clearly as 'Not stocked at this branch' (quantity 0) instead of vanishing, so staff can still find it, sell it, or restock it. Each branch's own quantities stay private to that branch, and Admins keep the shop-wide view. Affects all non-admin roles; no action needed and no data migration required, it takes effect the moment the update ships.
- FixedHigh priorityAugust 4, 2026
Cashiers can now create invoices and quotations
Cashiers could open the New Document form and fill in a whole invoice or quotation, only to be blocked with a 'Forbidden' error when they pressed save. Now cashiers can run the normal invoicing workflow end to end, create invoices and quotations, add products and services, record payments, and convert quotations, for their branch, exactly like the buttons always implied. Nothing new was handed to cashiers beyond invoicing: voiding a document stays Admin-only, and Settings, Team, and Reports remain restricted. Affects Cashiers; no action required.
- ImprovedMid priorityAugust 4, 2026
Clearer message when a serial-tracked item is out of stock
Adding a serial-tracked item with nothing in stock used to show a confusing 'Max stock (0) reached' message in the POS. Now Fixmo explains it plainly, 'this item is serial-tracked and out of stock; receive units (with their serial numbers) before selling it', so staff know exactly what to do instead of thinking the item can't be sold. Serial-tracked items are still sold by selecting an in-stock unit's serial. Affects anyone selling serial-tracked items; no action required.
- FixedMid priorityAugust 4, 2026
Imported and variant products are always branch-stocked from creation
Products created with zero initial stock, especially through CSV import and product variants, could be created without a stock record at your default branch. Now a branch stock row is always created for tracked products, even at quantity 0, so every product is consistently stocked (and countable) from the moment it's created. This is a tidy-up that complements the catalogue-visibility fix; existing products are unaffected and there is no automatic data migration. Affects imports and variant creation going forward; no action required.
- ImprovedLow priorityAugust 4, 2026
Easier to find services when building an invoice
Services are added from a separate Services tab, while the product search lists products and repair parts, which occasionally left people hunting for a service in the wrong place. Now, when a product search finds nothing, Fixmo shows a 'Looking for a service? Open the Services tab' shortcut, and the Help Center explains how products and services differ across invoices, quotations, and repairs. This is a guidance improvement only, the workflow itself is unchanged. Affects everyone creating documents; no action required.
- FixedHigh priorityJuly 27, 2026
Role and branch changes now take effect immediately: no logout needed
When you change a team member's role or move them to a different branch, it now applies straight away on that person's next action, they no longer have to log out and back in for the change to work. Promotions unlock the new options right away, and, just as importantly, taking access away is immediate too: a demotion, a branch move, or deactivating an account is enforced on the very next request instead of lingering until the person next happens to sign in. Fixmo also notifies the affected team member of exactly what changed, for example 'Your role was changed from Technician to Manager' or 'Your branch was changed from Colombo to Kandy', with a one-tap Reload to refresh their screen. This clears up the cases some shops reported where a staff member saw buttons or pages that then didn't work, or kept seeing an old branch's data, after their access was updated.
- AddedHigh priorityJuly 26, 2026
Correct a payment method without voiding the sale, invoice, or repair
A card was mis-keyed as cash, or a split payment was entered as one lump sum, fixing that used to mean voiding the whole transaction and redoing it, stock and all. Admins can now click 'Correct Method' (or 'Correct method' on a specific payment, for repairs) on any sale, invoice, or repair and just fix the attribution: switch a single payment to a different method, split it across several, collapse a split back to one, or change the methods inside an existing split. The total already collected is locked and can't be changed here, the fix is method and account only. Because reports read payments directly and the original date is preserved, that day's figures update automatically, and every corrected payment keeps a permanent record of who made the change, when, and why.
- AddedMid priorityJuly 15, 2026
See what customers still owe you, right on the Invoicing page
The Invoicing page now has an Outstanding card showing how many invoices are awaiting payment and the total amount still owed, the same figure as Accounts Receivable on the Finance dashboard. Click the card, or pick Outstanding in the status dropdown, to see exactly those invoices: everything sent, viewed, partially paid, or overdue, with drafts left out. It replaces the old Overdue card. All existing filters work exactly as before.
- AddedHigh priorityJuly 15, 2026
Convert a quotation to an invoice without waiting for customer approval
Sometimes the customer says yes over the phone or at the counter, and waiting for them to tap Approve on the quotation link just holds up the work. The Convert to Invoice button now also appears on Draft, Sent, and Viewed quotations, clicking it asks 'Convert without customer approval?' so nothing happens by accident, then creates the invoice immediately. The override is recorded on both documents: the quotation and the new invoice each show 'converted without customer approval', by whom and when, in the Corrections & related records panel. Nothing changes for the normal flow, an approved quotation still converts instantly, and a quotation the customer declined still can't be converted.
- ImprovedHigh priorityJuly 15, 2026
Managers and cashiers can now work with every document in their branch
Until now, a quotation or invoice created by the shop owner was effectively untouchable for everyone else, cashiers could only open documents they created themselves, and even managers could miss ones without a branch. Now managers and cashiers see and work with all documents belonging to their branch (documents not tied to any branch are visible shop-wide), while other branches' documents stay hidden and admins continue to see everything. Cashiers can now do everything except void: edit, convert, send by email or WhatsApp, duplicate, send payment reminders, and record payments. Editing is also simpler for everyone, the 30-day/48-hour time limits and the cashier PIN-approval step are gone, so admins, managers, and cashiers all edit documents directly. The safety rails that matter stay: voided and converted documents are locked, and invoices with recorded payments still can't be edited unless you've turned that on in Settings.
- AddedHigh priorityJuly 15, 2026
Fix or swap a part's serial number without removing it
Correcting a serial number on a part that's already on a repair used to mean deleting the part and adding it back. Now you can edit it in place with the pencil icon. For a stock-tracked serialized part, 'Swap serial' lets you pick a different in-stock serial, the old one returns to stock and the new one is claimed, with no change to your counts. For a typed serial (like a shop sticker on a used item), just edit the number; if you're correcting one that's already on record, Fixmo asks whether to remove the old entry (a typo fix) or keep it on file for history. A warranty is now required whenever you enter a typed serial, so a serial never exists without one, and it stays searchable for warranty claims. You can do all of this at any point until the job is delivered or cancelled. Technicians can edit serials, warranties, and descriptions too; price stays with admins and managers.
- AddedHigh priorityJuly 15, 2026
Add a description note to any part or service on a repair
Every part and service line on a repair now has an optional Description field, a short note for anything that doesn't fit the name, serial, or warranty, like 'OEM display, tested', 'customer-supplied part', or 'PCB micro-soldering on the power line'. Add it when you add the line, or edit it later with the pencil icon. The note appears in small print under the part or service on the repair page, and it carries onto the customer's documents: the printed and PDF receipt, the delivered-repair email, and any invoice or quotation generated from the job.
- FixedMid priorityJuly 15, 2026
The 'Add Part' popup now scrolls on small screens
On laptops and smaller monitors, the 'Add Part from Inventory' popup could run off the bottom of the screen, so you couldn't scroll down to the serial number field or the Add button. The popup now scrolls properly at any screen height, so every field stays reachable. The same popup is also used consistently now, adding a part while creating a job and adding one later from the job page look and behave identically, instead of two slightly different forms. Serialized items ask you to pick a serial from stock, while non-serialized items let you type one in when you need to.
- ImprovedMid priorityJuly 15, 2026
Delivered and cancelled repairs are now fully locked
Once a repair is Delivered or Cancelled, its parts, services, serials, descriptions, and prices can no longer be changed, the add, remove, and edit controls disappear, and the change is refused on the server as well. Previously only price was locked, so parts or services could still be added or removed on a finished job. This keeps a completed job's record, and the invoice built from it, matching exactly what the customer received.
- FixedMid priorityJuly 14, 2026
Fixed a broken link on paid invoice payments in Finance
In Finance → an account → Transactions, clicking a payment for a fully paid invoice used to show 'Sale not found' instead of opening anything. Fixmo automatically creates an internal record behind a fully paid invoice to keep your books balanced, but the transaction list didn't recognize that and pointed at the wrong page. Clicking one of these payments now correctly opens the invoice. Payments on a POS sale that later had an invoice generated from it are unaffected and still open the original sale receipt, exactly as before.
- ImprovedLow priorityJuly 12, 2026
Search your services when adding one to a repair job
The 'Add Service' popup on a repair job now has a search box, just like the one you already use when first creating a job. Before, it listed every service in one long scroll, so shops with a big service menu had to hunt for the right one. Now you can type a few letters to filter the list instantly and pick the service you want. If nothing matches, a clear 'No services found' message appears. Nothing else about adding a service changed, price and discount still work exactly as before.
- FixedHigh priorityJuly 11, 2026
Every payment now lands in the right account: reliably
Payments are now always tracked to a real account, so what you see in Finance always matches the money in your drawer and bank. Before, a payment made with a method that had more than one account, and every extra part of a split payment (for example part cash, part card), could be saved without an account attached. It still counted toward your revenue, but it wouldn't show inside that account's balance or its transaction list, so a cash or card account could look like it was missing payments. Fixmo now fills in the correct account automatically for every payment and every split, on the POS, the New Sale page, invoices, and repairs. To make this clear and put you in control, each method on Settings → Payment Methods now shows a 'Receiving account', the account its money lands in, which you can change any time; new shops and new custom methods get one set up automatically. If a method somehow has no account, recording a payment now asks you to link one first instead of quietly losing track of it. Refunds now always come out of a chosen account too, and a warning appears before an expense or transfer would push an account below zero. Repair payments taken at delivery are saved together as one step, so a part-cash-part-card payment can never be half-recorded.
- AddedHigh priorityJuly 11, 2026
Sell items even when stock shows zero: with automatic covering
With Allow Negative Stock turned on (Settings → Inventory), a walk-in customer never has to leave empty-handed: admins, managers, and cashiers can sell an item at 0 stock and the quantity simply goes to -1, -2, -3. Fixmo now remembers every oversold piece, which sale, who sold it, and when, and shows it on the item's page and as an 'owed' badge in the inventory list. When new stock arrives through a purchase order or a restock, the oversold pieces are covered fully automatically (oldest first) and you get a notification; there is nothing to tick off. Serial-tracked items get special care: their count never goes below zero, instead you type the piece's serial at the counter, and when a stock entry later lists that exact serial, Fixmo recognizes it as the already-sold piece and settles it without inflating your stock. Voids and restocked refunds clean up their own records; parts used on repair jobs are covered the same way. Profit reports also got more trustworthy along the way: every sale now stores the item's cost at the moment of sale, so last month's profit no longer shifts when a new purchase order changes an item's average cost. Online store orders always require real stock, regardless of the setting.
- AddedHigh priorityJuly 9, 2026
Fix a wrong invoice or quotation without retyping it
You can now edit invoices and quotations directly instead of voiding and starting over. Admins can edit for 30 days after a document is created, and managers for 48 hours. Cashiers can prepare a correction and have it approved on the spot, an admin or manager just types their security PIN on the cashier's screen, or approves from their own device (the cashier's screen updates automatically). Every edit keeps your numbers honest: it's recorded in the document's history with who changed it and who approved it. Editing paid invoices is off by default; an admin can turn it on in Settings → Shop → Invoicing & Documents. When it's on, editing a paid invoice automatically re-balances stock and serial numbers, rewrites the underlying sale on its original date so that day's sales and profit stay correct, recalculates commission, and, if the change lowers a paid invoice, refunds the difference to the customer with a linked credit note. Invoices generated from a POS sale or a repair keep their items locked (use Exchange for those); only customer details and notes can be edited there. Cashiers also get access to the Invoicing section to manage and request edits on their own documents.
- FixedHigh priorityJuly 9, 2026
Voiding a sale now reverses everything, cleanly
Voiding a completed sale now returns your shop to exactly the state it was in before the sale, every time. Stock (including combo/bundle components) is added back, and serial numbers are handled properly: units that came from your stock go back to In Stock, while serials that were typed or scanned in at the counter (for example on a used item) are removed instead of lingering as phantom stock or showing up in warranty lookups. Any invoice generated from the sale is now voided automatically, and the sale's payments correctly disappear from the Payments list and every finance total, previously a voided sale's payment could still show in the payments list. Voided sales also no longer count toward your monthly sales limit. Finally, to keep your numbers trustworthy, voiding is now blocked on a sale that already has a refund or exchange (those already reverse part of the sale), use the refund or exchange to reverse it instead. Refunds default to Today's date range unchanged; only how voids behave has changed.
- ImprovedMid priorityJuly 8, 2026
Sell several serial-tracked units on a single line
Previously, selling more than one of the same serial-tracked product meant adding a separate row for every unit, one row per serial, with the quantity locked at 1. Now a serialized item stays on one line: raise the quantity and pick a serial number for each unit, right there on that line. This works across the POS, the New Sale form, and invoices. In the POS and Sales form, clicking the product again bumps the quantity and adds a serial slot; on invoices, the serial picker lets you tick several serials at once and add them as one line with the matching quantity. Each chosen serial shows as a removable chip, already-picked serials are hidden so you can't double-select a unit, and checkout is blocked until every unit has a serial. Serials are still finalized as Sold on payment and returned to stock on void, and quotations still carry no serials, since nothing is sold yet.
- FixedHigh priorityJuly 7, 2026
All your services now show up in the POS
Services created in the Services section never appeared in the POS product grid, and most service-type items were hidden by a default setting, so searching 'service' at the counter found only a couple of them. Every service is now sellable from the POS, and services you add or reprice in the Services section show up there instantly with the correct price. If there's a service you don't want cashiers selling from the POS, set its usage type to 'Repair Part Only' on the item's edit page.
- FixedHigh priorityJuly 7, 2026
Staff can now find every item when building a sale, repair, or invoice
Managers, technicians, and cashiers could only see items that had stock recorded at their own branch, so services, combos, and products stocked elsewhere were missing from the POS grid and from the item pickers on repairs, invoices, and quotations. Everyone now sees the full shop catalog everywhere. Out-of-stock items appear in the POS with a clear 'Out of stock' badge and can't be added to the cart unless your shop allows selling into negative stock (Settings).
- AddedHigh priorityJuly 7, 2026
Price overrides: change an item's price at the counter: safely
Admins and Managers can now edit an item's unit price right in the POS cart (and on invoices and quotations, as before), handy for negotiated deals or price-matching. What's new is the control around it: cashiers can't change prices at all (the system blocks it even outside the app), and every price change is recorded, who changed it, when, on which sale or document, the original price, and the new one. A new Reports > Price Overrides page shows the full log with the net impact on revenue. Customers never see any of this, receipts, invoices, emails, and WhatsApp messages show only the final price, exactly as before.
- FixedHigh priorityJuly 7, 2026
Fixed: 'Today' in Reports could show yesterday's numbers
Reports, Dashboard, and Finance calculated Today, day-by-day charts, and the Daily / Z-Report using server time instead of your shop's local time, so for a few hours after midnight, Today could still show yesterday's sales and repairs. These now run on your shop's own timezone. A new Timezone field sits next to Country in Settings > Shop; for most shops it's filled in automatically from the country you've already set, so there's nothing to change.
- FixedHigh priorityJuly 6, 2026
Serial-tracked items now stock correctly when you receive a purchase order
With auto-stock turned on, receiving a purchase order added your regular products to inventory but silently skipped serial-tracked ones, those units never entered stock and their serial numbers were never saved, leaving the order stuck. Receiving now stocks serial-tracked items too, as soon as you enter their serial numbers (leave the box blank to stock them later from the order's Stock Items step, which now stays available while items are still awaiting stocking). Entering a serial number that already exists now shows a clear message naming it instead of a generic error, and an order whose received items are all stocked now correctly finishes in the Stocked status.
- FixedMid priorityJuly 6, 2026
Your shop currency now shows everywhere: no more stray dollar signs
Prices, discounts, and totals now use the currency you set in Settings across the whole app, including invoicing, the POS cart, repairs, refunds, services, commission agents, and supplier and inventory screens. Previously a few places fell back to a dollar sign (especially for manager and technician logins), and some emails and WhatsApp messages showed the currency code instead of its symbol. Amounts now also include thousands separators, so figures like Rs 182,805.00 are easier to read.
- AddedMid priorityJuly 2, 2026
Advanced Finance: transfer money between accounts, track assets, and owner equity
A new Advanced page under Finance brings together three tools for admins (and managers, for assets): transferring money between two of your payment accounts, like banking the day's cash, recording business assets such as equipment or vehicles (including ones the owner paid for personally), and logging owner deposits or withdrawals. All of it is kept separate from your regular revenue and expense figures.
- AddedHigh priorityJuly 2, 2026
See every payment account's balance and full transaction history
The Finance dashboard now shows an Accounts section for admins and managers, listing every payment account with its live balance and how much moved in and out over the selected period. Click any account to open a full history of every payment, expense, refund, supplier payment, and transfer that touched it. Processing a refund now lets you pick which account the money came from, so balances stay accurate.
- ImprovedMid priorityJuly 2, 2026
Finance dashboard gets the same flexible time filter as Reports
The Finance page's period dropdown now matches Reports, Today, This Week, This Month, Last Month, This Quarter, This Year, or a Custom Range with your own dates, instead of just four fixed options. Admins with multiple branches also get a branch filter.
- FixedHigh priorityJuly 2, 2026
Fixed: a variation's SKU vanished after editing its other details
Editing a variation on the product edit page, changing its price, stock, tax, or serial numbers, was silently erasing that variation's SKU (and its category) unless you had touched the SKU box itself in the same edit. Saving now only updates the fields you actually changed, so SKUs stay put. If a SKU already went missing this way, open the variation once, re-enter it, and save.
- AddedMid priorityJuly 2, 2026
Discount a service, just like you already could with parts
Services added to a repair, like a diagnostic fee or a computer service, now support the same amount or percentage discount that parts already had. It shows up correctly in the repair total, the printed and PDF receipt, finance reports, and any invoice auto-created from the repair.
- AddedMid priorityJuly 2, 2026
Admins and managers can now edit the price of a part or service on a repair
Adding a part or service to a repair now lets an Admin or Manager override its price before adding it, and a new pencil icon on the repair page lets them adjust the price or discount of a line that's already there, right up until the repair is delivered. Every change is recorded in the Activity Log with who made it and the old and new values, so nothing changes silently.
- AddedMid priorityJuly 2, 2026
Type in a serial number for parts that aren't serial-tracked
When adding a part to a repair that isn't set up for serial tracking, say, a used component with a shop sticker on it, you can now click 'Add serial number' and type or scan it in, exactly like invoices already let you do for non-serialized products. It's recorded as a real serial with an automatic warranty expiry, so it's searchable later if the customer comes back with a warranty claim.
- FixedHigh priorityJuly 2, 2026
Fixed: part discounts weren't showing up in repair totals
A discount applied to a part when adding it to a repair was being saved but not actually subtracted anywhere except the live preview on the new-repair form, the repair total, printed receipts, finance reports, and invoices were all still charging the full price. This is now fixed everywhere the total is shown.
- AddedMid priorityJuly 2, 2026
Save device passcodes and unlock patterns with a repair
Repair jobs now have their own Confidential Info section, right after Item & Problem, for anything sensitive the customer hands over at intake, a screen lock PIN, an Apple ID password, an account email. If the customer uses a pattern instead of a PIN, draw it on the new 3x3 pattern panel exactly as they show you; on the repair page it's hidden behind a Reveal/Show toggle and you can hit Play to watch it redraw itself. Visible to every team member except cashiers, and stored encrypted, only admins can edit it once the job is created.
- AddedHigh priorityJuly 2, 2026
Expenses now come out of a payment account: split across several if you need
When you record an expense, you now choose which payment account the money came out of, your cash drawer, a bank account, a mobile wallet, and so on, and Fixmo deducts it from that account's balance so your balances always match reality. Paid one bill from two places? Click 'Split across accounts' and enter how much came from each; Fixmo checks the parts add up to the total before saving. Editing the amount or deleting the expense recalculates the affected balances on its own.
- AddedHigh priorityJuly 2, 2026
Recurring expenses: set rent and monthly bills once, and forget them
Expenses that repeat every month, rent, subscriptions, standing fees, can now be set up once on the new Recurring tab. Pick the day of the month, the time, the amount, and the payment account(s) to pay from (splitting is supported here too), and Fixmo records the expense automatically on that day every month and deducts it from the chosen account(s). Choose the 29th, 30th, or 31st and it runs on the last day of shorter months. Set an optional end date, and pause or resume any recurring expense with a single switch without losing its history.
- AddedMid priorityJuly 2, 2026
Attach the bill or receipt to an expense
When adding or editing a one-off expense, you can now upload the bill or receipt right on the form and keep it with the record. Images (JPEG, PNG, WebP), PDFs, and Excel spreadsheets (XLS/XLSX) are all accepted, up to 10MB each, and the file shows as a link on the expense so you can open it anytime for accounting or reference.
- FixedMid priorityJuly 2, 2026
Supplier payments now update your account balances
When you record a payment against a purchase order and choose which payment account it came from, Fixmo now records that payment as a Supplies expense against the account, so paying a supplier reduces the right account's balance, just like any other expense. Previously supplier payments were tracked against the PO but didn't move any account balance. This applies to payments made from here on; past payments are left as they were.
- FixedLow priorityJuly 2, 2026
Purchase order page fits properly on smaller screens
On the purchase order page, the Supplier and Details panel on the right could spill off the edge of the screen on narrower windows, and long product names could stretch the layout wider than the page. The page now keeps everything inside the window, long names wrap or scroll within their own table, and the side panel always stays in view.
- ImprovedMid priorityJuly 2, 2026
Phone numbers drop the leading 0 automatically
When you type a phone number with a country code selected (like +94), Fixmo now drops the leading 0 you're used to typing on its own, so keying in 077… is captured as 77… in proper international format, with nothing extra to do. It works everywhere you enter a phone number: creating a customer, invoices and quotations, suppliers, commission agents, your shop and profile settings, and the point of sale. Typing stays smooth, the cursor keeps its place so you can carry straight on with the rest of the number.
- AddedMid priorityJuly 2, 2026
Assign a commission agent to quotations and invoices
You can now assign a commission agent when creating a quotation or invoice, the same way you already could on repairs and sales. Pick the agent and, if you need to, override their default rate or commission type (percentage, fixed, per-product, or per-service) right on the form. Assign an agent on a quotation and it carries over automatically when you convert it to an invoice. The commission is recorded when the invoice is fully paid, so it flows straight into the agent's totals, payouts, and your finance reports, and reverses on its own if the invoice is voided or the payment is undone.
- AddedHigh priorityJuly 2, 2026
Put items on sale: fixed price or % discount, with auto-expiry
You can now run a sale or promotion on any inventory item, right from the add and edit screens. Choose a fixed sale price (e.g. Rs 3,900) or a percentage discount (e.g. 15% off), then set how long it runs, days, hours, minutes, and seconds, and Fixmo shows the final sale price, the savings, the exact end time, and a live countdown as you set it up. The sale ends on its own when the timer runs out, so there's nothing to remember to switch off. A discount on a variable product applies to every variant, each calculated from its own price. It's promotional pricing only: your regular price, cost, and all your financial reports stay exactly as they are.
- ImprovedHigh priorityJune 28, 2026
Reports, rebuilt: a full analytics suite
Reports is now a complete analytics module instead of a single summary page. Alongside the Overview you get six dedicated reports: Sales (revenue, profit margin, best-selling products, by category and channel), Repairs (revenue, status mix, a technician leaderboard, and turnaround time from receipt to delivery), a Daily / Z-Report (money collected by payment method, a daily breakdown, a profit-and-loss statement, and refunds by reason), Inventory (stock value at cost and retail, low-stock alerts, and dead stock), Customers (new vs returning, repeat rate, and lifetime value), and a Branches comparison for multi-location shops. One filter bar controls the date range, Today, week, month, quarter, year, or a custom range, and the branch, and your choice follows you across every report. Everything is now visualised with proper charts, and an AI Insights panel is on the way.
- FixedLow priorityJune 27, 2026
Assign repair jobs to admins too
Repair jobs can now be assigned to Admins, alongside Managers and Technicians. Previously the Assigned To list only showed managers and technicians.
- AddedHigh priorityJune 27, 2026
Serial numbers for used items: capture, search & warranty
You can now type or scan a serial number onto any invoice line, including custom rows and used products that carry your own shop-printed sticker IDs (letters and numbers both work). The serial shows on the invoice, its print-out and the customer's email. Every captured serial is findable from the main search bar, so a warranty claim is as simple as searching the sticker to pull up the original sale or invoice, and the warranty expiry date is now worked out automatically from the warranty period and sale date. Quotations don't carry serials, since nothing is sold yet; serials are assigned on the invoice before payment.
- AddedHigh priorityJune 27, 2026
Item Exchange: swap an item on a paid sale in one step
You can now exchange an item on an already-paid sale: return the original (back to stock, with serial numbers reversed), add a replacement, and settle only the price difference. The original sale and invoice stay intact, with a linked credit note, a new invoice, and a full change-history timeline. Cashiers can request an exchange and a manager approves it from their account or with a security PIN right on the cashier's screen.
- AddedLow priorityJune 27, 2026
Changelog launched
We now publish a running history of everything new, improved, fixed, or removed in Fixmo, so you always know what changed and when.