RSS Feed c9 logo Australia's best motorcycle shop retail software
Release 5.2.158 June 5, 2026 barney

Not yet released. Mid next Week

PAYROLL : Error in 2025 Tax Tables

There is an error in existing tax tables that has been in place all year undetected.  Throughout 2025 c9 overcharged tax by about $4 to $5 a week because of an incorrectly inputted tax bracket.  Since it is nearly the end of the financial year we are going to leave this in place. All employee payments made using c9 payroll can expect a slightly higher tax return as a result.

2026 FY onwards we are migrating to a different methodology for handling tax tables. The ATO publish tax tables in form of excel spreadsheets for software developers. For years these have been baked into c9 but we never enabled them as a default tax computation methodology. The reason for this is that the way the excel files are designed and math in them; it is difficult to reason about the results and cross reference them with actual tax legislation and validate their accuracy.  The thinking was that it was more likely that using this dataset will cause computation issues. Given the 2025 undetected error we are reconsidering this and decided to pivot to this data and perform some basic spot checking / automated testing from 2026 FY onwards; and trust/rely on ATO to publish error free formulas.

PAYROLL : Qualifying Earnings and 2026 Tax Tables

  • PayDay super also applied some subtle changes to how super is computed. Specifically:
    • Transmit Qualifying Earnings to ATO via STP for pay data after July 2026. June 2025 and earlier will still us previous Ordinary Time Earnings regime
    • For Allowances : add two more types for Allowances which also contribute to qualifying earnings
  • Tax Tables - as mentioned above now bakes in excel files provided by ATO to software developers instead of us recoding the tax tables ourselves

C9 Repository changes - Stihl Pricefiles

We are bringing Stihl into our price file repository. This forces a change in repo importing to allow for optional support of per dealer discount codes.

This change requires us to "fence" off our repository from older versions of c9. Older versions of c9 will not see any c9 repo changes. You must update c9 first in order to access future price file updates in the repo.

Other tweaks and fixes

  • Inputting a bill with tax code of '*** no tax code **' : the gst presented would show as 10% still. The gst presented is useless and does nothing on any relevant report but it is a bit disconcerting to see it on screen. Tweaked to force gst to 0 if no tax code is set. There are a couple of very narrow scenarios around management of capital purchases where ** no tax code ** is appropriate but they are very rarely used.
  • Rebate screens / reports : show supplier
    • Units - >units -> rebate screen
    • Units -> Reports -> Rebates
    • Units -> Reports -> Uncollected Rebates
  • No cash collected permission tuning  - couple of screens need nocash. Updated because soon we are going to retire no cash collected entirely
    • Sell / delete discount giftcards : replace no cash with sell below margin permission
    • bank rec : edit opening balance : replace no cash with banking permission

 

 

Release 5.2.157 May 25, 2026 barney

Includes DB changes. You need to close and reopen c9

Important Change - messenger

This version of c9 enforces 'restrict messenger' mode so that messenger only runs on computers which are explicitly configured to run it

Some dealers might have c9 in permissive mode and will find messenger will not start at all. To fix on main computer goto setup -> main setup screen -> system and database tab. Make sure 'allow' option indicated below is selected, save then close and reopen c9

Basic fixes / tweaks

  • Payday super / payroll
    • Rename superfund ID so it is obvious this is USI
    • Allow member ID to be blank if SMSF
    • Select superfund : filter out superfund records which do not accept contribution.
    • Fix a  serious issue when there are multiple messengers running and they both try to progress a payday super operation can trigger undefined behaviour upstream. Make sure super records are locked so there is no simultaneous activity. Also escalated to our upstream supplier.
    • when there is a network/connectivity error with our pay provider c9 is supposed to generate an detailed diagnostic trace. Wasn't there. Added in this version
  • Edit Sale unit  : show vin and engine number onscreen

Complex tweaks / fixes

  • New lock fixes : subtle bug with locking in some rare circumstances would trigger a shutdown of c9. example, point of sale 2 parts: 1 uom sale + other order on a daily order that doesn't exist yet. Put on reserve/pickup will fail because of UOM item. A minute later c9 will crash. Root cause is because lock for daily order is done in a txn frame which is then rolled back. Fix : all locks happen in autocommit frames, if current frame isn't autocommit then establish a new temporary connection to database
  • potential performance issues with inputting a part in point of sale fixed. for a couple of dealers have had sporadic reports of certain parts taking a long time (5 to 20 seconds or more) to pull up and these problems seem to disappear after some database 'ANALYZE' tuning.  I suspect issue comes down to two  things. This version corrects one of them : how c9 handles 'use alt franchise' settings in advanced (2) tab of edit franchise. Previously this was implemented on database, but I suspect it is far more efficient and reliable to implement on client side. So moved logic here. Second area we will explore later if problems continue to happen after this update (relates to instantaneous computation of available partkit qtys in F2 and input part number ).
  • Backup Verification : a low level change happening here to progress a very long term project : allow c9 and c9 databases to work with extended UTF charcter sets.  Actual support for this is still a long time away, but this is a critical next step. Opportunity taken since we need to migrate our servers to be a better provider, might as well ensure new servers support UTF at same time
  • Bugfix for a very specific set of circumstances with add payment. If you add payment and preselect txns to pay via 'sel txns' and then adjust the payment figure downwards afterwards in some circumstances this can cause the txn to fail to save. Now fixed

 

 

Release 5.2.156 May 13, 2026 barney

Small tweak to cope with using barcode scanners via remote c9 where barcode is configured to transmit STX.

In point of sale screen the barcode would misread as '42' instead of actual barcode. This version includes a temporary fix that makes such scanners work.

One subtle variation between remote and local STX programmed barcodes is remotely for now , barcode scanner will behave as though it wasn't programmed. You'll need to manually key in qty sold in point of sale for example.

Release 5.2.155 May 8, 2026 barney

DB / Messenger Changes - You need to log all terminals out with this upgrade

Sender ID registration changes to support July 1 ACMA requirements. Details of this are very important but will be covered in another separate post shortly.

Tweaks and fixes

  • PayDay Super : Super fund MVR support added. Note this function isn't usable until July 1 but is now in play. MVR queries are accessed in edit staff screen
  • Magician checks
    • Mojo magician : fixed. You'll need a apikey though to use it. To get an API key goto mojo dealer portal. You need to use the old Basic api key; NOT the bearer token.
    • Honda magician and website interaction causing messenger to crash. Now fixed.
  • Other
    • Purchase unit : add similar unit. Broken in recent changes to c9. Now working again
    • Accounting reports : print biz name + ABN at top of these reports
    • Historical Analysis restock  / stock analysis tools : wasn't generating data or useful maxqty recommendations. Caused by recent changes to prepare for 5.3. (wasn't sorting results correctly from database before feeding into liner regression and linear regression expected to receive presorted data).

 

 

 

Release 5.2.154 April 28, 2026 barney

Bugfix with recent changes to new/used unit flag setting on purchase unit.

In scenario where unit doesn't exist against the customer and you add it for the first time, the purchase unit screen will scrub unit details at various points making it  impossible to add a new unit for purchase in this screen.  Floor stock purchases unaffected.

Underneath this is a subtle design issue which is now also fixed. Previously c9 may have flipped the new/used flag at random times during process of inputting a unit to purchase. This should no longer be happening either from now on.

Release 5.2.153 April 20, 2026 barney

Includes DB Changes. You need to log terminals out during upgrade

Features and high impact fixes

  • Honda Magician - working again (!). Uses Honda API to perform magician call. Make sure API key configured in edit  franchise is correct
  • Unit Duty / Market Value. Prior versions of c9 this would be computed based on unit price or it could be fixed / overwritten. Problem was the user interface didn't make it obvious if it was calculated or fixed. You sometimes had to wrestle with it and sometimes it would inexplicably change (especially when selling parts onto deal , or PD changes). There is now an obvious checkbox flag that controls if duty value is fixed or calculated. It will only change from one to other if you either toggle the checkbox or input an overriding duty value.
  • Purchase unit : if customer purchasing from is account customer and they have an ABN : and unit odo<50 and hours<1 default assume unit is a new unit.
  • Recall Reminders
    • Bugfix : incorrectly sending recall alerts in some scenarios ( triggering off long running / long deleted deal records ,not off actual customer unit records )
    • option to treat reminders as marketing messages : if customer 'marketing' flag is not set then sms will not be sent. This allows service reminders to be configured to respect 'stop' requests if recall messages are more positioned as a marketing tool than a notification.  Option can be found in daily workshop notification tab in main setup screen.
  • Scheduler : display the scheduled task's note. Displays under job no
  • Payroll / Super
    • SMSF configuration : increase max size of super fund account name from 40 to 80 chars
    • BankRec alert requirements : show last reconcile date and required reconcile date
    • PayDay Super onboarding : was not correctly transmitting max txns a month figure. Instead default of 9999 was going through.
  • KTM part image import, was still broken with recent fixes. More changes here and hopefully working again
  • ACT contract of sale T&C now added

Other Bugs

  • Deals
    • browse finished deals database performance boosts.
      • Screen should now be substantially faster
      • Note that previously for a deal which contained multiple sale units this screen whould show all units. Now it only shows the first unit; like the other 2 tabs on deals screen.
    • Cancelled / Finished Deal - visually indicate with an icon whether or not the deal has notes/private notes
    • Cancelled / Finished Deal - view details - also allow viewing of any attached private note
  • Deal Deposit history bugfix : if customer is changed then deposits were added on deal before change will be invisible in 'deposit history' list.  Now fixed to not pay attention to customer at time of deposit. Bug introduced with recent changes to pre-populate email for customers
  • Save txn, error then resave bugfix There was a long standing bug where if you created a new txn like add transaction on AR/AP, but if failed for some reason (e.g. GL lock), if you repaired the issue and click save again it would seem to work but not actually record anything. Now fixed. Previously workaround would be to start over.
  • Workshop : spares quotes involving UOM and qty was a fraction. e.g. 1.4.  The fraction would go onto workshop job as quoted part fine, but when you flipped it to supplied part, it would round the fractional component.  Now fixed.
  • TillPay integrated terminals : improve onscreen error reporting. Some common situations c9 pops an error but doesn't explain in more detail. Common example is a c9 terminal linked to a specific eft machine but that machine is offline. C9 previously would pop an error retry screen but not explain why. Now it reports EFt device it tried to connect to and that is is offline.
  • KTM export - Remove 'separate supplier' logic which used to triage best price. No longer an advantage and hasn't been for some years. This behaviour today is now a liability if operator isn't paying close enough attention to fact that export process outputted multiple files.
  • New locking system improvements - lock alert bugfixes
    • System could misreport which terminal holds a lock. It may report the terminal that first acquired the lock for the day instead of actual current terminal. Now fixed
    • System would report remote c9 sessions as though they were locally running on same computer as messenger. Ensure correct name with (R) as remote access indicator is shown
  • Spares invoices - surcharge on reserve / deposit fiddles
    • Reserve: keep document description as a tax invoice if there are any tax events on journal at all, such as surcharges
    • in deposit history summary also summarise and tally tax supply components. A common issue especially where a surcharge is applied on reserve for initial deposit taking is that taxable supply on surcharge is realised on the reserve and that is not reflected on the 'supply' invoice making it hard for customers to reconcile card charges if they don't have the original reserve tax invoice.
  • Business Health - include freight on spares receival in generic expense section

Minor tweaks /tiny fixes

  • Cash Till summary : report didn't have a name so when you tried to email it the attachment name was ".pdf".  One c9 customers email system seems to be having issues with this suddenly. Now fixed
  • Remove auto send order during point of sale feature : just isn't a good feature. Difficult to reason about/predict its behaviour and doesn't actually same much time/effort.
  • Bank Rec - when a new bank rec is created the from date+time is placed after the last reconcile. c9 tries to include some intelligence so it isn't the second after but it tries to round the time up to nearest 'simple' value, testing 1 min, 15 min, 1 hour, 3 hour and next day boundary respectively as long as round up doesn't skip any unreconciled txns. So if last rec finished at 19:07:15pm but there is a txn at 23:12:01 pm, the next rec will round up to 21:00:00 instead of using 19:07:16. There was a subtle bug in system where rounding would round beyond now into future time. This is is obvious if you reconcile right upto now and then do another reconcile right away. It rounds to tomorrow. For lots of reasons it is not appropriate to round up into a future datetime. c9 now constrains rounding result to a boundary that remains before present moment, if none exist don't round at all.
  • Browse Txn Audit - button to query all txns connected to the highlighted audit record
  • Private job notes : capture and display clerk that created / last edited the private note

Low level changes

  • Stock analysis : reorganised code to simplify migration to 5.3
  • Txn save error : improve logging to log txnengine error list; needed to help with some fiddly support issues.
Release 5.2.152 March 16, 2026 barney

Includes DB changes you need to log all terminals out during upgrade

C9 Locks

This version includes significant changes to how locks are managed. The expectation is the dreaded 'deal Y is locked on terminal X messages' when in fact the terminal hasn't locked the deal should all but disappear.

The previous system relied on robust network connectivity between terminals and servers; as 'locks' were linked to the connection. If anything interfered with connection such as computers falling off network in a way the server didn't detect the disconnect then locks would stay in place until you restarted server.

The new architecture is functionally the same but is alot more resilient with network issues.  In event of a stuck/stale lock it will only remain stuck for 5 minutes; after which the new terimal will gain the lock. If the prior computer which held the lock somehow gets unstuck (.e.g. the computer was just in sleep mode), c9 will see that the lock was taken by some other terminal and will force the c9 to close.

Expectation is that this architecture will be alot more resilient and much less disruptive in handling edge cases and hardware niggles around deals and job cards. Network issues will not trigger perma-locks which can only be cleared with a database restart. The new behaviour of killing stale c9s which woke up to found their locks where taken is anticipated to be both rare and minimally disruptive.

PayDay Super

Some ongoing refinements and fixes

  • Certain system or network errors could permanently locks a stream upload in c9 as finished but failed. Some refinements here
    • wait for 5 consecutive system errors before flagging a payday upload as perma failed
    • Add a button : force refresh to allow a finished payday upload to forcefully reevaluate payday super result
  • Manual payday : was not working as expected. Was not correctly detecting payment due and advising operator and instead was flagging as an error. Now fixed.
  • pending payday block backup verify. Still wasn't 100% fixed and was still pausing backup verify. Hopefully now is sorted.
  • Payroll bankrec alert is now more strict, payrun prior to last must be covered by bank rec. Bank Rec alert is now enforcing / mandatory if there are any payday super records or if payday on next run is after July 1 2026
  • PayDay Super is now generally available. Once we finalise documentation in a week or two we will invite some clients to try it out

Single Touch Payroll - Security changes

The ATO are mandating some modifications to how STP data is transmitted and will only accept STP data coming from systems you are pre-authorised via ATO portal. This will create a new process you need to perform to advise ATO for your business C9 is allowed to transmit STP data.

All this work will come into play around July 1.  There are still some elements of this not yet 100% completed. More details will come out in next month or two.

Other Tweaks and fixes

  • Add new franchise : screen could accidently pickup random note from unrelated part of c9 for notes to print on order sheets. For example if you were printing a workshop job just before and workshop jobs have configured fineprint that also prints, that fine print would drop into new franchise as notes to print on daily order sheets. Now fixed
  • General Ledger - split interest expense gl code to disambiguate bank interest/charges from ATO penalties/charges/interest
  • KTM/HQV web shop part image grabber : now working again
  • Reprint deposits. Access customer on deposit record to preload email if operator chooses to email receipt
  • Edit journal / add transaction. Make tax code drop downs more obvious / intuitive. blank renamed to 'no tax code', and internal is explained better as effectively disabling posting. Disallow use of internal in add txn entirely since it cannot post a balanced journal anyway

Low level changes

  • Messenger location is no longer sensitive to primary /secondary terminal installation when 'Restrict messenger setting is in play'. In this case check the messenger setting to assess whether or not to wake up messenger on a given terminal.  This will allow easy / quick movement of messenger from one computer to another.

With following setting in place, location of messenger is now solely controlled by whether or not 'allow messenger' checkbox is set and nothing to do with selection at installation time

Release 5.2.151 February 27, 2026 barney

Includes DB changes you need to log all terminals out during upgrade

Alerts and promos. When you open c9 at startup after login it may now display some sort of alert or promo. we are initially using this as part of marketing campaign but plan to use it for important notes and updates. Contours of current marketing popup : will pop up just once a week on each terminal and can be permanently disabled by clicking checkbox to don't show again.

Tweaks and fixes

  •  Contacts
    • View Contact -> units tab. An option to filter archived units
    • Add licence expiry field to contacts
  • Biz Health Report - was not including rebates where unit was still on the floor. Now fixed
  • Business -> activity lock. Improved design of screen to drive better GL lock outcomes
    • previously would only lock on month boundaries. Include an option to specify if BAS is monthly or quarterly. Work off that. Default to Quarterly
    • clear locks would completely open things up when typically what is wanted is ability to tweak last BAS period only. Clerk locks has been renamed to 'unlock last period' and it sets locks to prior period to prevent any accident distant past alterations
    • Colour code buttons so it is obvious which lock regime is in play
  • Jobs / Estimates
    • edit completion date in modify job screen
    • planner - fix font. Screen was fully bolded making alot of text on screen hard to read. Been this way for years but was only picked up after recent font antialiasing issues
    • estimates - option in all estimates tab to filter estimates with references. Idea is 'all estimates' becomes list of once of quotes, not standard repairs
  • c9 repo : reorganise repo into a tree Structure. So all honda sub products sit under 'Honda', all Mojo affiliated brands under Mojo etc. Often a dealer with multiple products will mess up ensuring all relevant sub products are imported. New design will hopefully reduce instances of this problem
  • Deals - salesperson filter can now work on all tabs, not just active deals tab
  • Spares Docket receipts : footer was originally just two lines of text. Now allow multiline text
  • Husky Integrations :  update new website URL. epc import working again. Magician inventory check working again.
  • Browse images/attachments on jobs, customers etc: button to save highlighted attachment/image locally. Button to save all attachments/images locally
  • WA Paperwork
    • Add page numbers to proscribed Contract T&C to distinguish particulars from T&C
    • Updated forms: VL12 and MR9B
  • Payroll
    • Print individual payslip. Default email addr email on staff accnt incase operator goes from preview to email
    • Button to print all payslips. Unconditionally prints them all, ignoring the preference setting
    • Edit staff : show staff code in window title so when on other tabs it is easy to track staff being edited
    • Payday Super tweak : when payrun is prepared days before actual run, payday super was interfeerring with online backup verification. Verify will not run until after payday. Root cause was constant traffic with super clearing house was logging events in c9 database and resetting verify process. Tweaked to reduce network traffic to clearing house.

Systems  / Setup etc

  • System settings : new setting to enforce one copy of c9 per Java instance. Added for one computer on one new customer which seems to be problematic for some unknown reason. Recommended setting for this new option is to leave off, as default, as it will cause c9 to take longer to open when you click on c9 icon on desktop
  • System settings  : hide / show button to toggle password mode for remote password; to protect against accidental screencap of sensitive details
  • When you install c9 it asks primary or secondary. This influences whether or not messenger starts on computer when computer first logs in. We want to change this mechanism to implement better mechanism for controlling this. The changes will require a couple of updates to c9. This first update is non functional but sets some things in place to ensure next update contains the required functional changes
  • Deployed version of rustdesk is supposed to be codesigned. But appears it isn't. Deploy new version signed by c9's code signing key.
Release 5.2.150 February 2, 2026 barney

More work on fixing font anti-aliasing regressions introduced in 5.2.147.  Fairly confident this is sorted now

Root cause : we had to switch some graphics drawing commands as older commands work with Java8 but do not work with later java versions. The 'substitutes' don't work the same and we didn't realise this.  Reviewing original java source code which is no longer supported but latest javas fairly confident now we have replicated the original removed behaviours now.

Release 5.2.149 January 29, 2026 barney

Bugfix  : recent bankrec payroll alert wasn't supposed to stop access to payroll until July 1. Tidied so alert is a soft alert for now.

Next Page »