RSS Feed c9 logo Australia's best motorcycle shop retail software
Release 5.1.160 July 17, 2026 barney

 

Important Change – payroll bank rec.

This version includes a change to make bank rec restriction on payroll advisory only. The original design intent behind this was to discourage reckless behaviour. What I didn’t anticipate was it would actually encourage even more reckless ‘quick fixes’ to work-around the restriction. Instead it is now advisory only. If your rec is more than 45 days old c9 will delay access to payroll with a countdown timer to encourage good back-office hygiene, but it no longer enforces.

This update also fixes some issues and unfinished fixes in last version

  • KTM EPC import, now working
  • Select Estimate button. On sort by id tab the location of add/modify buttons was mangled.  Fixed. Caused by introduction of date field and making the window bigger
  • TillPay Term integration. Some internal work to rationalise low level webhooks wasn’t 100% done. Now sorted. (webhooks are a thing which allows terminal signal back to c9 the txn is finalised)
  • PayDay super waiting for payment status in payrun or browse payday screen: would clip cents off amount to pay if amount to pay was >=$1000.  Now fixed
  • Vicroads new auth register form – missing SOLO in body type when it was there previously

Other little fixes

  • View deal. When deal is a tradein, print invoice button would randomly print either sale or tradein/recipient invoice. Now consistently prints the invoice
  • Low level unit sale bug. Recently dealt with a issue on accounting data for one client which tracks back to some badly formed sales in July last year. Unsure what bug is because of how long it has been since issue and report, and there is a good chance some other change in last 12 months fixed it already: but added some additional guards into software that will hopefully prevent bad data we saw from making it into the database

New stuff

  • Web order alert : new alert if there are any finalized orders with unbalanced settlement figures
Release 5.2.159 July 8, 2026 barney

More impactful changes

  • Workshop scheduler : now pays attention to both promise date and promise time to allow more fine tuned alerting of overdue jobs. If promise time is not set reverts to old behaviour (if job runs into promise date  then assume it is overdue)

Tweaks and fixes

  • Payroll
    • New pay tables incorrectly calculate withholding for residents where no-threshold is set. The computed withholding is way too high. Now fixed
    • Recurring payments, like Garnish do not draw in settings on other tabs such as whether or not garnish is for child support. Instead you have to reselect every time. Now fixed
    • Edit computed changes : if you only changed settings like garnish, the underlying pay item would not adjust at all and revert to computed result. Previously you needed to edit some other aspect of the item too, like its line. Now fixed
    • Edit line : disallow blank names. This especially messes up reporting of allowances via STP when no allowance type is selected
  • PayDay super tweaks
    • Manual transfer : in superstream status show amount waiting for. e.g. ‘Waiting for: $216.00’
    • Manual transfer : if somehow there are multiple amounts being wainted for, separate them into a list, don’t show merged result
    • initial super file upload was not logging useful debugging info. Now fixed (api json reply not logged because request wasn’t a json payload)
    • Added support for some new error codes coming back from Ozedi (generic upload failure & revalidation of superfund details, USI/ABN etc)
  • Unit sale – if onroad lines are inputted with ex and gst figure, previously it would render the ex figure only on screen in the list of costs. Fixed to show GST inc price. Nominally what is inputted here is just a fixed non gst figure, so on roads do not have any BAS impacts on the business, but it is possible to input this data into c9 if preferred.  This change doesn’t alter any underlying behaviours with how invoices are printed or general ledger journals the sale, purely a visual thing for the screen where unit sale costs are built.
  • Import price file – remove a very old 10+ year rule where lastincost on stocked parts is written as daily buy if it is zero on stock file. Nominally this isn’t needed and in one instance with a dealer doing some data migration it caused problems with stock validation post stock take.
  • Unit curtailments :  redesign a couple of screens so it is visually obvious curtailments are functionally paying down inc GST cost of the unit (even though GST isn’t on curtailments themselves)
  • Email sending in modern Javas – broken because of a missing library which older java 8’s packaged. Now repaired
  • Updated paperwork
    • Vic – VicRoads Vehicle Registration
    • Vic – VicRoads Dealer On-Line Authority to Register
    • NSW – Registration Form (C)
  • Workshop part quote / UOM tweaks
    • Where UOM is fractional, convert to supply rounds price such that it reflects a non fractional price. Now fixed
    • Edit uom quote part : quote qty shows as #### because of fraction. Now fixed
    • Convert a quote involving negative parts,  it tries to sell parts to bring -ve back to 0. Now fixed.
  • Workshop pickup job : include option to print lines ex GST. Previously was there when you click on pro forma in view job,  but wasn’t an accessible option in pickup screen. Now available.
  • Browse Estimates  –  show Start Date on browse screen
  • Deals – browse older completed deals, allow private notes to be edited
  • Dead Stock Report – show franchise and allow filtering by franchise

System level / other

  • Very narrow layer of edge cases could make txns fail in c9 but not report to end user something went wrong so to user there is not strong screen feedback to a problem but it is obvious something went wrong because the screen, like add payment, didn’t advance. Now fixed. The core issue is around c9 general ledger : it contains two layers of defense against issues, layer one in c9 itself does all the warning about inbalanced txns, concurrent edits etc. But the second layer of defense, on database itself asserts critical invariant on posted GL, that it balances among other tests. Rarely errors are trapped here but when they are they do not pump an alert to screen. Now fixed here.
  • A Decade or so ago c9 pricing based based  on access to ‘modules’ : unit sales etc. For a long time now convention is everyone has access to everything and our pricing model of market segment dependent was entirely an administrative thing for us, not baked into the software. But we left the old enforced code in c9 as is our habit to keep changes to a minimum.  So some c9 clients may not have had access to some features until we tidied things up. Finally removed this behaviour here.
  • Low level change to webhooks we use to monitor tillpay terminal processing workflow. Will allow us to eventually fully hide our comet server behind main rev-proxy webserver instead of exposing on a non standard tcp port.