RSS Feed c9 logo Australia's best motorcycle shop retail software
Release 5.2.103 June 4, 2024 barney

This version of c9 fixes a subtle defect introduced around / after December in 2023.

Sometimes when you process a receival with some sort of small -ve residual in tally of parts vs invoice total if you selected 'ignore difference' c9 would sometimes fail with a reconciliation then journal balance error.

But previously it worked fine. Further if you go and attempt to do work on previously recorded txns, such as relink them, then the relink would fail.

The core issue is how a fixed gst amount as amortized across multiple lines, with some of the change added to parts and some added to the inverted delta posting. As part of v5.3 alot of work has been done to make amortization of tax more sophisticated; but this introduced some undetected edge cases for a receival where tax invoice tally is slighty less than tally of parts and proscribed gst amount variation exceeds this value.

This version also formally codifies build fixes described in update section of below (v5.2.102) update


Release 5.2.102 June 3, 2024 barney

There appear to be further build issues with v5.2.101.   If you goto biz activity and click on details for any txn involving AR/AP or deposits it will trigger an error. Even though problem was also obvious in AR/AP the exact issue was different from bug in 5.2.100 fixed in 5.2.101

Again problem is build system, not software code. Did a complete clean rebuild after a reboot / memory wipe. Seems to work fine now.

Update 4.6.24: detailed decompile analysis of version 99, 100, 101 and 102 show build process generated significantly different outputs for v100 and v101. v99 and v102 are the same for a key class.  Further analysis revealed an non deterministic issue with build process. The issue is now fully understand and expect it to not occur again.

more specifics : clarion->java interface autoboxing doesn't provide fine grained precedence for clarion to java type mapping; so java methods with different prototype signatures are considered functionally equivalent. So code written at java/clarion interface must enforce this contract. TxnItemType.get() and TxnLocationType.get() broke this contract : purely for purpose of automated regression testing and this break in contract on both these methods are responsible for problems in v5.2.100 and v5.2.101. Repaired using different method names.

Release 5.2.101 June 3, 2024 barney

There was an high impact issue with 5.2.100 related this morning. Most of AR/AP type txns would fail with an error. this version fixes it.

The root cause of issue wasn't a software code bug but with how new versions of c9 are prepared and uploaded. This is the second time we have been caught out in last couple of years by this.  Further changes have be put in place to make sure it doesn't happen again; as original tweaks made were not enough to catch this mornings issues.

Root cause : some sort of issue with incremental build for the main c9 software package resulting in corrupt compiled software : possibly a clash between in IDE incremental build process and command line build; switch to strict clean builds from now on.

Release 5.2.100 May 21, 2024 barney

Includes Database changes you need to log all terminals out during processing.

Online payment processing reconciliation : this version of c9 tweaks how paypal and tillpay txns make their way through the general ledger. Funds now flow through a set of GL clearing codes 1-1410 : Payment Gateways Unallocated.

This change creates a separation between funds being captured and funds used to fund a sale. So on capturing funds from an online sale we now post DR into existing gateway code : 1-1041-xxxx, but we also post a CR into new code 1-1410-xxxx.  Then on invoicing we DR this new code to bring it back to zero.

Previously c9 would just DR the 1-1041-xxxx code and most of the time, as long as c9 was used way we liked it to be used what you capture and what you invoice are same so you could just reconcile off what you invoice. But there are some edge cases where things would not line up, like bailing out of creating a txn at a critical time and never redoing the operation.

Purpose of this change is two fold:

  • make reconciliation more robust in face of a couple of edge cases.
  • a new feature with tillpay processing is we can now capture and pre-auth automatically on website. This allows alignment card experience with what is commonly expected for online CC sales for consumers. This situation though will definitely create a delay between capture of funds and invoicing, so fund capture in this future scenario must be indirect to maintain ease of reconciliation

Other features / consequences of this change:

  • For existing historical web orders they will remain as is, a posting to original 1-1041-xxxx code only. But when installing this version if you touch sales in progress these will be, on demand, migrated to the new models. This approach is to allow smooth transition into this model without risking journal /reconciliation issues with trying to touch up very old txns.
  • unallocated web order transactions will report under the deposits held report
  • New codes report on the balance sheet
  •  impemented for Tillpay, Paypal Rest and Paypal NVP
  • Important: it is impossible for us to properly test Paypal NVP integration since Paypal have disabled ability to create NVP credentials for testing. It is strongly advised to no longer use NVP; since c9 cannot test it we cannot debug or support it any more. C9 screens make this even more obvious now. NVP will be forcefully disabled in a near future version of c9.

Other tweaks and fixes:

  • Some floorplan tracking bugs fixed:
    • Some floorplan modifications ,such as modifying or deleting a curtailment in a way that moves a floorplan from paid to unpaid or back would not log correctly in the database, resulting in issues with auto adjust process incorrectly posting an inappropriate result : which would usually clear up after you modify the unit but still would leave ugly resullts in accounting reconciliation report to deal with.  Now fixed.
    • Treat overpaid floorplans as unpaid : do not log a paid out event, in dealership units code /filter them as unpaid.  Previously would treat them as paid. This change will hopefully help detect errors with floorplan management where result behaviour is floorplan is flagged as overpaid
  • Subtle bugfix in processing final receival for paypal / tillpay. If auto invoice doesn't trigger and operator needs to trigger pickup manually, system would assume because balance outstanding is zero , no instrument is needed. So it clears instrument entirely and doesn't pop tillpay/paypal processing screen to void the preauth. Now fixed.
  • Tillpay integration
    • option to trigger a debit in case extend auth fails and the underlying txn was created with recurring
    • tweaks to cope with possibility of preauth arrived pre-captured too. To align with more common ecomm experience where goods are paid for at checkout. Requires setting on website to be enabled
  • Payroll.  New 24/25 tax tables
    • Linear equation tables as published mid May at
    • Super guarantee 11.5 for 24/25
    • Annual tables for following cross referenced with either .gov published sites or x-ref with above tables : resident, foreign, working holiday & STSL
  • WA paperwork changes.
    • Add new form 4 particulars
    • Add new form 5 defects
    • Note  : separate warranty forms you need to source and print yourself from WA Gov websites . Not bundled in c9 since nothing prints on them
  • Add/edit franchise : advanced tab option for web api filter. Used by a couple of different dealers
  • Freeform stocktake : stocking a part currently not stocked but on price file broken since last version. Now fixed.
  • Merge weborder : hide secure token alter alert if there is order being merged doesn't have a token.
  • In some shops, when is c9 left on login screen for a long time if you try to login it will fail but second login will succeed. The cause is a stale network disconnect is misinterpreted as login not found. Fixed by double checking a failed login test to give network connection a chance to re-establish if it is stale.
  • Point of Sale finish : hotkey invoice date to Alt+T, to allow keyboard only editing since inv date is no in normal keyboard tab list.
  • Browse dealer units : filter input will now also filter on rego/plate.
  • Gas Gas Magician : would not work if there was a space in franchise name "Gas Gas". Now fixed to match with or without
Release 5.2.99 May 13, 2024 barney

Includes database changes you need to log terminals out during upgrade

This version includes a new POS terminal integration option into Tillpayments terminals. At time of release the solution is not certified for production use yet but assuming all goes well with ongoing testing/cerification this version will be the first version that permits direct connectivity to tillpay terminals without having to go via PCEFTPOS / Linkly. Desired outcome is to eliminate presence of Linkly entirely and avoid all the reliability and complexity issues that come with it.

This version includes a significant functional change with Unit Finance Sales.  Previously finance sales would post sporadically to AR and AP balances creating a mass on AR/AP statement for the finance provider. This behaviour is mainly because of how v4 AR/AP worked and has remained in place since. This version of c9 exploits newer capabilities in v5.2 c9 to heavily rationalise onto one or the other while keeping the number of lines on the contact txn list to a sensible minimum.

  • For Finance contacts tagged as debtors / both : everything will rationalise onto AR
  • For Finance contacts tagged as creditors : everything will rationalise onto AP
  • For straight purchases invoicing Both / creditor : everything will rationalise onto AP, otherwise AR
  • Note that encumbered tradeins the encumbrance will always post to AP (as before)

Generally with this change in place you may want to flag your finance providers as being 'Creditors' so that circumstances where encumbrance is same as finance provider then everything rationalises onto AP.

This version advances a ease of life too started back in 2018 : statement reconciliation.  Import a PDF statement file and cross check it against txns in your system. A heap of changes here to try and make it more useful. Targeting KTM group dealerships first because their 'statements' are not statements in the classic (correct) sense and their accounts are extremely challenging to reconcile against because of this. Hopefully this tool will be especially useful here. Goto view transactions on your KTM Group supplier, click on statement reconciliation and feed in a KTM statement pdf. Things it does

  • Match txns on PDF statement against txns in c9.
  • Matching is 'fuzzy', so copes with slight typo variations, missing or extra characters in reference, mistyped numbers etc
  • Help visually identify missing or misinputed invoices.
  • print or export result to csv
  • KTM specific nonsense:
    • filter to spares only to remove pages of floorplan stuff
    • Mash split payments on statement into a single record
    • Some logic to try and filter older records in c9 but not on ktm statement because ktm only show things they consider 'open'


Other tweaks and fixes

  • miner order receive query fixes.
    • Previously could not link order item to received order. Would output an error
    • Tweak state radio toggles on orditem to allow more filters
  • Timesheet report : option to filter results to mechanics only
  • Today Clocked Screen : option to filter results to mechanics only
  • freeform stock take : screen blows up in subtle ways when you scan a superceded part number. Now fixed.
  • BRP fiche importer : working again for Can-Am ATV and SXS importing
  • Leads  : new tabs. Alerted leads only sorted by date and tab for leads sorted by create order only
  • Honda op2ma : tweaks to reporting. Unit counts were misreporting and incorrectly double tallying units on deals.
    • Specifically repairs Fields P28, P29, P30, P31, P35 , P36
  • Browse Eft journal : add column to show provider now there are 4 (PCEFTPOS, Tyro, TillPay online and now Tillpay Terminal)
  • Returns on Predeliver on deals : handle better in deals. Show -ve on modify unit screen. Allow -ve inputting on editing of lines
  • Point of Sale Import Miner query :  Default qty to qty on hand. Some issues with POS importing zero qtys. Now tidied
  • Spares profit report bug : displayed QoH incorrectly copied from a different part for parts no longer on file (in stock or pricefile). Now fixed
  • EMail setup : make it visually obvious that sender From addr for c9 routed emails requires SPF entries to be in place first and to contact c9
Release 5.2.98 April 29, 2024 barney

Tweaks and fixes

  • Giftcards - would not work for txns backdated to a date before giftcard was issued. Now fixed. (workaround is to modify date of issued giftcard in business activity).
  • Mojo  Magician check - working again. Changes on mojo server broke things.
  • Supplier Returns - option to print full list of parts pending return
  • AR Credit / Debit note - wording on a4 printout is backwards. Now fixed
  • Pierer New Mobility integration - add magician check and part image importing
  • Receive Print Labels - include receival date in the invoice# line
  • Bank Rec - Clerk would show blank on main reconciliation screen. Now fixed.
  • Triumph EPC Import - Looks like Triumph changed their dealer portal. Rewritten to work with new website
  • Till Pay / Paypal & Deposits : allow capture for both tillpay & paypal for deposit adding on web orders to compliment refunding.  normally unnecessary but there may be some exotic scenarios where this is useful. (e.g. failed to do initial deposit capture when the order was originally processed)
  • Receive into stock : there is an exotic behaviour in c9 from 6 years ago when trying to deal with KTM branded products to allow receival from one franchise (e.g. HQV) to feed into stocking for another (e.g. KTM). There is a subtle logic defect in this code. If Franch A feeds into franch B, if Franch C receival matches A and B parts then franch C receival will incorrectly receive into B too even though it isn't explicitly configured to route to an alt franchise on receive.  Fixed. Note that this alt receival behaviour isn't actually that good / useful and will be removed in v5.3 entirely But for sake of making it work the way it should at least, it is now fixed.
  • Bulk Magician check : if you bulk magician check a full order; then filter result to unfulfillable items and try and move those parts. System would move incorrect parts. Useful function for Honda Dealers and honda weird stock/daily order business rules.  (Root cause; c9 was indexing records in unfiltered list, using indexes from filtered list, meaning it was grabbing wrong part)
  • Clerk report : this report is mostly old & unmaintained, superceded by profit summary report but fixed a couple of really obvious issues with it : spares tally incorrectly tallying reserves and quotes
  • Export AR/AP txns : View transactions for AR/AP : option to export as a CSV file
Release 5.2.97 April 8, 2024 barney

Includes database changes, you'll need to log all terminals out during upgrade

Tweaks and fixes

  • bulk unit labels broken, and likely broken for a while but rarely used so only noticed now. Now fixed
  • Manual Journal Error With some exotic scenarios, manual journal posting would error and blank out posting forcing you to rekey the journal. Root cause is txn error would inappropriately blank out txn particulars. Looks like an early v5.1 design decision which doesn't fit in with long term design goals with v5. Now realigned.
  • Order Receive change retail Also flag retail held flag whenever this happens
  • Network error and jobs an exotic scenario at a dealer where a terminal network glitch resulted in underlying job being partially trashed. Added some guards to prevent this (job recompute would write back a blank job card if the original job card fetch from database failed due to network issue)
  • Browse dealer screens : still unacceptably slow on my test system at least.  Further performance improvements to database query. Also added a missing primary key index on current unit materialised table which may provide performance boosts across the board for various screens
  • Spares Variance Report: In stocktake only filter was not picking up freeform stocktake results. Now tweaked
  • Cash till detailed report : alter constraints on txn listing that feed this report.  Previously report could show things like bill payments and/or other txns with banking involvement. Generally this isn't necessary for finding till errors and potentially exposes information with inappropriate users. This report now strictly reports following only:
    • Txns involving payments using one of the main payment methods  (including no cash).
    • Txns tagged as sales or refunds
    • Txns touching A/R, deposits or giftcard journal codes
    • Other tweaks
      • display giftcard # when payment is with giftcard,
      • expand size of instrument slightly to better accomodate long gl code names, .e.g. like 'Accounts Receivable'
  • Payment selection : hotkey tweaks
    • Add hotkey for [B]ank
    • Remove [N]o cash collected hotkey as part of discouraging usage of this legacy payment method
    • Hot keys for Giftward, Bank and Multi Payment are now provisional on hotkey not being configured for any of the main payment methods
    • Fixed bank selector focus, would highlight the 'show loan banks' button on open, want it to highlight banks themselves
  • General Ledger 
    • new liability chart code for GST Adjustments added. Impacts balance sheet only
    • Fix long standing typo : rename gl code 2-6100 from "Supplier AR" to "Supplier AP"
  • Adjust Balances newly designed so it provides finer grained control over rationalising AR/AP and deposits on a single contact.
    • Adjust balances screen now shows all contacts where they have more than one non-zero balance, previous logic was much more constrained so would not display contacts which might be legitimate/interesting rationalisation targets
    • Balance correction gives you option what you want to rationalise to : either AR, AP or Deposit.
    • Correction is now accessible for view transactions screen irrespective of whether or not there are multiple non zero balances. Which will allow you to move balance in full to a different type.
    • Rationalisations can be modified just normal AR/AP/Deposit postings
    • New screen design: below example operator has selected rationalising to Deposits:
Release 5.2.96 March 13, 2024 barney

Tweaks and fixes

  • Remittance advice
    • Newly added account name field only allowed 20 characters in setup screen. Increased this to something more useful
    • Statement bugfix : if cheques was disabled, entire remit advise would not print, including EFT/bank details. Now fixed
  • Browse Dealer units. The screen was excessively slow for one dealer; taking about 1 second to update screen. Remotely fixed but noticed that database performance for this screen is complex and brittle. Made some modest improvements here with this version and basic testing shows a refresh should typically take about 5-20 milliseconds now. There is more scope to improve underlying database activity but work involved is non trivial and will likely require a DB schema update so will leave as is for now.
  • Fiche Import - Added ability to import MV Agusta from KTM dealer portal.  Made some changes to importer which may improve results for importing other KTM group brands. (better de-duplication of units and catalogues within a unit)
  • Part Image Import (KTM) - bugfix with parts with multiple images : would import last image only meaning things like helmets and jackets only the back facing image would be imported; not principal image. Tweaked to import all images.
  • Manual Backup - Manual backup creation may fail to identify and backup database sequences precisely. Fixed in this version. This issue does not impact online backup service which is what we use exclusively to recover from failed dealer equipment where the onsite database is lost.  Fix is for sake of completeness and redundancy as manual backup system is now historical and no longer in active use; also manual backup has some ongoing internal utility for our own dev systems. Existing manual backups will be fine, except their sequences may be uninitialised and will require manual initialisation after a restore.
  • Honda op2ma reporting - Reworked these analytics/KPI reports from new requirements from Honda + Op2ma. Access via business -> reports -> analytics/KPI
Release 5.2.95 February 22, 2024 barney

Tweaks and fixes

  • Payout / Add Floorplan : disallow access to this screen if underlying unit is not on floorplan. Was possible to open this screen on a used unit for example and force in a trust receipt. Also disallow clearing out the TR as this has other functional impacts.
  • Remote Support : updated version of Anydesk bundled with c9 as anydesk have advised us existing version will shortly no longer work. Website static links already updated
  • Receive parts : print invoice $ tallies to help out with loose, manual data entry processes on receive not matching what backoffice needs to track
  • Floorplan report : newly added sort by TR date option was implemented incorrectly. With this mode selected units would duplicate on report. Now fixed.
  • Magician updates

    • Removed MCS as MCS web changes make magician query impossible
    • Removed Fox Racing as Fox Racing web changes make magician query impossible
  • Workshop pricing tools: add option to price at retail + X%
  • Unit purchase: on costs tab show some unit particulars which might need to be transferred into liability lines added for encumbered purchases
  • Unit Sale Tax Invoices : for invoices with multiple units and on road costs, prefix the on road cost entries so it is obvious which cost is for which unit
  • General Ledger:  Added some additional capital asset codes to fine tune management of capital assets
  • Remittance advise: bottom of invoices is remit advise. Recent changes restructured how this is handled. A bug in code was pumping non-functional errors into application logs. Didn't cause any issues for c9 but made application log files messy. Now tidied.
  • Bulk Payment : option to print selected txns.
  • Web forms: option to configure a recipient target. So different forms goto different web addresses. e.g. 'service' or 'sales' etc.
Release 5.2.94 February 6, 2024 barney

Minor bug fixes

  • Regression fix with surcharging. Last version made some heavy changes on surcharging.  For payment methods with a minspend triggered surcharge the minspend trigger was broken. The txns under minspend, payment screen would pop and correctly would not request surcharge but when you press F10 to continue the system incorrectly thought surcharge was needed, not yet inputted and would pop surcharge screen. Now fixed
  • SMS Sender ID setting, first real attempt to use this today didn't work. The default declaration message was not exactly correct message needed by our provider. It was fine for our internal testing since we were registering sender IDs relevant for c9, but no good for dealers where declaration needed to be worded slightly differently. Hopefully now fixed.


Next Page »