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.







