RSS Feed c9 logo Australia's best motorcycle shop retail software
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


Release 4.798 November 4, 2019 barney
  • Tweaks and fixes
    • Point of Sale complete. Move Freight sel button to list of buttons at bottom of screen since its selection will impact both tabs on newly designed complete screen. Move will also save a keypress for keyboard users where no freight is needed.
    • Various reports with date ranges. When clicking on 'daily' assume operator means today, not the first day of the currently setup reporting period.
    • copy Freight description from originating invoice if originating invoice is a reserve or if original invoice has a freight value of $0.Prior logic only copied description if originating invoice have a "freight to invoice later" value >0. The original rule doesn't work in many scenarios, e.g. when tracking free freight
    • Workshop planner, highlight notes lines by making the description text red.
    • Spares POS invoices : print cust email addr on invoice too if set. (Useful for workflows when doing AusPOST freight etc manually).
    • Record not found false positives removed
      • Cancel parts on order, via invoice
      • Part buy/sell history
    • Discounting on orders / laybys etc.
      • In point of sale Complete : Highlight in bold red discount line if a discount is in play
      • In view invoice. Show Discounting Particulars
    • Web order paypal processing.  Cancelling parts on order and return deposit would not connect to paypal correctly to refund deposit. Would generate an error on screen and would require manually processing on paypal site to finalize. Now fixed (caused by changes a couple of months ago to accommodate shopify integration)
    • Xero syncing on spares invoices due date tweaks
      • Added ability to configure as a date rule, instead of just ordinary x days since inv date. Some examples:
        • "date:1+2m-1d"  (last day of next month)
        • "20th of next month"
      • Added ability to configure a global rule for Xero which will apply and override all supplier specific rules.