Changelog

What's new in ePOS4Mobiles

Every release, in plain English. Browse by date or jump straight to the feature you care about.

v3.11.0
Receipts & Printing

Receipts for money in and money out

  • A payment now prints at the counter. Take a payment and the print choice comes up there and then — receipt printer, A4, or cancel — instead of the only option being an A4 PDF found again later from the list. It works from the full payment screen and from the quick payment on a customer's ledger
  • The slip says what it is: payment received or payment paid, the amount, cash or bank, the account, their balance and your note
  • Sale returns print on the receipt printer too, from the row menu on Sale Returns. The slip is headed SALES RETURN, so a refund slip can never be mistaken for an invoice
  • Trade-in receipts can be reprinted from the list, not only by opening the trade-in first. Voided ones included, still marked as voided
Sales

A refund now matches what the sale actually took

  • Scan a returned phone and the price already has the discount off it. Sold for £180 with £20 off now offers £160, with a line underneath saying Sold for 180.00, less 20.00 discount — so the figure is explainable to the customer standing there. It used to offer the full £180 and hand back money the sale never took
  • The return lands on the right customer. Scanning says who the item was sold to, or who a purchase return's stock came in from, and fills the account in. If a second item came from somewhere else it stops and asks, naming both, rather than quietly putting the refund on one ledger
  • An account you chose yourself is never overwritten by a scan
Reports

What actually sold

  • A new item breakdown under the day's totals: one row per model with how many went, what they took, the discount that came off, and what that leaves. Phones and accessories listed separately
  • No profit or cost on it, unlike the detailed report, so it can be read at the counter at closing time
  • It is on the screen, the PDF, the WhatsApp copy and the thermal receipt
Trade-ins
  • Trade-in settings now have their own tab in Settings instead of sitting at the bottom of Miscellaneous
  • Optionally stamp the trade-in number onto the stock it brought in. Switch on Trade-in reference on bought stock and each phone bought gets CU- and the trade-in number in its Extra Info, so a seller who comes back quoting it can be found from the stock list. Off unless you turn it on, and anything your staff typed on the row is kept alongside it
  • The shop's copy of a trade-in receipt now carries the ID photos taken at intake, so the filed paperwork is complete. Only the shop's copy, only on the PDF, and only for an administrator — the customer's copy, the emailed copy and the WhatsApp copy carry none
Receipts & Printing

When the printer will not play

  • "Print service not running" instead of Error handling failed! try again, with the download link beside it, when the program on the till is stopped or the address is wrong
  • Out-of-date tills are told so, with the download, rather than being shown a message no one can act on
  • The download link now always fetches the newest version. The same web address was reused every release, so some computers were handed back the copy they already had
  • Receipt text is treated as text. A stray control character typed into a note could previously reach the printer as a command and pop the cash drawer or cut the paper mid-receipt
Shop Repairs

Repairs

  • The note taken at booking now prints on the booking receipt, under the fault. Needs print service 2.3.11; the app tells you if the till is behind
v3.10.0
Other

Ask "How do I…?" from any screen

  • A help button now sits on every page. Type the question the way you would say it out loud — "customer wants to part ex their old phone", "the till is charging the wrong amount", "my spreadsheet upload only did some of them" — and the steps come back. Nothing to search and no manual to find first
  • It knows which screen you are on. Ask "do I need their ID?" on the trade-in screen and it answers about trade-ins. The same three words on another screen get the page for where you actually are
  • It answers "what is…?" as well as "how do I…?" — what does UnProcessed mean, what is the difference between a rate and a sale price, what is the margin scheme
  • When the guide does not cover something, it says so rather than inventing a menu that does not exist. Those questions are kept, so the guide gets written where people are actually asking
  • Where a tutorial video covers the same ground it is offered with the answer, one click to play
  • Twenty questions per person per day, so it cannot run away with itself. Ask a twenty-first and it tells you the day's limit is reached rather than failing oddly; the count clears at midnight, and it is per person, not per shop
Settings

25 pages

  • Selling and taking money: the counter, sales orders, payments in and out, printing, sales returns, drafts
  • Stock: adding something new, restocking what you already sell, the parcel Excel import, rates and prices, locations and moving stock between them, stock alerts, quality control, repairs
  • Buying and returning: purchase orders and receiving against one, purchase returns, trade-ins
  • Running the shop: customer and supplier accounts, staff and permissions, settings, lists and exports, your own account
  • A glossary of the words the system uses — avg cost, receivables, UnProcessed, margin scheme, and the difference between an item and a product
  • Where the catalogue comes from, which is the thing most easily got wrong: models, grades, capacities and colours are typed in on the add-item screen as you go, not created on a screen of their own. Item Models and Item Gradings are there to see what you have and retire what you do not. Manufacturers are the exception and do have their own screen
Other

It now chases the right customers

  • The list used to show every customer who had ever traded. It measured everyone against a cut-off of today, so nobody could ever be too recent to appear. Each customer is now measured against their own Should visit again interval, and only those genuinely overdue are listed
  • The interval can finally be set on a customer. The box only appeared on Income accounts, and the list only looked at Income accounts, so no customer could be given one or turn up on the list. Both now use Customer
  • 0 days keeps a customer off the list altogether, for the ones you do not chase. Everyone else starts at 28 days
  • The page now says who appears on it, because an empty list or a missing name otherwise reads as a fault
Other

Help questions (administrators)

  • A new Help Questions screen lists what staff have asked and whether the guide answered it. The ones marked not covered are the gaps, in the words people actually used — what to write or explain next, ranked by how often it comes up
v3.9.0
Stock & Items

Watch, Earbuds, Console, Gadget, Misc

  • Five new types alongside Phone, Tablet and Computer: Watch, Earbuds, Console, Gadget and Misc (anything else with a serial number). Pick them in the Type box when adding stock, on the parcel Excel import, on purchase and sale orders, and on trade-ins. They use the same make / model / capacity / colour / grade fields as phones
  • Capacity and colour are no longer forced. Colour is optional for every type, and capacity for every type except Computer, whose storage is part of how the machine is identified. A feature phone with no storage tier, or a laptop with no colour, can now be entered honestly instead of having something untrue typed into the box
  • Serial numbers are accepted as manufacturers actually print them — from 4 characters up. A phone's IMEI is still exactly 15 digits
  • Labels for a watch, earbuds, console, gadget or misc item start with the type (e.g. WATCH APPLE SERIES 9), so one cannot be mistaken for a phone label. Phone labels are unchanged
Stock & Items

One grouping list and a type filter

  • One Grouping list on the left now drives every type instead of a separate list per type. Computer keeps its own, because its columns differ (Year, CPU, RAM, Screen Size, Storage), and it appears only when you hold Computer stock
  • Type pills above the stock tree — All, then one per type you actually hold. Click a type to see just that section. The choice sticks when you re-order the grouping and press the tick
  • Each type still exports to Excel with the same layout as before
Rate & Costs

Every type in one table

  • These menus no longer list every type. Rate & Costs and Rate List B2B have one IMEI entry and one Non IMEI entry; Stock Alert lists your stock locations under IMEI. Old per-type bookmarks keep working
  • IMEI Set Rate and IMEI Stock Alert show every type in one table, with a new Type column, so phones, watches, earbuds and consoles are priced and monitored without switching pages. Narrow the list with the Type box in the table footer, like any other footer filter
  • Computer keeps its own pages, listed separately and only when you hold Computer stock — its Year / CPU / RAM / Screen Size columns are blank for everything else. Stock Alert's Computer entry likewise shows only the locations that actually hold one
  • On the stock list, a computer's specification now appears in the Colour column — 2021 · i5 · 8GB · 14" — so the machine is identifiable at a glance without a separate Computer page
  • Stock Alert on the dashboard counts every IMEI type below its minimum, not only phones
Trade-ins

Item type, a tidier entry row, and the condition note

  • The IMEI row has a Type box (Phone, Tablet, Watch, …), next to the IMEI where the first decision about a device belongs, so a traded-in watch is filed as a watch
  • The device row is now two lines instead of one long wrapping line. What the item is sits on top — Type, Manufacturer, Model, Grade, Capacity, Colour, Extra info — and what it costs and where it goes sits below: Buy price, Sell price, Location, Condition note. The row no longer rearranges itself depending on how wide your window is
  • Accessories no longer ask for a Location. An accessory goes into shelf stock, which has no location, so the box was only ever noise. Qty moves down beside the Buy price it multiplies, and the shelf-barcode box sits at the end of the top line, where the IMEI box sits for phones
  • The condition note you type at intake is now shown on the trade-in. Open any trade-in and there is a Condition at intake panel listing each item and its note. It stays off the printed receipt on purpose — it is your own assessment, not something to hand the seller
Purchasing

The same rules as adding stock by hand

  • Every row is checked before anything is created. The import used to accept the sheet as-is: a blank tax category, a missing purchase price or an IMEI of 1 went straight into live stock, because only the Add Stock form enforced those rules. Both doors now share one rule set, so what the form rejects the spreadsheet rejects too
  • Nothing is imported until the whole sheet passes. A bad row is named with its row number and what is wrong with it, rather than importing the good rows and leaving you to find the rest
  • A computer row must carry its storage, since a computer's record is identified by it
v3.8.9
Stock & Items

Send to

  • Sending a new phone to an UnProcessed or Management location now works. Choosing one of those in Send to left the phone at the parcel's location (usually Stock) with no stock row and no history, so it looked like a move to Stock. The phone now lands in the chosen location, and its Movement history shows sent straight to … from Parcel for every destination
v3.8.8
Stock & Items

Move Items / Extra Cost & Info

  • Add an extra cost and set the label's Extra Info while moving. The menu entry is renamed from Move Items to Move Items / Extra Cost & Info. The page is now laid out in four clearly marked boxes: Move to (location, technician), Device changes (optional regrade, recolour), Extra cost (optional; description and amount, added to the device's cost) and Extra info (optional; the line printed on the barcode label, e.g. 6 Month Warranty). Set what you need, scan each device, and one Move Items does everything for every row. Leaving Extra info empty keeps the device's current line
  • Scan devices box. Note, the IMEI scan and the QC / repair result now sit together in one box under the settings. Scanning a device that is in QC or with a technician used to show a bare Yes/No; it now offers QC result: Passed / Failed and Repair result: Repaired / Not repaired. If nothing is chosen when such a device is scanned, the box turns red and names the device; pick the result and the row is added
  • The list shows each row's QC/repair result in words (e.g. QC passed, Not repaired), its extra cost, amount and extra info, with running totals above it and a Clear list button
  • The note is now the reason. The Note typed on the form is recorded as the Reason on the phone's Movement history (item search); it used to say manual
  • New video in the Video Tutorials panel under Item Movement: Move Items: regrade, extra costs & label info in one scan, ending with how to check a phone from the search box and how to add a location. The User Guide has a matching Moving stock between locations section
  • The Add Bulk Extra Cost/Info video under Rate & Costs is re-recorded to show the Extra info box: a label line on its own, or a cost and a label line on the same scan
Video Tutorials

Video Tutorials panel

  • Videos play inside the app in HD. Clicking a tutorial now opens a large player in the app instead of a YouTube tab, so videos start at 720p rather than 360p. Open on YouTube is still there in the player's header, and Ctrl/Cmd-click opens the YouTube page as before
Navigation & Usability

Menu

  • Every menu entry now has an icon. The submenus under Accounts, Purchases, Sales, Shop Repairs, Item Movement, Orders, Locations, Items and Users used to be plain text; each entry now carries a small icon like the Stock and Rate & Costs menus already did, so the right entry is quicker to spot. Long entries wrap onto a second line instead of running off the panel
Stock & Items

IMEI / Non-IMEI choice

  • Same two buttons as the Trade-in screen. The small IMEI Item / Non IMEI Item radio buttons are replaced by the IMEI Items (Phone, Tablets..) / Non-IMEI (Accessories) button pair used on Trade-in, so the choice looks the same everywhere and the selected kind is obvious at a glance. IMEI is selected by default on a new entry
Purchasing

Detail page

  • Extra Info summary. Under the Extra Costs summary there is now an Extra Info Summary: each label line in use on the parcel's IMEI items (e.g. 6 Month Warranty) with how many devices carry it. Each item row also shows its extra info line, next to its extra costs. Included on the parcel PDF
v3.8.7
Rate & Costs

Add Bulk Extra Cost/Info

  • Set the label's Extra Info in the same pass. The menu entry is renamed from Add Bulk Extra Costs to Add Bulk Extra Cost/Info. The page now has two clearly marked boxes: Extra cost (description and amount, added to the device's cost) and Extra info (the line printed on the barcode label, e.g. 6 Month Warranty). Fill one or both, scan each device, and one save applies everything. A row can carry a cost only, an info only, or both; leaving Extra info empty keeps the device's current line
Receipts & Printing

Barcode labels

  • Reprinted stickers show the current grade. After moving an item with a grade change (or regrading it at QC or repair), a new sticker still carried the old grade. Fixed. Returns to a supplier still use the grade the item was bought at, as before
Accounts & Finance

Payments, Journal Vouchers, Shop Repairs

  • Search by id. The id column on the Payments lists, the Journal Voucher list and the Shop Repairs customer view now has a search box in the table footer. Type a number to jump straight to that entry; it matches the exact id, so 12 does not also bring up 112
Stock & Items

Excel download

  • The rate column is filled in again. It showed the Rate List price only, so units priced on the item itself (the normal way since the September update) came out blank. It now shows the Rate List price when one is set, otherwise the units' own sale price, exactly as the stock list does. When units in a row are priced differently it shows the range, e.g. 250 - 275
v3.8.6
Sales

Download Excel / Email Excel

  • Extra Info now exports correctly. The sheet had an extra info heading but no value under it, so from that column on everything sat one column to the left and the tax category appeared under extra info. Each column now carries its own value
  • The Non IMEI Items sheet now uses the exact header the Import Parcel → Non-IMEI screen expects (barcode and quantity included), so a sale exported from one shop imports straight into another
v3.8.5
Video Tutorials

Trade-ins, Item Movement and Accounts

  • Four more videos in the Video Tutorials panel: Trade-ins & part exchange (under Sales), Moving stock between locations (new Item Movement group), Accounts & payments and Ledger, journal vouchers & who owes you (new Accounts group)
  • The Item Movement and Accounts groups open first when you're on those pages
v3.8.4
Stock & Items

Accessory search (`;` search box)

  • Fixed a crash when typing extra semicolons. The accessory search accepts up to six parts after the leading ; (type, manufacturer, model, grade, capacity, colour). Typing a seventh part, or pasting a full label, used to error out. Extra parts are now ignored and the search still runs
v3.8.3
Video Tutorials

Video tutorials, right inside the app

  • New play icon in the top bar (next to What's New) opens a Video Tutorials panel on the right of the screen, on every page
  • Tutorials are grouped by area — Purchases & Adding Stock, Sales, Rate & Costs — and the group for the page you're on is highlighted and listed first
  • Each entry shows a thumbnail, length and a one-line summary; click to watch on YouTube. Type in the search box to filter
  • First set: which sale form to use and the settings behind the Create Sale quick link, Create Sale, Bulk Sale (including pasting a list of IMEIs), the touch-screen sale, adding phones and accessories to stock, restocking without creating duplicates, bulk extra costs, and updating a sold item's price
v3.8.2
Rate & Costs

Items with Extra Costs

  • See every extra cost ever added, newest first, in a new Items with Extra Costs page under Rate & Costs. Until now the only way to see an item's extra costs was to open that one item's popup
  • Columns: when it was added, IMEI, item, grade, current location, description, amount and who added it — all searchable and exportable like other lists
  • Click the IMEI on any row to open the same item details popup a barcode scan gives, or the Extra Costs button to open the familiar Extra Costs popup for that device, where costs can be edited or removed
  • A Delete button on each row removes that one cost straight from the list, after a confirmation
Rate & Costs

Add Bulk Extra Costs

  • Add extra costs to many phones in one go. New Add Bulk Extra Costs page under Rate & Costs (the menu formerly called Rate List): type the description and amount, scan each IMEI, and a row is added for it. Press Save Extra Costs once and every row is applied, exactly as if added one by one from the Extra Costs popup
  • Mix costs in the same batch. Change the description or amount at any point and keep scanning — e.g. five phones with Battery £20, then three with Screen £45 — all saved together
  • The list shows each device's details, current location, extra costs already saved on it (total and how many), description and amount, with a running row count and grand total, plus a remove button per row for mis-scans
  • Scanning the same device twice with the same description is flagged; the same device with a different description is allowed
v3.8.1
Stock & Items

Stock alert (Set Minimum Stock Quantity)

  • Disabled accessories no longer appear on the non-IMEI stock alert list. Disabling a product from the Non-IMEI Items list now removes it from the alert entirely, instead of leaving a permanent "0 in stock" row
Purchasing

Parcel Excel import

  • Accessory (non-IMEI) rows with quantity 0 are now skipped rather than creating a product with no stock. Previously such rows became a phantom variant that sat on the stock alert as out of stock forever, even when the same item was in stock under another grade
  • The import preview highlights these rows in yellow with a warning banner listing them, and the confirmation message after import names each skipped row
  • A sheet where every row has quantity 0 is rejected with a clear message instead of creating an empty parcel
v3.8.0
Accounts & Finance

Quick navigation, a faster way to add one, and picking the right one

  • Receive Payment, Make Payment, Journal Voucher and Ledger now show quick links to the other three right on the page — no trip back to the sidebar to move between them. Each page hides the link back to itself
  • New Account without leaving the page: Receive Payment, Make Payment, Journal Voucher, Ledger, Create Sale (all three variants), Create Purchase Order, Add New Parcel and Import Parcel all get a popup to create an account on the spot — Company, Contact Name, Type and Currency — instead of opening the full form in a new tab and losing your place. It defaults to Supplier on the purchase-side forms (Purchase Order, parcels) and Customer everywhere else
  • Every account dropdown now shows the account type in brackets (e.g. "Acme Supplies Ltd (Supplier)") — so a customer and a similarly-named supplier are never confused for one another
Accounts & Finance

Journal Voucher

  • The Note field no longer clears itself after adding an entry — it carries over to the next line, since most vouchers repeat the same note across several accounts
Stock & Items

Add Item

  • Tax Category now defaults to Margin when adding an IMEI item (phones etc.), instead of Standard — switch it manually if a particular item needs Standard or Reverse
  • Total now updates the moment you paste a list of IMEIs, not just when you type or click away
  • The "already taken" and duplicate-in-list errors now name the actual IMEI(s) involved instead of a position in the list — much easier to find in a long paste
Purchasing

Parcel Excel import

  • New Extra info column (the same free-text field used for label printing on Add Product) can now be set at import time
  • A blank tax category on a phone sheet defaults to Margin instead of failing the whole import
  • The accessories (non-IMEI) import's identifier column is now labelled barcode instead of imei, matching what it actually is
Sales

Quick add popup

  • Pressing Enter in the Price or Quantity field of the quick-add popup (e.g. Misc Sale) now adds the item, same as clicking Add
Settings

Label Printer & Receipt Printer

  • Both settings pages get an Open Service button (opens the configured print-service address in a new tab), a Set Default button (resets it to http://localhost:8082 / http://localhost:8082/receipt — the print service always runs on the same till computer, so this is the recommended setting), and a note with a direct link to download the print service (same file as the ⬇ Downloads menu, top right) and its latest version number
  • ⚠️ Action needed: a few shops have this address set to something other than the default. On every till: download the print service (v2.3.9) from the ⬇ Downloads menu top right (or the link on the settings page) and install it, then in Settings → Label Printer / Receipt Printer & Till click Set Default on each, Save Settings, and use Open Service to confirm it now reports 2.3.9
v3.7.0
Trade-ins

Trade-ins (part exchange)

  • New Trade-in page under the Sales menu, on for every shop: buy one or more devices from a walk-in seller, with an optional sale of stock netted against the payout in the same transaction — only the difference changes hands
  • Take in IMEI items (phones, tablets…) and non-IMEI accessories: one row per device by IMEI, accessories by quantity at an agreed value each. Scanning a shelf barcode fills the whole accessory row from the existing product, and a device you sold before fills its details from its history
  • Every row takes a Buy price and an optional Sell price: a phone is priced individually, an accessory's price applies to its shelf line. Capacity, colour and grade are picked the same way as on Add Product — nothing defaults silently
  • Any difference is settled by cash, card, bank or a split — trade-ins can never be put on credit — and a discount can be given on the sold items from the confirm popup
  • Every trade-in prints a two-copy receipt (customer + shop copy, wet-signature line on the shop copy) covering items bought, items sold, any discount and the amount paid or collected; PDF, email and WhatsApp too
  • Barcode labels for the bought items print on save — pick once from the same auto-print dropdown Add Product has (with/without price, one per unit) and they print with no prompts
  • A photo of the seller's ID can be captured (optional) — take it on a phone via a QR code — and stored privately for compliance, kept for 12 months and then removed; it never appears on receipts or reports
  • Admins can void a trade-in booked in error, reversing stock, ledger and payout; trade-ins can be saved as a draft and resumed, like sale quotes
  • Receipt polish: the bought / sold summary prints on its own lines on the thermal strip, and the trade-in number prints correctly (#, not £) on tills once the updated print service is installed
Trade-ins

Trade-ins in the day's figures

  • The Activity Report shows trade-in money the way it was actually taken: card/cash/bank under its own method, the part-exchange value as a Trade-in allowance row (so Credit keeps meaning on account), a Trade-ins Bought (money out) line, and the breakdown now includes Bank takings
  • Receipts and invoices honour the account balance setting on trade-ins posted to a customer account, exactly as sale receipts do
Stock & Items

Pricing and label extras

  • New Extra Info line per phone and per product — free text like "Battery 80% · 6 Months Warranty" that prints on barcode labels and shows in the search popup under the item name. Edit it by clicking the Extra Info column on the stock lists (on the All IMEI list it shares the Extra Cost / Info column), and set it at intake on Add Product and trade-ins
  • Labels now send each detail separately — name, grade, capacity, colour and Extra Info — so label templates can style them (big name, bold grade); existing templates keep printing exactly as before
  • Optional: update a unit's sale price straight from the stock lists — off by default, switched on under Settings → Others; every change is logged with old and new price
v3.6.0
Accounts & Finance

A proper report, and returns in the right period

  • New Profit & Loss report (Accounts → Financial reporting): pick a date range and group it weekly / monthly / yearly — one row per period with IMEI and Non-IMEI figures side by side (revenue, cost, returns, net) plus the combined net. Quick select buttons fill the last 4 weeks / 3 months / 6 months for you
  • Two charts above the table: IMEI vs Non-IMEI net profit per period, and the combined net with loss periods in red
  • Returns now hit the period they happen in. An item sold last month and returned this week reduces this week's profit (shown as a separate Returns figure), and last month's report keeps its original numbers. Same-period sales-and-returns still cancel out as before. This fixes the reported issue where an old item's return didn't reduce the current period's profit
  • Every figure drills down: the period opens the Activity Report, IMEI net opens Sold IMEIs, Non-IMEI net opens the product Sales Profit list, and the Returns figures open two new lists — Returned IMEIs (with the original sale, refund and profit being reversed) and Product Returns
  • The detailed Activity Report's IMEI profit block gets the same treatment: a "Less: profit on returned items sold before this period" line, a Net Profit/Loss line, and loss-making periods now show their real negative figure instead of 0
Accounts & Finance

Fix missing costs yourself

  • Accessory (non-IMEI) sales made before the product had a cost recorded show overstated profit. The report now flags them ("N sale line(s) missing cost") and a Recalculate Non-IMEI Costs button repairs them with a progress bar — safe on any size of period. By default it only fixes the missing ones; a checkbox refreshes every product sold in the period
Accounts & Finance

One page, and much faster

  • Debtors and Creditors are now one menu entry opening a single page with two tabs (with counts). Checkboxes on the form let you load only the side you need; each tab keeps its own PDF export
  • Both reports are also much faster — on a busy system the page now loads in under a second instead of over two minutes
Settings

Give staff just the reports they need

  • The user create/edit screen has a new Report Permissions row: Debtors & Creditors, Profit & Loss, Trial Balance and Ledger — each individually assignable. A ticked box gives that user the matching menu entry and pages (including the P&L drill-downs); super admins keep access to everything
  • Note: the account Ledger pages are now genuinely restricted — previously they were hidden from the menu but reachable by any logged-in user. Staff who use ledgers need the Ledger box ticked
v3.5.0
Shop Repairs

Status history and a true "repaired" date

  • Every status change of a repair item (Pending → In Progress → Repaired → Not Repaired …) is now recorded with its date and user, so an item that moves through several statuses on different days keeps the full trail. The Repair Details page shows it in a new Status History card
  • Items get a Repaired date: the latest day they reached a done outcome (Repaired / Not Repaired / Completed / No Fault) — regardless of whether a cost was entered or the item was handed over. This fills the gap where "how many repairs were done on a day" could only be approximated from the cost date
  • Activity Report (Shop Repairs Only), Repairs Summary Report and Repairs by Client now report repair amounts by booked, repaired and handed over dates. The old cost added basis (day the price was typed in) is gone everywhere — it was only ever a stand-in for the repaired date. Repairs by Client gets a Count by dropdown for the date basis and a Customer filter (accounts or walk-in customers who have had a repair — works in both shop-repair modes); All Shop Repairs swaps the Done column for Repaired, with its own date filter
  • The Repairs Summary Report gets a Repairs per day / week / month chart at the top — grouped bars for items booked, repaired and handed over in each period, with an Items / Cost toggle. Up to a month shows days, up to six months shows weeks, longer shows months
Navigation & Usability

Repairs first

  • New Shop Repairs — today card: booked in, repaired, handed over, in progress, ready to collect and payments taken today — every number links to the list or report that shows those items
  • New IMEI stock pipeline chart (Unprocessed → Repair → Quality control → Stock) alongside it, refreshed with the tiles
  • The Parcels row has been removed from the home page (parcels are still under Purchases)
Navigation & Usability

Housekeeping

  • Existing repairs are backfilled from the activity log by php artisan repairs:backfill-status-history --apply
v3.4.0
Shop Repairs

See repairs by the date that matters

  • The Activity Report's Shop Repairs Only box now shows the repair amount three ways: cost added (the day the price was entered — the figure the report always used), booked (the day the item came in) and handed over. Each row is a link
  • Clicking a row opens the new Repairs by Client page in a new tab: every repair item in that period grouped by customer, with the repair number, item, fault, status, booked / done / collected dates, per-customer subtotals and a total — one tab per date basis
  • Repairs by Client is also on the Shop Repairs menu with its own date filter; it defaults to today
  • The Repairs Summary Report (and its PDF) gets the same three linked rows in a Repair Amounts by Date card
Shop Repairs

List and Add Repair

  • All Shop Repairs gains Cost and Done (date the price was entered) columns; Created, Done and Handed Over each have their own date filter, and a total cost for the filtered rows appears under the Cost column once a filter is applied
  • The Add / Update Repair page now shows the Item Note entered at booking, next to the fault
Accounts & Finance

Company search fixed

  • Fixed: searching the Company column on Receive Payment / Payments Out lists returned an error (Column 'id' in order clause is ambiguous). It now filters and sorts correctly
v3.3.0
Sales

Save a sale as a draft (quote) and print it

  • Every sale form (Touch Screen, Create Sale, Create Bulk Sale) now keeps a draft of what's on screen as you add items, per customer account — nothing is sold, no stock is reserved, no ledger entry and no invoice number
  • Draft Print (on the Confirm Amount screen) first checks the saved draft against the lines on the form and corrects it if they differ, then offers a DRAFT PDF — and a draft receipt when a receipt printer is enabled. Prints are clearly marked DRAFT — NOT AN INVOICE
  • Pick an account that has a saved draft and a small draft link appears next to the Account box — click it to Resume the draft into the form. Every IMEI is re-checked on resume: anything sold in the meantime is dropped and listed, so a stale draft can never sell the same phone twice
  • Drafts are yours per account: two users quoting the same customer each keep their own. Changing the account, currency, type or note on the form updates the draft straight away. Completing the sale clears its draft
  • Admins get an All Drafts page (drafts link next to the Account box) listing every user's drafts with PDF / receipt / Discard; Resume opens the shop's default sale form. Discarding drafts is admin-only for now
Stock & Items

A confirmation that says what you added

  • After adding an item the message no longer just says "Item created." — it now reads e.g. "Item created: Apple iPhone 13 Black — qty 3 @ £10.00" or "2 items created: Samsung S22 Blue 128GB — qty 2 @ £5.00", so a mis-keyed quantity or price is spotted straight away
v3.2.1
Reports

Most Profitable Customers

  • New Most Profitable Customers report under Accounts → Financial reporting for super admins, ranking customers by profit margin over a custom period or the last 3 / 6 / 12 months
  • Profit combines IMEI and non-IMEI sales, includes IMEI purchase and repair costs, and nets off returns and sale discounts so the ranking reflects the selected period more accurately
  • A Minimum Revenue filter prevents small high-margin sales from dominating the list — choose no minimum, £1,000 (default), £2,500, £5,000 or £10,000 in net revenue after returns and discounts
  • Show the top 20 / 50 / 100 customers and click Customer, Revenue, Cost, Profit or Margin to sort the online results in either direction
  • Includes revenue, cost and profit totals for the displayed customers, plus a matching PDF export
v3.2.0
WhatsApp

Start Over when stuck connecting

  • If the WhatsApp connection sits on Connecting… or an old QR code, a new Start Over button on Settings → WhatsApp deletes the saved session data and immediately starts a fresh connection with a new QR code to scan
Shop Repairs

Repairer no longer overwritten at handover

  • Fixed: handing items over from the Scan to Hand Over screen stamped the handover user as the item's repairer, overwriting the technician who actually recorded the repair. The repairer is now kept; the handover user is only recorded as the repairer when no repair had been recorded before handover
Stock & Items

Enable / Disable

  • Individual IMEI items and non-IMEI products can now be disabled (and re-enabled) with a button on the All IMEI Items and All Non IMEI Items lists — until now only whole models could be toggled
  • A disabled product can't be sold: it disappears from the touch-sale grid and the product search, and scanning its barcode or IMEI on a sale shows "disabled, cannot be sold" instead of adding it
  • Returns and repairs still accept them — anything you sold can always be taken back (return grid, scans and search all keep working), and disabled parts can still be recorded on repairs
  • Disabled items and products are highlighted red on the item lists and every stock list, with an Active Yes/No filter on the item lists
  • Disabling a model now really blocks its stock: items and products of a disabled model can't be scanned onto a sale, disappear from the sale grid and product search, and show as "No (model)" in red on the item lists
  • The stock summary views (IMEI and non-IMEI) count sellable stock only — disabled items, products and models are excluded
Rate & Costs

Disabled stock doesn't count

  • Rate lists (incl. B2B) no longer count disabled units as stock — a model+grade whose stock is all disabled drops off the list
  • The min-qty stock alert treats disabled units as unavailable, so it warns you when sellable stock runs low — a combo whose stock is entirely disabled stays on the list at zero rather than vanishing
  • Sold vs Stock counts only sellable stock; disabled products are excluded from the report
Accounts & Finance

Configurable default country

  • New accounts used to always default to United Kingdom. You can now set your own default on Settings → About (Default Country For New Accounts) — it's used to pre-fill the country on every new account you create
v3.1.0
Navigation & Usability

What's New popup

  • You're looking at it: when a release ships, a one-time popup now shows what's new since your last visit, with a Show full changelog button for the whole history. Close it and it stays away until the next update
Accounts & Finance

Much faster

  • The ledger's running Balance column no longer re-sums the account's whole history for every row — on large accounts the page loads ~10× faster (a 36k-entry ledger dropped from unusable to ~¼ second). Balances are unchanged: same figures, same Dr/Cr, same behaviour with date ranges and column filters
Navigation & Usability

Safer page sizes

  • The "All" page-size option could crash on big lists (it tried to load every row into memory at once — large ledgers and item lists hit the server's memory limit). Every list now offers 10 / 25 / 50 / 100 / 1000 rows per page instead; paging still reaches every row, and Excel/print exports are unaffected (they always cover the full filtered list)
Sales

Double-sell protection

  • Two sale forms open in separate tabs could both sell the same physical item — the second submit silently attached it to a second sale. Sales, sale returns and purchase returns now re-check each item at save time (with a row lock) and fail loudly instead of double-selling or double-returning
Shop Repairs

Summary Report

  • New Summary Report (screen + PDF, in the repairs menu): for a date range, items Booked In and Handed Over with item counts and cost totals
Shop Repairs

Handover Report

  • The handover report can now be narrowed to one customer with a per-client PDF button
  • New Send via WhatsApp — sends the customer their handover report PDF directly, with a personalised message
v3.0.0
Purchasing

Duplicate parcel charge fixed

  • Fixed: parcels created from a Purchase Order could charge the supplier twice — once on the PO and again as a Purchase Parcel entry whenever items were added or edited outside the PO screen. The duplicate posting can no longer happen
  • New Settings → Fix Data Discrepancies → PO Parcel Duplicate Ledger Entries check: lists every affected parcel with links to the parcel, the PO and the supplier's ledger, and a Fix All that removes the historical duplicates (take a database backup first — supplier balances will drop to their true values)
Purchasing

Extra Costs & Average Cost in the Items Summary

  • The parcel details page and PDF now show Extra Costs and an Avg Cost per line (after Amount), plus Total Extra Costs and Avg Cost / Device footer rows — per-device extra costs spread across all IMEI devices in the parcel. Accessories are excluded from the average
Receipts & Printing

Customer name & account balance

  • New settings Settings → Receipt Printer: Customer name on repair receipt and Customer name on sale receipt (both default off) print Customer: <name> under the receipt ID
  • The existing "show account balance on invoice" setting now also prints an Account Balance line on the sale receipt, the repair receipt and the repair PDF / view (repairs: accounts mode only, never on cash repairs)
  • Requires print service v2.3.0 — update the receipt printer app before enabling
Shop Repairs

Booking & editing

  • New per-item Item Note on the booking form; it shows under the item on the repair view and update-details tables
  • Edit an item in place: a pencil button on the Items to Repairs list loads the item into the booking form (item, serial, fault, PIN, note, cost, collection date) with Update Item / Cancel — no page hopping. Handed-over items stay locked
  • New Completed repair status — a terminal state like Repaired: the order rolls up to Ready to Collect, the item leaves the Pending list and can be handed over
  • ETA column on the Pending repairs list showing the promised collection date
  • Fixed: the repairs list Edit Repair action opened the repair page instead of the item's repair form; blocked actions (handed-over items) now show their explanation message instead of silently redirecting
  • The Label print choice now sits next to the Collection Date on the booking form
Reports

Account repairs on the Daily Activity report

  • Repair amounts are now counted on the day the cost was recorded, not the booking day — so an account repair booked earlier and priced on completion appears on the completion day's report, matching its charge and payments
Stock & Items

Stock & items

  • Disabled models no longer appear on the rate lists (incl. B2B) or the min-qty stock alert
  • Grade is optional when adding items (item add, quick add, parcel import) — QC, repairs and rate screens still require one
  • New "Existing models only" checkbox on the Add Item form (next to the IMEI field, remembered between items): picking a model no longer auto-fills NEW/-/- into grade/capacity/colour, and saving an unknown model is rejected instead of silently creating it
  • Label printing on the Non-IMEI items list — print labels for accessories straight from the list, including in bulk
  • Fixed: the supplier column on the items list only appeared when a location was selected — it now always shows
Sales

Percentage discount

  • The Confirm Entry dialog's discount has a £ / % selector — enter a percentage and the amount due updates from the total; the resolved amount is what's saved
v2.9.9
Purchasing

Import items from Excel

  • New Import Items from Excel button on the Create Purchase Order and Create Sale Order screens. Upload a spreadsheet to add all line items at once instead of entering them one by one — the rows drop straight into the order table for you to review and submit
  • Download template link provides the exact columns: IMEI (Yes/No), Type, Make, Model, Grade, Capacity, Colour, Qty, Rate, Tax Category (plus Vat Rate when VAT fields are enabled)
  • Supports IMEI items (Phone / Tablet) and non-IMEI items (free-text type). Item attributes (make, model, grade, capacity, colour) are capitalised on import for consistent grouping
  • Each row is validated (type, required fields, quantity, rate, tax category) with clear row-numbered errors, and the sub-total / VAT / total are calculated automatically
v2.9.8
Shop Repairs

Per-item handover

  • You can now hand over one item at a time. Marking a repair as handed over only affects items that are actually ready — devices still Pending / In Progress / Awaiting Parts / Parts In Stock are left in the queue instead of being collected by mistake. A repair with some items still in progress now correctly shows as Partially Ready rather than fully handed over
  • New Hand Over button on each ready item in All Shop Repairs — it opens the Scan to Hand Over screen pre-loaded with just that item, so a single device can be collected (with its own cost/postage/payment) without touching the customer's other repairs
  • On cash-basis repairs there's also a Hand Over link on the Pending list — collect an item straight from there (set its status and cost on the handover screen before confirming)
  • Fixed: when collecting one item of a multi-item repair, the amount taken is now only for the item(s) being handed over, not the whole repair's combined total
  • The handover popup now lists the items being collected and, when some aren't ready, shows a Partial handover warning naming the devices that will stay in the shop
Shop Repairs

Receipt printing at handover

  • The Scan to Hand Over screen now offers a receipt print after handing over — a PDF for each customer's repair, plus a receipt-printer button when one is set up
Reports

Print activity summary on the receipt printer

  • The Simple Activity Report now has a Print Receipt button (next to Download PDF and Send via WhatsApp) that prints the day's sales, shop-repair and expense summary plus the cash balance on the thermal receipt printer. Shown only when a receipt printer is set up. Requires the receipt printer app to be updated to support the new activity receipt
Shop Repairs

Tidier repair list

  • In All Shop Repairs, the item serial now sits under the item detail and the repairer's note under the repairer name, so the table is narrower and easier to scan (search still works on the item and the repairer)
  • Row actions are collapsed into a single dropdown (View / Edit / Print / Delete), with the Hand Over button kept outside for one-click access. Action buttons are right-aligned
Shop Repairs

Receipt fixes

  • The retired Deposit line no longer appears on the repair receipt (what was actually paid still shows under Paid and in the payment list)
  • Once an item is collected, the receipt shows the actual date and time it was handed over instead of the booked "will collect" date
  • New setting "Show 'TBC' for unpriced repairs" (Settings → Shop Repair, default off). When on, an item with no price set yet shows TBC instead of £0.00 on the receipt and PDF; if every item is still unpriced, the totals also show TBC. Only turn it on once your receipt printer app has been updated to support it — otherwise leave it off and unpriced items keep printing as £0.00
v2.9.7
Shop Repairs

Take payment at handover (accounts mode)

  • Each customer group on the Scan to Hand Over page now shows the Total due (repairs + postage) and a Payment received box with a Cash/Card selector. The full amount is still credited to the customer's account as before; any payment entered is taken (Cash or Card) and only the remaining balance stays on the account
  • Overpayment is allowed — paying more than is due simply leaves the account in credit
  • Leaving the payment blank works exactly as before: the whole amount goes on credit
Shop Repairs

Receipts & ledger

  • Postage now appears on the repair receipt/PDF and is included in Total Due / Balance, so the receipt matches the customer's account
  • Handover payments record the payment method (Cash/Card) in the description, which now shows on both the receipt/PDF and the account ledger
Shop Repairs

Statuses & handover screen

  • Two new repair statuses: Repeat repair and No fault. Both can be handed over with a £0 or blank cost (like Not repaired / Cancelled)
  • The Scan to Hand Over screen now shows each customer's current account balance per group, and the customer name links to their account ledger (opens in a new tab)
  • Warning at handover if you clear an item's cost under a zero-allowed status — it tells you the repair charge will be removed from the customer's account before you confirm
v2.9.6
Sales

Non-IMEI items

  • The item/folder tiles now line up in an even grid with a uniform size, and long names shrink to fit the tile (and wrap at whole words) instead of being cut off
  • New filter box above the grid — type to instantly search non-IMEI items without drilling. It searches the current folder (and its sub-folders); at the top level it searches everything. Multi-word smart match: type any words in any order (e.g. "17 book") and it finds items containing all of them; an × clears the search
  • Negative-stock setting now honoured on the touch screen — if Allow negative stock during sales is off, the touch screen blocks selling a non-IMEI item below its available quantity, same as the standard sale screens
Shop Repairs

Customer accounts & credit

  • New setting "Charge shop repairs to customer accounts". When it's on, a repair is booked against a customer account: the cost is added to what the customer owes, and you can hand items over on credit and settle later instead of taking payment at collection. When it's off, repairs work on a cash basis and collect Cash/Card at handover as before
  • With the setting on, the customer details on the booking screen are read-only — they come straight from the account, so there's nothing to retype. Editing the account (name, mobile, email, address) now updates the repair customer everywhere automatically
  • Each customer account now maps to one repair customer record — repeat bookings no longer create duplicates, and contacts saved against an account stay put
Shop Repairs

Label printing

  • Print a barcode label for each item when you book a repair. Choose Print with Price, Print without Price, or No Print. The label shows the device & fault, the barcode, customer, PIN and (optionally) the price
  • Reprint any item's label later from the repair view
  • The app remembers your last print choice and defaults the next item to it
  • New Default repair label print setting (under Settings → Shop Repair) — set what the Label dropdown starts on. Defaults to No Print
Shop Repairs

Scanning

  • New Scan to Add Repair page — scan an item and go straight to its add-repair form, then back to scanning for the next one
  • New Scan to Hand Over page — scan items into a list grouped by customer, set each item's status and cost inline, add postage per customer (accounts mode only), then hand over in one go (collects Cash/Card, or books to the account on credit). Handover now confirms the postage charged on screen
Shop Repairs

Handover & reports

  • Handover won't accept items still marked Pending — they default to Repaired so nothing is handed out unpriced by mistake
  • Reverse-charge option for an item handed back not repaired, so the customer isn't billed
  • New Handover Report grouped by customer, with a date-range picker, the repair cost, links through to each repair, and a PDF export
  • Items handed over from the repair screen's Hand Over button now appear in the report too
Shop Repairs

WhatsApp updates

  • Send a repair-status WhatsApp update for a specific item. If there's no number on file, you're prompted to enter one and it's saved for next time
Shop Repairs

Help

  • New How-To Guide page walking through the repair credit, label and scan features — now including setting customer/supplier opening balances and charging postage via a Journal Voucher (used for cash-basis repairs, which have no postage box)
v2.9.5
Reports

Activity Report

  • All activity reports now live in one place under Activity → Activity Report. Pick a Report Type — Simple, Detailed, Sale, Sale & Purchase, Purchase, or IMEIs Sold — each with a short description of what it shows
  • Reports now open in an online view first, with an Export to PDF button on the report itself (no need to choose PDF up front)
  • The separate Simple Report and IMEIs Sold Report menu links have been removed — both are now options inside Activity Report
Navigation & Usability

Navigation

  • Back button added to the Debtors, Creditors and Trial Balance results pages — return to the filter form in one click
  • Edit and View existing links added on the Journal Voucher view page
  • Account switcher added to the Account Ledger view — jump straight to another account's ledger without going back to the form
Sales

Favourites

  • Star your most-used items and folders on the touch sale screen — tap the ★ on any card to favourite it; tap the rest of the card to use it as before
  • Starred items and folders show in a Favourites row at the top of the screen, so popular lines are one tap away (favourites are shared across all terminals)
  • Each starred item shows the folder it came from in small text, so you always know which group it belongs to
  • More compact cards fit more items per row, and the item grid scrolls on its own within the screen
  • Long item names with trailing dashes are tidied and shortened (full name on hover)
Shop Repairs

Searchable parts

  • The Add Parts Used box now supports search — type ; followed by text to open a list of matching non-IMEI items, the same way the sale screen works (or scan/enter a barcode as before)
Navigation & Usability

Footer

  • The app version (and build) now shows next to the copyright, so you can confirm exactly which version you're on
v2.9.4
Navigation & Usability

Navigation

  • View existing button added next to the page title on the Receive Payment, Make Payment, Create JV, and Create/Edit Account forms — jump to the list without going back to the menu
  • New Payment / New JV / New Account button added next to the page title on each corresponding list page
  • Payments and Journal Voucher menu items simplified — the separate "Show Received Payments", "Show Paid Payments", and "View JVs" menu links have been removed; access is now via the button on the form
Bug Fixes
  • Ledger — payment links — Clicking a payment entry in the account ledger was opening the wrong form (received opened Make Payment and vice versa). Now correctly routes to the right form every time.
v2.9.3
Reports

Sold vs Stock

  • New Sold vs Stock report under Stock Alert — side-by-side view of net sold (sales − returns) and current stock for any date range
  • Supports both IMEI items and Non-IMEI products via a Type dropdown
  • Filters: date range with quick presets (Last 7 days / 2 weeks / 1 month), location (IMEI only), and toggles for Net sold > 0 and Stock < net sold (instant reorder shortlist)
  • Rows where current stock is zero or negative are highlighted in red so gaps stand out at a glance
  • Net sold values are colour-coded — green for positive movement, red for net returns
  • Per-column footer search and standard Export / Print / Reload buttons
v2.9.2
Settings

Data Discrepancy Checks

  • New Data Discrepancies section in Settings with four data integrity checks:
    • Invoice Total Mismatch — finds sales where the stored grand total doesn't match the sum of line items; links directly to each sale
    • QC & Repair Stock Count — finds items with an open QC or Repair record that are no longer in the corresponding location; offers a Fix All to close stale records
    • Sold Location Mismatch — finds items with an active sale record whose current location is not Sold; offers a Fix All to correct the location
    • Purchase Return Location Mismatch — finds items linked to an active purchase return whose current location is not Purchase Return; offers a Fix All to correct the location
  • All checks show a preview table with item-level search links before any fix is applied
Sales
  • New Edit Sale button on the sale detail page — admin users can jump directly to the edit form without returning to the list
Stock & Items

Item Movement History

  • Movement reasons now correctly describe the source action instead of showing "manual":
    • Removing an item from a sale → removed from sale #X
    • Removing an item from a sale return → removed from sale return #X
    • Adding an item to a purchase return → purchase return #X
    • Removing an item from a purchase return → removed from purchase return #X
Bug Fixes
  • Sale Return deletion — deleting a return item no longer errors when the item was sent to Quality Control (or any non-Sold location); previously only items at Stock could be deleted
  • Purchase Return deletion — deleting a return item now correctly restores the item to its previous location (e.g. QC, Stock); previously the item could get stuck at the Purchase Return location
v2.9.1
Receipts & Printing

Barcode Printing

  • Bulk barcode printing — Select multiple items from the Stock List or Item List and print all their barcodes in one go. Choose Print Selected Labels (sent directly to the label printer) or Download Barcode PDF (3-column grid PDF). Both prompt for with/without price before printing.
  • Item search popup — Each result now has a barcode button to open the label print dialog directly from the search modal.
Shop Repairs
  • New repair statuses — Three additional per-item statuses: In Progress, Awaiting Parts, and Parts In Stock. Each has a distinct row colour in the repairs list.
  • PIN / Passcode field — Record the customer's PIN when adding a repair item. Shown on the repair detail page and in the items table.
WhatsApp
  • Repair status update — per-item detail — The status message now lists each repair item individually with its current status (and serial number if set). Single-item repairs stay concise; multi-item jobs show each device on its own line.
  • Send Status Update button — Hidden once a repair has been handed over, preventing accidental messages after job completion.
v2.9.0
Purchasing

Parcels

  • New Change Account option on the parcel detail page — reassigns a parcel to a different supplier account
  • Account ledger entries are automatically re-pointed to the new account so balances update instantly
  • Restricted to admin users with edit permission
  • Change is recorded in the activity log
Accounts & Finance

Accounts

  • Account names in Trial Balance, Debtors, and Creditors reports now link directly to the account ledger (opens in a new tab)
Reports

Activity Log

  • All parcel operations (create, import, move, status change, account change, delete) are now recorded in the activity log
v2.8.0
Reports

AI Reporting

  • New AI Reporting page — ask questions about your business data in plain English and get instant results
  • Powered by Qwen3 Coder via OVH AI Endpoints — your data stays private, only table structure is sent to the AI
  • Supports sales, purchases, inventory, shop repairs, and financial queries
  • Results shown as an interactive table with Chart, Excel, and PDF export options
  • Built-in guardrail filters off-topic and unsafe questions before they reach the AI
  • Daily usage limit per user to prevent abuse (configurable)
v2.7.0
Stock & Items

Stock

  • New Non-IMEI Stock Summary view — grouped by manufacturer → model → grade with total quantities, matching the IMEI stock summary layout
  • Expand any level to drill down to individual SKUs with a link to per-product inventory detail
  • Filter by Positive only (default), All (including negative), or Negative only stock
  • "Non-IMEI Stock" menu link goes to the summary view; "Non-IMEI Stock (list)" kept for the flat DataTable
Stock & Items

Item Management

  • New Manufacturers management page — edit name, enable/disable, delete with constraint protection
  • New Item Models management page — view all models with IMEI and Non-IMEI stock counts, enable/disable, delete
  • New Item Gradings management page — view all grades with stock counts, enable/disable, delete
  • Disabled models and grades no longer appear in product create/edit dropdowns
  • Editing an existing product still shows its current model and grade even if disabled
  • Links from Manufacturers page to filter Item Models by that manufacturer
  • Links from Item Models and Item Gradings pages to view related IMEI items and Non-IMEI products
  • Filtering on IMEI Items and Non-IMEI Items lists pre-fills the relevant footer search visually
Navigation & Usability

Navigation

  • New Items sidebar menu consolidating IMEI Items, Non-IMEI Items, and the Manage sections (Manufacturers, Item Models, Item Gradings)
  • IMEI Items and Non-IMEI Items links moved from Dashboard into the Items menu
  • Dashboard is now a direct link with no submenu
v2.6.0
WhatsApp

WhatsApp Integration

  • Send invoices directly to customers via WhatsApp from the Sales list
  • Phone number confirmation popup before sending — edit or save to account
  • Repair status updates sent via WhatsApp after marking as repaired
  • Test message button in WhatsApp settings
  • All messages signed with the business name
Shop Repairs
  • Multiple charges and payments per repair with individual dates
  • New Handed Over status — marks the repair as collected by the customer
  • On handover: payment prompt if balance is due, receipt print option
  • Receipt print button added to the Shop Repairs list
  • International phone numbers auto-detected (no country code prepended if already international)
Accounts & Finance

Accounting

  • Double-entry accounting now correctly recorded for all repair payments
v2.5.0
Accounts & Finance

Accounting & Reporting

  • Trial Balance report with date range filter
  • Customer and Supplier account types
  • Ledger view performance improved with large datasets
  • Debtors report now excludes fully settled accounts
v2.4.0
Stock & Items

Dashboard & Stock

  • Dashboard detailed view with per-location breakdown
  • Stock list loads faster on large inventories
  • Negative stock alert badge now updates correctly