RSS Feed c9 logo Australia's best motorcycle shop retail software
Release 4.808 January 21, 2020 barney
  • Tweaks and Fixes
    • Web order processing emails would show  a column called 'items to ship' which would include items already invoiced which can mislead customers into thinking goods are about to be doubled up when things come off backorder. Tweaked the email msg to include a new column : goods already invoiced. Items to ship will show uninvoiced items ready to go.
    • Make BRP magician smarter. Cycle through available product lines until we make a match. Previously would only work for watercraft dealers / partnums
    • View sent email message. Allow window to be resized.
    • Save report as CSV file.  Would crash for statements which have individual invoices embedded. Now fixed.
    • Workshop print invoice.  Use  setup printer setting, "Display Print dialog infront of key reports" for workshop jobs invoiced. (previously only applied for spares invoices).
Release 4.807 January 16, 2020 barney

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

  • EPC import for Aprilia now working again
  • Added Magician check for PS Importers (Triumph)
  • Bank Rec : for unit record adjustments triggered by messing with trust receipt etc show the unit reference in reference field on the screen
  • View Unit. Colour code attachments button if unit has any attached documents/images.
  • Browse Layby  : show customer name (as well as cust code)



Release 4.806 January 9, 2020 barney
  • Tweaks and Bugfixes
    • Receive spares involving units (typically for PE suppliers like Husky and Stihl). Where units are on backorder c9 would not yet you move forward and kept asking for unit particulars even though there are none to provide. Now fixed.
    • Triumph EPC import. Not working due to Login changes. Now should be working again.
    • Tweak to workaround a misconfigured email server just encountered.  Mail server reports it is happy with TLS1.0 on SSL handshake then cracks it when java tries to connect with TLS1.0.  Tweaked things in c9 so we can force a specific protocol (in this case TLSv1.2). Tweak needs to happen low level code.  [See com.c8systems.c9.notify.SampleSSLSMTPMail]
    • Point of sale credit. Would not memorize the other line description in many circumstances (or replace it with freight description). Now fixed.
    • Print Order Receive.  Print spares freight description if any
    • Added Part image / meta data importer for Whites Powersports
    • Print/email statement for individual customer under some specific scenarios system will grab default email not account email.  (Specifically : print individual statement, with option to print individual txns listed. There are spares invoices in the list. User selects email from preview screen, email will have default email, not account email addr).
Release 4.805 January 3, 2020 barney
  • Tweaks and bugfixes
    • Subtle issue with creating estimates. A specific sequence of add and view records involving attempts to add a duplicated standard reference can result in a estimate landing on the database with a estimate no# of 0.  After this happens estimates blows up and cannot work without manual removal of the broken estimate. Underlying issue is a bit subtle and potentially could cause bugs in other parts of c9.  Now sorted (Root cause : autoinc keys not regenerating for fresh records after a duplicate key error, not a problem as most code paths trigger PrimeRecord which resets autoinc, but for code paths that don't autoinc remains locked on).
    • New config option to print 2 copies on laybys. (One for customer and one to put with parts on layby)
    • Unit of Measure bugs & Workshop estimates
      • Unit of measure parts onto workshop estimates would not 'memorize' unit of measure. So if you sold liters to estimate and flipped it to a job, on flipping to job it becomes drums. Now fixed
      • Use quoted prices on import is broken with unit of measure. Assumes quoted price is drum price not unit price. Now fixed.
    • Shopify sync bug. If it has been more than 7 days since last sync then sync will miss records unsynced before 7 days.
      • Added further smarts to cope with very large # of unsynced orders
      • Added a manual hook into shopify sync to compel it to sync orders from a specific point, not just from what c9 thinks is the latest synced order. To permit manual resyncing of any sync gaps.
Release 4.804 December 16, 2019 barney

Includes database changes. You need to log all terminals out of c9 as part of update

  • Tweaks and fixes
    • Honda Public Dead Stock database check.  On clicking View Supplier open up web browser to Honda MPE site with the part number prepopulated
    • Profit Summary Report. Would incorrectly report parts merged in from other invoices for purposes of consolidating pickups as belonging to date period of invoice they are merged into. Now fixed.
    • SMS notification of parts going onto backorder.  C9 contains logic where if it detects part on same invoice has been alerted before it will not send alert again.  But this behaviour breaks down when dealing with usage pattern where new parts are continually ordered and merged onto an existing invoice over a long period of time.  So new logic : c9 also looks at creation date of parts placed on order too.  It will not send SMS if it detects a backorder notice sent on a prior receival where parts either match or were added after the part currently considered on backorder.
Release 4.803 December 10, 2019 barney
  • Tweaks and fixes
    • Deals: on deals list show the first unit being sold if any. Show that units reference, description & the base sale price.
    • Dispatching : provide a find button.  Works similar to orderbook find.  Will also search details deep in AusPOST system not just what you see on screen. e.g. will match tracking ids (partial matching too so no need to key in entire ID).
    • Added import part images for Link Int. Grabs web descriptions and images for link parts
    • Website forms. Added long labels for option lists. So can create form elements like so:
    • Fiche utils - browse units. Was showing units sourced from remote dealerships. Now filters these out and only shows locally installed EPC.
    • PDF Invoice import : made some low level tweaks to c9 to accommodate the supplier G-Moto.  Changes here also marginally improve a couple of other supplier imports: for Dunbier and Lusty. Previous PDF import would mess up spaces in descriptions a bit. New version does a better job of figuring out where spaces are. e.g. Old version of Lusty on invoice would import description as below.  Changes should not impact any other supplier.
    • % Surcharging : allow configuration of a minimum spend $ before surcharge kicks in.
    • This version of c9 bundles to a later version of TeamViewer QuickSupport : to keep things ahead of TeamViewer's deprecation schedule
    • Profit Summary report : option to filter parts results by OEM or Aftermarket parts
Release 4.802 December 9, 2019 barney

Regression bugfix with prior version 4.801. On unit sale, printed invoice would include wording 'this is a deal in progress only'.  Reprints are okay, only print from sale does this incorrect behaviour. Now fixed in this version.



Released 4.801 November 26, 2019 barney

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

Supplier returns integrated into the order book

This version Includes a significant reworking of supplier returns handling.  Supplier returns flagged as bill later are now managed in the orderbook itself.  You 'receive' a return and indicate which parts are refunded and which are not. The new orderbook also allows mixing of parts, so a receival invoice can also include returns on the same receival.


  • Tweaks and tidies
    • Deals. Show invoice date vs deal date on finalized deals tab.
    • Part Buy Sell. Recently added button to print SS list would resize oddly on screens where window was not default size. Now fixed.
    • Point of Sale Complete : show total in bold red if it is a -ve value
    • Some subtle refinements and reorganising on how spares point of sale margin is computed and used. Specifics
      • On a refund, compute the margin is the difference between original sale price and refund price. So any actions that mess with this will show up as a margin issue. e.g. clearing invoice discount on refund means refund is greater than the original sale. Or manually messing with pricing data.
      • Refresh point of sale cost total screen After going past F10 complete as figures here can changed as a result of things done on the complete screen (e.g. changing discount rate) so when looking at Staff clerk key screen and it nags that there is a margin issue, on the screen behind it you can see the figures that triggered this
      • View price details on point of sale. Show computed margin value (as a unit value) on the list. Note that computed margin is margin + at cost markup (defaults to 17%) which may differ from min margin clerk key alert setting.
      • Min margin clerk key guard : only apply to sold parts, not refunded parts.
    • Spares on workshop. Now tag as 'WS:1234' instead of 'Workshop:1234'.  Space limitation for a c9 dealer recently converted to c9 whose prior DMS numbered job nos where 7 digit.
    • Profit summary report.  Grand total profit % change broken. Was showing % change from prior subtotal.
    • C9 Fitment will now show hardpart / aftermarket fitment for a given part #.  (Previously would only show OEM parts). Only works for locally installed fitment info.
    • Fox Racing
      • Added new parts magician slot for Fox Racing
      • Allow F12 magician work with Fox Racing
      • Allow 'cross pollination' between Monza and Fox Magician queries, just like KTM/Husky/WP, for slackers who haven't moved Fox parts into a new franchise yet.
    • Order book : button + hotkey to drop highlighted part number into clipboard
    • Website variations management. Added some helpers to make it easier to manage web content (images and text) on variations.
      • A visual indicator which parts do and do not have web content
      • Ability to access web content management from this screen
      • A button to bulk copy web content from highlighted part to all parts that currently do not have web content
    • Unit sale. A failed sale due to something like journal error (e.g. a deal with a deposit and operator tries to finalize it as a quote), operator immediately retries and it under some circumstances trigger a 'fetch error' and results in a crap txn being written into the DB.  Now added some guards to protect against this sort of thing.
    • Unit deal print : option on print to print as a pro forma invoice
    • Access add transaction from trial balance screen : to provide a place where you can add txns and eyeball contact balances in same place.
    • New GL Expense code : Staff training
    • Point of sale : edit discount. compute of discount from final $ plus parts on order hopelessly broken and has been for some time. Now fixed.
    • Magician Query : now queries Honda's public DeadStock database.

Honda Dead stock result: common part:

Honda Dead stock result: an uncommon part:

Release 4.800 November 18, 2019 barney

Profit Summary Report Enhancements

  • Change %.  New report shows profit as a % change.  You can compare report period to same time last year (default), prior period, or any arbitrary date range. Sample output:

  • Profit summary explorer. Allows you to drill into profit data and see a running month to month plot for last 2 years for any given figure on profit summary report. i.e.:


Other changes

  • This version includes a heavily reworked F2 find part screen. Changes are low level, database layer only.  Previously crappy data in price file, e.g. part numbers with tab characters in them would cause F2 find part to permanently lock up.  New version is alot more robust.  There are some performance consequences of this change too but hard to assess. Might be some marginal performance change either way but should be undetectable I expect.  Change completely reworks how this screen grabs info from database (server side collation + full outer join instead of old code which did client side collation/merging).
  • AusPOST integration. New Option in setup, freight tab, to default Authority to Leave setting.
  • on debtor invoices, print remittance details.
  • Spares Point of Sale. Include a hotkey to do a quick sale. Skips over the pos complete screen and goes straight to payment methods. Cannot be used for pickups, orders or web order fulfillment.
  • View Part Buy Sell. Some tweaks to cope with parts with ridiculously long SS chains. e.g. Yam Part 1JN8355002.
    • Made SuperS window  bigger and allow horizontal scroller
    • Added a button to allow printing on the SuperS chain list
  • Stihl Warranty Export.  Under some windows machines the export file might end up with duplicated header records. Now fixed.
  • Modify  job screen. Include job# in window text at top so it is always visible no matter what tab you are on.
    • Same for view job & pickup job.
  • View Unit. Access view customer from this screen
  • Print Unit Label. Print sale price if set. Enabled via new config option in Setup -> main setup screen -> units tab.
Release 4.799 November 8, 2019 barney

This version includes a new feature to allow easy migration of parts from one franchise to another when the supplier of parts changes, but not necessarily all parts move. Two common scenarios:

  • A supplier like mojo, when dealers drop all parts into a single franchise but then want to break things into multiple franchises to separate the actual brands Mojo carry. This tool can help re-organise parts this way.
  • Fox/Shift moving from Monza to Fox Racing

Other changes

  • More file fetch error false positives: View part buy sell : print all
  • QLD TMR rego details fetch. Ignore year altogether, since TMR doesn't provide enough info as to what year links to (model or compliance plate)
  • Website assets (text/images etc) connected to parts. Assets normally connect to either pricefile part or masterfile part. As parts are added into stock or parts get superceded, the assets can become 'orphaned' from the actual part sold. Isn't an issue for v3 website code because the website code scan back through supercession chains to find content if the part contains no content. All good except this process is slow and inefficient and has to happen every time a part is displayed on website. This version of c9 adds code that moves website assets along, along supercession chains and to stock records. couple of design goals with this:
    • Make website faster. Current website will still use old system of scanning back so not a massive improvement yet, but in future versions of website in a few weeks it might add some performance gain, particularly for parts with no content. (Already website is quick. A page with 50 items loads in ~ 0.13 seconds)
    • Make managing asset easier. When a unstocked part follows a new supercession chain, the assets are moved to end of chain so they are viewable editable, unlike before where you'd see nothing in c9 looking at the end of the supercession chain, but  see content on the website.

How to move parts from Monza To Fox Racing

  1. Create a new franchise called fox racing. Make sure it has use price file set.
    • Spares -> Utilities -> Add Edit Franchise
  2. Import fox racing price file.
    • Spares -> utilities -> import price file
    • Select Fox Racing created above
    • Select 'from c9 central repo' as price file source
    • Select Fox Racing from list of suppliers
    • Click through to kick it off
  3. Migrate parts common to Fox Racing and Monza from Monza to Fox Raciing
    1. Spares ->utilities -> migrate
    2. Select Monza from 'From' supplier
    3. Select Fox Racing from 'To' supplier
    4. Select option 'delete parts' to force the migration so you don't have to trip over duplicated parts on part scan everytime
    5. Check that the list of parts that will move looks sane
    6. Click on continue to make it happen

Sample Screenshot:

Add comment


« Previous PageNext Page »