Skip to Content

Software Update — 4 October 2026

Examinations, Job Cards, Detach Dependent and Stock Valuation unblocked; two new financial reports; Roster, tariff-code and per-branch settings fixes.
October 4, 2026 by
Software Update — 4 October 2026
Phillip Venter

Release: 4 October 2026

This update unblocks four things that stopped staff working altogether — the Examinations list for anyone without accounting rights, the Job Card's purchase order for dispensers, Detach Dependent where no patient-number prefix is set, and the Stock Valuation by Category report. It adds two new financial reports, corrects the way the Roster handles All Day bookings and works across multiple branches, and restores a daily tariff-code sync that had quietly stopped turning new codes into products.

Below is a plain-language summary. Three items change how something behaves — please read Worth knowing at the end before your next month-end.


Examinations and dispensing

  • Examinations open for staff without accounting rights — the Examinations list refused to open at all for any user who does not hold an accounting role, showing an access error instead of the list. Clinical-only staff could not reach their exam list, press Done at the end of a consultation, or use the invoice buttons on an examination. All of those now work, and the invoice buttons appear only where that user is actually allowed to use them.
  • Dispensers can raise the Job Card's purchase order — where a Job Card needed something ordered in from outside, a dispenser creating it got the Job Card saved but the purchase order silently discarded, so nothing was ever ordered and no one was told.
  • Opening a product no longer fails with an access error — simply viewing a product could raise an access error, because the screen was quietly trying to write to the product while reading it.

Patient records

  • Detach Dependent works where no patient-number prefix is set — in a practice whose patient numbering has no prefix configured, Detach Dependent failed outright: the dependant stayed attached to the main member and no new patient number was issued. Detaching now follows exactly the same numbering rules as creating a patient, and a practice with no numbering configured at all gets a clear message instead of a silent failure.

Appointments and the roster

  • An All Day booking now blocks the whole day — an All Day appointment displayed on the Roster as 10:00 to 20:00 and left the rest of the day open, so a second patient could be booked into a day that was already taken.
  • The Roster shows only the branch you are working in — in a multi-branch practice the Appointment Roster listed every branch's bookings together. Opening one belonging to another branch then failed with an access error telling you to switch company.

Payments

  • A customer can be found by medical aid number on Customer Payments — the customer picker on a payment searched name, reference and a handful of other fields, but not the medical aid number printed on the patient's card, which is usually what the person at the counter is reading from.

Reports

  • New: Age Analysis Report (Patient Based) — a printable report of outstanding patient balances grouped by medical aid, listing each patient across Current, 30, 60, 90 and 120-plus day buckets, with a subtotal per aid and a grand total. For practices that used it in their previous system, it reproduces the Age Analysis Report (Patient Based). Found under Clinical, Financial Reports.
  • New: Frontliner Receipts report — a standalone receipts report grouped by the staff member who took the receipt and by receipt type, for checking a day's takings against who handled them.
  • The Debtors Transaction Report splits payments by journal — payments were lumped together whatever way they were taken, so cash, card and EFT could not be told apart on the report.
  • Stock Valuation by Category prints again where a product has no category — a single product left without a stock category stopped the whole report, in both the PDF and the Excel export, rather than printing one odd row. Products with no category are now grouped under Uncategorised.

Pricing and tariff codes

  • New tariff codes become products — the daily tariff-code sync was pulling in far more codes than it should have, and a single clashing barcode then rolled back the entire run. The result was silent: new tariff codes were never turned into products, and new code records were never saved either, so the sync could never finish. Each product is now created on its own, so one clash skips that single code instead of discarding the whole run.

Settings

  • Default Optometrist is set per branch — the Default Optometrist in Settings was one value shared across the whole practice, so setting it while working in one branch silently changed it for every other branch as well.

Enterprise Edition Only

  • Branch users can send a customer statement — Send on a Customer Statement was blocked for any user restricted to a branch, so only a head-office user could email a patient their statement.

Worth knowing

  • The Debtors Transaction Report is now dated by the invoice and payment date. It previously used the date the record was captured, and also dropped the final day of whatever period you asked for. Both are now corrected. This means the report will show different totals from earlier runs of the same period — the new figures are the right ones, but do not expect them to match a copy you printed before this update.
  • Default Optometrist is now held per branch. Your existing setting has been copied to every branch, so nothing changes on day one. Multi-branch practices should still check each branch and correct any that should be someone else.
  • The Roster now shows only the branch you are working in. Staff who work across more than one branch will need to switch company to see the other branch's bookings. This is deliberate — it is also what stops the access error when opening them.

If anything here does not behave as described on your system, please log it with us in the usual way.