RSS Feed c9 logo Australia's best motorcycle shop retail software
Release 4.844 August 20, 2020 barney

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

Bank Rec / Cash Rec overhaul

This version of c9 substantially overhauls how bank rec / cash rec is managed.  Previous implementation for bank rec / cash rec internally is quite complex and baroque. These changes seek to simplify things significantly, mainly to simplify transition/migration to the v5 based GL. So changes here are mostly technical but there will be some functional niceties here too, especially around reviewing / analyzing past recs. Also some bug fixes.

At its core rec boils down to three things.

  • A record of a reconciled period and list of txns that fill that reconcile.
  • Ability for the system to quickly / easily identify if a previous reconciliation has been damaged in some way. e.g. a backdated txn, a modified txn, a txn that was adjusted and in / out of the rec period.
  • Ability to identify exactly what txns triggered the damage

A few nice things this version of c9 will deliver

  • C9 will no longer care if you make historical changes but then backfill them. For example, undoing a workshop job and then redoing it for exactly same amount. Previously this would cause cash / bank rec to bark. Now it will be fine with it. As long as the net balance remains the same, bank rec will be happy.
  • Browsing previous bank recs / cash recs will be tidier / easier to navigate and learn useful things from, including display of txns that damage a rec, if it is indeed damaged.

The migration to this version of c9 will try as much as possible to reconstruct this rec data from prior rec database structures. But prior structures were imperfect for the task. Migration impacts:

  • Will accurately track whether or not all past reconciles are valid or damaged
  • Will attempt to detect which txns contribute to a damaged reconcile, but will not be able to do this perfectly. Moreso with historically old bank recs : so less of a concern. Functionally accurately identifying issues with last rec is most important for smooth transition to new rec system.
  • Some bugs in existing system will trigger some old recs to report as damaged when strictly speaking they are not. The issue is current c9 was supposed to log some information which is essential for doing this step but under some circumstances it did not. The recs themselves are fine, but the failed to log enough information to historically analyze them after the fact.

Changes in detail

  • General Fixes / improvements
    • Bugfix on cash rec save. Was not factoring in banked adjustments made on screen resulting in incorrect close balances being written
    • Bank Rec / Cash Rec save was sensitive to simultaneous changes being made on other terminals which could result in an incorrect rec being saved. Usually would mean rec could flag entries in the rec as being sighted but in fact were not because they 'raced' into the rec between operator eyeballing the rec and save button being hit. Rec will now fail in this cases.
    • Rec could misbehave for banks where you flip bank from/to bank/loan. Now works better on transition from one to other.
    • Very subtle bug with dealing with held over items. On save, doubly held over items that exist more than 7 days before the start date of the rec would not be recorded against the bank rec resulting in items being lost altogether and also making relevant saved recs internally inconsistent since the influence of these held over txns was not logged onto the rec. Not possible to repair these recs.  Root cause : save rec would write rec header to DB and then would execute journalrec(), which would look at newly added head for insight into rec status which would be empty. New code executes journalrec() first and also implements above stringent tests to protect against any inconsistent errors.
  • Auto regression test introduction. In spirit of v5 dev core parts of this new bank rec now have good regression test suite coverage which should provide stronger QA guarantees for bank rec from here on.

New rec report will show if rec is good or not. Impacting bad txns will be highlighted in red with a reason provided why they are impactful. In screenshot below it is because a previously reconciled txn was deleted.


Other unrelated changes

  • Mcleods Magician broken. Tweaked to get working again.
  • Added new part image source for Gas Imports: will grab a heap of images for Thor stuff.



Release 4.843 August 18, 2020 barney

Tweaks and fixes

  • Some electronic invoice importing tweaks and tidies
    • Tweaked import process so it can grab other costs. Two areas where this currently applies
      1. For Lusty PDF Invoices, credit card surcharge comes in as a other cost
      2. For E-Ref importing where you are importing an invoice with something in 'Other' slot
    • On Receive close and reload previous work, previously would not memorise tweaks to GST / Final price. Now added
  • F2 Select part bugs (Again!)
    • If you add a part via F2 it should highlight the added part. Broken by recent changes to c9. Now working again.
  • Unit Deals : show tally of deposits held at bottom of the screen. Tally is sensitive to selected screen filter, so you can eyeball difference of quotes vs active deals for example.
  • Backorder Magician : option to suppress printing pricing info on result, so printout can be given to customers.
  • Tweaks to Honda Invoice API importing.  Have had a couple of reports of importer bringing in wrong data, wrong qtys sometimes, possibly related to orders with oil drums on them. Digging into it the issue is firmly at Honda end. The pathology is pretty complex and I am unable to reliably create something that can compensate for it, but it is possible to easily detect the problem. This version includes changes that detect and warn whenever it happens. In instances where it happens recommend either receive manually or receive via PDF import instead. Hopefully Honda will come through with a repair in their systems before too long.
C9 V5 Update August 14, 2020 barney

V5 fresh new battle plan

Originally the plan was to create c9 v5 so that once it is ready it will be 100% packed with a heap of things. This plan is now no longer the go. Everything planned for v5 is simply too big, bigger than anything c9 has attempted to date and simply just too much to drop into a single update.

Instead plan is to break v5 up into chunks. Deliverables and content of these new chunks are:

Version Deliverable ETA
5.1 Backoffice, General Ledger and BAS Reporting Dec 2020
5.2 Spare Parts Mar 2021
5.3 Customer : AR, AP and Deposits etc May 2021
5.4 Workshop ? Sep 2021
5.5 Units ? Jan 1 2022


Release 4.842 August 8, 2020 barney

Includes DB changes. You need to log all terminals out during upgrade

Another bug related to recent price file / part search changes. This time connected to price file importing.

Price file importing works in sending chunks of price file data to the database. Typically each chunk contains a few thousand parts to update/insert. Within a single chunk,  if two new/supers modified parts point to same supercession part then import will fail and abort. Now working again.

Release 4.841 August 6, 2020 barney

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

Another regression bug, sorry. Hopefully the last for a while. Problems with changes to backup system combined with remote fiche. C9 backup would try and backup parts of remote fiche data even though it shouldn't be backed up. Resulting in unnecessary network traffic and occasionally messing with backups in a way that causes verification issues : by placing remote fiche into the cloud backup even though remote fiche isn't considered part of backup : resulting in backup verification failing and creating lots of work for me hosing out that crap data.

For a couple of dealers this issue is serious enough that it can cause online website OEM diagrams to become corrupted because of a conflict between real OEM epc data and remote data. For these dealers impact is some epc diagrams will become screwy on their websites and their cloud backups will be genuinely broken in terms of the EPC bits. Again easily fixed but represents a genuine cloud backup issue with this data. The affected dealers have been directly contacted.

Release 4.840 August 5, 2020 barney

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

This version fixes/ finalizes F2 lookup changes made a couple of weeks ago. Current version of F2 is now very quick when looking at all parts, but when you look at stocked items only it is slow, significantly slower than prior versions of c9.  This version fixes this.

One of the new things F2 changes try to do is treat old superceded parts as though they are the real parts. So you can optionally easily find things by old numbers or new numbers, or barcodes or custom numbers. When you look at a old part you should also show actual price and qty on hand for the part it eventually supercedes to.

Consider part, 502 08 410 000. 5 other parts supercede to it. In F2 screen  we want to show all these but also show the qty and price on final part at end of the supercession chain so you can quickly eyeball your effective inventory without having to pick the part going to next screen. The results also need to be sorted in part number order, without regard for what part number is for eventual part it supers to.

Part Description SuperS Price QoH
491 08 410 000 % FRONT FENDER '87 502 08 410 000 48.9 N/C
500 08 010 000 00 FRONT FENDER 502 08 410 000 48.9 N/C
502 08 010 000 % FRONT FENDER '87 502 08 410 000 48.9 N/C
502 08 410 000 *FRONT FENDER WHITE '93   48.9 N/C
546 08 010 000 % FRONT FENDER 250 '90 502 08 410 000 48.9 N/C
565 08 010 000 % FRONT FENDER '86 BAJA 502 08 410 000 48.9 N/C

Now when in view stock only view ,the F2 screen still needs to look at supers parts but only those parts that eventually land on a stocked item. So as soon a terminal adds part 502 08 410 000 into stock not only this part but the 5+ parts that superceed to it also need to be visible in F2 screen when f2 screen is in stock only mode, interleaved with every other stocked item which also has supers pointing to it.

Part Description SuperS Price QoH
491 08 410 000 % FRONT FENDER '87 502 08 410 000 48.9 1
500 08 010 000 00 FRONT FENDER 502 08 410 000 48.9 1
502 08 010 000 % FRONT FENDER '87 502 08 410 000 48.9 1
502 08 410 000 *FRONT FENDER WHITE '93 48.9 1
546 08 010 000 % FRONT FENDER 250 '90 502 08 410 000 48.9 1
565 08 010 000 % FRONT FENDER '86 BAJA 502 08 410 000 48.9 1


Further when filtering results such on description if the filter matches an item which has alot of parts that super to it, then those old/customer/barcoded part numbers should be displayed too.

Advanced database indexing involved here needs to also cope with multiple terminals simultaneously doing things like add parts into stock and added new supercessions/installing price files etc. The end result needs to be consistent irrespective of the sub millisecond timing involved in what various terminals are doing.

All this should now be fixed in this version of c9.  With instantaneous scrolling and part number searching in F2 screen. Database queries generally should be around under 20 milliseconds or faster to refresh if c9's server is running on a decent computer.

Other changes

  • Further f2 optimisations. Query hints optimisation  that was supposedto be in version 4.832 didn't actually make it into c9. This will improve performance further in some areas. For example if you key in '123' in F2 it is generally fast, but typing in 'XYZ' can be slow due to poor query planner optimisation in postgres.
  • Part group filtering has been removed. This part of ongoing effort to deprecate grouping since it has been replaced with variations for web based part grouping. For dealers that relied on part grouping for additional filtering and have ignored warnings in c9 about this feature is about to disappear, contact barney directly : grouping data can be bulk merged into part attributes if needed to restore this facility.


Release 4.839 August 4, 2020 barney

Tweaks and fixes

  • Image import for KTM promo that was supposed to be in yesterdays version didn't actually make it into the release. Now added. Also added a slot for husky promo
  • Print open deals:
    • Apply quote filter to print deals
    • Allow user to filter print open deals by pickup date. e.g. print all deals going out this week

Following is a rough plan on how to get 25% fathers day items onto your website.   A similar setup will be ready towards end of the week for Husqvarna (waiting for KTM to provide us with promo details for Husky).