Changelog

Enterprise Desktop
4/8/2026

Highlights

  • Starting with this version, Enterprise has discontinued support for Windows XP
  • Added: (case 32446) if the system encounters a deadlock while saving a SO/WO/PO/TO, the system will automatically retry the save operation up to 2 more times without showing an error to the user. If there are more than 3 errors (or an error that can't be auto-retried), the user will be shown the error and given an option to retry. If they choose to retry, the entire save operation will be attempted again.
  • Performance: time to load items onto a sale has been reduced by as much as 75%. This is particularly noticeable when sending many items to a sale. Also, saving time has been improved by a lesser amount.
  • Fixed: many crashes all over the system, including various image preview/attachment manager issues. This should hopefully reduce a lot of the user crashes.
  • Added: better support for various crystal report parameter types.
  • Fixed: recent windows updates were causing the error reporting dialogs to not pop up anymore. Now, they should work again. Before this fix users would notice that ITrack would simply 'close' when a crash error occurred.
  • Added: (case 33086) now, when the user has a crash in the application, extra information is captured by the application, including information about the state of the application and a screenshot at the time of the crash. This information is written into the computer's temporary files, and uploaded to our error reporting database. This should allow us to debug hard-to-reproduce crashes with less information from the user.
  • Added: the application now manages 'sessions' when the user logs out/logs in. This will allow embedding mobile applications into internal web browsers without displaying login dialogs in those pages. This will be used in the future.

General

  • Changed: (case 31994) drag statics can now no longer chain move operations, which can cause stack overflow on some machines.
  • Fixed: (case 32117) an issue where viewing enough images in attachment managers over time could cause a crash, depending on the windows per-process GDI object count.
  • Reconfigured: all "Configure" menu options have been sorted into the "Edit" menu, as they were redundant. Edit->Options has been removed and its constituent pages have been moved to reasonable Edit submenus.
  • Added: icons for various Edit menus that did not have them previously.
  • Fixed: some issues with menus not being active/inactive at the right times of login.
  • Updated: (case 32836) the version of curl/SSL/zlib we use for contacting the update server has been upgraded. This adds support for the more modern TLS 1.2 and 1.3 SSL encryption. For this reason, there is a new file (zlib1.dll) that is required by the application.
  • Fixed: an issue where lists could crash when the user put focus into a dropdown with no auto-complete registered.
  • Fixed: dozens of potential crashes on all screens that could be caused by financial numbers.
  • Fixed: an issue where ITDateTimeCtrl::SetFormat could get stuck in an infinite loop.
  • Fixed: an issue where combos could crash if they were destroyed while the user was killing leaving an auto-complete edit.
  • Added: the third party image library has been rebuilt to add debugging features to try to debug crashes related to image viewing.

Accounting

  • Changed: previously, a single checkbox in the rebuild accounting popup controlled both whether we wanted to delete exported GL entries as well as whether we should ignore historical documents that have any exported transactions or not. These are now split into two different checkboxes. It is rarely desirable to delete exported gl entries, but is sometimes desirable to rebuild unexported accounting on a document that has been partially exported.
  • Fixed: an issue where the refresh button on the activity detail page did not work.
  • Fixed (Case 31995: Pushing entries to quickbooks once again sends correctly formatted amounts.

Approvals

  • Fixed: (case 31938) an issue where approving a credit override would mark the sales order as 'updated' so if it was open on a user's screen, they would have to reload it before saving. Now they can save immediately.
  • Fixed: (case 31994) some potential crashes when opening the screen on some machines. This fix also makes loading the screen slightly faster.
  • Changed: (case 31927) credit and price approvals now exclude any expired documents from the list of documents that can be approved. If a salesperson wishes to have such a document reviewed for approval, they should move the expiration date forward in time or remove its expiration.

Crystal Reports Extension

  • Changed: the Edit->reports option is now under Edit->Global Preferences->Reports so that users don't get confused with editing their printer options.
  • Added: (case 32992) string parameters sent to crystal reports now escape certain wildcard and string characters that could cause errors when printing.
  • Added: (case 33260) Crystal "Number" parameter types now support fractional values up to 6 digits of precision.
  • Added: support for Crystal "Currency" parameters.

Customer

  • Fixed: (case 33071) an issue where payment methods that marked as not customer payment methods could still be enabled for a customer. If the user deselects one of these invalid payment methods, they will be removed from the screen. If the customer has a deleted payment method selected, it will be removed from the customer on the next save.
  • Fixed: possible query error that could occur if finding sales/payment history if a system had very long adjustment type names.
  • Fixed: a crash when going to the service tab.

Customer Contact

  • Changed: the customer contact page now renders dates in locale date format.

Customer List

  • Fixed: (case 32307) full text searches now properly know that non-alphanumeric characters such as "." or "," or ";", etc 'break up' words. They are stripped out of such smart searches so that the query that gets run is clearer. This also fixes issues where smart searches returned no results when searching for a word made of many small words shorter than the server's minimum word length (like "T.E.S.T" for example). Now those small words are not required, and therefore ignored by the database in the search.

Common Resources

  • Added: if the user gets a database connectivity issue happens during the application launch, they will now be prompted to reconfigure the database settings.
  • Added: (case 31141) the shared "Choose components to leave in inventory" popup now has a location column to show the location(s) the inventory is in. This affects when the user sells an assembly or a vehicle.

Core Management

  • Fixed: (case 32320) an issue where doing a core tag # lookup was not working in scenarios where the item was present at multiple stores.

Database

  • Added: (Case 32049) "sequentialid" to Transaction List fields to display for Camions-Dubois.
  • Added: (case 31950) several permissions to control whether the user can general DLS quotes and/or finalized shipments.
  • Deprecating: the unused field, inventory.serialnumber. This has always been superseded by EE's multi-serial solution, so its being removed to avoid confusion.
  • Fixed: an issue where the sales order line's dateentered field was not being set by default. All historical items that were missed have been retroactively set.
  • Added: (Case# 32434) OEM# to trans list of fields to display in EE.
  • Changed: (case 28428) the Date Modified, Date Last Viewed, and Date Entered search options for inventory now compare only their dates (rather than date and time). This means a range search will find things on the 'last day' and finding parts by day is much easier.
  • Fixed: an issue where inventory records with no locations would not correctly get a VARIANCE location.
  • Added: all the setting tables now have cascading foreign keys for easier cleanup. Also, all orphaned setting values have been deleted.
  • Fixed: (case 32492) A bug where tax item parts would not be calculated correctly if the user removed the tax from some lines on the invoice.
  • Fixed (case 32492) some errors caused by bad type declarations. The procedure now verifies tax items and parts are configured correctly before saving part calculations.
  • Added: (Case #31184) ebay items to Transaction List
  • Added: (Case 28277) "Vehicle Bid Date Created" as Date Filter in the Transaction List for the Vehicle Source
  • Fixed: an issue where the vehicle teardown graph wasn't working due to a problem in the edocument template.
  • Fixed: (case 32543) an issue where vehicle parts returned on a SO would still recalculate average cost even if the setting 'Sales Orders'->'Returned vehicle parts should have a fixed cost' was turned off. Its possible this could've lead to returned vehicle parts cost increasing if they were returned multiple times.
  • Added: (case 32543) if a vehicle part is returned on a SO and the vehicle is still available, the returned COGS will go back to the vehicle as it was before the sale instead of going onto the part's cost.
  • Performance: (case 33255) locations that have millions of rows in their print queue history now take .2s to load print history on the report viewer screen instead of 8s.
  • Fixed: an issue where some queries failed to run in previous updates if the name of the database was something other than itrackenterprise
  • Added: (Case 33307) Inventory Serial To Transaction List Sales Order Source Fields To Display.
  • Fixed: report queue triggers now handle NULL execution time entries correctly.
  • Added: support for Currency report parameters.
  • Added: (Case 33527) Inventory Serialnumber to Transaction List for the Inventory Source
  • Fixed: (case 33561) payment method name has been lengthened to 100 characters and adjustmenttype name has been shortened to 100 characters. This fixes possible issues where queries tried to use these in the same query and they were of different lengths.
  • Added: (case 32190) useraccess table now has session management fields.
  • Added: fUUIDTOBIN and fBINTOUUID functions, which mimic the MySQL functions UUIDTOBIN and BINTOUUID, which are only available on MySQL 8.0 and further.
  • Added: event that automatically expires open user sessions after 2 hours of inactivity.
  • Added: psessionstart and psessionend and psessionkeep_alive procedures. These can be called to begin a new session based on a useraccessid, close that session, and keep that session alive, respectively.
  • Fixed: (case 33665) a problem where the mass mailer would send billing statements to the incorrect recipients

EDocuments

  • Changed: any document parameters (like {?table.field}) that could not be found are now replaced with an empty string instead of being left in.

Home

  • Fixed: as per user comment, the PO page's source column now shows the company name (or contact name if its blank) of the selected source address instead of the vendor's primary address. This makes the PO home tab agree with the name shown on the PO screen. If the PO's source company/contact are empty, it will fall back on the vendor's primary/billing address company name/contact.

ITrack Online

  • Changed: (case 5938) to accommodate the module in different products, this module has been renamed just "Online" in the application.
  • Added: support for OpenURL requests to force in an external browser, useful for launching a web page from a modal popup.
  • Fixed: (case 32040) an issue where data would not be passed to the internal shipping app correctly.
  • Changed: when building a POST request, key/value pairs are now encoded with CURL, as the previous methods did not encode correctly.
  • Fixed: an issue where the last piece of data passed to a web page through a POST request would be left off.

Login

  • Fixed: an issue where new connections were defaulting into SYSTEM timezone instead of the server connection default. This could cause an issue for servers in the cloud, as their SYSTEM timezone is often UTC.
  • Fixed: the timezone shown in the session area in the corner of the system is now shown before the user logs in. Also, instead of showing SYSTEM, an accurate timezone will be shown.
  • Fixed: if the user gets an error while saving changes to users, re-attempting the save should now correctly retry the save operation.
  • Added: when the user logs in, a user session is now started in the database. This will be used for integrating with web tools in the future.
  • Added: every 15 minutes after logging in, the user session will be refreshed, keeping it alive.
  • Added: when the user logs out our closes the application, the open session will be closed.

MySQLConnection

  • Changed: the "database connection failed, do you want to configure?" popup is now phrased more precisely.
  • Added: (case 33025) previous save status now gets set back to None at the end of a save operation (Commit or Rollback) as well as Clear to avoid an issue where attempting to save after calling Rollback might cause a new object to be created.
  • Fixed: a possible unhandled exception crash that could occur if the user could not connect to the database.
  • Changed: if a query fails because of no connection, it will no longer try 3 times if reconnecting fails. This should speed up queries failing due to no database connection.

Master

  • Added: the database update downloader will write the file Updates/UpdateQueryList.sql with all the queries that were parsed out of the main database update file for debugging purposes.
  • Fixed: an issue where a comprehensive database update would not correctly handle version tags unless they were all uppercase. Now, version tags are case insensitive.
  • Fixed: (case 33445) an issue introduced by recent windows changes where crashes were not causing any error popups. Now, the original behavior should be restored.
  • Added: double-clicking the updater status area will now always show the updater detail popup, even if there are not updates to apply.
  • Changed: if there are no updates to apply, the update downloader dialog will no longer show an apply button.
  • Changed: the update downloader no longer cuts off part of the "do you want to restart to apply updates" message. It now also says how many updates need to be applied.
  • Added: (case 33086) new types of crashes and unexpected behavior are now caught by the application and reported with the error reporter.
  • Added: if no debugger is attached, the Debug button is now hidden in the error report popup.
  • Added: now, crashes that happen anywhere in the application should be reported to the user. Before, depending on what was happening, they could be missed, causing the application to just close.
  • Added: if the user gets a crash or other unexpected termination of the application, a .dmp file and a .png file are written to the %TEMP%/ITrack/CrashDumps directory. This file should help ISoft debug the crash.
  • Added: when a crash cannot be recovered from, the "Ignore" button on the popup should now be hidden.
  • Added: new ini settings that control the crash dump information that is generated and uploaded to the ISoft servers:
  • "errorreporting" -> "crashdumpgeneration" -> valid values: "small", "full", "none". The default is small, which generates minimal mini-dumps (generally about 9KB), full generates full crash dumps, which can be closer to 1MB after compression.
  • "errorreporting" -> "sendcrashdumps" (default True). If true, the crash dump file specified above will be transmitted to ISoft servers in addition to saving the file locally.
  • "errorreporting" -> "sendcrashscreenshots" (default True). If true, an 'at crash time' screenshot will be generated and transmitted to ISoft servers in addition to saving the file locally.
  • Added: if the user experiences crashes but cannot upload those crashes, they will now be logged to a errorlog.xml file that is saved in the %TEMP% directory, like the crash dump files. When ITrack is launched, these queued error reports will be uploaded, including crash dump files and screenshots.
  • Fixed: some minor issues with printing the application screenshots.

Options Extension

  • Replaced: the "general" page has been replaced with a shared "Connectivity" page. This page allows full configuration of the database connection.
  • Added: (case 31950) various fields to the "Configure shipping integrations…" menu to allow the user to configure DLS and SAV shipping integrations.
  • Added: a button in the configure shipping integrations popup that takes the user to a wiki page explaining the DLS configuration.
  • Added: a help/info button to the shipping integrations page.

Part Modification

  • Changed: the change log comment dialog now has column tooltips, user locale formatted date/times which now sort correctly.
  • Fixed: (case 32029) an issue where a database error could appear when attempting to load the change log dialog if the user displayed the SKU # field.

Parts

  • Fixed: an issue where changing jobber price on the Replenishable tab would not affect the jobber price box on the part info tab. This could lead to changes not saving.
  • Added: (case 33332) a new setting "Parts"->"Require a manufacturer when saving replenishable parts" and defaulted it to False. This setting can remove the requirement on part saving that replenishable inventory have a manufacturer. This helps companies that do not put manufacturers or models on aftermarket inventory.

Purchase Orders

  • Changed: various error popups would always identify bad line items by part number, which is often blank. Now, it will fall back on vendor part # or the lookup.
  • Fixed: (case 32095) an issue where deleting the last adjustment from a PO line item would not recalculate the average cost of the line item in question.
  • Fixed: an issue where the user would incorrectly be allowed to delete a lineitem with adjustments on them. Now (as the popups suggest) the user must delete all saved adjustments and save before they can delete the line item.
  • Fixed: an issue where a return for an inherent core on a PO could not be received.
  • Fixed: an issue where changing the destination location of a serial # on a PO that has already been received might not correctly update the serial #'s location.
  • Fixed: (case 32767) an issue where an error during PO save (such as a deadlock) might keep the PO from saving correctly if the user hit save again. Now, hitting save again after an error, the PO should correctly attempt another save.
  • Fixed: an issue where TOs were not correctly saving a destination location for transferred items.
  • Fixed: (case 32767) an issue where an error during TO save (such as a deadlock) might keep the TO from saving correctly if the user hit save again. Now, hitting save again after an error, the TO should correctly attempt another save.
  • Fixed: an issue where PO lines could be created but not updated.
  • Fixed: (case 33000) an issue where transfer orders were not correctly saving the "new" quantity or "Done Receiving" the user entered, even though the items would be received.
  • Added: (case 32446) transfer order saves now automatically retry if an error occurs that allows automatic retry. Even when that is not possible, the user is now shown a retry option in the error popup.
  • Fixed: (case 33220) potential crash when edit/viewing order requests and fulfillments on POs/TOs.

Reports

Billing Statement

  • Fixed: (case 32575) minor logo space resizing to exactly match the standard expected ratio (1.45w to 1h)

Inventory By Location

  • Added: (case 32125) more quantity information with more descriptive headers, unit restock and average cost, a new parameter to filter by quantities. The new filter has more options and replaces the old setting.
  • Changed: (case 32125) Report is now landscape. Query and organization improvements.

Inventory Count Sheet - LXW

  • Added: (case 32000) a parameter to show/hide inventory barcodes
  • Changed: (case 32000) removed SKU, swapped category and tag column positions.

Labor Summary By Employee

  • Added: (case 31666) a user group parameter

Outstanding Cores

  • Fixed: (case 32575) minor logo space resizing to exactly match the standard expected ratio (1.45w to 1h)

Packing Slip

  • Added: (case 32532) additional header option to the Packing Slip report. Updated salesperson display options to match SO.

Purchase Order

  • Added: (case 32353) logo
  • Changed: (case 32353) tidied the report
  • Changed: (case 32647) moved the fax numbers up to share a line with phone numbers, labeled phone numbers
  • Changed: (case 33261) line item descriptions are now able to grow more than 2 lines.

Sales By Salesperson

  • Fixed: (case 32067) fixed an issue with the sales rep/counterperson filter parameter

Sales Order 11in

  • Added: (case 31900) sequentialid, hidden by default, to show based on a setting
  • Changed: (case 31900) new setting to be global, not store
  • Added: (case 31899) a store-based setting to include locations below part number. Defaults to False.
  • Added: (case 32332) a 6th header option, based on the existing setting. This option is identical to the default option, but with no spaces between address fields when some fields are blank. This also allows long lines in address fields to grow onto the next line, but it moves potential trimming from the right to the bottom.
  • Changed: (case 32015) hid entire line items/subtotal adjustments section of the report + section page header when the SO has no line line items or subtotal adjustments.
  • Fixed: (case 32014) Sales Order can now handle NULL salespersonuserids.
  • Changed: (case 32719) Mileage label to Odometer in the customer unit subreport. Unit label respects a new store level setting (miles, km, etc…) that is also used in the Vehicle Spec Sheet.

Sales Order Adjustments

  • Changed: (case 31458) tidied the report and improved group organization, including a top-level group by subtotal/balance adjustment.

Top Customers Trending

  • Fixed: (case 33020) the error when there were no customers returned. Report will now print blank and say "No customers found with given parameters."

Vehicle Spec Sheet

  • Fixed: (case 32242) Canadian locale settings were formatting incorrectly for vehicle year in the report header.
  • Changed: (case 32719) 'Mileage' to 'Odometer' and created a store level setting for unit label (miles, km, etc…)
  • Changed: (case 32719) the name of the new setting, which now affects multiple reports.
  • Fixed: (case 32575) minor logo space resizing to exactly match the standard expected ratio (1.45w to 1h)

Sales Orders

  • Changed: (case 31979) SOs were being saved in a way that (due to a mysql bug fixed in version 5.7.1) didn't work in older systems.
  • Fixed: (case 32006) an issue where inherent core charges were using a quantity of 0 because the 'collection quantity' (which is only used for kits, templates, and ordered kits) was 0.
  • Fixed: an issue where items with nothing left to return were sometimes being shown.
  • Fixed: (case 32007) an issue where no documents were shown in the return document.
  • Fixed: an issue where the menu item options in the save button dropdown had some items that were incorrectly greyed out.
  • Added: (case 31950) various extra pieces of information required to perform DLS shipping quotes are now passed into those requests. Also, there are new permissions that control whether the user can get DLS quotes or schedule DLS shipments.
  • Added: (case 32040) support for the source store address when building the shipping quote.
  • Added: (case 32334) all returns (previously it was only core returns) will load information from the original document automatically, so long as the current document has not been saved.
  • Fixed: (case 32440) an issue where finalizing a SO could in some corner cases get an error when attempting to assign a sequential ID, but the SO would save anyway, resulting in an invoice with no sequential ID.
  • Added: the label of the "Expired" static now turns red if the document is expired. This is so that the user knows that the document will not be considered for price or credit approvals.
  • Fixed: an issue where the resize "drag" bars were not working.
  • Fixed: (case 32552) an issue where Configure->Documents->Adjustment types and Sales Terms options were always greyed out, despite the user's permissions.
  • Fixed: (Case 32616) Miscellaneous line item returns when store credit method is "Transaction Store" now uses the document's storeid instead of being set to null.
  • Fixed: (case 32616) salesorder line's GL store id (accounting credit for the lineitem) will now handle all 4 credit methods for misc return items.
  • Fixed: (case 32740) an issue where errors encountered during a sales order could prevent things saving correctly if the user hit save again. Now, if there is an error during save, all changes are rolled back, but if the user hits save again, the save operation will execute correctly.
  • Fixed: (case 33040) an issue where deleting a line item off of a sales order did not remove any associated holds or order requests. Now, when deleting an item, any associated holds, order requests, and order fulfillments will also be deleted.
  • Added: (case 32446) if the system encounters a deadlock while saving, the system will automatically retry the save operation up to 2 more times without showing an error to the user. If there are more than 3 errors (or an error that can't be auto-retried), the user will be shown the error and given an option to retry. If they choose to retry, the entire save operation will be attempted again.
  • Fixed: (case 33072) an issue where loading a customer multiple times after adding a payment could lead to duplicate options in the payment method dropdown.
  • Performance: time to load items onto a sale has been reduced by as much as 75%. This is particularly noticeable when sending many items to a sale. Also, saving time has been improved by a lesser amount.
  • Fixed: (case 33220) an issue where ITrack could crash if a document was large enough and the user attempted to view the order requests. Several other potential crashes were also fixed.
  • Fixed: (case 32117) an issue where the image viewer dialog could crash after viewing enough images without closing the popup. How long it took could depend on the windows per-process GDI object count.
  • Fixed: when the user opened the picture viewer dialog, although the popup was focused, the user could not immediately use the arrow keys to go through the images. Now they can.

Settings

  • Added: filter to the Edit->Settings dialog.
  • Changed: rather than edit->stores… and edit->settings… being at a top level, they are now in the general "Edit->Global Preferences" submenu.
  • Performance: (case 33255) loading aggregate print history on the report viewer screen is now much faster.
  • Removed: if ITrack has no database connection, it will no longer attempt to load settings from the database.

SQL Framework

  • Added: tools for screens to easily retry an entire transaction in the case of deadlocks or lock wait timeouts.
  • Added: support for turning off auto-retry at the database connection level. This is useful when retrying transactions manually.
  • Added: transaction tools now turn off auto-retry so that we can retry at the transaction level. Failures that cause a transaction auto-retry are now logged to the query log just like automatically retried queries.
  • Changed: the debug button is now tied exclusively to whether a debugger is attached to the process. This allows debugging crashes in release mode.
  • Added: if crash dumps or crash screenshots are generated as part of a crash, they are now uploaded to our error database as part of the error report.

Vehicles

  • Fixed: an issue where creating new teardowns or updating existing teardowns could throw a duplicate key collision error.
  • Fixed: an issue where duplicate sold misc items would only show a single row in the cost of goods sold/consumed items list.

Vendor

  • Added: when the user sends a catalog record to the inventory screen, that catalog record is immediately changed to green so that the user knows it was inventoried without having to refresh the catalog list.

Warehouse Management

  • Fixed: (case 33616) an issue where approving multiple jobs at once might cause a query error.

Work Orders

  • Fixed: (case 31954) an issue where sending a kit or template to the WO screen might cause the collection items to override existing items on the job.
  • Fixed: inherent core charges and dirty core exchanges on items in a kit or template were not loading correctly.
  • Fixed: a possible crash that could occur when deleting part of a collection from a job.
  • Fixed: (case 32315) the screen will no longer crash if the user attempts to add a part to a job while no WO type is selected.
  • Changed: the WO screen locks the part area down if no WO type is selected, to avoid adding parts before required data has been chosen.
  • Fixed: (case 32187) an issue where the job status buttons were not working correctly.
  • Fixed: an issue where editing an item after deleting an inherent core charge would still show the 'inherent core charge' checkbox checked.
  • Fixed: an issue where deleting an inherent core line item then adding it back in with the edit item dialog would not alternate colors correctly.
  • Added: (case 32536) the ability to delete multiple job parts from a job at the same time. This allows the user to delete multiple items at once like all other document screens.
  • Fixed: a crash that would occur if an attachment was removed after a save failure.
  • Fixed: an issue where the user could not add attachments to an unsaved WO (they'd get a query error).
  • Fixed: (case 32586) many different issues where, if a WO save failed for any reason, the user could not simply hit save again and have it succeed.
  • Fixed: WOs should create fewer database locks, since the save transaction is now only starts after all user popups are complete (editing customer unit, serial #, etc).
  • Changed: if an external WO needs to create a SO, that SO will now be created as part of the same transaction of the WO save, so that there won't be any issues with a partial save.
  • Fixed: (case 32791) an issue where a WO on non-misc customer units wouldn't save if the user added a new customer unit.
  • Added: (case 32446) work orders now automatically retry save operations up to 3 times if deadlocks or other automatically retryiable errors are encountered.
  • Fixed: (case 33134) an issue where, if the user had their cursor in the document notes (or some other fields), then loaded a WO from the home screen, no notes would be loaded.
  • Fixed: (case 33220) potential crash when launching the edit/view order request dialog with enough items on the document.
4/8/2026

Release 21.2

REVISION 19972-20291 database version 2101

Credit Approval

  • Changed: (case 31927) credit and price approvals now exclude any expired documents from the list of documents that can be approved. If a salesperson wishes to have such a document reviewed for approval, they should move the expiration date forward in time or remove its expiration.

Sales Orders

  • Fixed (Case 32616): Miscellaneous line item returns when store credit method is transaction store now uses the document's storeid instead of being set to null.

Release 21.1

Sales Orders

  • Added: DLS Integration

Release 21.0

Registration

  • Changed: {{case|31058}} it is now easier to copy out of, paste into, and type into the registration code.

ITrack Online

  • Added: a new global hotkey for opening a given URL in the internal browser. The default hotkey is F12.
  • Added: support for opening a given web page while sending POST and HEADER data along with. This is useful for some internal web page operations.

Vendor

  • Fixed: an issue where changes to the vendor catalog pricing page were not being saved.
  • Fixed: a crash that could occur when loading a vendor whose date created was invalid. Now, that will show a date created of '12/31/1899'.

Sales Orders

  • Added: {{case|31517}} the right click option for "Get shipping quote" now posts the current sale order to a URL specified in the setting "Sales Orders", "URL for shipping quotes".

Utilities:

  • Added{{case|27470}}: Export and view code for our first pass at the acomba integration
  • Added{{case|27470}}: Files for Custom Triggers.
  • Added{{case|27470}}: New Documentation for Acomba and the script setup.
  • Fixed{{case|27470}}: The export now exports many transactions in one file, despite the documentation claiming that's impossible.
  • Added{{case|27470}}: Fix for mysql maximum group concat length.

Tools

  • Added: all TrimTrailingZeros calls now have an argument that can specify whether the string argument is a locale string or a raw string. This solves some scenarios where raw strings were being assumed to be locale strings and were being incorrectly parsed.
  • Added: support for ITGeneralCollection::Iterator to perform += or + on unsigned integers.
  • Fixed: a crash (release mode only) when using an ITVector in a LoadMultiple operation when using SO_ImpLoadMultiple due to iterator invalidation.
  • Changed: ITDecimalNumbers now use bigint version 10.2, which now supports 64 bit integers better.
  • Performance: ITDecimalNumbers now load faster in most scenarios.
  • Added: ability to construct ITDecimalNumbers from 'raw' strings as well as user strings. Defaults to user strings.
  • Changed: ITDecimalNumber::operator/ no longer rounds the result to the lowest of the inputs' precisions. When dividing by a whole number, this generally just rounded to a whole number. Now, the precision is the sum of the inputs plus one, so 10 / 3 is 3.3.
  • Fixed: an issue where ITDecimalNumber::GetDatabaseString was not trimming trailing zeroes correctly, depending on the user locale settings.
  • Changed: ITDragStatics now track the 'desired' offset separately from the current/UI offset. This solves a common issue where dialogs are initially small and then resized larger, causing the last desired position to be forgotten.

MySQL Connection

  • Performance: checking to see whether the database connection is live no longer attempts to connect if the config is invalid. This makes application startup slightly faster.
  • Changed: START TRANSACTION; COMMIT; and ROLLBACK; are now always written to the log. They were not always logged before. Also local date/time stamp of occurrence should be consistent with other queries.
  • Fixed: {{case|31215}} an issue where the user could get a database error and hit 'retry' in the middle of a transaction (such as document save). This is not safe because retry won't retry the queries before that one. Now, if the user gets an error in the middle of a transaction, the only option will be "Ignore" (meaning continue). They will generally have the entire transaction rolled back and they can retry by hitting save again.
  • Fixed: {{case|31144}} an issue where we were not correctly suppressing mysql auto-reconnect behavior. This was supposed to be disabled for {{case|31144}} to catch implicit reconnects in the middle of a transaction (causing a rollback). This confusion lead to session variables such as @ITRACKUSERID and the connection timezone to not get properly reset on reconnect, leading to issues in the logs or other areas that rely on these settings.

Crystal Reports Extension

  • Added: {{case|31106}} if report parameters have 'defaults' and are not specified by a print job, those defaults will now automatically be passed to the report to be printed.
  • Added: saving modifications to reports now happens in a single transaction so that an unexpected error or interruption won't lead to a partial modification.
  • Fixed: {{case|31379}} an issue where some parameters would go into the print queue in user visible formatting instead of 'raw' formatting. This means that if the user was emailing or delaying a print, it might fail if the user's date/datetime/number locale formatting was different enough from what crystal was expecting. Now, all print jobs log parameters as 'raw' numbers and dates.

Report Viewer

  • Fixed: a memory leak caused by reprinting reports from the print queue.

Master

  • Changed: when updater.exe is downloaded, it is applied with a move file instead of a copy file so that the old file is not kept around.

EbayExtension:

  • Fixed{{case|29365}}: Tag Number now populates correctly for new listings.
  • Added: Added a database column for tagnum on ebay auction records.

CustomerContact:

  • Fixed: A crash when creating new correspondences.
  • Added: Mass correspondence creation from the customer list screen.
  • Fixed: Most touchpoint information shown is now from the most recent touchpoint on the home and customer screen.
  • Added: Multi customer correspondence creation from the customer list screen
  • Fixed: Touchpoint type filtering removed
  • Added: Tooltips to the customer and home screen.
  • Added: saving modifications to customer contact entries now happens in a single transaction so that an unexpected error or interruption won't lead to a partial modification.
  • Fixed: no longer comparing a ITDateTimeSetting to 0, as it was an ambiguous conversion.
  • Added: CRM home tab now remembers the user's column order and widths as well as last date range selection.
  • Added{{case|28568}}: Tickets can now be closed
  • Added{{case|28568}}: UI for assigning tickets added
  • Fixed{{case|28568}}: Layout now resizes correctly and smaller windows sizes no longer cause issues.
  • Added{{case|28568}}: Tickets can now be assigned
  • Fixed: Double clicking a customer contact ticket on the home screen once again opens the correct customer and selects that ticket.

Customer

  • Fixed: a crash when saving a customer.
  • Fixed: an issue where the service list was not using user display preferences to show the quantity and price of service jobs.

Customer List

  • Fixed: {{case|30820}} an issue where an error was thrown if the user performed a customer smart search.

Database

  • Changed: reportqueueparameter now supports parameter values up to 4K when emailing or remote printing.
  • Changed: the salesorder table now sets the datecreated and datemodified timestamps automatically when appropriate.
  • Added: an index that should make calculating the next id for the document faster.
  • Fixed: a missing trigger on purchase order line removal that was missing from some databases.
  • Fixed: an issue where customer balance aging was ignoring payments on quotes, hold orders, and open invoices.
  • Fixed: {{case|31186}} an issue where resaving PO postings that received a vehicle might move the vehicle back to the original store its already been transferred to another store.
  • Added: {{case|31433}} database function for calculating average lead time for vendors and inventory.
  • Added: database function for calculating fill rate for a vendor.
  • Added: database functions for aggregate monthly usage (average, sum, or standard deviation) which is useful for other new functions
  • Added: database functions for suggested minimum order quantity, maximum order quantity and safety stock.
  • Added: daily aggregate demand function, for situations where we need daily usage instead of monthly.
  • Fixed: several issues where suggested safety stock was higher than necessary.
  • Added: {{case|23969}} job template parts now track a parent part. This will make saving and loading child lines like inherent core charges and dirty core charges work better.
  • Changed: job part template quantities are now stored in the same precision as quantities on the job parts themselves.
  • Added: job parts now have a reasonable default for time entered.
  • Added: fields to search and part modification screen that show suggested order levels.
  • Changed: setting types have been turned into an enum, as it only accepts certain values and this takes less space.
  • Fixed: a minor merge conflict in update.sql
  • Archived: all changes before version 16, to make database updates faster to download.
  • Added: collection table's datecreated now defaults to NOW().
  • Fixed: an issue where tinventorypre_insert creating teardown items was flipping the quantity an cost factor.
  • Added: {{case|26810}} the inventorylookup table now has support for inventory supercession.
  • Added: {{case|26810}} a new search module (on by default) that looks at entries in the inventorylookup table for alternate inventory tags, part #'s, supercession, and UPCs.

Part Configuration

  • Fixed: an issue where the manufacturer/model page was showing results from previous filters as the user changed filters.
  • Added: saving modifications to breakdown templates now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.
  • Added: saving modifications to messages now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.

Sales Orders

  • Added: sales order saving should now correctly assign sequential id, as well as date modified, date closed, and date entered with server timestamps.
  • Added: configure->adjustment types now saves in a single transaction so that an unexpected error or interruption won't lead to a partial change.
  • Added: configure->payment methods now saves in a single transaction so that an unexpected error or interruption won't lead to a partial change.
  • Added: configure->return codes now saves in a single transaction so that an unexpected error or interruption won't lead to a partial change.
  • Added: configure->shipping methods now saves in a single transaction so that an unexpected error or interruption won't lead to a partial change.
  • Added: configure->terms now saves in a single transaction so that an unexpected error or interruption won't lead to a partial change.
  • Fixed: {{case|31109}} an issue where payments might not load from the database correctly if the user's locale settings were european style (comma and period switched).
  • Fixed: a misspelling in an attention icon hover text.
  • Added: {{case|31004}} the currently visible sales order (and its contained lines and adjustments) can be sent to a given web page. This will be a useful part of an upcoming DLS integration.
  • Added: when building shipping quotes, new lineitem and adjustments now get the current sales order's id set on them for better estimates.
  • Changed: {{case|31457}} for any store with the "Require return reason" setting turned on, the last 'return reason' the user chose will no longer be remembered or loaded automatically. This will force users to choose a return reason every time.
  • Fixed: {{case|31436}} an issue where the screen could crash if the user saved or hit the refresh button on voided documents with no line items.
  • Added: the perform advanced operation button now has a "Get DLS shipping quote" option which does the same thing as the shipping quote context menu option.
  • Added: {{case|27975}} the messages page now shows a number of distinct messages being displayed in its tab title. In addition, if there are any unread messages, an asterisk is shown until the user clicks into the messages pane to mark it as read.
  • Added: {{case|27975}} there is now a setting: "Sales Orders"->"Blink important messages until the user confirms". It defaults to False. When set to True, important messages will cause the messages pane to flash indefinitely until the user marks them as read by clicking into the messages field.
  • Added: {{case|26957}} if return lines are added to an unsaved sale, the original document is used as a default for document type, comments, addresses, shipping method, terms, tax item, and many other fields in the document header. This takes effect when performing returns from core management or manually on the SO screen.
  • Fixed: {{case|31047}} a misspelling in a right click menu option.
  • Fixed: an issue where some currency values were not formatted with the user's locale settings correctly.
  • Fixed: {{case|31312}} an issue where the allocations part/vehicle info panes could not show all allocations if a single item was added to the same document multiple times.

Work Orders

  • Performance: WO home screen tab is now faster for large data sets.
  • Fixed: a typo in a popup.
  • Added: saving work order templates now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.
  • Fixed: {{case|31187}} an issue where loading a void or closed internal WO could possibly show attention icons on the master parts, causing the user to get popups when attempting to try to save and print. These popups were unnecessary because the document was already finalized or voided.
  • Added: {{case|31294}} work orders can be finalized, even if some of the master parts don't have enough quantity on hand to absorb the cost changes.
  • Changed: if master parts are vehicles or standard parts, the user will no longer see an attention icon or warning/error on save that there is not enough quantity on hand to absorb cost. This is because vehicle costing works differently.
  • Fixed: {{case|31688}} an issue where performing assembly breakdowns did not correctly grab GL accounts for parts created by the breakdown, which would cause an accounting error to be shown.
  • Fixed: {{case|23969}} an issue where parts on jobs created from job templates didn't load inherent cores or dirty core exchanges correctly.
  • Added: {{case|23969}} when new job templates are created that 'child' items like inherent core charges or dirty core exchanges, they will be saved with that parent/child relationship correctly.

Core Management

  • Added: all parts of inventorying a core now happen in a single transaction so that an unexpected error or interruption won't lead to a partial save.
  • Fixed: an issue where some currency values were not formatted with the user's locale settings correctly.

Customer

  • Added: saving modifications to regions now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.
  • Added: saving modifications to a customer, their messages, their payment methods, and their tax exemptions now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.
  • Added: saving modifications to a payment and its accounting now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.
  • Added: all assessed finance charges and their accounting now happen in a single transaction so that an unexpected error or interruption won't lead to a partial save.
  • Fixed: some display issues with currency values if the user was in European currency locale format (comma for decimal separator).
  • Fixed: an issue where credit limit was not being handled correctly in European style currency locale settings.
  • Fixed: a crash when paging through the sales/payment history of the current customer.

Deliveries

  • Added: saving modifications to configuration now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.

Options Extension

  • Added: saving modifications to stores now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.

Payment Entry

  • Added: saving modifications to payment batches now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.

Purchase Orders

  • Added: when saving a purchase order, any order routing information now saves as part of the main document transaction so that any failures during save won't lead to a partial save.
  • Added: saving modifications to a transfer order now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.
  • Fixed: an issue where entering a negative price in a locale setting that used parentheses for negative currency (like ($1.00) instead of -$1.00) might not flip the sign of the quantity columns correctly. Also, it was only flipping the sign of the new quantity before, and now it flips the sign of the order quantity as well.
  • Changed: the 'purchase order saved' function is now called as part of the main PO saved transaction. In addition, if any transfer orders are created for a multi-branch PO, they are created as part of the transaction. This ensures that any failures that cause a rollback of the transaction will include these changes as well. Also, now that a failed save rolls back all changes, we no longer attempt 'repair' queries in the case of failure.
  • Fixed: an issue where the user would get a database error when finding order requests to fulfill in the popup on the POs screen. This only happened if the user was in (New) item mode and they were searching by default purchase vendor.
  • Added: support for the users (with permission) to right click and 'view accounting' for the currently loaded PO or TO like they can on the SO and WO screens.
  • Fixed: a small issue where, if a part failed to load onto a PO when sent by search, would then be opened on the parts screen.
  • Added: {{case|27975}} the messages page now shows a number of distinct messages being displayed in its tab title. In addition, if there are any unread messages, an asterisk is shown until the user clicks into the messages pane to mark it as read.
  • Added: {{case|27975}} there is now a setting: "Purchase Orders"/"Transfer Orders"->"Blink important messages until the user confirms". It defaults to False. When set to True, important messages will cause the messages pane to flash indefinitely until the user marks them as read by clicking into the messages field.

Vendors

  • Added: saving modifications to a vendor now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.

Warehouse Management

  • Added: saving a manual count now happens in a single transaction so that an unexpected error or interruption won't lead to a partial save.
  • Fixed: {{case|30958}} an issue where manual inventory counts could not add serialized items with no available serials. Now, the serial # dropdown shows all serials #'s, no matter what status. This way, sold serials can be marked as Found.

Accounting

  • Fixed: some display issues with currency values if the user was in European currency locale format (comma for decimal separator).
  • Added: {{case|31294}} a new checkbox for controlling whether a company wishes to allow cost discrepancy accounting. If this is enabled (off by default) then users are allowed to finalize work orders when there is not enough quantity on hand to absorb the cost changes. There may be other cost issues that are controlled by this setting in the future.
  • Added: support for searching purchase order and transfer order accounting history in the history detail screen.
  • Changed: {{case|31384}} like GL entries are now combined when performing PO accounting. This should avoid getting net-0 accounting transactions exporting when simply resaving or printing a PO.

MAS90 Accounting

  • Fixed: some potential issues with currency values if the user was in European currency locale format (comma for decimal separator).

Parts

  • Fixed: an issue where some currency values were not formatted with the user's locale settings correctly.
  • Fixed: {{case|31121}} an issue where a database error could be thrown when saving replenishable inventory if the user's locale format for dates was not similar to ISO standards. Now these dates will save correctly.
  • Fixed: {{case|31342}} an issue where european-style currency formats might cause an issue when displaying average cost in the change log dialog.
  • Fixed: a possible issue where new change log entries might not save the correct average cost.
  • Added: tooltips to all controls on the aftermarket page.
  • Added: {{case|31433}} a readonly field to display the average lead time for the current inventory record from the default purchase vendor.
  • Added: quantity on hand is now shown next to the QA and held quantity on the aftermarket tab.
  • Added: average daily and monthly demand is now shown in the order history area.
  • Added: suggested min/max quantity and suggested safety stock based on EOQ formulae.
  • Added: shipping length/width/height to the aftermarket tab similar to the basic part info tab.
  • Fixed: an issue where the quantity field might show incorrect values when the user used the spin controls to increase/decrease quantity above 999.
  • Added: {{case|26810}} a new "Lookups" tab, where the user can add/edit/remove alternate inventory lookups. These lookups could be UPCs, vendor part #'s, part supercession, or any other strings used to find a part.
  • Added: {{case|26810}} the lookups page now allows the user to load an existing inventory record as the 'original inventory record'. This field is disabled for UPC and alternate part # relationship types.
  • Added: if an original inventory record is loaded, the tagnumber of that SKU will be the default lookup for that rule.

Home

  • Fixed: {{case|31125}} a performance issue that caused the sales order home screen list to take a long time to load for some large data sets.

Interchange

  • Fixed: an issue where the interchange popup would sometimes revert to a very small size for the left half.

Vendor

  • Fixed: minimum prepaid order amounts and minimum order amounts are now displayed in user locale format.
  • Added: inventory defaults page now has tooltips on all controls.
  • Added: {{case|31433}} lead time and fill rate to the inventory defaults page.

ITrack Online

  • Added: if a URL is opened that requires additional data to be sent, and ITrack Online cannot be found, the user is shown a more specific error. More info is sent along with all web errors.
  • Added: if a URL is opened that requires the internal browser and the browser type is set to something other than "Internal", Internal will still be used.

Shared

  • Changed: ITJobPart is now in its own file vs ITJobPartTemplate and ITJobPartBase which they both inherit from. ITJobPartTEmplate has been regenerated and modernized. ITJobPart has been partially modernized.
  • Changed: lots of code had to be modified because ITJobPartBase now uses a ITJobPartBase* to track unsaved parent lines instead of a POSITION. This will make the whole process less dependent on the type of container the objects are held in. This changed a lot of WO screen code.
  • Changed: ITJobTask and ITJobTaskTemplate have been regenerated, split into new files, and modernized. ITJobTaskBase got its own file as well, which they both inherit from.
  • Added: Smart search functions that reduce boilerplate code in various places in the software that perform smart searches. Namely, EE::Search::SmartSearch::Perform has been augmented with the simpler EE::Search::SmartSearch::PerformAndDisambiguate.

Part Modification

  • Added: export dialog now has an open file button.
  • Changed: export now exports headers by default.
  • Fixed: a crash when exporting inventory.
  • Fixed: the right click export to CSV option now uses the normal export functionality.
  • Fixed: a crash that could occur when closing the screen if the user had their focus inside an edit box.
  • Fixed: all numeric/quantity/currency values now use user' locale formatting correctly.
  • Fixed: an issue where the bottom line of loaded parts is taken into account with regards to the totals.
  • Fixed: an issue where the totals at the bottom were not taking user locale settings into account correctly.

Global Settings Extension

  • Changed: the setting scope now defaults to "Setting Default". This makes it so that the user can modify any setting without picking a setting.

Vehicles

  • Fixed: {{case|31766}} an issue where adding new teardown inventory would throw a database error when it attempted to attach the item to the teardown.
4/8/2026

Release 20.0

EE Change log version 20 REVISION 19702-19971 database version 2000

Master

  • Changed: the error reporting system now formats Windows COM errors in a more easy to understand format. These errors could be reported by partner applications, such as QuickBooks, VINPower, and Crystal Reports.
  • Added: company code box to the about box. There is also a 'copy to clipboard' button next to it.
  • Changed: product code was renamed to workstation code and has become an edit for easy copying. There is now a 'copy to clipboard' button next to it.
  • Added: the About dialog now has field and column tooltips.
  • Added: the about dialog now has a 'updater version' column that shows the version of each module for the current install according to the versionlist table.
  • Added: the about dialog now saves and loads its last known position.
  • Changed: the query log will now have a default comment style and automatically run reconnect queries across all products. Previously, they were not run until the login dialog was displayed.
  • Added: the queries that are run automatically when the database connection is established (or reestablished) are now logged to the query log.
  • Performance: minor efficiency gains every time a query is run.
  • Added: the status bar now has a couple more areas designed to store information about the site the user is logged into as well as the timezone of the connection. This is useful for scenarios where users are logging into systems in the cloud, or into sites with different timezone settings.
  • Changed: before logging in for the first time, the site and timzone indicators will now correctly get reset.
  • Fixed: a crash that could happen when the user attempted to change a status pane.
  • Changed: reconnect queries are only run once less when the application launches.
  • Added: support for retrieving the current database connection time (or current system time if no database connection could be found). This is used by date/time pickers across the software as the 'default' date/time to show.

MySQL Connection

  • Changed: increased the number of times the database connection will automatically retry a query due to a server disconnect to twice instead of once.
  • Added: {{case|29287}} basic support for getting/setting a connection timezone on the database connection.
  • Fixed: an issue where reconnect queries could be run before the connection was established.
  • Added: GetConnectionTime, which returns the current timestamp, according to the server. This will be useful when comparing local timestamps to saved server timestamps and saving objects with the correct time, despite computers in different timezones.
  • Performance: to make code faster, when we get a connection time, the UTC offset is cached for calculating subsequent connection times. This offset is recalculating any time the hour changes or the connection timezone is changed.

Crystal Reports Extension

  • Added: when adding a report from a file, the user visible report name and parameter names now automatically format more human readable forms, using our database dictionary. Spaces are automatically added between capital letters.
  • Fixed: {{case|24372}} an issue where report descriptions with newlines would sometimes be turned into two line breaks.
  • Fixed: version was not being exported with the report.
  • Added: {{case|24372}} a DELETE statement is run to remove all parameters that are not in the current list, to possibly remove historic unused parameters.
  • Added: support for setting logging timestamps based on connection timezone in those cases where its different than local timezone.
  • Changed: if a date/time parameter being sent during a print job is invalid, the current connection time will be sent instead of the current local system time.
  • Changed: {{case|29286}} all datetime values passed to Crystal Reports as report parameters are now converted from the timezone of the local database connection to the timezone of the server, as that is what the crystal report will be querying in. This should avoid any misunderstandings in situations where these are in different timezones.
  • Fixed: {{case|30331}} an issue where numbers with thousands separators were not being sent to print jobs correctly.

Administrate Databases

  • Fixed: {{case|29729}} an issue where the file import tab would have the type and checkboxes readonly, so the user couldn't change them.
  • Fixed: an issue where the csv import area would add too many backticks to table and database names.
  • Added: support for 'parentrowid' being specified when building trigger definitions. This information is now saved into and retrieved from the block comment in the generated triggers.
  • Fixed: an issue where toggling between trigger and ITObject modes could result in bad table parses.
  • Fixed: several issues where unnecessary columns were showing in various modes.
  • Fixed: an issue where unchecking a table for triggers might sometimes get undone when the user selects the table again.
  • Added: support for BEGINCUSTOMENDOFFILE and ENDCUSTOMENDOFFILE as a section at the end of header ITObject files. This is useful for declaring things at the end of a header (like an Auto-Complete class).

Common Resources

  • Fixed: an issue where the next/previous page buttons in the log viewer didn't work.
  • Changed: {{case|29948}} the log viewer now attempts to find child objects using parentrowid instead of looking for objects by inserted row, as that can be much slower.

Data Management

  • Added: the column order/widths for the field tree and 'todo' list now load and save.
  • Added: {{case|5432}} import type fields now have a 'rank' for ordering fields by something other than display name.

SQL Framework

  • Added: The ability to set what type of 'connection times' returned to the application. By default, it uses 'local time' which is being used for all products that are not ready to have timezones controlled by the database yet.
  • Added: the ability to convert from date/times in the connection timezone to date/times in the server timezone as well as UTC+0 time (GMT timezone)
  • Performance: refactored the way normal queries are run to make the common case fast (running queries on the default connection no longer requires a lookup).
  • Changed: if a database object has not changed, it will no longer start a transaction or commit/rollback that transaction. This speeds up scenarios where large lists of objects get Save called on them, but many of them have not changed, leading to lots of delay in empty database transactions.

Controls

  • Added: all date/time pickers now default to the current date/time of the default database connection instead of the local system time.

ITrack Online

  • Changed: HTTP headers we send to be dash separated instead of underscore. For the details on why, see Brain's notes in {{case|30214}}

Appraisals

  • Fixed: {{case|29383}} an issue where an unconfigured system would throw a database error from appraisals.

Parts

  • Added: {{case|29384}} if the inventorysetting table is empty when the parts screen is opened, the user is now shown a user readable error instead of the screen silently being unable to save any part changes.
  • Added: if one or more inventory setting rows are missing, the parts screen now assumes reasonable defaults so that the screen can still save those fields. However, certain features like change logging, global fields, etc will break if those rows are missing.

Customer

  • Added {{case|28568}}: Customer Response tab added, for viewing customer responses and entering customer response information.

Home

  • Added {{case|28568}}: Customer Response tab added, for viewing customer responses.

Customer Response

  • Fixed {{case|28583}}: Removed erroneous foreign key constraints.

Database

  • Fixed: {{case|29385}} an issue where pdocumentrefreshautopickhistory might throw an error if the user had duplicate locations that matched whatever the autopick location was at that store.
  • Added: {{case|28872}} Added stored procedure for finalizing move jobs from scanner. Part of migration from functions to stored procedures
  • Removed: {{case|29447}} a setting relating to VINPower that is no longer in use.
  • Removed: an unused setting the the Use Interchange Application checkbox on search preferences.
  • Added: {{case|29597}} vendorcatalog.upc was present in some databases and not in others. It is now standard.
  • Added: upc option to vendor catalog import type.
  • Added: {{case|29613}} the pickable purchase order view now inverts quantities so that PO returns can be picked
  • Fixed: vdeliverablejobpart now works again, the previous version had not been updated to deal with the renamed address table correctly.
  • Added: {{case|29613}} vpickablepurchaseorderline and vdeliverablepurchaseorderline have been adjusted to correctly allow return POs to be picked and delivered.
  • Added: {{case|29613}} pdocumentrefresh_delivered now correctly sets the sign of quantity picked and quantity delivered as negative numbers for documents that are incoming instead of outgoing.
  • Fixed: {{case|29580}} an issue where changing the vehicle on a part would not update the old or new vehicles' teardowns to reflect this.
  • Added: {{case|27223}} when quotes or hold orders expire, any associated payments become unassoiated with the document, but remain on the customer.
  • Added: {{case|27223}} when a quote/hold order/lost sale gets saved after it has been voided or closed, any associated payments become unassoiated with the document, but remain on the customer.
  • Added: extra escaping to a query to avoid parsing issues (see {{case|29841}}
  • Fixed: an issue where picked/delivered quantities for purchase order lines had the wrong signs.
  • Fixed: an issue where the AFTER INSERT trigger on inventoryserial was incorrectly named.
  • Added: a BEFORE INSERT trigger on inventoryserial that will update the sales order or work order's serial # if the user renames the serial on the parts screen. This should speed up the save of serialized parts.
  • Fixed: default inventory Q&A was sometimes being tied to inventoryserialid 0 and sometimes -1. I've updated all the 0's to -1's and deleted any duplicates.
  • Fixed: an issue where the nightly hold recalculating event was incorrectly set to run every minute.
  • Removed: some CRM queries in v19, which had errors. The queries were released more correctly in version 20 anyway, and these bad queries were causing some users issues.
  • Changed: {{case|30128}}, {{case|30561}} balance adjustments are now considered in the interval matching the original invoice instead of the adjustment date. This affects 30/60/90/etc… balance intervals in ITrack and on some reports (Aging, Billing Statement).

Vehicles

  • Added: {{case|29447}} VINPower errors are now reported with more specific and easy to understand error messages. This includes the error for invalid developer code and invalid path. Also, these errors now use the shared error reporting dialog so that they can be reported to ISoft support.
  • Fixed: {{case|29893}} an issue where the vehicle stock # was being specified twice when creating or updating vehicles if the user specified a custom stock #.
  • Fixed: an issue where the totals at the bottom of the bidding/teardown list wouldn't add up the price/cost columns correctly.
  • Removed: the "use interchange application" preference has been removed because it did not affect the search and was resulting in user confusion.
  • Changed: the search preferences page has been rearranged for clarity.
  • Fixed: {{case|29860}} several info panes were throwing database errors. They now work as designed.
  • Removed: {{case|30691}} the 'cost' field on the search totals area was confusing some users. Although the tooltip said it was replenishment cost, it was being skewed with actual cost. Because quantity on hand * replenishment cost does not represent a useful figure in ITrack, the field has been removed in favor of various inventory valuation reports.

Purchase Orders

  • Fixed: a bug that was causing the return dialog to not show any line items and cause the system to crash on close.
  • Added: {{case|1152}} the purchase orders screen now has an "Item Info" tab on the left side that shows quantity available, on hand, on order, returned, picked, and delivered for the selected line item. This is similar to the same area on the Sales Orders screen.
  • Fixed: {{case|29830}} an issue where POs were failing to adjust inventory locations and were instead throwing a query error.
  • Fixed: {{case|29830}} an issue where the 'get new PO #' button was not working correctly on certain versions of MySQL.
  • Fixed: {{case|30293}} an issue where pitemtransferred was being called instead of the correct pinventorytransferred.

Parts

  • Fixed: {{case|29994}} an issue where saving a part with lots of serial #'s would take a long time to save, even though nothing needed to be modified.
  • Fixed: an issue where changing a serial #, but then filtering the serial # list to not show it would cause that change to not be saved.
  • Changed: now that the database triggers update the sales order and work order lines when serial # changes, the screen will no longer do it. This should speed up saving.
  • Fixed: an issue where hitting "Use default location" when saving a new part with QoH might create an inventory record that triggers a primary location update on the next save.
  • Fixed: {{case|30080}} an issue where changes to Q&A for non-serialized parts (or the Q&A on the default serial) was saving but not loading.
  • Fixed: possible scenarios where the user would reorder the serial # list, causing the default Q&A to show the wrong info.
  • Fixed: default (non-serial) Q&A is non consistently saved so as not to create duplicates later.
  • Added: when the user adds a new serial manually to a part, the Q&A is now copied from the default serial Q&A, as per the design.

Sales Orders

  • Fixed: {{case|28574}} previously, the terms dropdown was only visible if the document type allowed payments. Now it is always visible. This is because documents that affect customer balances require terms to finalize.
  • Fixed: {{case|30293}} an issue where pitemtransferred was being called instead of the correct pinventorytransferred.
  • Fixed: {{case|30323}} an issue where returning inventory to a store other than the one that sold it would throw an error that copying inventory between stores had failed even though it had not failed.
  • Fixed: {{case|30617}} an issue where dirty core exchanges on the same document as the original inherent core charge might have the wrong GL store if the user changed the store credit dropdown.

Inventory Overview

  • Fixed: {{case|30177}} an issue where vendor searches were throwing a database error.

Login

  • Changed: the user name in the status bar is now just user name instead of User @ store. This is because the store is now displayed in its own status bar area along with the timezone of the connection.

Work Orders

  • Fixed: {{case|31688}} an issue where performing assembly breakdowns did not correctly grab GL accounts for parts created by the breakdown, which would cause an accounting error to be shown.
4/8/2026

Release 19.0

Important

  • Added: (case 28363) support for European style numbers and currency figures. Mainly, if the user's windows settings are set to use comma instead of period for the decimal separator, the software will correctly read and display figures.
  • Added: (case 26026) POs now track the customer and vendor address that was selected. Also, POs always have a destination store, even when they are dropship POs.
  • Changed: the UI for the PO header has been reworked to make data entry faster, clearer, and easier to read. In addition, the screen now follows the format of other screens more closely, and we have fixed hotkeys on the screen and added tooltips for various controls.
  • Fixed: better keyboard navigation on document screens, and more tooltips.
  • Changed: many database changes to help avoid deadlocks and lock wait timeouts. In addition, ITrack automatically retries deadlocked queries and queries that received a lock wait timeout without any user input. That way, during high contention periods, some operations may take longer, but the user should receive fewer error messages.
  • Added: on document screens, double-clicking order request and order fulfillment icons now takes the user to document fulfilling/requesting that stock.
  • Added: (case 27799) SOs and WOs in the home screen lists now show how 'ready' the document is (based on quantity being sold that is on hand). Also, another column has been added with what % ready the document is; this percent is colored blue for 100%, red for <100%, and green for <100% if an open order request is on the document.
  • Added: (case 14034) performing a search including an interchange number and a sub-interchange number now orders the results by whether they are an exact match or not. Exact matches are at the top, and are shown with a small icon next to the interchange # to make this clear.

General

  • Added: (case 28363) support for European style numbers and currency figures. Mainly, if the user's windows settings are set to use comma instead of period for the decimal separator, the software will correctly read and display figures.
  • Changed: made function calls more specific to distinguish between operations that operate on raw numeric strings, user formatted numeric strings, and database strings.
  • Added: various locale currency and number API functions for reading windows API locale settings.
  • Changed: (case 28837) several database function calls have been transitioned to stored procedures to avoid database deadlocks.

Customer List

  • Fixed: (case 26032) an issue where fulltext searches in boolean mode might throw MySQL errors in certain circumstances.

Database

  • Renamed: (case 26100) fmonthlyinventorysales has been renamed to finventoryusagemonthly, to more closely match other usage functions. References to the function in inventorysetting have been updated as well.
  • Added: (case 27629) a vehicle id to all the pickable item views.
  • Fixed: dropped several alternate names for a trigger that was dropped in version 18. This should resolve issues where different databases had different names for this trigger.
  • Added: Case 27948: Add Worker Group as Display Field to Transaction List
  • Added: an index to documentlinelocation that speeds up flocationrefresh significantly.
  • Fixed: flocationrefresh now no longer throws an error if manual merging of locations causes duplicate entries on document locations.
  • Added: (case 28539) a new function, fmergelocation, which accepts two locations and a storeid. All tables that reference the old location (or its id) will be moved to the new location (and id). An optional parameter dictates whether the old location should be deleted or not at the end.
  • Added: (Case 285583) Schema creation queries added for Customer Response Management subsystem.
  • Changed: some purchase order views to properly use the new destination columns.
  • Added: (Case 28811) Add "Days In Inventory" as Display Field to Transaction List
  • Changed: (case 28837) many database functions that change data have been moved to stored procedures to help avoid deadlocks.
  • Added: (case 28837) all the document saved stored procedures now explicitly acquire all necessary write locks at the start to ensure they do not perform half of their queries and end up in a deadlock situation.
  • Added: ppurchaseordervoid and ptransferordervoid stored procedures that properly reverse activity performed by those documents.
  • Added: (case 28837) all stored functions call the new stored procedures for backwards compatibility. There is a @DEBUG session variable, which, if its TRUE, will throw exceptions instead. This will help finding and eliminating these calls.
  • Fixed: pdocumentallocation_refresh wasn't updating location holds right.
  • Added: DB API function: psalesorderundo, which can reopen or void a SO that has been closed. This is now shared code between the ITrack SO screen and several scripts that also perform reopen actions.
  • Changed: log_inventorytransaction is now engine type InnoDB, it appeared to be MyISAM still on some customer dbs.
  • Changed: inventorymove is now engine type InnoDB.
  • Changed: the address table has been renamed to workorderaddress to make usage clearer to people writing queries. Renamed several columns to match other address tables.
  • Added: for backwards compatibility, there is now an address view, which attempts to emulate the old address table.
  • Added: workorderaddress now remembers the customeraddressid the user chose.
  • Added: Case 28813: Add Inventory Category as Filter to the Transaction List for the Inventory Source
  • Fixed: the trigger on inventory update now sets locationid based on changes on the location field.
  • Added: (case 28976) pinventorymoveinventorylocation the move operation now works if the item in question had 0 quantity on hand at a permanent location. Also, if the old primary location was permanent, so too is the new primary location.
  • Removed: a couple triggers that existed on some databases that updated a log that we are deprecating.
  • CHanged: logvehiclechange and loginventorychange_expanded have been deprecated. These logs only existed on some customer databases and have been superceeded by more modern logs. They will be removed out eventually.
  • Added: (case 29272) vendorcatalog.vendorproductcode is now part of the vendor catalog import.

Data Management

  • Changed: the database that backup tables are created in now defaults to the current database instead of backup_importer. This is because not all customer setups are able to create or put tables into other databases.

Deliveries

  • Added: (case 27629) a vehicle stock # to the pickable line item view.

eBay Extension

  • Fixed: Payments now correctly load into listings again.
  • Fixed: (Case 28774) Free shipping checkbox removed. Free shipping is now determined by shipping cost being $0.00 or not.

Home

  • Added: (case 27799) SOs and WOs in the lists now show how 'ready' the document is (based on quantity being sold that is on hand). Also, another column has been added with what % ready the document is; this percent is colored blue for 100%, red for <100%, and green for <100% if an open order request is on the document.
  • Added: (case 27799) SO and WO lists now have an attention column which shows icons (with hover tooltips) similar to the document screens. Currently, this will show when a document can not be finalized due to insufficient QoH, as well as when there are open order requests and fulfillments.
  • Added: (case 27805) SO Truck # column to the SO home screen.
  • Removed: INI setting for the home screen URL, and moved it into a global setting.
  • Removed: INI setting for the home screen minimum height, and moved it to a global setting.

ITrack Online

  • Changed: the home page for the online page now defaults to a URL set a user preference, instead of a default from the ini.

libITSQLFramework

  • Fixed: an issue where the 'footer' of a query in the query log would be written sometimes after another query run in order to report the error.
  • Added: (case 28838) if a mysql connection gets a lockwait timeout error (1205) the query in question will automatically be silently retried up to 2 times before the user is presented with an error report. This should result in the user seeing fewer of these errors, though it does not necessarily make the error itself more rare. Auto-retry is MySQL's suggested error handling method in these cases.
  • Added: (case 28838) if a mysql connection gets a deadlock error (1213), the query will automatically be silently retried up to 2 times before the user is presented with an error report. Unfortunately, this will not happen on queries that are in the middle of another transaction. This is because deadlocks automatically roll back the entire transaction, requiring the operation be retried.
  • Added: query errors are now logged to the query log. Also, auto-retries and auto-reconnect operations get a special log entry for better debugging.

Location

  • Fixed: (case 28088) a possible crash when adding new locations to the location tree.

Login

  • Added: (case 28838) support for a special debugging mode in the database.

Master

  • Added: the RemoveInitSetting function now returns the last found value before deleting it. This allows a relatively common case where we take the value from an ini setting as we delete it an move it into a database setting.

Parts

  • Added: (case 23575) a checkbox to show/hide historical serial #'s that are not on hand. This checkbox remembers the user's preference.
  • Added: (case 23575) an edit the user can type into to filter the serial # list.
  • Added: (case 23575) the serial # filter list now can filter by the document # the serial was created and last used on.
  • Added: (case 23575) the parts' screen's transaction list area now has a serial # column that shows all serial(s) that were referenced on a particular document. This should make finding documents that purchased/sold a serial # easier.
  • Added: the Q&A tab now has tooltips to explain the new filters as well as the old fields.
  • Fixed: (Case 28563) hitting enter while typing into the comments field in the change log would not close the dialog. The user had to hit escape first to close the comments edit.
  • Fixed: an issue where the user could not enter fractional quantities for the quantity on hand, as well as minimum and maximum stock quantity.
  • Fixed: weight can now have a precision of 6 digits, as intended, instead of just 2.
  • Fixed: (case 25918) an issue where an assembly breakdown might distribute costs in a strange way if the user used ratios, and took several days before finalizing the WOs (and the assembly had cost added to it).

Purchase Orders

  • Changed: (case 27772) recent updates removed the 'send electronic PO' system from PO saving. This has been added back in, but instead into the advanced option dropdown. This will transmit the last saved version of the PO.
  • Fixed: the prompt to save message on the PO screen now match other screens' prompt to save.
  • Added: the "send electronic PO" options in the advanced button now prompt the user to save the PO first.
  • Fixed: (case 27979) adding a serial # to a PO or TO will now try not to set the 'used on document' field on that serial # if that serial has already been sold.
  • Fixed: apparently transfer orders using order requests have not been working correctly since 2007. They were being saved, but not loaded. This may have disrupted multi-branch purchase orders, as a central PO supplied stock to transfer order to other stores.
  • Fixed: on POs, if a user was hot ordering lineitems for an item in inventory where the tagnumber, manufacturer, or model had changed would not group those rows together when ordering. Now, the current tagnumber, manufacturer, and model are used.
  • Added: (case 27751) double-clicking the 'open order requests' icon on an item now opens the fulfilling document if there is at least one open request with at least one fulfilling document. Otherwise, it opens the edit order requests dialog.
  • Added: (case 26026) support for several new purchase order fields, including the id of the customer address that is the destination of the PO and the id of the vendor address that is the source.
  • Changed: many tooltips have been updated to be more accurate and concise, and controls that were missing tooltips have had them added.
  • Changed: the UI for the PO header has been reworked to make data entry faster, clearer, and easier to read. In addition, the screen now follows the format of other screens more closely.
  • Fixed: (case 26025) an issue where drop-ship POs would not show the destination store of the PO or allow the user to choose it. This was causing issues where it would always assume the PO was going to the logged in user's store. Since drop-ship POs' inventory is still received into the destination store's inventory (so it can be sold to the customer), choosing the store is important.
  • Changed: the user can no longer change the destination store of a PO after it has been saved or a PO # has been generated. This is to get rid of situations where a PO at store 3 will have a destination of store 2, undermining the meaning of the 'owning' store of the document.
  • Added: more keyboard shortcuts for jumping around the screen. Also fixed situations where using a hotkey might take the user to the wrong control.
  • Changed: background color of the address boxes has been changed to look more like other read-only fields.
  • Added: the exact vendor address and customer address (for drop-ship POs) that the user selects will be remembered when the PO gets saved/loaded. This will now work even if the address gets updated on the PO or the customer/vendor screens. Previously a modified address would always show "Saved address" in the dropdown, keeping the user from knowing which vendor/customer address had been chosen.
  • Fixed: customer billing address is now always available as a choice for destination address for drop-ship POs. Previously only shipping addresses were available.
  • Changed: the transfer orders page has been re-arranged to work and look similar to the PO tab with tab order.
  • Added: tool-tips to all controls on transfer orders, and better keyboard navigation on TOs.
  • Fixed: the chosen vendor order address is now properly remembered when the user saves the PO, same as the shipping address.
  • Changed: the TO # field is now grey like other read-only fields. And it displays a bold #, and "New" for an unsaved transfer order.

QuickBooks

  • Fixed: (case 26025) an issue where a query error would appear when attempting to mark gl entries as exported.

Report Viewer

  • Fixed: a possible crash that could occur when previewing a report if some very rare memory issues happened.

Reports

Billing Statement

  • Added: (case 27926) when the report is run for a single store and the customer has a balance at other stores, a message is displayed at the bottom of the report.
  • Changed: (case 27655) swapped vertical positions of customer companies and names
  • Changed: (case 27932) report now uses the return address, remittance address, and logo from the store running the billing ({?storeid} parameter) unless it is billing centrally, in which case it uses a new setting to determine return store - default 1. Previously, it used customer default store/store 1.
  • Fixed: (case 30901) cleared report links causing omissions for customers where default store was not store 1 when running central billing for multiple stores.

Customer Address Label

  • Changed: (case 27655) swapped vertical positions of customer companies and names

Customer Address Label 5160

  • Changed: (case 27655) swapped vertical positions of customer companies and names

Delivery Picking List By Document

  • Changed: (case 27655) swapped vertical positions of customer companies and names

External Work Order

  • Changed: (case 27655) swapped vertical positions of customer companies and names

GL Activity

  • Fixed: (case 28467) finished replacing the deprecated field.
  • Changed: (case 28477) payment store displays and is filterable

GL Entries By GL Account

  • Changed: (case 28477) payment store displays and is filterable

Outstanding Cores

  • Changed: (case 27655) swapped vertical positions of customer companies and names

Packing Slip

  • Changed: (case 27655) swapped vertical positions of customer companies and names

Payment Receipt

  • Changed: (case 27655) swapped vertical positions of customer companies and names

Pick List

  • Changed: (case 27655) swapped vertical positions of customer companies and names
  • Fixed: (case 28604) Misc line items are no longer excluded. Store column will be blank for Misc items.

Purchase Order Posting Report

  • Fixed: (case 28520) subreport links
  • Fixed: (case 28520) number formatting for storeid and purchaseorderid

Purchase Orders

  • Added: (case 27542) user parameter
  • Changed: (case 27542) column references to prepare for upcoming changes, tidied the report

Receiving Label

  • Fixed: (case 28409) Model always referencing vehicle model, instead of part model where appropriate.

Sales By Customer Default Store

  • Added: (case 27969) a new report that shows sales by customer default store. It can be filtered by customers with no default store.

Sales Order 11in

  • Fixed: (case 27935) changed partnumber displayed to show lookup instead of (tagnumber, unless there is no tagnumber, then lookup)
  • Changed: (case 27655) swapped vertical positions of customer companies and names

Teardown

  • Fixed: (case 27622) flex field formatting to use underlined spaces instead of underscores due to linebreaking when the report was sent to a printer

Transfer Order

  • Fixed: (case 28594) barcode formatting.

Unreceived Purchases

  • Changed: (case 27542) major report layout overhaul, improved organization
  • Added: (case 27542) vendor and user parameters
  • Removed: (case 27542) the / between Ordered and Received columns

Sales Orders

  • Added: (case 27751) double-clicking the 'open order requests' icon on an item now opens the fulfilling document if there is at least one open request with at least one fulfilling document. Otherwise, it opens the edit order requests dialog.
  • Changed: (case 27751) double-clicking a fulfillment line in the order request popup dialog now opens the fulfilling document on that screen and closes the popup.
  • Fixed: an issue where using a hotkey (alt + the letter underlined in a label) for the 'boxes' at the top of the screen would not take the user to the correct control.
  • Fixed: (case 28544) an issue where serial #'s at virtual locations counted as being at non-sellable locations.
  • Changed: the reopen and void operations on a SO now use a shared database procedure called psalesorderundo. This should standardize code between ITrack and other scripts that perform this task.
  • Changed: voiding a SO no longer lets the user choose whether they'd like to not undo changes to inventory or document adjustments, as these are required parts of the document.
  • Added: double-clicking the insufficient available/on-hand quantity icon now asks the user if they'd like to back order quantity or create an order request instead of assuming back order.
  • Added: (case 14034) performing a search including an interchange number and a sub-interchange number now orders the results by whether they are an exact match or not. Exact matches are at the top, and are shown with a small icon next to the interchange # to make this clear.

Updater

  • Fixed: (case 28086) an issue where a query that was missing a close parentheses ")" could keep subsequent queries from being parsed correctly, even though it had a semicolon.
  • Fixed: an issue where an open, unclosed parenthesis might disrupt the rest of the parse if it was in a function definition.
  • Added: in debug mode, Master will now write all script files to the updates directory. In addition, the intermediate query string is written to ComprehensiveUpdate.sql and the parsed query list is written to UpdateQueryList.sql

Vehicles

  • Fixed: an issue where saving a vehicle might throw an error if certain values were longer than the database allowed.

Vendor List

  • Fixed: (case 26032) an issue where fulltext searches in boolean mode might throw MySQL errors in certain circumstances.

Warehouse Management

  • Changed: (case 28837) several database function calls have been transitioned to stored procedures to avoid database deadlocks.

Work Orders

  • Added: (case 27751) double-clicking the 'open order requests' icon on an item now opens the fulfilling document if there is at least one open request with at least one fulfilling document. Otherwise, it opens the edit order requests dialog.
  • Fixed: (case 28553) an issue with the tab order in the job dialog.
  • Fixed: (case 28906) an issue where SOs created from closing a WO would not set the customer's default terms, default salesperson, or default backorder/partial shipment preferences on the newly created invoice.
  • Fixed: the address dialog now properly shows notes as you switch addresses.
  • Added: work orders now save which customer address the user chose, even if it gets modified.
4/8/2026

Release 18.0

Notable Changes

  • The accounting screen now allows the user to specify a date, before which all documents are completely locked, and another date, before which all documents require confirmation for modification. Currently, only sales orders respect these settings, but more documents will come in the future. If a user wants to modify a restricted document, they must enter their password to confirm they understand they are modifying an out of period document (these operations are now logged). If a user wants to modify a locked document, a user with permission must enter a password for them to continue. This system will allow an administrator to come over and enter their username/password to override this lock for another user.
  • Sales Order date is now more strictly regulated, as a document's date dictates whether the document is in a restricted or locked accounting period.
  • Recreating accounting now tracks the date they were recreated as well as their effective date for easier investigations.
  • Terms now allow a dictation of due date, even if the finance charge is 0%. Sales orders that carry balance will now throw an error if the selected terms have no due date specified. Soon, this should factor into remittance dates.
  • Changed: some database options have been modified to attempt to alleviate a lot of the deadlocks users are encountering.

General

  • Performance: slight speed increases when adding rows and columns to a list control.
  • Fixed: (case 27068) an issue where changes to a dropdown in a list control could cause columns to be added or removed from a list could cause a crash.
  • Changed: (case 26939) the default line coloration in all products now use a darker, greyer, less green color instead of the previous, lighter green. This should help resolve some of the issues users are having with visual fatigue and/or issues with low-contrast for colorblind individuals.
  • Fixed: (case 27250) a freeze caused by calling GetLastVisibleItem on a CTreeCtrl in some scenarios. This only seemed to happen when deleting items from the tree ctrl when there was enough items in the tree to require scroll bars.
  • Changed: double-clicking a column header resizes the column to minimum width including data and the header name now.
  • Fixed: resizing a column that contained icons but had right-aligned text was incorrectly making the desired column width very large.
  • Fixed: an issue where setting focus into an ITListCtrl after hitting a search button or tabbing in would scroll to the right side of the item instead of the left.
  • Fixed: (case 27649) an issue where non-locked tree controls would not draw correctly after the user expanded or collapsed an item.

Accounting

  • Added: (case 22959) there is now an accounting settings page, which is permission controlled, that contains several important accounting settings, including whether accounting is enabled or not. In addition, we now have date-time pickers for configuring a date that controls accounting periods that are locked and periods that are restricted.
  • Fixed: an issue where searching for accounting detail would continue to show results from previous searches.
  • Fixed: (case 25669) the recreate accounting popup now correctly back-dates documents to document date or document date closed.
  • Fixed: if the user chose to delete old gl entries when rebuilding accounting, we now make sure to delete the entire transaction, not just part of it, as that could leave an unbalanced transaction.
  • Added: an origin type to the activity detail page.
  • Added: Added sage50 export to the activity detail tab.

AppraisalExtension

  • Fixed: a couple fringe scenarios where two appraisals run at the same time might cause strange disconnect issues.
  • Fixed: appraisal connection errors are now shown to the user if the setting "Appraisals"->"Hide All Appraisal Errors" is set to False. This setting already exists, but these errors were always being hidden. SSL is required on database connections to get appraisals, and in some scenarios, SSL errors were not being shown.

CommonResources

  • Added: (case 22293) a new 'change log page' which has all the required functionality to display entries in the audit log tables for a specified table and its child tables.
  • Changed: the change log page has a row id as well as a row description to make it easier to tell what changed.
  • Added: a new checkbox near the change log detail: "Show historical value for unmodified fields". It is checked by default, and it shows other fields for that row that were NOT modified, and the values shown are whatever the values were at that moment in time, according to the logs. All fields that were not modified are greyed out.
  • Added: colorization to updates/inserts/deletes.
  • Fixed: the from/to date pickers in the change log now correctly set the dropdown to Custom if they are changed.

Configuration

  • Fixed: (case 27588) configure->reports now correctly uploads the report file when you add a new report.

CoreManagement

  • Fixed: (case 26750) when the user prints core tags from core management, a document type is passed into the report so that we can distinguish between WO and SO items.

CrystalReports

  • Changed: as per user request, the "remember printer choice" checkbox now always defaults to unchecked. This should only have significant impact on new users, who have no previous printer selections. Said users will have to manually check 'remember printer choice'.

Customer

  • Added: option edit/add/remove are now controlled by a new "Manage customer options" permission.
  • Added: formatting to customer option list and tooltips.

Database

  • Changed: (case 26702) the fsalesordersaved function now detects if you are using a component tax method (Canadian), and triggers the proper functions if so.
  • Removed: triggers on the salesorder table no longer mess with date when the salesorder becomes finalized, as there is other screen logic that dictates this now.
  • Added: permissions for a user to override locked SOs, payment, and WOs. Documents are locked if they their date is before the lock date.
  • Added: the useraccess table now has access types for overriding locked documents as well as modifying restricted documents
  • Added: the useraccess table now has a user account id for the currently logged in user. This can be different than the other user account if an administrator performs an override for another user.
  • Changed: all the default document templates have been updated to not show inventory side if its "N/A".
  • Added: gltransaction now has a createddate as well as an effectivedate. effectivedate is the date the transaction should be exported on. These dates default to the gl entries' timeentered field.
  • Removed: glentry.timeentered, which has been superceeded by the gltransaction.effectivedate.
  • Removed: the trigger on insert of the glentry table, which is no longer necessary.
  • Changed: vmas90glentry, vglentry_document have been updated to use the new effectivedate instead of the old timeentered field. ALso, significantly simplified the date formatting functions.
  • Changed: fgetreport_printer now correctly considers the report type input argument.
  • Added: (case 11061) inventory type 5355: Air Brake Components is now standard
  • Added: (case 27167) an explicit primary key column on the inventorysourceallocation table.
  • Added: (case 27167) a foreign key constraint for inventory source allocations
  • Fixed: pbackuptable now does INSERT IGNORE to avoid primary key collisions.
  • Fixed: (case 27284) scheduled reports now allow more recipients (longer email destination field)
  • Added: (case 23355) delivery trucks can now be deactivated.
  • Changed: (case 27555) fgetsetting no longer writes the defaults to the settings tables, as some larger yards were seeing fgetsetting present in a lot of deadlocks and lock wait timeouts. There is no good reason for this function to get write locks whenever it is called, so that has been removed for speed purposes.
  • Added: (case 23149) glentry now has an origintype column which keeps track of where the gl entry came from (namely inventory/transaction credit/debit).
  • Removed: some settings that are generally never customized and we don't want to support anymore.
  • Added: (case 26378) emailbcc column to the reportmassmailtemplate and reportqueue tables.
  • Added: (case 25540) a new permission for managing customer options. This permission defaults to on for anyone who could merge customers before.

Deliveries

  • Added: (case 23355) delivery trucks can now be deactivated.
  • Changed: the run sheet tab no longer shows deactivated delivery trucks, unless they were already saved on the run sheet.

eBay

  • Fixed: (Case 26909) The eBay Auction screen now remembers what the user last selected for status.
  • Fixed: (Case 22323) Manufacturer Part Number and Brand now set values of "Unbranded" and "Does not apply". Previously, values were not set in some cases, causing listings to fail.
  • Fixed: (Case 24634) Prices are now required fields
  • Fixed: (Case 24634) Required and enabled pricing fields now change based on listing type.
  • Fixed: (Case 24634) Duration no longer selects empty values when the listing type changes and an unsupported duration was selected.
  • Fixed: (Case 27376) Export to CSV functionality re-enabled.
  • Fixed: (Case 27801) Prevented a crash that could occur when modifying global config shipping options.
  • Fixed: (Case 27801) Shipping cost is now only disabled when free shipping is checked on global config.
  • Fixed: (Case 27801) Corrected saving behavior when modifying the PayPal: Immediate Pay setting.

EDocumentExtension

  • Fixed: (case 27501) an issue where edocuments might not output correctly if they contained single or double quotes (' or ").

GlobalSettingsExtension

  • Fixed: an issue where user settings were loaded multiple times when a user logged in.
  • Fixed: (case 27056) an issue where the report printer options page showed all report types rather than report printer types.

ImageSynchronizer

  • Fixed: (case 27312) an issue where the application would crash after a successful push if the log was not set up.

InventoryOverview

  • Changed: (case 26952) the inventory overview screen now has checkboxes for whether suggested orders should include stocked inventory and/or on demand inventory (special order/obsolete). This allows the screen to accommodate users who are attempting to do only stock orders vs hot orders.
  • Changed: the fiscal year to date (FYTD) column now defaults to considering January to be the beginning of a company's fiscal year. Before, it defaulted to August.

Location

  • Changed: the configure->inventory->locations dialog should close faster now.
  • Added: a 'usage' column to the location configuration tree that shows the number of inventory records reference that location.

Login

  • Added: there is now a bolded prompt above the login button that gives the user more information about the verification/authentication process.
  • Fixed: an issue where the user could edit the username during authentication when they were not supposed to be able to.
  • Added: wait cursor as part of saving users in the configure->users popup.
  • Fixed: (case 26968) an issue where saving users in the configure->users popup was taking a really long time to save, especially for large numbers of user accounts.
  • Fixed: (case 27043) an issue where the 'first time login' popup would not let the user set their first password correctly.

MAS90Accounting

  • Added: support for SO accounting, WO accounting, and payment accounting to set the 'effective date' of the gl transaction back to the document date or the document closed date.
  • Changed: payments now get a separate GL transaction, even if they are created as part of a SO being saved or finalized. This is to separate those documents as well as making sure the entire transaction can have a single date.

PartModification

  • Changed: the controls on this screen have been rearranged to more closely match other screens. The cancel button has been removed, as it was redundant in with the close button. The various buttons have been renamed to more closely resemble their purpose.
  • Added: the configure fields dialog now has tooltips to better explain the columns, they've been rearranged and renamed to better convey their meaning.
  • Fixed: (case 12519) external fields can now be marked as searchable correctly.

Parts

  • Added: (case 26743) work order master parts on the part transaction list now shows cost as a per quantity (EA) cost instead of total.
  • Fixed: an issue where renaming/moving a location on a part would move allocations on open documents over to the new location name, but might not move the holds.
  • Fixed: an issue where the interchange options button was greyed out even when the user had permission to edit parts.
  • Fixed: the description of what fields changed at the top of the change log popup now uses more user-friendly names for fields instead of database column names.
  • Added: (case 25774) old and new values in the change log now display a more user-friendly value (IE location/manufacturer/model/part type/gl category/user name instead of id). These are not the only fields that were showing an id instead of a name, but they're the most commonly modified.

PurchaseOrders

  • Fixed: (case 26977) the PO return dialog now correctly shows the next/previous page button in scenarios where that vendor had POs that don't currently show due to being inapplicable.
  • Fixed: (case 27078) an issue where standard parts and vehicles did not allow adjustments if the inventory was not on hand. However, it is possible and desirable to add adjustments to vehicles before they have been received.
  • Fixed: an issue where the user could not delete a PO line if there were unsaved adjustments on it (the user was incorrectly notified that the line had saved adjustments).
  • Changed: (case 27772) recent updates removed the 'send electronic PO' system from PO saving. This has been added back in, but instead into the advanced option dropdown. This will transmit the last saved version of the PO.
  • Fixed: the prompt to save message on the PO screen now match other screens' prompt to save.
  • Added: the "send electronic PO" options in the advanced button now prompt the user to save the PO first.

Reports

Aging

  • Changed: (case 26860) report efficiency and query organization, tidied the report
  • Added: (case 26860) new sort options, a default salesperson parameter, and summation totals when appropriate
  • Fixed: (case 26860) customers with balances in the specified interval were being filtered out if they had no total balance and unallocated payment distribution when filtering the report by document store

Billing Statement

  • Added: (case 26598) the ability for the Billing report to print an inactive customer if that customer is specified by the customerid parameter. The report will indicate the account is deactivated in this case.
  • Fixed: (case 26302) updated how unallocated payments and considered when filtering by store. Previously, unallocated payments would show for every store the report was run for. Also changed how payments were filtering by store in the Activity subreport.
  • Added: (case 26302) Unapplied Payments to the tearoff at the bottom, when applicable. Supresses if 0.00.

Core Tag

  • Added: (case 26750) a new parameter that accepts document type when the report is printed from the Core Management screen, allowing Work Order Cores to print core tags with job barcodes

Delivery Picking List By Document

  • Added: (case 26466) a new report to print from the Deliveries screen, prints selected parts but grouped by document onto separate pick lists.

GL Activity

  • Changed: (case 27032) references to glentry.dateentered to gltransaction.effectivedate. This is a change to GL accounting, and this report is changing to match.

Inventory By Default Vendor

  • Added: (case 27012) a setting that hides remaining non-inventory vehicle costs.

Inventory Detail By Part Type

  • Added: (case 27012) a setting that hides remaining non-inventory vehicle costs.

Inventory Summary

  • Added: (case 27012) a setting that hides remaining non-inventory vehicle costs.

Label 5160

  • Fixed: (case 27679) When year = 0, it was printing as '-', so I added a year formatter

Labor Detail By Employee

  • Removed: (case 26871) deprecated the report

Location Label 5160

  • Fixed: (case 27679) dynamic font resizing in the barcode was based on location name, even though the barcode contains locationid. I removed it. It will now always print size 24.

Outstanding Cores

  • Added: (case 26537) make/manufacturer & model, which can be disabled with a setting.
  • Added: (case 26537) a new setting to dictate whether the report uses remittance address as the return address or actual store address.

Sales By Sales Region

  • Fixed: (case 26626) salesperson grouping to actual sales region grouping using the region table

Salesperson Profit Analysis

  • Fixed: (case 26689) store/salesperson grouping issue in the query
  • Fixed: (case 26689) adjustments
  • Changed: (case 26689) tidied the report

Teardown

  • Added: (case 26746) special behavior for printing from the Bid Screen and any other scenario where breakdowntemplateid = -1. When there is no associated template, only existing associated parts will be included and a new page header will state that this is not a template.

Top Customers

  • Added: (case 26501) an on-demand subreport showing customer invoice details.

Vehicle Costs In A Date Range

  • Added: (case 24342) a new supplemental report that shows itemized vehicle costs by document and vehicle in a date range

ReportViewer

  • Fixed: (case 27079) an issue where the mass mailer screen might throw a query error during 'find recipients' if any of the parameters were dates.
  • Fixed: when mass-mailing reports, the email address can now be edited to values that were not found in the system previously (new emails).
  • Added: (case 26378) BCC field to the mass-mailing system.
  • Fixed: an issue where reviewing the report queue would not show the value that was sent as part of the print operation.
  • Changed: report parameters in the report queue now use the 'user visible name' for the parameters, like other screens (where possible).
  • Added: (case 26378) the mass-mailing page now shows a progress dialog during the mass-print/email operation that shows the user how far along the process is, and gives a cancel button.

SalesOrders

  • Changed: the 'date' of an invoice is now set to the current date when you click the 'finalize' checkbox instead of waiting until save. Also, a SO that has been finalized, then reopened should leave its date to the original finalization date on subsequent finalizations. This also allows a user with permission to change salesorder dates to change the date of a SO as it is being finalized.
  • Fixed: saving an unfinalized SO no longer sets a finalization date/expiration date on documents that this does not apply to.
  • Changed: the invalid gl category/context combo info popup now shows line item lookup if the part number is empty.
  • Added: (case 22959) during save, if the user is finalizing, reopening, or voiding the document and the document affects a previous period that is either locked or restricted, we will pop up a sign-in dialog. The user must either confirm they understand the impact this change will have (restricted documents only) or the user/an administrator with permission must authorize it (locked documents only).
  • Fixed: (case 27028) an issue where saving a SO could lock up the system if a single payment had more than one payment line (payment application on the customer screen) applied to that same SO. Now, the save operation correctly combines those payment lines into a single one.
  • Fixed: (case 26977) ensuring the SO return dialog correctly shows the next/previous page in all scenarios.
  • Changed: (case 25422) the user can now specify a grace period or due date, even if the finance rate is 0%.
  • Added: if the user specifies a non-zero finance rate, the user will now get an error if no due date or grace period is filled out.
  • Added: (case 25422) if the user attempts to finalize a SO, they will get an error if the document has a credit balance and the selected terms have no 'due date' filled out (no due date/grace period specified). This is because one of those fields will be required for computing invoice remittance date on the credit balance.
  • Changed: (case 26335) serials at locations that are non-sellable are now grayed out on sales and cannot be selected. Also, serials at non-sellable locations are ignored when automatically selecting a serial #.
  • Changed: (case 21264) the 'quantity available' on the locations popup when selling items now shows "N/A" if the location is not sellable. this will hopefully make things less confusing for users.
  • Added: (case 26171) the return dialog now shows serial # on historical SO lines.
  • Added: the configure sales order documents dialog now uses a shared configuration dialog. This shouldn't affect the end user.
  • Changed: all the columns in the configure sales order documents dialog now resize so that the user can see the full column widths.
  • Changed: a standard or misc part no longer uses the dark green (over max quantity) or dark yellow (under min quantity) because only replenishable parts make sense for those colors.

TransactionList

  • Fixed: (case 27377) an issue where sometimes fields and filters would not correctly add the required JOINs to the query, causing database errors.

Vehicles

  • Fixed: (case 27084) an issue where various columns were not formatting correctly on bids/teardowns.
  • Fixed: (case 27084) bid/teardown totals were not correctly recalculating when fields were being modified.

WorkOrders

  • Fixed: (case 26741) an issue where saving an external WO, getting an error, but then saving again could result in a WO that, when loaded would throw an error about being unable to load an address.
  • Fixed: (case 26998) an issue where reopening WOs at a single store might throw an error if WOs at other stores with the same WO # had sold master parts.
  • Changed: if a WO is finalized and sent to a new invoice, the invoice date now defaults to today (normal invoice behavior) instead of the date of the WO. This prevents invoicing of WOs from creating sales history in closed invoicing periods.
  • Added: (case 25429) a new top-level menu Configure->Documents->Work Order Types. This allows viewing, adding, editing, and deleting work order types.
  • Changed: (case 25429) the configure WO types button has been removed, though the user can still right click on the WO type dropdown to view details about the current document type.
4/8/2026

Release 17.0

Highlights

  • Inventory Overview: General improvements to make reordering easier. Namely, more accurate totals, as well as including special orders that need to be purchased.
  • Accounting: changing purchase order adjustments when quantity on hand is 0 or work orders that have a 0 quantity for a master part now show warnings/errors to the user because cost changes cannot be absorbed if quantity on hand is 0.
  • Purchase Orders: added the ability to quickly set a single location for receiving everything on a PO posting. This facilitates recieving a PO into a specific staging location or shelf.
  • Login: user passwords now use a different, higher-security encryption. The next time a user changes their password, it will be written in the new mode. Every user login attempt is also logged for monitoring for unathorized access. There is also now a password recovery button if the user forgets their password and they have a recovery email on their account.
  • Billing: the report viewer now has a mass-mailing page where certain reports (including billing) can be run en-masse for all customers, and can directly email billing or other reports to customers' email addresses.
  • Lists: default coloring in lists now makes readonly cells look more like other readonly controls. Also, alternating line colors alternate between a greyish green and white instead of grey and white. This is more like ledger paper and makes white/black/grey text easier to read.
  • Sales Orders: whether inherent cores and/or dirty core exchanges are taxable is now based on the selected tax item.
  • Documents: Templates for part descriptions on documents can now be modified with a setting.

General

  • Fixed: an issue where sometimes list control cell tooltips for particularly large sets of data would show trash data at the end and/or take a long time to appear.
  • Added: lists that allow the user to hide columns now remember which columns were hidden when the screen is reopened.
  • Fixed: (case 25625) the user can no longer put characters into attachment filenames that windows does not allow in filenames "/ \ * : < > | ?"
  • Fixed: (case 25625) if you double-click on an attachment that happens to have invalid characters in it, those characters are replaced with an underscore so that the file can be viewed.
  • Fixed: (case 25930) an issue where typing into auto-complete dropdowns might not select the right items if the user found an item using the middle of a word or a different case.
  • Changed: readonly list control cells now default to having a grey background with black text instead of grey text on white background.
  • Changed: default color alternation in lists now alternates between a greyish green and white instead of grey and white. This will make black/white/grey text easier to ready against the cell background, and makes readonly cells easier to identify (grey background).
  • Added: support for ctrl + A to select all text in a multi-line edit, which is (apparently) disabled in windows.
  • Fixed: (case 26631) exporting a list to CSV now correctly escapes quotes with another set of quotes instead of a backslash.

Accounting

  • Fixed: (case 25654) the accounting rebuild functionality on the accounting screen had sort of fallen into disrepair. It now seems to work correctly again.

Core Management

  • Fixed: (case 26631) exporting a customer core list to CSV now correctly escapes quotes with another set of quotes instead of a backslash.

CrystalReportsExtension

  • Fixed: (case 25757) an issue where reports whose type is different than its printer type would cause the user to have to choose a printer every time they printed, despite checking 'remember selection'.
  • Added: support for passing title, email body, email from address, attachment name, and notes from a print request to the report queue table.
  • Added: support for printing in 'silent mode', where no popups are shown to the user (no report or printer disambiguation popups). This is used for the new mass-printing feature.

Customer

  • Added: (case 25425) the customer screen now allows a user to explicitly choose no default invoice terms. The screen still warns the user if no terms are selected though.
  • Changed: the email address for the customer billing address has been moved to the billing address area to make it more clear that it goes with customer billing.
  • Added: last bill date and preferred bill delivery method. The first tracks the last time the customer has been sent a bill through the new mail merge tool. The second controls whether a customer wishes to get bills emailed, printed, or both. If an email address is entered, this will default to EMail.
  • Changed: the unapplied payments list on the customer screen now shows payments that are applied to voided invoices, which are considered unapplied in billing and other calculations. This should make the customer screen agree with other AR sections of ITrack.

Database

  • Added: (case 24889) 3 new permissions that control whether the user can access the 3 pages on the manage warehouse screen.
  • Added: (case 21162) entries to inventorysetting for the dimensions of the inventory record (length, width, height).
  • Added: (case 25530) purchaseorderhistory.receivinglocation, which is a per-posting location to receive all quantity into on that posting.
  • Added: (case 25695) inventoryserialhistory.documentpostingid, which tracks which PO posting a serial was received on, if any. This has been retroactively set to the first posting on any particular historical PO.
  • Fixed: (case 25729) a bug where hold quantities at locations were not being calculated correctly for documents that didn't affect inventory.
  • Added: transaction list filter and display fields for Vehicle Received Date.
  • Changed: the user table has been renamed to useraccount, and the old table has been replaced with a view for backwards compatibility.
  • Added: the new useraccount table now supports the newer password format of PBKDF2. This is to add security to the system, also because the mysql PASSWORD function is being deprecated in the future.
  • Added: support for logging every user login attempt (successful or failed) along with timestamp and the reason for failure. This also adds support for logging attempts to override permissions. This will be used soon for overriding permissions on documents that are in locked periods.
  • Added: table userpasswordhistory, which tracks all user password changes. This will be used in the future for implementing password change restrictions and password age requirements.
  • Changed: most remaining myisam tables have now been converted to innodb to help avoid remaining deadlocks. Users should not experience many changes from this engine switch, as most high-traffic tables were converted awhile ago.
  • Added: (case 25384) emailed scheduled reports can now have an overridden email body, 'from' address (for email replies going back to specific address), and attachment name (for naming the report pdf attachment).
  • Fixed: a documentsearchfield with the wrong fieldtype, causing it propagate in searches when it wasn't asked for.
  • Removed: (case 26202) several fields from the purchaseorderlinehistory table that are no longer used.
  • Added: (case 25389) the right-click graphing template has been updated to facilitate line types.
  • Fixed: (case 25864) an issue where quotes/hold orders that expired overnight would recalculate holds at inventory locations, but not on the inventory record itself, which could cause the search screen to show the item as still on hold.
  • Added: Transaction List fields for Inventory Ext. Avg. Cost and Inventory Ext. Retail
  • Added: (case 26152) new table: reportmassmailtemplate, which stores various fields about performing mass-mail operations on reports.
  • Added: the report table now has a key to the reportmassmailtemplate table, so that many reports can use the same mass-mail template.
  • Added: reportparameter now has fields for mass mail features.
  • Added: customer now has fields for last bill date and preferred bill delivery method.
  • Changed: customer account limit has the same precision of other financial numbers now.
  • Added: (case 23573) there are now taxitem fields for taxing inherent cores as well as taxing dirty core exchanges.
  • Added: (Case 26447) Make salesorder.purchaseordernumber a text field in the transactionlist.
  • Added: (Case 26446) Add inventorylocation field to dispaly to Transaction List.
  • Removed: the ability for customers to have messages as part of being sent to interbranch transfers, as that is not currently possible.
  • Added: (case 26479) the billing report now has a mass mailing template that shows the same recipients that the standard billing report would print out. In addition, it shows columns that are useful in considering the billing reports to be sent out, based on the input dates.
  • Added: (case 26479) there is now a mass mailing template for the outstanding core report. This allows the user to print/email a report to all customers that have outstanding cores.
  • Fixed: fcustomeraging now correctly considers payments on open documents as applied (rather than unapplied payments). This allows the balance figures on the customer screen to match the billing report printouts.

Deliveries

  • Fixed: (case 26631) exporting the picking list to CSV now correctly escapes quotes with another set of quotes instead of a backslash.

EbayExtension

  • Added (Case 15869): Added a user permission for cancelling ebay auctions.
  • Fixed: (Case 25462) ATV categories are now selected for in ebay when the motorcycle radio is selected.
  • Fixed: invoiceId is now set appropriately to 0 when it's pulled in.
  • Fixed: (Case 25307) Ebay image URLs will now be exported as https instead of http.
  • Added: (Case 25522) Implemented Or Best Offer listings.
  • Fixed: PayPal Immediate Pay now sets the api flags correctly.

EDocuments

  • Added: support for new functions in the EDocument language, including IF, IFEMPTY, CONCAT, REMOVE (see the wiki page for description/syntax)
  • Fixed: an issue where text before and after a function call might throw off a subfunction's invokation.
  • Fixed: an issue where function arguments of ' ' or " " were not working. This was breaking some uses of the TRIM function.
  • Fixed: an issue where the last part of an argument might be lost if it did not end in whitespace.
  • Fixed: a couple issues where we'd sometimes replace only half of a function name.
  • Fixed: an issue where multiple pieces of whitespace in function arguments might throw off argument order in functions.

GlobalSettingsExtension

  • Added: the setting value and default are now multi-line edits. This makes editing large, complex settings easier.
  • Added: support for opening customers from the mass mail area.
  • Fixed: changing street address in the configure->Stores dialog now properly copies to the remittance area if the auto-copy checkbox is checked.

Graphing

  • Updated: the current graph template.js has been updated with Zach's current template.

Inventory Overview

  • Added: (case 458) the inventory list now has a weight column.
  • Added: (case 458) a totals footer to the inventory list, which shows grand totals regarding the currently loaded information. This includes total order quantity, total current order weight, and total current order cost.
  • Fixed: the vendor list now correctly shows special order items in the projected order totals. Also, renamed some of the totals columns to be more explicit in their purpose.
  • Added: if the user reloads information, the currently selected vendor and inventory item will be properly reselected.
  • Fixed: the currently selected inventory filter now affects the suggested order totals in the vendor list.
  • Added: (case 13598) support for a part type # and part type name column to the inventory list.
  • Added: if the user hides a column in the inventory worksheet, the system remembers that when they close the screen. This makes it so that the user can filter their list down to just the columns they care about.
  • Fixed: (case 25634) the inventory overview screen now once again correctly loads whether the user wants to search any particular store.
  • Fixed: (case 26631) exporting the inventory list to CSV now correctly escapes quotes with another set of quotes instead of a backslash.
  • Changed: (case 26952) the inventory overview screen now has checkboxes for whether suggested orders should include stocked inventory and/or on demand inventory (special order/obsolete). This allows the screen to accommodate users who are attempting to do only stock orders vs hot orders.

ITSQLFramework

  • Added: query results now supply calling queries with the 'data type' of each result column.
  • Changed: (case 26631) exporting a query result to CSV now correctly escapes quotes with another set of quotes.

Login

  • Added: transaction support to saving user modifications.
  • Added: when the user successfully or unsuccessfully logs in, a row is logged with the access attempt.
  • Added: support for newer, higher security passwords as well as setting a password recovery email, which is used in password recovery attempts.
  • Added: forgot password button to the login dialog.
  • Added: newly created users are now in a special state where that user is prompted to enter a first password and recovery email in the first login. This way, administrators do not need to set new user passwords.
  • Added: current status of users to the configure->users dialog.
  • Added: information about why a user is locked/deactivated. This information is shown to the user if they attempt to login while the account is locked or deactivated.
  • Fixed: an issue where checking and unchecking the "Hide inactive/locked accounts" might cause the user list to look strangely.
  • Added: icon to the send recovery code button.
  • Fixed: an admin can now properly set another user's password if the security settings allow it.
  • Added: if the user performs the password recovery process and sends an email, we now attempt to use a command line emailer to send off the message if the database emailer is not present.
  • Added: wait cursor as part of saving users in the configure->users popup.
  • Fixed: (case 26968) an issue where saving users in the configure->users popup was taking a really long time to save, especially for large numbers of user accounts.

Locations

  • Fixed: a minor issue where copying locations might not give them unique names in some situations.

Part Configuration

  • Fixed: a crash when closing this screen.

Parts

  • Added: (case 21162) shipping length/width/height fields on the part info page.
  • Changed: the weight on part info no longer allows negative values. Also, the weight can now go up to 6 digits of precision.
  • Fixed: (case 25717) an issue where cost ratio values were not properly loading from the assembly breakdown template onto the breakdown.

Purchase Orders

  • Added: (case 1439) purchase orders and transfer order lines now look at a store setting for what the default lineitem description should be.
  • Removed: (case 25381) the 'send' checkbox and the transmission method dropdown has been removed, as the electronic submission system is not used and the fax solution can be performed through advanced print operations.
  • Added: (case 6509) there is now an attention icon displayed on any items where there are new or modified adjustments but quantity on hand of the part will be 0. This is because there will be no stock to absorb the cost change.
  • Changed: all the warning/error message boxes when saving a PO now have more descriptive button text.
  • Added: (case 25530) support for a per-posting 'receiving location' that overrides the default receiving location for all inventory received on the current posting. If this gets used, all subsequent postings will DEFAULT to the same location, but it can be changed.
  • Removed: the old right-click 'set mass receiving location' function as it has been superseded by the new receiving location override.
  • Changed: (case 25695) received serials now remember which posting they were received on. The user cannot remove/modify any serials received on other postings. The location column now correctly shows only the locations of serials received on that particular posting.
  • Fixed: (case 25695) a low-impact bug where serialized items, received on multiple postings, into different locations, would cause the locations on the inventory record to not match the location of the serials. This would get correct on the next time a part was saved.
  • Changed: new serial #'s created on a PO now do not get a location until after the serials are marked as received so that the locations match the location specified on the posting it was received on.
  • Changed: (case 26005) when an 'empty' PO is created to reserve a PO #, it is no longer initially void. This factors into the next item.
  • Changed: (case 26005) if the user closes the PO screen when an empty PO is loaded, instead of automatically deleting that PO, the user is now asked whether they wish to delete that PO or leave it open.
  • Added: clicking on the PO # box now has a 'Release PO#' option which will delete a PO if its empty (no lines, no adjustments, no postings, no vendor). This allows the user to explicitly remove POs they reserved but do not want anymore.
  • Changed: POs now allow loading kits by default (the setting that is checked used to be off by default). Loading a kit just quickly loads all child items on the PO.
  • Changed: (case 18101) loading a part template now adds both the master item and its children to a PO or TO.
  • Fixed: an issue where transfer orders might not load a kit or template correctly if no source store was selected.
  • Fixed: (case 27078) an issue where standard parts and vehicles did not allow adjustments if the inventory was not on hand. However, it is possible and desirable to add adjustments to vehicles before they have been received.
  • Fixed: an issue where the user could not delete a PO line if there were unsaved adjustments on it (the user was incorrectly notified that the line had saved adjustments).

QuickBooks

  • Added: (case 24123) there is now an account name in the exported gl entries list.

Reports

Billing Statement

  • Fixed: (case 25913) customers with credit balances due to UnappliedPayments being excluded
  • Added: (case 25913) a setting to include/exclude customers with credit balance, include by default
  • Added: (case 25953) Customer company and name below the tearoff at the bottom
  • Changed: (case 25953) moved billing memo above the tearoff at the bottom
  • Changed: (case 23756) how the logo is retrieved for improved performance

Customer Address Label

  • Added: (case 25961) a new setting to show/hide customerid

Customer Address Label 5160

  • Added: (case 25961) a new setting to show/hide customerid

External Work Order

  • Added: (case 24596) a new setting that determines how the job worker names are formatted. By default, it shows firstname, but you can also select lastname, firstname and lastname, or username.
  • Added: (case 25546) additional rules for when labor detail rows can show

GL Entries By GL Account

  • Added: (case 23700) a setting to allow first X digits of the account number grouping to the GL Account summary level. 0 by default, which hides the extra group.

Inventory By Location

  • Changed: (case 21511) tidied and improved the report, standardized the location parameter to use wildcards like similar report parameters in other reports do
  • Added: (case 21511) part type column and parameter

Label 5160

  • Added: (case 25961) a new inventory label that prints on Avery 5160 labels

Location Label 5160

  • Added: (case 25961) a new location label report that prints on Avery 5160 labels

Outstanding Cores

  • Added: (case 26136) a new report that prints out summaries of outstanding cores by customer and customer address. There are several related settings for customization.
  • Changed: (case 26136) made title text bigger on one of the header option
  • Changed: (case 26136) filtered by price so 0.00 charge cores are not included
  • Added: (case 26136) a new setting that limits which inventorytypeids are included. 0 (all) by default.
  • Added: (case 26136) inventorytypeidlist include setting (and hidden parameter)
  • Added: (case 26136) wildcard supported lookup filter

Purchase Order Receiving List

  • Added: (case 24683) a store level setting to hide lines that have zero expected quantity, default false

Return Labels 5160

  • Added: (case 25961) a new report that prints return address labels on Avery labels

Sales By GL Category

  • Added: (case 25156) two new parameters, gl category and gl department

Sales By Sales Region

  • Fixed: (case 25233) changed report to report on Sales By Sales Region, as the name indicates, instead of Default Salesperson, which it was actually doing

Sales By Store Region

  • Fixed: (case 25233) changed report to report on Sales By Store Region, as the name indicates, instead of Default Store, which it was actually doing
  • Fixed: (case 26323) Store Regions now reference regions instead of stores.

Sales Order 11in

  • Added: (case 24596) a new setting that determines how the salesperson, counterperson, and job worker names - if applicable - are formatted. By default, it shows firstname, but you can also select lastname, firstname and lastname, or username.
  • Fixed: (case 24596) job parts will use lookup if it is supposed to use description but description is blank
  • Changed: (case 25546) tidied job lines
  • Added: (case 25546) additional rules for when labor detail rows can show
  • Added: (case 26543) ability to handle multiple tax lines

Tag

  • Added: (case 26166) SKU below the tearoff, hidden by default, shows based on a setting.

Teardown

  • Added: (case 24720) existing inventory records attached to the vehicle.

Transfer Order

  • Fixed: (case 26345) margins

Vehicle Spec Sheet

  • Fixed: (case 26342) an issue where ?'s in typedata or typelabel fields for the vehicle whole unit would cause an error

Report Viewer

  • Added: (case 26152) a new "Mass-Mail" page. This page allows the user to select certain reports to email or print for various recipients. This is similar to mail merge tools. The first application for this tool is sending billing to customers either through email or print. More reports will be added to this area in the future. If you'd like to see a report added to the mail merge area, let us know.
  • Fixed: an issue where hidden report parameters that pass 'id' into the report were not loading the default parameter id correctly.

Sales Orders

  • Added: (case 25425) the terms dropdown now allows a user to explicitly choose no terms (empty entry). The screen warns the user if they're saving a SO that affects inventory and no terms are selected.
  • Added: (case 1439) sales order lines now look at a store setting for what the default lineitem description should be.
  • Changed: the edit item dialog now has a larger space for the serial # list, and it remembers column order and width.
  • Added: (case 25891) all sales order save operations are now performed inside of a single database transaction. This should fix issues where a salesorder is partially finalized but not completely (such as accounting failed or inventory wasn't adjusted).
  • Changed: the 'post save' sales order function (fsalesordersaved) is now performed BEFORE salesorder accounting so that things could happen during that operation that affect accounting.
  • Added: (case 18101) loading a part template now adds both the master item and its children to the document.
  • Fixed: (case 25930) a bug where finding an adjustment type by typing into the adjustment type dropdown might not correctly check the 'taxable' and 'subtotal adjustment' checkboxes.
  • Changed: (case 25930) the user can no longer manually adjust the 'subtotal adjustment' checkbox on adjustments on a SO.
  • Fixed: an issue where the shipping method dropdown on SOs was not in the correct order.
  • Added: (case 23573) configure->Tax Items popup now allows the user to specify (per taxitem) whether inherent cores will be taxable and/or dirty core exchanges will be taxable.
  • Changed: the configure->Document->Tax Items popup has been redone to be easier to manage. This dialog now allows the user add/edit/delete tax items without going into another popup. This dialog now closer follows the configure->terms and configure->shipping methods dialogs.
  • Changed: configure->Document->Terms now remembers whether fields should be blank (instead of 0). Also, which fields are readonly is based on what fields are filled out to make it easier to manage.
  • Fixed: a minor issue where the first 'empty row' in the list after loading a document would allow the user to change the taxable and hold checkboxes, but not subsequent empty rows.
  • Added: inherent core lines and dirty core exchanges now default their taxable checkbox based on the currently selected tax item. In addition, changing tax items automatically checks or unchecks the taxable checkbox for all inherent and dirty cores based on the newly selected tax item.
  • Fixed: dirty core exchanges no longer highlight the manufacturer lookup.
  • Fixed: (case 26548) an issue where customer messages set to "On Customer Added to Invoice" would not display on the invoice (though ones that were "Display Everywhere" were working correctly).
  • Added: (case 25532) a button on part search to search cores on HeavyTruckParts.net

Transaction List

  • Fixed: the result list now correctly lets the user save and re-run saved graph templates.
  • Fixed: (case 26631) exporting the results to CSV now correctly escapes quotes with another set of quotes instead of a backslash.

Vehicles

  • Fixed: an issue where the break even graph would be blank when loading a vehicle from search and the screen was closed.
  • Fixed: (case 25917) an issue where using the default location for a new vehicle would not correctly save the location id in the database.

Vendor

  • Removed: (case 25381) the default PO transmission method dropdown has been removed since the PO screen doesn't have a transmission method dropdown anymore.

Warehouse Management

  • Added: (case 24889) 3 new permissions that control whether the user can access (and what stores appear in the dropdowns of) the 3 pages on the manage warehouse screen.

Work Orders

  • Added: (case 1439) work order lines now look at a store setting for what the default lineitem description should be.
  • Added: (case 6509) there is now an attention icon if the master part creates 0 quantity (repair/rebuild order) and the item has no quantity on hand. This is because inventory with 0 QoH cannot absorb changes to cost. This causes a warning on save and error on finalization.
  • Fixed: (case 25793) an issue where loading a master part that was serialized at one store but not at another might not load the serials correctly.
  • Fixed: an issue where, if the user edited a non-serialized master part and hit cancel, an incorrect 'no serial chosen' icon would be displayed.
  • Changed: when the user added a serialized master part, the user could not edit the serial # immediately. The user had to hit ok then edit serials later.
  • Fixed: (case 25948) job parts now always get a gl context set, even if accounting is turned off.
  • Fixed: (case 25816) is issue where launching the choose serial # dialog from the edit item dialog would cause an application crash.
  • Added: (case 18101) loading a part template now adds both the master item and its children to the document.
  • Fixed: a bug where kits and templates would never load their collection components onto the job part list. Now, kits simply load their component items onto the document (similar to POs and TOs). Templates load the parent item and all component items (similar to SOs, POs, and TOs).
  • Changed: the tax checkbox on inherent core charges and dirty core exchanges is now based on the currently selected tax item, similar to the SO screen.
4/8/2026

Release 16.2

Sales Orders (18786)

  • Fixed: (case 26548) an issue where customer messages set to "On Customer Added to Invoice" would not display on the invoice (though ones that were "Display Everywhere" were working correctly).

Release 16.1

EBay (17570)

  • Corrected issues with holds and invoices for ebay records.

Global Settings (17572)

  • Corrected issues with holds and invoices for ebay records.

Inventory Overview (17567)

  • Fixed: (case 25634) an issue where the user's choice of stores was being ignored when they would open the screen, possibly causing extra slowdowns if they didn't wish to review all stores' data.

Work Orders (18446)

  • Fixed: (case 25816) is issue where launching the choose serial # dialog from the edit item dialog would cause an application crash.

Release 16.0

Highlights

  • Better handling of exporting, graphing, and icons when right clicking on lists in the software.
  • New accounting summary page on the accounting screen. This tab is an interactive accounting report that shows all general ledger activity on a date range, grouped by account. This tool is aimed to make accounting research easier. The user can drill down into any group of activity, which is displayed on the accounting detail page.
  • To further improve accounting research, double-clicking an item on the account detail page will take the user to the corresponding document screen. In addition, the sales order, work order, and payment interfaces all have the ability to send the user back to the accounting screen to show all accounting history associated with the document.
  • Work order screen now stops the user if the WO they're finalizing is not properly configured to perform all accounting. In addition, dropdowns have been added to the accounting screen for easily configuring important accounting settings.
  • The QuickBooks export page now has an (optional) QB customer account field. The user can perform a lookup using this field to choose an account from QB that should be associated with all exported activity. If an account is chosen this way, it allows QB integrations to use special QB accounts, such as Accounts Receivable as well as Undeposited Funds.
  • The 'choose report to print' popup that occurs when printing some reports now has a 'favorite' checkbox that allows a user to choose a specific report they prefer to always sort to the top, making some reports faster to print.
  • Easier management of serials on purchase orders. It automatically pops up to ask the user to enter serials when they receive quantity. Also, its now faster and easier to mark serials as received.
  • The QB export screen now pro-actively tells the user if any accounts have not been mapped to quickbooks.
  • Sales have been added to the vehicle break even graph on the vehicles screen, making vehicle performance easier to understand.

General

  • Added: If there is more than one page of results to display on any multi-page list, the user is prompted to load all results before finishing the export/graph operation.
  • Added: when the user right clicks in any list control, there are now icons in the context menu corresponding to the export to csv/html/graph options.
  • Added: the 'execute saved graph template' submenu in the right click options now shows a graph type specific icon next to each saved chart. For example, a saved pie chart will show a pie chart icon.
  • Changed: by default now, list control tooltips only appear if the cell text is too large to fit into the cell.

Accounting

  • Added: (case 23714) double-clicking SO and WO accounting entries now correctly opens the corresponding document.
  • Renamed: various tabs on the accounting screen have been renamed to make their purpose clearer to those with bookkeeping experience.
  • Fixed: sorting of accounts in the chart of accounts to keep items in better numeric order.
  • Added: (case 24000) an initial version of a new accounting summary page. This tab is an interactive accounting report that shows all general ledger activity on a date range, grouped by account.
  • Added: double-clicking an entry on the accounting summary page will now bring the user to the detail page with all appropriate filters entered.
  • Added: account name on the activity detail page.
  • Added: auto-complete support for the account filter. The user can look an account up by either name or number.
  • Fixed: the accounting summary and detail tabs now correctly save column order and widths.
  • Changed: the activity detail page now splits amount into credits and debits columns for easier review.
  • Removed: the activity detail and summary pages now no longer refresh by default.
  • Added: activity detail page now shows gl transaction id and context. Also, the color alternation now alternates by transaction.
  • Fixed: an issue where activity summary would crash if gl entries were found with no corresponding accounts.
  • Changed: the account activity detail page no longer requires that the transaction data stay grouped together. Now they are grouped by transaction initially, but the user can still sort the items to reorder them.
  • Added: some footer totals to the accounting summary page.
  • Added: the accounting summary page now has an Impact column. This column shows the net effect on the account, showing a positive or negative value depending on whether that account type is increased or decreased by a net credit or debit.
  • Changed: moved the date ranges on the accounting summary and detail filters to the top of the filter areas, as it is the most important.
  • Added: (case 23776) the accounting detail page now loads all gl entry history before the user exports or graphs the contents of the list.
  • Added: (case 23999) support for the user sending payments, sales orders, and work orders to the screen to view all accounting detail associated with that document.
  • Fixed: an issue where the previous version of the Activity Summary by Account screen was incorrectly calculating the "Impact" column for revenue accounts. Now revenue accounts correctly project a positive impact due to credits.
  • Added: support for icons in right click menus.
  • Fixed: the date ranges on the accounting history detail and summary pages now handle date and times correctly.
  • Added: categories tab now has some dropdowns for the user to easily set several important settings for GL category, such as the gl category for EPA charges, shop fees, misc line items, and new part records.
  • Fixed: (case 25370) an issue where the user could not add a new GL category with the add button.
  • Added: the default gl category for returned dirty cores (used on the core management screen) can now be set on the accounting screen like other important gl categories.
  • Added: tooltips for the gl category setting dropdowns on the category page.

Approvals

  • Removed: a redundant permission for controlling whether a user can perform credit approvals.
  • Added: (case 24131) the price approvals tab now uses the list of stores the user has permission to approve prices at to build the list to display. This allows users to be granted permission to approve prices at more than one store.
  • Fixed: right clicking in the price approvals list now correctly shows options for opening the part/document/customer/etc.
  • Added: icons to right click menus.

Common Resources

  • Added: the user can now email images that are public, private, or both.
  • Added: the email field that was labeled 'Subject' was actually being put into the body of the email. There is now a subject field the user can change. There is now a proper custom email body template field as well.
  • Fixed: (case 24862) to bring tag printing in line with other interfaces, the "Unprinted" column has been renamed to Printed and had its meaning flipped. This is because parts and search now have columns that track whether a tag has been printed, instead of whether a tag still needs to be printed.
  • Changed: the EditChoiceDialog now has a more reasonable default message if the user does not enter a value before hitting ok.

Core Management

  • Fixed: if a company has accounting turned off, the core management screen will no longer complain that no default dirty core gl category has been chosen.
  • Fixed: right clicking on the customer core list now correctly shows the options presented in the export button.
  • Added: support for icons in right click menus.
  • Fixed: if the user is returning a core to a different store than it was originally created at, the core bank tag # will now correctly show up on the returned tab. This does not effect what happens when you inventory or discard cores.

Crystal Reports

  • Fixed: (case 25279) an issue where options in the 'choose report' popup were not strictly in alphabetical order.
  • Added: the choose report popup (report diambiguation dialog) has been reworked. It now shows orientation as well as whether that report is a favorite of the user's. Favorite reports are automatically sorted to the top.

Customer

  • Added: (case 23999) when the user opens a payment in the payment detail popup dialog, there is now a 'show document accounting' button that shows the user all accounting history for that payment.

Customer List

  • Fixed: (case 24597) an issue where certain symbols (including + and -) might cause an issue with smart searches if they were used in the middle of a word. This was disrupting the ability to easily search for phone #'s. Now, a - at the start of a word means "exclude this word", but a - in the middle of a word will be treated differently.
  • Added: (case 24246) for backwards compatibility, there is now a global setting that controls whether all customer smart searches will have an implied wildcard () at the end of what the user searched for. This is to make the search work more like it did before the recent speed improvements in version 14. This setting defaults to on and is located at "Customer List"->"Automatically add wildcard () to the end of smart searches".
  • Fixed: an issue where the smart search handler would add a * to the end of some fulltext searches despite the fact that putting a * after a quotation mark caused a FTS error.

Database

  • Fixed: (case 23582) the price acceptability functions no longer enforce rules for components of a Kit on sales orders. Also, the average cost of the kit parent item is now always considered to be $0, to match what is shown on the SO screen.
  • Added: (case 15836) fcreatecore_inventory now correctly reads the existing setting for default dirty core gl category and uses it for new core inventory records.
  • Changed: as per case 15836, several gl contexts have been renamed to make their purpose clearer.
  • Fixed: (case 24725) an issue where the fhasaging function might not exist on the database because the previous definition had a bug.
  • Fixed: an issue where serials would count as on hold even though the sales order line had the hold checkbox unchecked.
  • Deprecated: an unreferenced table called useraddress. It has been renamed to DEPRECATED_useraddress in case anyone has any data in that table. This will be removed at some point in the future.
  • Added: (case 24079) a permission that controls whether the user can refund a customer for a core charge (instead of performing an exchange).
  • Changed: (case 16011) the f_returnablesalesorderlincount no longer counts job lineitems as returnable.
  • Added: the cost discrepancy table now captures the GL category of the inventory at that moment.

Data Management

  • Changed: the buttons below the mappable fields have been renamed to more accurately describe their function.
  • Fixed: an issue where changing the custom mapping with the popup dialog would still say "Set Default". Also, instead of a radio button that says "None" there is now an option that allows the user to clear their custom mapping.

Ebay

  • Fixed: (Case 15883) PayPal Immediate Pay UI/Dialog behavior has been added.
  • Fixed: (Case 15883) Fixed an error when checking from the edit menu for PayPal Immediate Pay.

Global Settings

  • Fixed: a query for loading report print history is now compatible with mysql version 5.7.

Home

  • Added: all home screen property pages now automatically load all pages of results if the user attempts to export or graph the results. This is to help the user so they do not have to export each page of results separately.

Inventory Overview

  • Fixed: some weirdly sized buttons.
  • Added: icons to right click menus.
  • Added: the "All Items…" right click submenu now has all the normal right-click list control options (export to csv/html, graph, run saved graph) that other lists have.

ITSQLFramework

  • Fixed: an issue where, after the first database error a user saw, no other database errors would be reported.

Login

  • Fixed: a minor issue where, if the stores a user had access at was changed, it might not take effect until the next login.
  • Fixed: (case 24680) an issue where editing user groups would take a long time to save.

Master

  • Fixed: (case 24416) an issue where the code that changed comments in the query parser was dropping newlines when it should not, causing stored procedure/function definitions to be hard to read on client databases.
  • Changed: the URL that updates are downloaded from, to support future migration of this service.
  • Fixed: if the user is looking at the update download dialog and they do Actions->reset updates, the dialog is no longer closed and reopened.
  • Fixed: (case 25241) a crash that could happen if the user hit "Hide" on the update download dialog, and then the system automatically checked for updates again in 5 minutes.

Parts

  • Added: support for private attachments on emails.
  • Fixed: an issue where a collection might not load items that were status C or D correctly, despite the fact that they were still loaded as part of the collection on the SO.
  • Fixed: (case 24708) an issue where, if the user deselected all serials when performing an assembly breakdown, the quantity to disperse would get set to 0, even if integral parts were set to disperse.
  • Changed: (case 24708) in the assembly breakdown dialog, the serial # list is no longer a 'sticky list'. This is because selecting a different (single) serial # is a more common operation, so this makes the common case easier/faster.
  • Changed: the Q&A page now labels the 'Default' serial "Default Serial Q&A" to make its purpose clearer.
  • Changed: non-serialized parts no longer require that the user select the Default serial to edit Q&A. Also, non-serialized parts grey out the serial # list to make things clearer.
  • Changed: Option/Value are now labeled Question/Answer to correspond to the other interfaces.
  • Fixed: hitting "Add serial" button now automatically puts the user's focus into the new serial's serial #.
  • Added: icons to the add/remove serial # buttons.
  • Added: right click menu icons to the attachment interface. Also, rephrased delete attachment to unattach in the right click menu.
  • Fixed: (case 24835) a crash that could occur if the user closed and reopened the images popup.
  • Fixed: an issue where the gl category dropdown would not be editable if the user unchecked the "Automatic gl category" checkbox.
  • Fixed: (case 25040) an issue where the tooltip for the tag printed checkbox had not been changed to reflect the way those checkboxes work now.
  • Added: (case 893) when saving an aftermarket part, when the user is asked if they wish to replicate a part between stores, there is now a "Replicate to all stores" button for easy replication.

Purchase Orders

  • Fixed: (case 24383) an issue where loading items onto a PO or TO that had messages would cause the user's focus to move away from the list control.
  • Added: (case 25220) the icon for allowing the user to update inventory cost if it didn't match purchase price is now hidden if the user does not have permission to update inventory cost.
  • Fixed: (case 25151) an issue where loading and resaving a PO could cause the fax # saved with the vendor address to disappear from the PO. This could affect some reports that loaded vendor fax # from the PO.
  • Added: (case 25144) when the user changes the quantity received of a serialized lineitem on a purchase order, and not enough serials have been added, the add new serial popup will automatically be shown.
  • Added: if the user hits receive all on a PO, the serials are automatically marked as received.
  • Added: if the user adds a serial to a PO, and quantity received is already set, the serials are automatically marked as received.

Quickbooks

  • Fixed: layout of all quickbooks accounting pages to match the rest of the software.
  • Changed: the QB gl entries push tab now organizes its data into a tree based on day, since the user can only export an entire day at a time, making sorting and exporting easier.
  • Added: icons to all buttons on the QB accounting tabs.
  • Changed: the modal result dialogs are now a bit more descriptive.
  • Changed: the columns now resize appropriately to fit accounting data.
  • Added: 'wait' cursor during loading any QB accounting screen.
  • Added: doubleclicking rows in the journal entry push tab now shows the user the detailed entries that make up that row.
  • Fixed: an issue where the journal entry push page might crash if there is nothing to export.
  • Added: the journal push tab now has a "Mapped in QB" column. This says whether the account associated with the journal entry is mapped between ITrack and QB or not.
  • Added: (case 24843) there is now a field for entering the name of a QB customer and a verify button. If the user enters a valid customer name and hits verify, ITrack attempts to find that customer in QB. If this is successful, that customer is automatically associated with all journal entries pushed to QB. This makes it so that the user can push journal entries to accounts in QB that require a customer account, such as Accounts Receivable and Undeposited Funds.
  • Fixed: if the user hits push to QB and no journal entries' accounts are mapped, it no longer tries to push anything.
  • Fixed: a crash that could occur in ITrack if the system was unable to retrieve the account mapping from QB. Now an error popup is shown to the user instead to let them know what error QB returned.

Sales Orders

  • Fixed: (case 24383) an issue where loading items onto a SO that had messages would cause the user's focus to move away from the list control.
  • Added: (case 23535) there is now a warning if the user intentionally adds the same customer core return to the same invoice more than once.
  • Fixed: (case 23864) an issue where the configure adjustments dialog was allowing the user to edit fields on restricted adjustment types.
  • Added: configure adjustments dialog now remembers the user's last placement position.
  • Changed: the user can no longer change the price of child items in a kit. This has been done to match the fact that price acceptability is no longer enforced on those items, and instead only enforced on the parent of a kit.
  • Fixed: (case 24002) several other situations where inherent core refunds were using the Core Return gl context instead of Core Sale.
  • Fixed: the user can now delete inherent core refunds off of a sale, even if it has cost associated. (it was erroneously stopping the user because it thought it was an inherent core sale)
  • Changed: selling core items outright now uses the "Sale" context instead of "Core Sale", since that is reserved for inherent core charges.
  • Added: (case 23999) so long as the user has permission to open the accounting screen, there is now a right click option to view the currently loaded SO's accounting history on the accounting screen. This operation can also be done with the advanced drop down button.
  • Added: (case 23999) so long as the user has permission to open the accounting screen, there is now a right click option in the payment list to view that payment's accounting history on the accounting screen.
  • Added: right-click menu icons.
  • Fixed: the save options popup is now labeled Save/Print options and the cancel button is labeled "Cancel Save" now.
  • Fixed: (case 25042) an issue where the first item that would be added to an existing SO would get a quantity of 0 if the user did not explicitly set it to anything else.
  • Fixed: the configure payment methods dialog now correctly sets the user's focus into the new payment method for quick entry.
  • Changed: (case 24816) if a core charge has been rejected on the core management screen, the user can no longer perform a manual core exchange for that core charge. The user can still refund that charge.
  • Fixed: (case 25263) an issue where (while selling a vehicle) the "choose parts to leave in inventory popup" would end up putting cost onto the components left in inventory equal to the amount already allocated to these parts. This had the effect of doubling the intended allocation of cost onto the components left in inventory.
  • Fixed: the popup for choosing which vehicle components to leave in inventory now correctly calculates the remaining/unallocated vehicle cost. In addition, this popup now properly takes into account the company settings that control whether cost and/or average cost are considered when computing the amount of vehicle cost 'allocated' to parts off of that vehicle. If the user updates the 'cost' field in this popup, the difference will be put into average cost or cost, depending on which the company uses to store vehicle cost allocations. The cost field on this popup is not editable if the company does not consider either field when dealing with vehicle cost allocations. The tooltip on the cost column has been changed to more accurately reflect its use.
  • Fixed: if the user sells an assembly with components that are in stock (and chooses which 'child' components to leave in stock), the cost of the assembly on the invoice should no longer be set to 0.
  • Added: (case 24079) there is now a permission that controls whether the user can refund a customer for core charges. Without the permission, the user can still perform core exchanges. This is to help in situations where users accidentally refund core charges instead of doing an exchange.
  • Added: (case 21958) there is now a store setting that controls whether salespeople are allowed to return inventory on an invoice without selecting a return reason. (Note: the reason N/A counts as no choice with regard to this setting).
  • Changed: (case 16011) non-returnable items can no longer be returned on the same invoice it was sold.
  • Changed: (case 16011) job line items are no longer returnable. If there is a mistake with a WO it should now be voided or reopened.
  • Fixed: (case 24385) an issue where the "Dismantled True/False" vehicle search field was working backwards.
  • Fixed: (case 24461) an issue where wildcard searches in the model dropdown would search the part's 'actual' model name instead of the parent model name.
  • Fixed: (case 24835) a crash that could occur if the user closed and reopened the images popup.
  • Fixed: (case 24835) an issue where closing the image viewer between searches could cause ITrack to crash.
  • Fixed: the popup that would appear if there were no tags to print now correctly tells the user to uncheck (instead of check) the availability column to reprint tags.
  • Fixed: (case 25385) possible query errors that the user could encounter if they smart searched for a string containing "*/". Now, this will no longer cause an issue.

Transaction List

  • Fixed: (case 23881) when a saved transaction list filter is loaded or run, fields that were not saved in that filter (usually default fields) are now correctly unchecked.

Vehicles

  • Added: support for private attachments on emails.
  • Added: support for all 4 'flex' fields as information in vehicle emails.
  • Added: right click menu icons to the attachment interface. Also, rephrased delete attachment to unattach in the right click menu.
  • Fixed: (case 24835) a crash that could occur if the user closed and reopened the images popup.
  • Fixed: (Case 25369) The Vehicle break even graph tab now takes quantity into account.
  • Added: (Case 25369) The vehicle break even graph now shows sales.
  • Fixed: (Case 25369) The vehicle break even graph now correctly displays the graph when coming from the search screen.

Vendor List

  • Fixed: (case 24597) an issue where certain symbols (including + and -) might cause an issue with smart searches if they were used in the middle of a word. This was disrupting the ability to easily search for phone #'s. Now, a - at the start of a word means "exclude this word", but a - in the middle of a word will be treated differently.
  • Added: (case 24246) for backwards compatibility, there is now a global setting that controls whether all vendor smart searches will have an implied wildcard () at the end of what the user searched for. This is to make the search work more like it did before the recent speed improvements in version 14. This setting defaults to on and is located at "Vendor List"->"Automatically add wildcard () to the end of smart searches".

Work Orders

  • Added: (case 23999) so long as the user has permission to open the accounting screen, there is now a right click option to view the currently loaded WO's accounting history on the accounting screen. This operation can also be done with the advanced drop down button.
  • Added: right-click menu icons.
  • Fixed: (case 25184) when an WO that has not been finalized is loaded, all calculated values are now recomputed. This fixes an issue where WOs with work clock entries might not re-compute to have the right totals if the shop supplies are a percent of the labor charge.
  • Added: when the user saves a work order, its now saved as a single transaction. This means, if there are any errors while saving or finalizing a WO, the entire operation is reversed instead of leaving things halfway.
  • Changed: if accounting failed during a WO save, the WO save is now rolled back. This should prevent any issues where quantity is adjusted but accounting failed.
  • Changed: WIP and final accounting is now only refreshed if accounting is enabled to speed things up.
  • Added: (case 23298) if a user saves a WO, accounting is turned on, the user is now warned if any accounting would be impossible. This solves issues where epa charges/shop fees/labor/ or parts are not properly configured in accounting but have non-zero amounts to account. This is only a warning when saving, but an error if the user is attempting to finalize the WO.
  • Added: when performing a breakdown, the WO is now saved in a single transaction so that if anything fails, all changes will be rolled back.
4/8/2026

Release 15.2

Sales Orders

  • Fixed: (case 25263) an issue where (while selling a vehicle) the "choose parts to leave in inventory popup" would end up putting cost onto the components left in inventory equal to the amount already allocated to these parts. This had the effect of doubling the intended allocation of cost onto the components left in inventory.
  • Fixed: the popup for choosing which vehicle components to leave in inventory now correctly calculates the remaining/unallocated vehicle cost. In addition, this popup now properly takes into account the company settings that control whether cost and/or average cost are considered when computing the amount of vehicle cost 'allocated' to parts off of that vehicle. If the user updates the 'cost' field in this popup, the difference will be put into average cost or cost, depending on which the company uses to store vehicle cost allocations. The cost field on this popup is not editable if the company does not consider either field when dealing with vehicle cost allocations. The tooltip on the cost column has been changed to more accurately reflect its use.
  • Fixed: if the user sells an assembly with components that are in stock (and chooses which 'child' components to leave in stock), the cost of the assembly on the invoice should no longer be set to 0.

Release 15.1

Master

  • Fixed: if the user is looking at the update download dialog and they do Actions->reset updates, the dialog is no longer closed and reopened.
  • Fixed: (case 25241) a crash that could happen if the user hit "Hide" on the update download dialog, and then the system automatically checked for updates again in 5 minutes.

Sales Orders

  • Fixed: (case 25042) an issue where the first item that would be added to an existing SO would get a quantity of 0 if the user did not explicitly set it to anything else.

Work Orders

  • Fixed: (case 25184) when a WO that has not been finalized is loaded, all calculated values are now recomputed. This fixes an issue where WOs with work clock entries might not re-compute shop supplies when t hey are a percent of the labor charge.

Release 15

Highlights

  • Work orders can now be reopened with proper permission. This works similarly to reopening sales orders.
  • Work orders and sales orders save and reopen processes now happen inside a single database transaction, meaning if there is an error or database interruption, the entire operation will be rolled back, preventing issues where partial finalization was possible. (Similarly approving jobs on the warehouse management screen are inside a single transaction now)
  • Accounting entries tab improved filters
  • Items with average core cost that is non-zero now automatically add core charges to sales order and work order lines. Also, inherent core lines with a non-zero cost cannot be deleted from documents. This is to prevent 'losing' core inventory value.
  • Various improvements to right click graphing, including fast-viewing of saved graph templates.
  • Update downloader is now less intrusive and can be hidden permanently by unchecking the "show this dialog in the future"
  • Exporting vehicles to berryhill auctions now supported
  • Purchasing and transfering serials is much smoother now, and the status of the serials should make more sense in these cases. In addition, if the TO is not marked as ordered yet, any serials on that document should still be available at the source store.
  • Vehicle costs/performance on the vehicle screen have been made more accurate. Final and projected costs should match the documents better, and the values are now colored (vehicle cost shows in red if total COGS exceeds it)
  • Vehicle costs now includes inherent core charges from vendors as well as dirty core returns to the vendor, as both of these now affect a vehicle's total cost pool.
  • Many improvements to the vehicle break even graph to make it more accurate and usable.
  • Better show/hide hotkey support for the image popups on the parts and vehicles screens
  • Added support for entering third party shipping tracking #'s and to have shipping progress web pages opened. URLs have automatically been added for many common shippers, and users can customize them if they'd like to send tracking URLs to their customers.
  • Appraisal support for part collections, such as assemblies.
  • Support for a separate customer memo for printing onto invoices based on invoice payment terms.
  • Added a new setting ("Work Orders"->"Master part costing: put core inventory items' cost into average core cost") that controls whether inventory core bank items (inventory marked with "Is A Core" checked) have their cost put into the core cost of master parts. This was existing functionality that was always on before. This setting defaults to True.
  • Added a new setting ("Work Orders"->"Master part costing: put inherent/dirty core line items' cost into average core cost") that controls whether inherent core charges have their cost put into the core cost of the master parts. This is new functionality. This setting defaults to True.
  • Counting 'single quantity' parts (like whole units or vehicle parts) now always moves the part instead of ever putting any quantity in variance (lost and found)
  • Better ability to manage the location serial #'s created on WOs go into.
  • The user's work is now saved if they hide the assess finance charges dialog. This makes it much easier to go back and forth between that popup and the customer and SO details. (TIP: when this dialog is up, you can interact with the rest of ITrack without closing it)

Accounting

  • Fixed: (case 23071) an issue where the document type dropdown on the entries page of the accounting screen did not correctly filter down to gl activity on sales orders of the specified document type.
  • Changed: the entries tab has had its document type dropdown replaced to allow the user to choose types of Enterprise documents instead of just sales order document types.
  • Added: the entries tab now has filters for document store, document # range, and a checkbox for filtering out entries that have not been exported yet.
  • Added: the date range filter of the entries tab now allow both date and time.

Appraisal Extension

  • Fixed: a possible database error caused by invalid inventory type #'s in sales appraisals.

Approval

  • Fixed: Removed an unnecessary popup if the user did not have permission to the credit approval screen.
  • Removed: a redundant permission for controlling whether a user can perform credit approvals.
  • Added: (case 24131) the price approvals tab now uses the list of stores the user has permission to approve prices at to build the list to display. This allows users to be granted permission to approve prices at more than one store.

Common Resources

  • Fixed: the picture pop up dialog now allows the user to use global hotkeys.

Core Management

  • Fixed: (case 23406) the part type dropdown was not usable.

Crystal Reports Extension

  • Fixed: an issue where the advanced print dialog would sometimes appear when the user was previewing a report, if the user had no default printer set for that report type.
  • Changed: holding the advanced print button while previewing a report will no longer show the advanced print dialog, as previewed prints don't pay attention to most of the options.

Customer

  • Fixed: an issue where the configure regions dialog might show items incorrectly.
  • Fixed: (case 22957) an issue where, if the user edited an existing payment and changed its payment method, the gl that that payment hit didn't get modified. Now, it is updated if and only if the payment method changes, causing accounting to be corrected to match.
  • Fixed: (case 23102) an issue where the user could cancel a payment that had been entered through the credit card terminal.
  • Added: if the user uses the next/prev arrows when no search had been done, a message is displayed, like on the vendor screen.

Customer List

  • Changed: (case 23171) customer smart searches with multiple words will now automatically require all words to be present in the results.
  • Fixed: customer smart searches now correctly order results with the 'best' matches at the top.
  • Fixed: (case 23407) an issue where the application could crash if the user uses the next/previous arrows when no search had been done.
  • Fixed: (case 24250) an issue where the assess finance charges dialog could crash if the user searched, viewed a customer or invoice, closed and reopened the dialog.
  • Changed: the close button on the assess finance charges dialog is now labeled "Hide". If the user hides the dialog and comes back, their work is saved.
  • Added: minimize/maximize buttons to the assess finance charge dialog.

Database

  • Removed: some settings that are not used anymore.
  • Changed: added a default to the salesorderline.type column so that new rows won't get NULL.
  • Added: several inventory import fields that were missing from some databases.
  • Fixed: (case 22334) an issue where instances where there were multiple parts with the same tag # might throw off an inventory import updating those rows.
  • Added: (Case 22934) A new function fhasaging, which tells the caller if a given customerid has any data worth checking aging on. Used for aging report performance improvements.
  • Changed a previous update to ensure that the list control graph template exists, no matter what.
  • Added: as per suggested by Chad@VHI, the queries that added a unique index to to scanjobaction will now remove duplicates first.
  • Added: (case 22915) when the user transfers any 'single quantity' items (monolithic parts as well as vehicles) between stores, all open SOs and WOs that have that item on hold now have their lineitems transitioned to point to the item at the destination store and use the location at the destination store.
  • Fixed: an issue where the vehicle bid item table was not allowing full-length categories to be saved in the table.
  • Changed: (case 23306) add-on core costs now properly factor into vehicle cost pools. Also, add-on core costs now count as allocated vehicle costs.
  • Changed: (case 23306) inherent cores on vehicle items can now have add-on costs that pull out of the vehicle cost pool, similar to add-on costs on standard inventory items associated with vehicles.
  • Added: Case 23338: add support for monthly history out to 12 months on part modification
  • Added: Case 22695: add 3 and 9 month usage history to the 6 and 12 month options on part modification
  • Fixed: an issue where fserialavailable would say that serials were on hold even if the TO hadn't been marked as 'Ordered', which normally controls whether serials are on hold.
  • Added: PO dirty core returns to vendor associated with a vehicle now lower the total vehicle cost pool.
  • Removed: vehicle break even graph, since it now uses the standard list control graph.
  • Fixed: (case 23445) salesorderline and jobpart can no longer have a type of NULL.
  • Removed: (case 22171) vendor.category, which is an unused column.
  • Changed: (case 23531) made significant adjustments to various tables, functions, procedures, and events to synchronize various databases, which had become somewhat different over time.
  • Added: taxitempart, taxitemparttransaction, which is in use at some yards, and standardizes various databases.
  • Added (case 23563): New permission for whether a user can make changes to the parts on a job(add/remove).
  • Added: (case 9098) shipping tracking # is now a field tracked in the sales order table.
  • Changed: all the standard 3rd party shipping methods now have more up to date tracking URLs.
  • Fixed: (case 23504) an issue where the inventory transaction list search would throw an error if the user used the Default Vendor filter.
  • Added: (case 23570) term.customermemo, which is a customer-visible memo that will be shown on invoice printouts.
  • Fixed: an issue where prunforeachtable might not skip all tables we don't care about during an optimize operation.
  • Fixed: (case 23738) an issue where historical inventory usage would report based on document store instead of inventory store.
  • Fixed: the Inventory Part Type name filter in Transaction List. It was looking up names as inventorytypeids instead of by the actual name
  • Removed: (case 23781) references to various views, such as vinvoice, vquote, v_opentransferorder, etc from many enterprise functions. Its been found that views inside functions were causing increased execution times and locks on databases after mysql version 5.6.23. This was causing a lot of slowness on customer balance calculations especially. In most cases, this makes these functions as much as 50% faster even on older versions of MySQL.
  • Changed: (case 22989) singlequantity flagged parts now move rather than use variance during counts.
  • Fixed: (case 23902) an issue where gl entrys' gl deparment id would sometimes have an invalid value instead of NULL.
  • Added: gltransaction.type now supports 'Work Order Reopened'.
  • Added: (case 23915) accounting for work order master parts now correctly move both normal cost and core cost from work in progress to inventory instead of just base average cost.
  • Added: (case 24118) filters and display fields for inventory.dateentered on the Transaction List screen.
  • Fixed: an issue where replicating an inventory record that had quantity on order would carry that over to the new part. We also call finventoryinserted after replicating the part now.
  • Added: Transaction List Filters and Display Fields for WO Inventory Category.
  • Added: Transaction List Search Filters and Display Fields for Sales Order Inventory Categories.

Data Management

  • Added: (case 23792) the backups created as part of imports are now created much faster and take much less space. Mainly, we now use ARCHIVE database engine and don't create indices on backups.

Ebay Extension

  • Fixed: (Case 22323) Ebay now displays friendlier shipping names
  • Fixed: (Case 24024) The error when refreshing auctions no longer occurs.
  • Fixed: (Case 24023) Images from one listing will no longer be applied to later listings when multiple items are listed at once in eBay.

Graphing

  • Added: (case 22765) any list with saved graph templates can now be run easily by right-clicking on any list with saved graph templates.
  • Added: better support for date/times in right-click graphing for x-axis values.
  • Fixed: an issue where sending data with line breaks to right-click graphs could cause errors.

Global Settings

  • Changed: saved chart templates are now only loaded once, making graph dialogs and right clicking in list controls faster.
  • Fixed: an issue where the Edit->User hotkeys dialog could get stuck off of the screen.
  • Fixed: modified column orders and column widths should no longer be lost if the number of columns in the list has changed since the last time the column order was saved.

Image Synchronizer

  • Fixed: (Case 23414) The DELETE statement that was used for syncing has been split into multiple components and now it runs faster.

Interchange

  • Fixed: (case 22907) an issue where entering a first or last year for an interchange record above 2050 might automatically change the year the user entered to something in the 2000 range.

Login

  • Fixed: a minor issue where, if the stores a user had access at was changed, it might not take effect until the next login.

Mas90 Accounting

  • Fixed: (case 23902) an issue where gl entrys' gl deparment id would sometimes have an invalid value instead of NULL.

Master

  • Changed: (case 7808) the update downloader dialog has been combined with the update log dialog. This prevents the issue where the user's focus was being moved automatically to this popup when downloads finished. This avoids interrupting the user's work.
  • Added: the update downloader dialog can now be hidden or closed immediately instead of having to wait for the downloads to complete. If the user wants to reopen the dialog, they can double-click on the update status in the status bar.
  • Added: the update progress dialog now has a "Show this dialog in the future" checkbox. If the user unchecks this, they will only see the update progress/change log dialog if they double-click on the update status string on the status bar.
  • Fixed: screen list now properly resizes if the user has non-standard windows zoom.

Parts

  • Changed: (case 22420) for clarity, the 'print tag' check on a part and its serial #'s have been switched to "Tag Printed", reversing the meaning of the checkbox.
  • Fixed: (case 22420) newly created serial numbers now correctly mark themselves as having not printed a tag yet.
  • Changed: (case 9153) if the user loads a vehicle whole unit on the parts screen, many fields are now greyed out, to prevent the user from accidentally breaking the vehicle.
  • Fixed: (case 10205) an issue where the user could get past the "no manufacturer selected" error when saving an aftermarket part by typing something into the manufacturer code field that was valid but did not match anything in the manufacturer dropdown.
  • Fixed: (case 23410) an issue where the show/hide image dialog hotkey was not showing up in the user hotkey dialog. The default hotkey has changed to ctrl+alt+P.
  • Fixed: (case 10964) an issue where hitting copy part might cause the new part to not have the correct store, which could cause the location dropdowns to have no options in them.
  • Added: (case 23607) the transaction history page now shows 0 in the affected quantity column for all voided document types.
  • Added: (case 17753) added support for HTP, auction, and local sales appraisals to assembly collections.
  • Added: the collection list now has a totals footer.
  • Added: new assembly child parts now get the correct location id. Also, entering an interchange # with a letter at the end now correctly splits the letter into the "Sub-interchange #" field.
  • Removed: several redundant queries that were part of loading. Now, manufacturers and part types are loaded only once as part of the auto-completes.
  • Changed: (case 23722) in order to decrease the memory footprint of the part history page, many of the text columns are now limited to 100 characters instead of 250.
  • Changed: the transaction page should no longer trigger a "Table full" error for parts with a lot of history.

Purchase Orders

  • Fixed: an issue where settings were being created under the locations "Purchase Order" and "Transfer Order" instead of "Purchase Orders" and "Transfer Orders".
  • Fixed: an issue where the 'On Save' area in the bottom right of POs was partially off the screen.
  • Fixed: an issue where, if the user loaded a PO posting using the posting number (such as 1, 2, 3, etc), PO adjustments were not properly loaded.
  • Changed: (case 23337) transfer orders now leave serials as status 'Available' until the TO is marked as ordered.
  • Added: the transfer order error popups that would occur if the gl category was not configured for transferring are now more useful and clear, and they describe what action the user should take to continue.
  • Fixed: an issue where serials added to transfer orders that were not ordered would be shown as In Transit instead of Available, despite the fact that those items are not on hold.
  • Fixed: (case 22813) an issue where changing the destination location of a serial on a transfer order might not correctly affect the transferorder locations.
  • Changed: (case 23422) the attachment dialog is now editable even if the document that is loaded is void or finalized.
  • Fixed: (case 24383) an issue where loading items onto a PO or TO that had messages would cause the user's focus to move away from the list control.

Quickbooks

  • Fixed: some memory leaks on the journal push and QB accounts pages.

Report Viewer

  • Fixed: a potential issue where advanced print dropdowns might not work.

Reports

Billing

  • Changed (case 22934): Optimization pass. Moved the interval balances to a subreport and filtered using a new function.
  • Added (case 23382): the ability for the report to be scheduled with Report Commander.

Core Tag

  • Removed (case 22969): text below the barcode

Core Tag (Large)

  • Removed (case 22969): text below the barcode

Credit Summary

  • Fixed (case 23222): current balance and the blue balance line on the graph were not considering unallocated payments.
  • Added (case 21080): Weighted Average Days to Pay and other informational fields.
  • Added (case 21080): a start date parameter, so range can be selected instead of automatically set to 12 months. If too long of a date range is selected, the report will alert the user and use the longest range it can instead.
  • Improved (case 21080): Speed. This is a major performance update.
  • Fixed (case 21080): a rounding issue in the formula that determines whether or not a sales order is balanced. 0.00 balance SOs were showing up in the unbalanced SO informational fields.

Customer Address Label 5160

  • Added (case 24206): a new report. It prints Avery 5160/8160 labels from the Customer List screen.

GL Activity

  • Added (case 22988): GL account number, and a new parameter that allows you to choose whether the date range filters by gl entry date or associated document date

Inventory By Default Vendor

  • Added (case 21506): a new report, replacing Inventory By Vendor. This report is similar, but not misleading about what it does. It is an inventory report primarily but also includes purchases and sales related to the inventory line in a date range. It has several different summary modes and also points out vehicles with cost remaining that are not A or H like Inventory Summary and Inventory Detail By Part Type.
  • Changed (case 22577): excluded status T vehicles from vehicle inventory that was previously included because it has cost remaining

Inventory By Vendor

  • Removed (case 21506): deprecating. Report was misleading. Inventory By Default Vendor will absorb the functionality.

Inventory Count Sheet - LXW

  • Added (case 21508): inventory with no location, when the location parameter is '*'
  • Changed (case 21508): the true/false parameters to strings. Previously, one was a string and one was a Boolean. With Crystal, either would work; but strings look friendlier if this were ever run from the Report Viewer.

Inventory Detail By Part Type

  • Fixed (case 22522): Extended Cost column 0 quantity whole units with cost remaining - because 0 x something = 0. So the average cost sum wasn't matching up with Inventory Summary. Also changed when the query considers quantity > 0, so those 0 quantity with cost remaining items aren't excluded in the query either.
  • Changed (case 22577): excluded status T vehicles from vehicle inventory that was previously included because it has cost remaining

Inventory Quantities

  • Removed(case 21514): deprecating Inventory Quantities report.

Inventory Summary

  • Fixed (case 21506): quantity multiplier in the vehicle section of the query, which throws off cost when you have vehicles with multiple quantity. That is not something that is supposed to happen, but…
  • Changed (case 22577): excluded status T vehicles from vehicle inventory that was previously included because it has cost remaining

Label

  • Removed (case 22969): text below the barcode

Label By Location

  • Removed (case 22969): text below the barcode

Labor Summary By Employee

  • Fixed (case 23261): high labor hours when incomplete/unbilled jobs used the ratio and job.billinghours to calculate billing hours. Billed hours are no longer included until they are actually billed on an invoice. The report will indicate what is outstanding, if anything.

Picking Tag

  • Removed (case 22969): text above the barcode (j)

Receiving Label

  • Removed (case 22969): text below the barcode

Receiving Tag

  • Removed (case 22969): text below the barcode

Sales By Invoice

  • Fixed (case 23930): a query issue that could leave out some data that was too similar to other data.

Sales Order 11in

  • Fixed (case 23559): a issue with the job and labor subreport leaving out labor rows when they were the same as other rows.
  • Added (case 23570): term memo, a message specific to the payment terms, if present.
  • Fixed (case 22154): extra space in footers on pages that are not the last page
  • Added (case 22154): conditional suppression to the line item header - it will no longer print at the top of the page/section if there are no line items to print on that page
  • Fixed (case 21892): optimization pass.

Serialized Tag

  • Removed (case 22969): text below the barcode

Tag

  • Removed (case 22969): the text below the barcode
  • Added (case 21021): QR codes, this time disabled by default. A reliable internet connection is required to use them.

Tag By Location

  • Removed (case 22969): text below the barcode

Tag Landscape

  • Removed (case 22969): text below the barcode

Vehicle Value Analysis

  • Changed (case 22577): excluded status T vehicles from vehicle inventory that was previously included because it has cost remaining

Sales Orders

  • Fixed: an issue where a setting was being created under the location "Sales Order" instead of "Sales Orders"
  • Fixed: (case 23028) an issue where menus in ITrack would not work while the SalesOrder screen was open and active.
  • Fixed: (case 22912) an issue where removing the hold checkbox on items on an invoice still left those items on hold.
  • Fixed: (Case 23102) an issue where the user could delete a new payment that had a valid credit terminal transaction associated.
  • Changed: (case 23102) the user can no longer close a SO without saving it if there are any payments that have valid credit terminal transactions associated.
  • Fixed: an issue where the 'cost' of inherent core lines could be incorrect on the first load, though they would be corrected on save.
  • Added: (case 22341) the user is now prevented from deleting inherent core charges from an invoice if there is cost on the core charge. This is to prevent issues where that cost wasn't hitting accounting properly.
  • Changed: (case 23314) now, items with average core cost (core inventory value) will automatically add inherent core charges to the document.
  • Fixed: (case 23419) an issue where the "Can change lineitem taxable" permission was not affecting newly added lineitems.
  • Added: (case 9098) support for shipping tracking #'s on each invoice.
  • Added: a button to view the tracking information for the current SO based on the tracking URL, if its filled out. If it is not filled out, the user is notified that it will need to be entered first.
  • Added: (case 15871) if the user enters a lineitem quantity before performing a part lookup, that quantity will no longer be lost. Also, price is now preserved if the user loads misc item info.
  • Changed: the user can now use the stock # and vendor columns to perform full 'non-stocked vehicle' or 'non-stocked vendor' lookups on items that just have a description/item/price (pure-misc items) in addition to empty rows.
  • Added: (case 23570) support for a 'customer memo' field for terms in the configuration dialog.
  • Fixed: (case 23735) an issue where returned items would get an invalid SKU, causing them to not properly increase inventory QoH.
  • Fixed: (case 23662) an issue where adding new payments to a SO would no longer correctly automatically select the customer's default payment method.
  • Added: voiding and reopening SOs now happens within a single transaction, so that if there is any error, the entire operation is reversed.
  • Fixed: (case 23764) an issue where the default payment amount was no longer defaulting to the remaining invoice balance.
  • Fixed: an issue where changing the document number or amount of a previously saved payment was not being saved.
  • Fixed: (case 23919) an issue where payments that had an impact on more than one invoice could have their amount changed each time the user opened and resaved an associated invoice.
  • Fixed: an issue where saved payments on SOs could not have their amount set to $0 by users with the ability to edit payments. The user would see a popup with an option to "Remove $0 payments" but instead, their changes would not be saved. Now, newly created $0 payments are removed in this case, but existing payments save.
  • Added: in order to avoid issues where SOs are finalized with open or void WO jobs on them, closing SOs is now impossible if any lineitems are from jobs that are in an invalid state.
  • Added: the user can now delete job lineitems that point to invalid work orders now. This is because they cannot close a SO with documents in an invalid state.
  • Added: job lineitem prices and costs are now correctly updated on load and on refresh so that reopened WOs don't get invoiced for the incorrect amount.
  • Fixed: (case 24002) crediting inherent core charges back to the customer (forgiving core charge) now uses the GL Context of "Core Sale" instead of Return. This is to make sure that core credits don't hit inventory sales accounts. This does not affect dirty core exchanges.
  • Changed: (case 24059) the warning that the user received when returning an item on another open return SO is now an error to help avoid users returning items more than once.
  • Changed: (case 23422) the attachment dialog is now editable even if the document that is loaded is void or finalized.
  • Fixed: (case 24383) an issue where loading items onto a SO that had messages would cause the user's focus to move away from the list control.
  • Fixed: an issue where the inventory type dropdown wasn't getting set right when the user typed a type # in the edit next to it.
  • Added: support for exporting results in all result lists to graphs like other lists in the software. This may not be very useful in the part search.
  • Fixed: (case 22011) vehicles can now be exported to berryhill auctions using the auction export feature, same as inventory.
  • Added: (case 20428) auction exports now include the store id the inventory is currently at.
  • Changed: (case 22420) to match the changes to the part screen, all Print Tag check boxes have been renamed to "Tag Printed", reversing the meaning of the checkbox.
  • Fixed: (case 23108) an issue where image data from previous searches were not cleared when the user performed a new search.
  • Fixed: (case 23136) an issue where the model lists were based on the id of the currently selected part type instead of the type set id of the currently selected part type.
  • Changed: (case 23722) in order to avoid an issue where exporting search results to CSV might overflow the maximum temporary table size, we now use the default engine type.

Vehicles

  • Added: (case 23034) misc parts on a vehicle teardown will no longer copy the year/make/model/VIN/body style from the vehicle when it is changed. Only Standard parts will automatically copy that information to all associated parts.
  • Changed: the bid page now has more and clearer tooltips for the suggested bid fields on the bid tab.
  • Added: the vehicle 'costs' tab now includes inherent core charges from the vendor as well as dirty core returns to the vendor, as both of these now affect a vehicle's total cost pool.
  • Fixed: (case 23306) the costs and performance tabs now more correctly match the current cost system.
  • Changed: vehicle costs are now sorted by date and colored based on whether the costs are received or on a finalized WO.
  • Changed: the performance tab of vehicles now takes various global settings into account as to whether inventory records average cost and/or override cost allocate vehicle costs on inventory.
  • Changed: (case 23306) core costs are now properly taken into account as vehicle cost allocations.
  • Added: on the performance tab, if the costs allocated on documents and inventory is greater than the total vehicle costs, the cost field will show in red text.
  • Changed: the break even graph is no longer written out to a file in the operating system. This should make rendering graphs faster.
  • Changed: clearing the vehicle screen now clears the break even graph.
  • Added: the break even graph now shows a 'no vehicle loaded' message if no vehicle is loaded.
  • Fixed: An issue where the vehicle costs line on the break even graph did not include costs where the posting was missing.
  • Fixed: (case 23410) an issue where the show/hide image dialog hotkey was not showing up in the user hotkey dialog. The default hotkey has changed to ctrl+alt+P.
  • Fixed: an issue where the show/hide image dialog hotkey was not working.
  • Added: a new global hotkey to perform a vehicle search, similar to the part lookup hotkey. The default keystroke is shift + F4.
  • Fixed: the vehicle costs tab no longer shows master parts from work orders if those work orders have been turned into external work orders.

Vendors

  • Fixed: an issue where the terms and payment method dropdowns on the advanced information page were very short, making it tough for the user to use.

Vendor List

  • Changed: (case 23171) vendor smart searches with multiple words will now automatically require all words to be present in the results.
  • Performance: removed some unnecessary searching that happened as part of a vendor smart search that may have added slowness to these searches, especially when no results were found.
  • Fixed: (case 23407) an issue where the application could crash if the use uses the next/previous arrows when no search had been done.

Warehouse Management

  • Fixed: (case 23835) it was possible that approving jobs could partially perform the approval process and hit an error, causing the parts in the count to be partially moved. Now, if there is an error, all activity is rolled back.

Work Orders

  • Added: (case 22341) the user is now prevented from deleting inherent core charges from a job if there is cost on the core charge. This is to prevent issues where that cost wasn't hitting accounting properly.
  • Changed: (case 23314) now, items with average core cost (core inventory value) will automatically add inherent core charges to the document.
  • Added: (case 15871) if the user enters a quantity before performing a part lookup, that quantity will no longer be lost. Also, price is now preserved if the user loads misc item info.
  • Added: an "Advanced…" button to the bottom of the screen, similar to the one on the Sales Order screen for performing advanced operations, such as reopening the document.
  • Added: voiding WOs now happens within a single transaction, so that if there is any error, the entire operation is reversed.
  • Added: voiding a WO should now properly reverse changes made to the locations of any master parts.
  • Fixed: work orders can no longer be voided/reopened if it has been sent to a finalized SO. That SO must be reopened or voided first.
  • Added: when work orders are reopened/voided, their 'last changed' fields are set correctly, to avoid another user performing the same operation from another machine.
  • Fixed: reopening a WO now marks produced serials as Work In Progress instead of deleting them entirely.
  • Fixed: closed WOs no longer show an uneditable 'new' line in the master parts list.
  • Added: adding a new master part that creates serial numbers now allows the user to pick a location for the new serial #.
  • Added: new setting ("Work Orders"->"Master part costing: put core inventory items' cost into average core cost") that controls whether inventory core bank items (inventory marked with "Is A Core" checked) have their cost put into the core cost of master parts. This was existing functionality that was always on before. This setting defaults to True.
  • Added: new setting ("Work Orders"->"Master part costing: put inherent/dirty core line items' cost into average core cost") that controls whether inherent core charges have their cost put into the core cost of the master parts. This is new functionality. This setting defaults to True.
  • Fixed: new serials created on a WO now correctly inherit the default new inventory location for WOs (specified by the setting "Work Orders"->"Location for new master parts (special value $PRIMARY allowed)").
  • Added: the new serial # dialog now has a full location dropdown so that the user can properly add the new serial # to any location.
  • Fixed: (case 10837) an issue where voided or open documents would throw an error if they were reopened or voided.
  • Changed: only closed or voided WOs can be reopened, and only if the user has permission.
  • Fixed: an issue where deleted jobs or line items with bad data were keeping the user from saving.
  • Fixed: if the user reopens a WO and refinalizes it, the "choose SO to send to" dialog won't pop up if the jobs are already on another open SO.
  • Changed: (case 23422) the attachment dialog is now editable even if the document that is loaded is void or finalized.
4/8/2026

Release 14.7

EBay Extension

  • eBay dropdown behavior is now more reasonable.
  • Images on eBay listings now attach correctly when listing multiple items.
  • Several eBay errors when updating eBay records no longer occur.

Release 14.6

Database

  • Removed: (case 23781) references to various views, such as vinvoice, vquote, v_opentransferorder, etc from many enterprise functions. Its been found that views inside functions were causing increased execution times and locks on databases after mysql version 5.6.23. This was causing a lot of slowness on customer balance calculations especially. In most cases, this makes these functions as much as 50% faster even on older versions of MySQL.
  • Case 22989: Make singlequantity flagged parts move rather than use variance during counts.
  • Releasing some reworked queries to not use views

Sales Orders

  • Fixed: (case 24002) crediting inherent core charges back to the customer (forgiving core charge) now uses the GL Context of "Core Sale" instead of Return. This is to make sure that core credits don't hit inventory sales accounts. This does not affect dirty core exchanges.

Release 14.5

Manage Warehouse

  • Fixed: (case 23835) it was possible that approving jobs could partially perform the approval process and hit an error, causing the parts in the count to be partially moved. Now, if there is an error, all activity is rolled back.

Sales Orders

  • Fixed: (case 23919) an issue where payments that had an impact on more than one invoice could have their amount changed each time the user opened and resaved an associated invoice.
  • Fixed: an issue where saved payments on SOs could not have their amount set to $0 by users with the ability to edit payments. The user would see a popup with an option to "Remove $0 payments" but instead, their changes would not be saved. Now, newly created $0 payments are removed in this case, but existing payments save.

Work Orders

  • Added: new setting ("Work Orders"->"Master part costing: put core inventory items' cost into average core cost") that controls whether inventory core bank items (inventory marked with "Is A Core" checked) have their cost put into the core cost of master parts. This was existing functionality that was always on before. This setting defaults to True.
  • Added: new setting ("Work Orders"->"Master part costing: put inherent/dirty core line items' cost into average core cost") that controls whether inherent core charges have their cost put into the core cost of the master parts. This is new functionality. This setting defaults to True.

Release 14.4

Sales Orders

  • Fixed: (case 23764) an issue where the default payment amount was no longer defaulting to the remaining invoice balance.
  • Fixed: an issue where changing the document number or amount of a previously saved payment was not being saved.

Release 14.3

Customer List

  • Added: support for single-letter words in customer list search. This feature requires a change to the server as well.

Sales Orders

  • Fixed: (case 23735) an issue where returned items would get an invalid SKU, causing them to not properly increase inventory QoH.
  • Fixed: (case 23662) an issue where adding new payments to a SO would no longer correctly automatically select the customer's default payment method.

Vendor List

  • Added: support for single-letter words in vendor list search. This feature requires a change to the server as well.

Release 14.2

Vehicles (18352)

  • Fixed: (case 23306) the costs and performance tabs now more correctly match the current cost system.
  • Changed: vehicle costs are now sorted by date and colored based on whether the costs are received or on a finalized WO.
  • Changed: the performance tab of vehicles now takes various global settings into account as to whether inventory records average cost and/or override cost allocate vehicle costs on inventory.
  • Changed: (case 23306) core costs are now properly taken into account as vehicle cost allocations.
  • Added: on the performance tab, if the costs allocated on documents and inventory is greater than the total vehicle costs, the cost field will show in red text.
  • Changed: the break even graph is no longer written out to a file in the operating system. This should make rendering graphs faster.
  • Changed: clearing the vehicle screen now clears the break even graph.
  • Added: the break even graph now shows a 'no vehicle loaded' message if no vehicle is loaded.

Work Orders (18363)

  • Fixed: (case 23579) an issue where the cost field on the edit item dialog would keep the user from typing anything into it.

Release 14.1

Core Management (17564)

  • Fixed: (case 23406) the part type dropdown was not usable.

Customer (17572)

  • Added: if the user uses the next/prev arrows when no search had been done, a message is displayed, like on the vendor screen.

Customer List (18279)

  • Fixed: (case 23407) an issue where the application could crash if the user uses the next/previous arrows when no search had been done.
  • Fixed: (case 23429) an issue where customer smart searches with short words (less than 3 letters) or certain ignored words (like WAS or THE or ABOUT) would cause a search to return no results. This is due to a MySQL bug and although these words are still not considered as part of the search, at least the search is performed using all OTHER words.

Sales Orders (17685)

  • Fixed: (case 23419) an issue where the "Can change lineitem taxable" permission was not affecting newly added lineitems.

Vendor List (18278)

  • Fixed: (case 23407) an issue where the application could crash if the user uses the next/previous arrows when no search had been done.
  • Fixed: (case 23429) an issue where vendor smart searches with short words (less than 3 letters) or certain ignored words (like WAS or THE or ABOUT) would cause a search to return no results. This is due to a MySQL bug and although these words are still not considered as part of the search, at least the search is performed using all OTHER words.

Release 14.0

Highlights

  • Brand new ability to accept payments through external credit card swipe terminals. Talk to ISoft for more information about compatible swipe terminals. Integrates with the sales order and customer screens.
  • Better support for duplicate attachments on all attachment interfaces.
  • Customer and vendor searches are faster and date based searches are much easier.
  • Tooltips and easier flow on the interchange interface
  • Ability to quickly update inventory to the last price it was purchased for on POs
  • Some speed improvements to part smart searches
  • Transaction list date filters can now move forward when they are run later, as well as support for date ranges like 'This month', 'Last Year', etc.
  • Attachments can now be added to documents

Accounting

  • Changed: removed the code that disabled the ability to set recreated gl entries to a previous date. This was disabled due to complexities between SOs and WOs.

Common Resources

  • Fixed: (case 22440) an issue where the popup attachment dialogs might not correctly add new attachment files to unsaved items.

Credit Card Processing

  • Added: a new interface for integrating with a some new Heartland credit card hardware.
  • Added: a new 'configure terminal settings' options page.
  • Added: if the user attempts to process a credit card and no terminal is configured, the user is prompted to configure these settings.
  • Added: if the user fails to process a credit card because there was a problem connecting to the terminal, they are prompted to retry or configure terminal settings.
  • Added: the response from a successful credit sale now returns the approved amount.
  • Changed: the default timeout in the credit card options dialog is now 0 (unlimited) since it seems like the best bet.
  • Added: a new page to edit->options that allows the user to configure credit card terminals.
  • Added: an 'edit payment from terminal' dialog which is a staging area the user will see that will provide information about the current status of accepting payment from the customer through a credit card terminal.
  • Added: "Test connection settings" button to the configure credit terminal page. When the user clicks it, it saves the current settings and attempts to connect to the terminal with the current settings. The user is told whether this succeeded.
  • Added: the user can now cancel an in-progress connection to the credit terminal.
  • Added: better error reporting to the user for failed payment connections.
  • Added: configure credit terminal button to the 'accept credit payment' dialog, this allows a user to easily fix any configuration issues while accepting payment.
  • Added: if the customer chooses a tender type, the user interface will be changed to reflect this choice.
  • Changed: standardized the error messages shown to the user.
  • Fixed: an issue where sometimes no status message would be shown if the user cancelled between requests to the terminal.
  • Added: many read-only fields returned by the credit card interface are now shown to the user for debugging purposes.
  • Added: there is now a 'automatically close dialog on successful payment'. This is a user setting. When checked, it saves the user a click for confirming payment addition after the swipe completes.
  • Added: authorization # to the credit card dialog, as that is a useful piece of information during debugging.
  • Changed: if a payment finished successfully, the user can no longer edit amount or charge type.
  • Added: the user can void a successful payment now. This will only work on payments that have not yet been posted.
  • Added: the UI is updated in realtime as the customer chooses options on the swipe terminal.
  • Added: when a payment is processed successfully, host code, transaction id, authorization #, name on card, and host trace number are all properly saved to the database.
  • Added: 'cash back amount' is now returned by a successful payment transaction.
  • Added: support for payment method selection. Also, the payment method of 'auto select' is the default, and an appropriate payment method will be selected based on the card type and tender type.
  • Added: store level default payment method for card payments that will be selected if no valid payment methods are found by name.
  • Added: payments now save what transaction they were created by, if any.
  • Added: payments now save a successful transaction's authorization number into the document/check# field.
  • Added: support for SSL for communication over the Ethernet to the terminal.
  • Added: support for viewing payments that are not editable.
  • Added: short acct number is now always padded out to 4 digits.
  • Added: support for negative credit payments (returns).
  • Added: voiding a credit transaction now sets the document # field to empty so that it can be populated by a subsequent transaction.
  • Added: since returns do not get authorization #'s, we now put host number into the document # field for returns.
  • Fixed: an issue where cancelling while the user is being prompted for tender type could result in payments that stayed in an intermediate state.
  • Changed: some error messages to be clearer.
  • Added: since voiding payments is done by heartland reference #, and that is not as unique as an authorization number, there is now a step where we ask the terminal if the specified payment is still 'open' or not. If it is not, the void operation is not attempted.
  • Added: support for launching the CC payment dialog with the amount locked, which is useful in some cases.
  • Added: support for tracking/remembering what type of entry mode was used, as well as whether a signature is required.
  • Added: we now retrieve and store several fields required to be printed on receipts when chip and pin (EMV) transactions are made.
  • Fixed: a bug where some chip and PIN features were not being correctly read from the terminal response.
  • Added: if the customer uses a credit card to pay, they are now prompted to sign digitally. If this operation fails or is cancelled, the receipt printout will have a signature line.
  • Added: support for retrieving HREF (host reference number) from the payment information.
  • Fixed: an issue where, when the user was prompted to choose between credit and debit, the prompt was being cut off.
  • Added: support for 'PIN Verified' status for debit card transactions.
  • Added: support for automated signature collection through the S300 hardware, removed custom signature collection.
  • Added: support for automated prompting the customer between credit/debit, removed custom choice.
  • Added: we now support the CVM return from the S300 hardware which is the way the customer verified the payment (EMV only).
  • Fixed: an issue where 'user choice' tender type wouldn't automatically select Credit if the user chose credit.
  • Added: a voided transaction now overwrites the host reference number of the void operation.
  • Added: 2 new permissions, controlling whether the user can void transactions and whether the user can perform refunds.

Crystal Reports

  • Added: (case 20389) the report adder script export now correctly includes the fileid and category in the ON DUPLICATE KEY SET section.
  • Fixed: (case 20389) an issue where clicking "Replace" when adding a new report file in it would instead leave the previous report file in the system.
  • Fixed: (case 20389) the report adder script export now has a query that attempts to find 'empty' AU reports and replace them instead of inserting a duplicate. This will no longer be necessary once report.filename becomes unique.
  • Fixed: an issue where, if the user showed the advanced print dialog, previewing the report would not work.
  • Changed: new reports created from the auto-updater are now created as not user visible so that they wont' show in the report viewer until the database update is run.

Customer

  • Fixed: (case 14034) if the user attaches a duplicate file, they will now see a user-friendly error message with a button to quickly remove the duplicate file.
  • Fixed: (case 20872) an issue where the customer option list wasn't displaying the options it should show.
  • Added: the payment dialog now shows the external payment transaction's reference number if the payment was entered through a payment terminal.
  • Added: a 'card' button that launches a payment terminal interface dialog for accepting credit and debit payments on account.
  • Added: if the user changes the amount of a payment such that it no longer matches the amount of the external transaction, they are presented with a warning popup that they are causing the values to mismatch between original transaction and customer credit/accounting.
  • Fixed: (case 21196) an issue where customer default invoice terms were not being selected correctly when a customer was loaded.
  • Added: the credit card payment button is hidden if the credit card module is not loaded.
  • Fixed: (case 22484) an issue where a user without permission to edit customers might get an erroneous change detected message when they open the customer screen.
  • Added: (case 20883) the print statement dialog now has an advanced print option for specifying print options.
  • Added: (case 20883) the print statement dialog now has an email button. Hitting that button automatically fills out the print dialog with the customer's email address.
  • Added: (case 21378) there is now a permission that controls whether the user can change the total of an existing payment. This is to restrict situations in which the user can accidentally do something to a saved payment that changes the accounting impact after the fact.
  • Fixed: (case 23012) an issue where the user could possibly cancel a payment after accepting payment from the credit card terminal.

Customer List

  • Changed: position of controls on the screen has been standardized with other screens.
  • Added: date based searches now use a date-time picker to avoid ambiguity of date formatting.
  • Performance: date based searches should now be slightly faster.
  • Fixed: an issue where printing the customer list wouldn't work if the user chose to preview the report.
  • Changed: (case 21158) some recent changes added searching alternate addresses and significantly slowed down customer smart searches. The customer smart search has been rewritten to be much faster. Also, if the user performs a smart search, the results are ordered by how well they match the user's input. Smart searches are now 'full text' searches meaning words can appear in any order. However, this has the downside that searching for words that start with wildcards will not work ("*obert" will not match "Robert"). Also, the order of the results of a smart search will not carry over to printing the customer list.
  • Fixed: some issues where hitting "Show All" would not work correctly.
  • Fixed: (case 15426) an issue where the user's column order and widths were not saved when the user closed the screen.
  • Added: (case 12093) there is now a permission that controls whether the user can merge customer accounts. It defaults to off for all users.
  • Changed: (case 23171) customer smart searches with multiple words will now automatically require all words to be present in the results.
  • Fixed: customer smart searches now correctly order results with the 'best' matches at the top.

Database

  • Added: (case 19307) a new table for tracking what default printers should be used for various report type categories. These entries can be per-user, per-plant, or per-productcode (or any mix of those 3).
  • Added: fgetreport_printer returns the printer to be printed to for a specific report type based on input criterion.
  • Removed: a couple indices on the salesorderdocument table. They are not very selective and were preventing more useful indices from being used in some scenarios, such as core management loading. This table is so small, indices will probably not improve load speed any anyways.
  • Fixed: (case 20389) report.filename is now unique. This resolves issues where duplicate reports could could exist on the system due to the auto-updater. In order to do this, duplicate reports got their filename modified to have a "DUP" added to the end. These duplicates should get cleaned up at some point, as the auto-updater won't maintain them.
  • Changed: renamed interchangepricing to DEPRECATED_interchangepricing, as this table is not referenced by the application.
  • Fixed: an issue where an inventorysetting record that could cause an error on part modification (part of the version 12 update).
  • Fixed: an issue where the popularity code was not editable on the part modification screen.
  • Added: a new table: paymentterminaltransaction which will contain information about all credit card transactions handled by the system, including all fields that must be printed on the receipts.
  • Added: Voided status for payment terminal transactions.
  • Added: payment terminal transactions now save host code, which is apparently required to be on the receipt, where appropriate.
  • Added: payments now remember the terminal transaction that spawned them, when appropriate.
  • Added: an index to inventoryserial for looking rows up by status.
  • Added: (case 21158) a full text index to customerlist, which allows us to speed up customer smart searches significantly.
  • Added: (case 7280) a new table for associating attachments to sales orders.
  • Added: support for attachments on POs, TOs, and WOs.
  • Added: support for a verification status of PIN Verified for debit card transactions.
  • Added: 2 new permissions, controlling whether the user can void transactions and whether the user can perform refunds. Both default to on for any user who could previously void payments in the system.
  • Changed: the right click list graph template to no longer show scrollbars when rendered inside an embedded IE window.
  • Fixed: (case 22371) an issue where clicking to show/hide series on a stacked column graph without trendlines would not work correctly.
  • Fixed: an issue where showing an hiding a series with a point type other than Circle would cause the newly unhidden points to be circular.
  • removed: an unused setting.
  • Added: (case 22332) Sales Order transaction list search now has a "Condition" option for both search filter and results.
  • Fixed: an issue where the parts screen might continuously say that the location id was being changed and the user had to log a reason why even though it was not changing anymore.
  • Fixed: the chart template now supports aggregate column charts.
  • Fixed: chart data with invalid X axis values is now ignored.
  • Added: (case 20434) support for a new table (charttemplate) that stores shared chart templates.
  • Added: a new permission controlling whether a user can manage saved chart templates.
  • Added: (case 22811) a new status to inventoryserial called 'On Order', for unreceived PO serials.
  • Changed: all unreceived serials on open purchase orders have had their status moved from In Transit to On Order.
  • Fixed: (case 22824) an issue where the model lookup on the inbounding import might throw a database error.
  • Added: (case 12093) a new permission for merging customers.
  • Fixed: (Case 21613) Added support for auction cancellations.
  • Added: support for a verification status of PIN Verified for debit card transactions.
  • Added: 2 new permissions, controlling whether the user can void transactions and whether the user can perform refunds. Both default to on for any user who could previously void payments in the system.
  • Added: (case 22915) if a 'singlequantity' item is transferred between stores, change the inventorystoreid of any salesorderline/jobpart rows that used to reference the old store. Also, update any documentlinelocations, do pick + move at the destination store and update all hold quantities.
  • Fixed: (case 22912) an issue where invoices with lineitems not on hold would still hold quantity

Deliveries:

  • Fixed: (case 4926) a crash that would happen if the user removed the last item from a run sheet.
  • Fixed: an issue where the first time the user clicked on the document list would be ignored.
  • Fixed: the document list would load more times than necessary, slowing things down.
  • Fixed: a crash that could be caused if the user clicked the checkboxes in the document list too fast.
  • Added: (case 14353) the picking page now has a shipping method filter. Choosing something in this dropdown will filter to match just SOs, POs, and TOs with that shipping method. Only the shipping methods the user has set up on the configuration tab will be shown here.
  • Added: (case 14353) the shipping method column in the list can now be used to quickly change the shipping method of the selected document without opening that document on the document screen. If the user switches to a shipping method that is auto-picked, they will be alerted that this will cause the items to be picked automatically and that the list should be refreshed.
  • Changed: all the dropdowns on the picking tab now allow auto-complete as the user types.
  • Added: 3 new permissions that control whether the user can edit the shipping method on TOs/POs/SOs that the user loads onto the screen.

EBay Extension

  • Fixed: (Case 21050) ebay image uploads option hidden.
  • Fixed: (Case 21047) Listing durations now save correctly and show correctly.
  • Fixed: (Case 21245) The auction and transaction tab now both load auctions based on auction start time.
  • Fixed: (Case 21246) Freight shipping cost is no longer 8,000,000,000, but is 0.00 as intended.
  • Fixed: (Case 17479) Image counts on the listing screen of eBay should now be accurate regardless of whether the image is a url or a file.
  • Fixed: (Case 21212) Global Shipping now has a global default. a checkbox is added to the global config screen, as well as to the edit dialog for a specific listing.
  • Fixed: (Case 21210) We can now add up to 12 images to an ebay listing, not just in the description anymore!
  • Fixed: (Case 21036) Empty dropdowns in the edit dialog no longer cause crashes on ok. Missing items are bolded, but are obviously still not being noticed. If the user tries to list an item with empty dropdowns, it will throw up an ebay error dialog like it does for other things (like a missing description) instead of crashing.
  • Fixed: (Case 21210) Fixed a bug where listings with more than twelve images would upload no images instead of just being limited to the first twelve.
  • Fixed: (Case 21475) Now with support for auctions in addition to the already supported fixedpriceitem listings.
  • Fixed: (Case 21613) Added support for auction cancellations as well as the necessary database column for this feature.
  • Fixed: (Case 21613) Error handling added for auction listings.
  • Fixed: (Case 21611) Implemented error handling from sales and quotes screen.
  • Fixed: (Case 18603) eBay can now create new customers with the standard defaults.
  • Fixed: (Case 18035) Added a setting, configurable from the config screen, for whether the BuyItNow price is retail + core or just retail.
  • Fixed: (Case 22231) Global Shipping setting now pulls into the edit details screen and the listing.
  • Fixed: (Case 21971) Free shipping now correctly disables cost and sets it to 0 in the edit dialog. Unchecking re-enables the cost column for modification, but does not revert the cost change.

General

  • Added: the user can now drag items to the edge of all list controls that support drag and drop to scroll the list.
  • Fixed: if the user drags anything other than files into an attachment area, the 'no drop' icon is shown.
  • Added: if the user drags a file over an attachment area, the list's attachment system is disabled so that the user can drop files into the list as well.
  • Changed: when the user drags items within a list control, they are stored in a special clipboard format so that other applications don't think they can get them.

Global Settings

  • Added: (case 20434) support for saved chart templates in right-click graphs.

Graphing

  • Changed: (case 21229) to make the graph options dialog easier to use, the chart type dropdown is now a list with graph icons. Also, many of the controls in the dialog now have tooltips and clearer names.
  • Added: (case 14508) the graph options dialog now has a preview chart pane next to the chart options. This allows the user to see what the graph will look like without having to generate the final graph. The chart automatically refreshes whenever anything changes that affects it.
  • Added: a 'preview in external browser' button that shows the chart in an external browser window without having to close the dialog.
  • Added: an instructions field that tells the user what they still need to do before the current options can generate a chart.
  • Added: a series point shape column so that the user could choose what shape the points will be.
  • Added: trendline dropdown where the user can choose what degree of trendline they'd like to add to the graph for each series.
  • Added: the right click graphing dialog now has the following new features:
  • Advanced mode: the user can go into 'advanced mode' when building a chart. This shows various extra options that may not always be required when generating a basic graph. The user's selected mode will be remembered.
  • Trendlines: the user can choose to display trendlines for each data series on the graph. If the user is in advanced mode, they can choose the type of trendline as well as whether the trendline's formula and fitness should be displayed in the legend.
  • Point shape: (Advanced mode only) the user can choose the shape of the points in a line/scatter chart for better black&white printout or colorblind accessibility.
  • Cumulative series: (Advanced mode only) the user can choose to make a data series cumulative, making it so that all values will include all previous values in the same series.
  • Changed: current graph template has been modified to no longer show scrollbars in embedded IE windows (required a slightly bigger buffer around all sides). The way the graph resizes has been optimized slightly to better use available screenspace.
  • Changed: current graph template has been modified to properly handle cumulative data series, trendlines, point shape selections, etc.
  • Added: an error message to chart generation that will stop the user if they choose a discrete (non-numeric, non-date) x axis for a line or scatter graph. While these graphs technically work, they are not very useful.
  • Added: (case 20434) support for saving chart templates as well as using saved chart templates.
  • Fixed: an issue where the right click graph template would show unnecessary 0.00 points in line charts if the series was cumulative.
  • Fixed: line charts with missing points are now smoother and interpolate between those points.
  • Fixed: a crash when adding new saved chart templates.

Interchange

  • Fixed: if the user hits enter when they're in the 'search area' of the interchange screen, a search will be performed, but hitting enter when entering interchange records down below will treat the 'enter' as a spreadsheet enter.
  • Fixed: a crash that could occur if someone doubleclicked an item with a dropdown where an invalid model was in a dropdown.
  • Removed: the sales meta-data no longer looks at non-stocked item sales.
  • Added: the sales meta-data now also looks at work order usage history.
  • Fixed: (case 21159) an issue where changing the sub-interchange # of an application might not correctly change all other applications in the group if the rows were new.
  • Added: tooltips to various controls on the screen to make it easier to use.
  • Changed: the minimum size of the choose interchange # popup has been increased to attempt to solve issues where some of hte information was not visible initially.

Login:

  • Added: support for a new permission for managing chart templates in right-click graphing.

Master

  • Fixed: an issue where the thread progress dialog that showed "X/Y processes still running" would sometimes show an incorrect # of elapsed seconds if some of the tasks took a long time.

Parts

  • Fixed: (case 20163) clearing the parts screen now correctly sets the available and hold quantity.
  • Fixed: (case 14034) if the user attaches a duplicate file, they will now see a user-friendly error message with a button to quickly remove the duplicate file.
  • Fixed: (case 20860) several issues related to tab order on various tabs.
  • Performance: saving large collections/breakdowns can now be as much as 3 times faster, especially on slow connections. Many queries that were being run to see if inventory on the collection had been modified since it had been loaded has been combined or eliminated.
  • Fixed: (case 20728) an issue where sending parts from the parts screen to the part modification screen wouldn't load anything up.
  • Changed: the save confirmation dialogs that are launched from many of the buttons and functions on the parts screen now look like the ones in use on the vehicle screen and some others (where the pages that changed are displayed). Also, the buttons have more specific verbs.
  • Changed: the save confirmation dialogs have had their phrasing adjusted to be more concise.
  • Fixed: (case 20896) an issue where parts wouldn't save reordered attachment ranks if they hit the save button instead of the close button.
  • Fixed: (case 21206) an issue where the location dropdown was not wide enough.
  • Changed: the change log dialog now puts newer entries at the top, like all historical logs in ITrack.
  • Added: the change log dialog now puts the user's focus into the first new item, and uneditable items show their comment in a multi-line readonly edit.
  • Fixed: an issue causing variance locations to be created when the user opened a part that had unreceived serials 'In Transit' on a PO.
  • Added: (case 11280) the store dropdown at the top is no longer read-only. This dropdown has 2 functions:
  • 1. on new (unsaved) parts, this allows the user to choose what store to create the part at.
  • 2. on existing parts, this loads the part at the other store. This makes it so that the user doesn't need to use the search screen to look at a part record at other stores.
  • Changed: (case 11280) the parts screen now only puts the user onto the aftermarket page when the user clicks the Replenishable stock type radio, and not when they load a part or switch plants on a part.

Part Configuration

  • Fixed: (case 16267) an issue where the user could see a database error if a part type had a category that didn't match the displayed category name by case only. Now the interface shows which categories are in use, ignoring case.

Purchase Orders

  • Added: (case 20388) if a purchased item has a price different than the replenishment cost on inventory, an attention icon is shown. If the user double-clicks this icon, the inventory record will be updated.
  • Fixed: (case 20857) an issue where the 'core exchange' column in the POs return dialog was hidden, making it impossible for the user to specify that a return associated with an inherent core charge was an exchange instead of just a credit. This issue was introduced in version 12.
  • Fixed: an issue where the return dialog defaulted to just showing purchases from today instead of the last 90 days, as intended.
  • Fixed: (case 20893) an issue where some of the right click options in the return dialog were not working.
  • Fixed: (case 21052) a crash that could be caused by returning an item to a vendor.
  • Added: (case 7280) support for attachments on purchase orders. The attachments dialog is automatically shown to the user if the document has any attachments. Whether the user wants to view this dialog can be toggled with the attachment button, this preference is remembered.
  • Added: attachment support to transfer orders.
  • Fixed: attachment dialogs now correctly close on POs/TOs if the user switches screens.
  • Added: the PO and TO attachment dialogs now properly hide themselves when the user switches document pages.
  • Added: (case 21768) if the user added an inherent core line to a non-stocked purchase line that had an order fulfillment on it no longer copies that order fulfillment to the inherent core line.
  • Fixed: (case 21865) an issue where POs would automatically be marked as done receiving when a user without permission to receive inventory would save them after all quantity was received.
  • Fixed: (case 22419) an issue where transfer orders that were created due to a multi-store purchase from inventory overview would not properly update the 'on order' and 'on hold' quantities.
  • Fixed: an issue where, if the user's current store doesn't match the store inventory is being received into (POs and TOs both), the wrong store's settings might be used for the default inventory location and the receiving location.
  • Changed: the location column in the choose serial popup is now labeled Dest. Location to make its purpose clearer.
  • Added: (case 11065) the user can now set a 'Receiving location' for the entire PO posting. This sets all quantity/serials being received on a posting to got to the specified location. This can be accessed through the advanced operations button or the right click menu.
  • Fixed: (case 22811) an issue where unreceived purchase order serials were causing the parts screen to creating variance locations. Now, those serials are marked as On Order instead of In Transit, and On Order serials are not considered as part of the on hand quantity.

Reports

Billing

  • Added: (case 20164) settings for displaying "CONTINUED ON NEXT PAGE….." at the bottom of multiple-paged documents, except on the last page and displaying balance at the top of the document (per customer).
  • Fixed: (case 21515) updated period applied payment logic to include invoices with date = End Date. It was a < previously, not a <=, so it was possible for some payments to show incorrectly as unallocated.

Billing OIA

Removed: (case 20888) deprecating the report. Functionality is now covered by the OIA setting on standard Billing report.

Credit Summary

  • Fixed: (case 20780) the subreport and fixed the single values not showing up sometimes because the query used joins instead of left joins + aesthetic improvements.
  • Fixed: (case 20780) the graph was flipped horizontally.

Customers Added By Date

  • Added: (case 22261) customer email. Also tidied the report.

Customers With No Purchases After Date

  • Added: (case 20048) a sortby parameter, tidied the report

GL Activity

  • Added: (case 22063) a new parameter that lets you sort by Associated Customer, then Document Type instead of the standard Document Type if desired.

GL Entires By GL Account

  • Added: (case 20733) set the Document and GL Entry level group header to repeat with " continued…" suffix if applicable.

Inventory By Part Type & GL Category

  • Added: (case 18417) the ability to sort by the part type total columns (In Stock, Sales, Percent Profit) and an option to exclude the GL Category totals if you just want a summary. The ordering functionality required a substantial change to the report structure.

Inventory Detail By Part Type

  • Added: (case 8217) vehicles with cost remaining even if they are not status A or H (noted on report).
  • Added: (case 2086) a column for average core cost.

Inventory Summary

  • Fixed: (case 22572) now includes vehicles with overallocated cost regardless of status and quantity in addition to vehicles with cost remaining regardless of status and quantity. (updated condition from > 0 to <> 0)

Inventory Summary By Source

  • Added: (case 20507) a new third summary option, which will show each unique inventoryid/inventorystoreid item by tagnumber, store, and part type. Summarize option is no longer True or False; it is Part, Part Type, or Source. Tidied the report.

Inventory Exhausted

  • Changed: (case 2086) updated the way average cost is calculated

Inventory Misc

  • Changed: updated the way average cost is calculated, added a column for average core cost, and tidied the report.

Inventory Summary

  • Added: (case 8217) vehicles with cost remaining even if they are not status A or H (noted on report).
  • Added: (case 20172) the thousands comma separator to store quantity total. It was missing.

Inventory Summary With Cores

  • Removed: (case 8217) deprecated. Inventory Summary includes cores, so this is not needed.

Label

  • Added: (case 22257) Category. Category was on the standard inventory section of the report, but not the whole unit section.

Label Delivery Picking

  • Added: (case 21160) a new report for printing picking labels from the delivery screen.

Labor Detail By Employee

  • Fixed: (case 20315) report query; removed the JOIN to wagerate. user.wagerateid can be NULL.

Labor Log By Employee

  • Fixed: (case 20315) report query; removed the JOIN to wagerate. user.wagerateid can be NULL.
  • Fixed:(case 20738) hours rounding so decimals would always line up.

Labor Summary By Employee

  • Fixed: (case 20315) report query; removed the JOIN to wagerate. user.wagerateid can be NULL.
  • Added: (case 20165) estimated labor hours billed and labor charge for fixedlabor charge jobs using default workordertype rate or customer's custom labor rate.

Payment Receipt

  • Added: (case 21365) payment terminal transaction fields for credit card payments through the terminal.
  • Changed: (case 21365) some formatting in the terminal transaction section to make things more clear, added ----- header and footer and suppression on the authorizationcode line when it is absent
  • Added: (case 21365) terminal-captured customer name and lines for PIN VERIFIED, SIGNATURE CAPTURED ELECTRONICALLY, and SIGNATURE NOT REQUIRED as applicable

Pick List

  • Removed: (case 22486) cores.

Purchases From Vendor

  • Changed: (case 22456) expanded grand totals, splitting them across two lines and giving them more horizontal room to grow and don't show the number mask.

Purchase Order Posting Report

  • Changed: (case 22435) updated Posting # at the top to show actual Posting #, not purchaseorderhistoryid.

Purchase Order Receiving List

  • Changed: (case 22430) location ordering. It now considers rank.

Received Items

  • Added: (case 21793) the ability to group by source, if desired. Tidied the report and added back in Misc items, which were excluded previously. This report is absorbing the functionality of Received Items By Source.

Received Items By Source

  • Removed: (case 21793) deprecating the report. Use the Receieved Items report instead.

Sales By GL Category

  • Fixed: (case 22063) switched to using salesorderline.averagecost instead of salesorderline.cost for the cost column. Changed column header for clarity.
  • Fixed: (case 21976) changed the UNION to a UNION ALL in the query.

Sales By Category, Detailed

  • Removed: (case 21549) deprecating the report.

Sales By Invoice

  • Added: (case 22489) a top level store grouping with tiered subtotals.

Sales By Lookup

  • Removed: (case 21549) references to an old view, v_salesorderitem.
  • Added: (case 21549) cleaned up the report, and added wildcard support to the lookup parameter.

Sales By State

  • Fixed: (case 22692) a bad JOIN in the query that had been throwing off the totals due to row duplication.

Sales By Store Region

  • Added: (case 21507) adjustments, which were missing.
  • Fixed: (case 21507) Got rid of a superfluous JOIN to state in the query. Totals match against Sales By Invoice in testing.

Sales GL Entry Reconciliation

  • Added: (case 20640) adjustments and a comment header.

Sales Insights

  • Added: (case 21078) more options. Report now has an interval parameter that lets you pick Weekly, Montly, or Quarterly. A week is now considered Sunday-Saturday. Report is smart enough to know if an interval is incomplete and prints "so far" with the values. Widened bars in the bar graph. Improved all the queries with the new approach. Added customer # and part type # to the second and third sections respectively. Got pagenumber and N of M back in there in the page footer.
  • Removed: (case 22139) decimals on the invoice and line count on the Sales Insights section.
  • Added: (case 22139) partnumbers to top parts list.
  • Fixed: (case 22139) Job Lines and Misc Lines grouping together in the part list and pie graph; they are separate now.

Sales Order 11in

  • Fixed: (case 20831) replaced customerunit.customerunitid with customerunit.unitnumber when present.
  • Added: (case 20164) setting for displaying "CONTINUED ON NEXT PAGE….." at the bottom of multiple-paged documents, except on the last page
  • Fixed:(case 21122) fixed labor charge not showing up when there was no workclock activity
  • Changed: (case 21122) firstname + lastname to just user name when printing labor detail.
  • Added: (case 21365) payment terminal transaction fields for credit card payments through the terminal. An SO can have multiple payments, and therefore multiple paymentterminaltransaction sections - and there is handling for that.
  • Changed: (case 21365) some formatting in the terminal transaction section to make things more clear, added ----- header and footer and suppression on the authorizationcode line when it is NULL. Added a section in the footer for when paymentterminaltransaction.amount * -1 <> paymentline.amount. I don't want to misrepresent the credit card transaction amount, but we can't apply the wrong amount to the balance.
  • Added: (case 21365) terminal-captured customer name and lines for PIN VERIFIED, SIGNATURE CAPTURED ELECTRONICALLY, and SIGNATURE NOT REQUIRED as applicable
  • Changed: (case 21762) job part and labor sections to show separate group totals when showing details.

Sales Order Lines

  • Removed: (case 21976) deprecating this report.

Tag

  • Added: (case 18604) a QR Code that links to the part on HTP if it is public/worldviewable. This can be disabled with a setting, but is on by default.
  • Fixed: (case 20780) company product code in the QR Code - it was still hardcoded with a fake for testing.
  • Added: (case 20967) dynamic formatting to Category so up to 50 characters can fit, with resizing.
  • Removed: (case 20967) QR code functionality. This is temporary and will be added again when we can improve speed.
  • Changed: (case 21794) updated barcode format for serialized parts to D
  • Added: (case 21668) serial number below barcode when present and when the setting to show tag below barcode allows it (same setting affects both).

Top Parts Age Trending

  • Added: (case 20780) a part type parameter.
  • Fixed: (case 20780) the line graph data not populating correctly for the Make/Man grouping.

Top Part Sales

  • Added: (case 21551) a new report showing top part sales, renamed "Top Sales Per Part Type" to "Top Part Sales" and cleaned up the report.

Top Sales Per Part Type

  • Removed: (case 21551) deprecated the report, the updated and renamed version is "Top Part Sales"

Transfer Order

  • Changed: (case 22436) the way serials are displayed, showing which serials go with which locations in the source and destination location columns

Vehicle Profitability

  • Removed: (case 8217) deprecating. Vehicle Value Analysis is a superior report that covers this functionality.

Vehicle Upside Down

  • Removed: (case 8217) deprecating. Vehicle Value Analysis is a superior report that covers this functionality.

Vehicle Value Analysis

  • Changed: (case 15147) replaced fvehiclecostalloated with the new function fvehiclecostconsumed, which cuts out manual costing, pre-allocations, etc…

Weekly Sales Insights

  • Added: (case 20780) percentages to the bottom 2 charts and added a 5th column to the top chart for averages. Swapped "Other" color from purple to gray to match all the other Trending reports.
  • Changed:(case 20836) broke jobs out of "Misc Line Items" to have their own line.

Work Clock Times

  • Fixed: (case 22255) a time duplication issue. The Internal Entries section now excludes activities tied to a work order type to prevent duplication of time clocked on a workorder and an activity.

Work Order Internal

  • Fixed: (case 20909) updated margins, verfified database for every subreport, and fixed subreport parameter link for storeid - which may have been causing an "error formatting field object" issue.

Report Viewer

  • Fixed: (case 20702) an issue where some fixed report parameter value defaults would act strangely when the user selected them.
  • Fixed: an issue where date pickers for report parameters might show the year 1899 as the default value.
  • Fixed: an issue where date report parameters with fixed values might not get formatted correctly.

Sales Orders

  • Added: (case 19339) if the user voids a closed invoice and chooses to not void the payments, those payments are now unattached from the SO. This is to make it easier to find those payments in the future to associate them with another invoice.
  • Added: if the user switches from a document type that locks prices to $0 to one that doesn't, the lineitem prices automatically go back to the default customer prices.
  • Fixed: switching customers on an inventory adjustment document should no longer recompute the prices to not be $0.
  • Fixed: (case 10321) manually adding items to an inventory adjustment document should no longer load prices that are not $0.
  • Fixed: a recent regression where unnecessary popups were appearing when a SO was being voided (these warnings/errors don't matter if a document is being voided).
  • Fixed: an issue where switching to a document type that doesn't care about price violations might not correctly clear price warnings.
  • Added: a new "Card" payment button that allows the user to add a new payment from an external credit card terminal.
  • Fixed: (case 20854) an issue where opening the return dialog for a saved SO might show the saved line items on that SO twice.
  • Fixed: an issue where adding a new manual payment wouldn't always put focus into the first editable field in the list.
  • Fixed: (case 20893) an issue where some of the right click options in the return dialog were not working.
  • Fixed: hitting add payment buttons on the SO now properly puts the user into the payment list for immediate editing.
  • Fixed: (case 21102) a query error that would be thrown when the user sent an item from the warehouse management screen to an inventory adjustment document if that item had been written down more than once previously.
  • Fixed: (case 21157) edit closed SOs permission is now checked for whether the user can edit return reason on a closed document.
  • Fixed: an issue where saving changes on a closed SO (required a special permission) would not save any changes on the last item.
  • Added: if the user double-clicks a payment on the SO, the payment detail/external transaction dialog is brought up again. This allows voiding a payment that was accepted by mistake as well as viewing info about the transaction that created it.
  • Added: the credit card payment buttons are hidden if the credit card module is not loaded.
  • Fixed: (case 23012) an issue where the user could possibly delete a payment after accepting payment from the credit card terminal. Also, the user can no longer close a SO with an unsaved payment from the credit card terminal, as that would lose the transaction. The user must either void the transaction or save.
  • Added: (case 7280) a non-modal attachments pop-up dialog for the user to manage attachments with. This dialog appears by default, but can be toggled on and off with the attachment button. If the user opens a document with attachments on it, the dialog is automatically opened.
  • Fixed: an issue where text blinking stopped working due to a change in 2014.
  • Fixed: (case 18835) an issue where sales orders for customers who required PO #'s wouldn't pop up the requirement dialog if they weren't buying at least 2 items. Now, the PO # field blinks and the warnings pop up if the invoice subtotal is greater than $0.
  • Fixed: (case 22490) an issue where the "None Selected" option in the choose serial # popup wasn't working.
  • Fixed: the "In use" checkbox in the configure adjustment types dialog now correctly accounts for sales order adjustments and fees on bids.
  • Fixed: (case 22090) an issue where all modified job parts would always set the inventory id on save, overwriting any 'in-progress' action a user might be doing on the core management screen.
  • Changed: (Case 18642) Smart Search now replaces $STORES with a list of OR statements specifying inventoryid. Not required, but can easily limit searches when using search modules.
  • Changed: (Case 13005) Smart Search Module list now uses checkboxes instead of a sticky list, and its right-click menu allows for selecting or deselecting everything.
  • Fixed: Search Defaults Page was not restoring Smart Search Module default selection when clicked (it did nothing instead).
  • Fixed: (case 20517) an issue where doubleclicking a vehicle attachment icon on the vehicle search could cause an application crash.
  • Added: a 'lookup VIN' button next to the VIN field, similar to the vehicles screen.
  • Changed: stock # field is now slightly larger, to facilitate longer stock #'s.
  • Fixed: several places where dismantled date was incorrectly labeled teardown date.
  • Removed: dismantled date from the dropdown searches since its already in the date picker search, which is a bit easier to use.
  • Fixed: the dropdown search for 'dismantled' now correctly looks at the dismantled date.
  • Fixed: (case 23108) an issue where image data from previous searches were not cleared when the user performed a new search.
  • Fixed: (case 23136) an issue where the model lists were based on the id of the currently selected part type instead of the type set id of the currently selected part type.
  • Fixed: (case 21654) an issue where the vehicle search page did not remember the user's selected store(s) to search. This system now works identically to the part search stores.

Transaction List

  • Added: (case 11402) all date and date/time filters now have a 'date range' dropdown column where the user can choose options like 'Last 90 Days' or 'This Month'. When one of these is chosen, re-running the report again later will automatically move the dates forward.
  • Added: (case 11402) support for "Custom: Relative" date ranges. These are like fixed date ranges (the user chooses the start and the end) except that the dates are remembered as offsets from the current date (such as 120 days ago or 3 days in the future). This gives users the ability to save search templates that have date filters that 'move' as the user runs the filter in the future without having to use one of the specific date ranges supplied by the system (such as "This Month" or "Last Year").

Utilities

Print Queue

  • Fixed: (Case 21424) Configuration Default settings have been improved
  • Fixed: (Case 20820) Support for default parameters has been added.
  • Fixed: (Case 20582) Network connection loss should no longer crash PrintQueue
  • Fixed: (Case 19307) Support has been added for custom report titles
  • Fixed: (Case 20144) Error reporting has been improved.

Vehicles

  • Fixed: (case 14034) if the user attaches a duplicate file, they will now see a user-friendly error message with a button to quickly remove the duplicate file.
  • Fixed: (case 19111) vehicle costs could be incorrect if any POs had invalid vendors.
  • Performance: saving large teardowns can now be as much as 3 times faster, especially on slow connections. Many queries that were being run to see if inventory on the teardown had been modified since it had been loaded has been combined or eliminated.
  • Fixed: (case 20849) an issue where, if the user changed a vehicle's status, user status, or (especially) location, then choosing to cascade that change to all associated inventory records, that change might get rolled back if there were changes to the same items on the bids/teardowns tab.
  • Added: if the user cascades location changes from a vehicle to parts on a teardown, that change is now immediately reflected on the teardown screen without having to reload.
  • Added: the retail price in the location/status cascade dialog is now right aligned and sorts correctly.
  • Fixed: (case 20896) an issue where vehicles wouldn't save reordered attachment ranks if they hit the save button instead of the close button.
  • Fixed: (case 20955) an issue where the hidden field vehicle.dismantled was incorrectly being set by the 'purchase date' field instead of the dismantled date.
  • Fixed: (Case 16989) make sure any new quantity on teardown items doesn't go into the variance location.
  • Added: (case 23034) misc parts on a vehicle teardown will no longer copy the year/make/model/VIN/body style from the vehicle when it is changed. Only Standard parts will automatically copy that information to all associated parts.
  • Fixed: (case 21953) a rare issue where a teardown/bid item with a bad inventory type might cause a crash when loading the vehicle.
  • Added: (Case 21416) Added a new graphing tab to the vehicles screen. This area shows a vehicle 'break even' graph showing cost and revenue over time.

Vendor

  • Fixed: (case 14034) if the user attaches a duplicate file, they will now see a user-friendly error message with a button to quickly remove the duplicate file.
  • Fixed: if a price class doesn't have a store-specifc override, the "Default" entry is automatically selected.
  • Fixed: (case 10091) an issue where selecting a new store to create store-specific price class overrides might save all the values as 0.
  • Fixed: a possible crash when editing a price class and switching whether it is global.
  • Fixed: (case 21814) an issue where loading a vendor, then loading another vendor without clearing the screen in between might cause attachments to move between the vendors.
  • Fixed: minor issues with button sizing.

Vendor List

  • Changed: position of controls on the screen has been standardized with other screens.
  • Fixed: (case 15015) phone/fax searches now allow the user to search correctly instead of treating the input as a number.
  • Added: date based searches now use a date-time picker to avoid ambiguity of date formatting.
  • Performance: date based searches should now be slightly faster.
  • Changed: (case 23171) vendor smart searches with multiple words will now automatically require all words to be present in the results.
  • Performance: removed some unnecessary searching that happened as part of a vendor smart search that may have added slowness to these searches, especially when no results were found.

Work Orders

  • Fixed: (Case 20339) a crash when sending items from search to a WO from the right-click menu.
  • Fixed: (case 20023) an issue where inventory on WOs would use retail price instead of customer pricing for jobs set to use customer pricing.
  • Fixed: some minor display issues causing some controls to not be placed like on other screens.
  • Performance: deleted parts now run a single query to delete locations/order routing/etc. This will make saving a little faster when items are deleted.
  • Fixed: (case 18878) estimate WOs no longer prompt the user for serial #'s for master parts or job parts.
  • Added: if the user changes the 'estimate' checkbox, all serial # related attention icons are refreshed, so that if a WO leaves estimate state, the user will see that they need to choose a serial #.
  • Fixed: an issue where the user could not view the part requests on voided or closed WOs.
  • Added: (case 7280) work orders now support attachments. Drag and drop attachments into the new popup to attach things to a WO. Use the attachments button to show/hide the popup.
  • Added: (case 21878) if the user attempts to load an inactive work order type, the work order will now load correctly.
  • Fixed: several crashes related to work order types that were inactive.
  • Fixed: if the user edits the current work order type and renames it, it will be renamed in the dropdown correctly.
  • Fixed: (case 21883) an issue where the user could delete or add items to a closed WO.
  • Fixed: if the user sends items from search to a closed WO, those items will be ignored.
  • Fixed: the 'core returned' checkbox in the edit item dialog no longer can be toggled if the work order is closed or voided.
  • Fixed: an issue where blank, empty items would be unnecessarily added to the bottom of a WO if the user added an inherent core or dirty core exchange to an item on a WO.
  • Fixed: (case 22090) an issue where all modified job parts would always set the inventory id on save, overwriting any 'in-progress' action a user might be doing on the core management screen.
4/8/2026

Placeholder release note:

Version 13 was skipped and not released as a standalone public release. Its changelog content was rolled into Version 14.

Newer Older