Changelog

Enterprise Desktop
7/13/2026

Purchase Orders

  • Fixed: (EE-1303) a crash that could occur when adding a vendor core return to a PO if that core return was for a purchase on the same PO.
6/30/2026

Data Management

  • Fixed: (EE-1291) an issue where blank cells in an import spreadsheet could throw errors when mapped to "ID" columns. Now, for numeric fields, the system will decide automatically whether a blank cell will become "0" or "NULL" depending on what the database column prefers. This will better handle both numeric fields like YEAR as well as "ID" columns like "Vendor #".

Accounting

  • Updated: (EE-1198) Increased input length for name field of GL Accounts from 50 -> 75
5/29/2026

Work Orders

  • Fixed: Work Orders -> Send to Invoice [EE-1225] now recalculates sales order subtotal and tax immediately after converting a work order to an invoice, so the home screen and reports no longer stay at $0 until the sales order is saved. Systems using external tax services still need one save after opening the invoice to refresh tax.

Vehicles

  • Fixed: (EE-1266) Fees adjustment list showing options it shouldn't
  • Fixed: (EE-1266) Crash when adding blank bids with adjustments
  • Fixed: (EE-1266) Rounding error on bid/gm% fields auto calculating

Home

  • Added: (EE-1150) Persistent tracking/settings for all the filters to persist when re-opening
  • Added: (EE-1087) Attn icon sorting
  • Added: Attn icon column to PO/TO

Purchase Orders

  • Added: (Case: EE-1048) save option to not clear purchase order on save

General

Customer Contact

  • Added: persistent tracking/settings for the Home page like the other filters
  • Removed: Show only my correspondence setting - replaced with a non-specific version of the same setting
4/21/2026

Home

  • Fixed: some issues the user could run into where some of the tabs could become unstable if the user didn't have permission to view SalesOrders at any stores

Vendor

  • Fixed: A query error when updating vendor options.
4/10/2026

Compatible with database version 4240 released with this update.

Database

  • Added: primary keys to some tables for better mysql8 compatibility
  • Added: packing list is now available on transaction list for the purchase order source
  • Added: year is now available on transaction list in the inventory source
  • Fixed: The alternate parts info pane should now show alternate lookup inventory even when a record has no manufacturer or model set.
  • Changed: some of the column widths and order of the alternate parts info pane to better fit the data.

Home

  • Changed: (EE-1211) filters for the Purchase Order Home screen property page
  • Added: Salesperson autocomplete filter replacing mine/all radio buttons
  • Changed: (EE-1211) filters for the Transfer Order Home screen property page
  • Added: User autocomplete filter replacing mine/all radio buttons

Customer Contact

  • Changed: (EE-1211) filters for the Customer Contact home screen property page
  • Added: "Created By" autocomplete filter replacing mine/all radio buttons
  • Added: "Assigned to" autocomplete filter

Sales Order

  • Fixed: (EE-1118) field length issues on sales order/customer/vendor screens.
  • Fix: (EE-1221) Changing SO document type when pulling in a part from a sibling screen now properly updates the UI (#23). This mainly affects starting an inventory adjustment document.
  • Added: (EE-1110) suppress duplicate item warning user setting/permission checkbox (#20)
  • Added: sales order back order dialog now has an explanation prompt to explain the function of the popup for better user experience.

Transfer Order

  • Added: suppress duplicate item warning user setting/permission checkbox

Purchase Order

  • Fixed: an issue where the customer drop-ship box wasn't wide enough to display that text
  • Added: suppress duplicate item warning user setting/permission checkbox

Customer Contact

  • Changed: (EE-1211) filters for the Customer Contact home screen property page
  • Added: "Created By" autocomplete filter replacing mine/all radio buttons
  • Added: "Assigned to" autocomplete filter

eBay

  • Fixed: several display issues where button text wasn't easily visible

Data Management

  • Added: (case: EE-1116) we now track if an input is mapped or not. We now skip the warnings that would appear if an input isn't mapped and has a default conversion field.

Report Viewer

  • Fixed: the report viewer screen now properly closes if a preview is taking too long and the user chooses not to wait for Crystal Reports to properly cancel the job. The time to wait has been shortened from 10s to 5s.

Customers

  • Fixed: an issue where customers would only save the first 50 out of 100 allowed characters on street and mailing addresses.
  • Changed: customer type has been expanded to 50 characters from 20 to match vendor types.

Vendors

  • Fixed: an issue where vendor types would only save the first 20 out of the 50 allowed characters.
  • Fixed: (EE-1153) an issue where purchase order statuses might not show correctly on the vendor screen

Shared

  • Added: new permission for the ability to suppress duplicate item warnings on document screens
3/12/2026

Parts

  • Fixed: (Case: EE-1117) fixed an issue where primary location might not display correctly if the inventory is single quantity or has a single serial

Sales Orders

  • Updated: (EE-1141) the icon shown when an item is on open work orders is now more obvious
2/3/2026

Database

  • Added: rank to the customeroption and vendoroption tables
  • Changed: (EE-1118) customer.type has been expanded to hold 50 characters to match vendor.type.

Customers

  • Fixed: an issue where customers would only save the first 50 out of 100 allowed characters on street and mailing addresses.
  • Changed: (EE-1118) customer type has been expanded to 50 characters from 20 to match vendor types.
  • Added: the ability to order options

Customer List

  • Changed: smart searches should now handle double quotes in searches slightly smarter. If the user is quoting a string like "waste management" that will still be treated like an exact phrase. But if its a single unmatched double quote like when used in inches like 5", the system will no longer throw a query error and the quote will be ignored.
  • Added: custom options are now displayed in the order the user chose on the customer screen

Deliveries:

  • Removed: incorrect text from several popups

Sales Orders

  • Added: sales order back order dialog now has an explanation prompt to explain the function of the popup for better user experience.

Vendors

  • Fixed: an issue where vendor types would only save the first 20 out of the 50 allowed characters.
  • Added: the ability to order options

Vendor List

  • Changed: smart searches should now handle double quotes in searches slightly smarter. If the user is quoting a string like "waste management" that will still be treated like an exact phrase. But if its a single unmatched double quote like when used in inches like 5", the system will no longer throw a query error and the quote will be ignored.
  • Added: custom options are now displayed in the order the user chose on the vendor screen

Work Orders

  • Fixed: several issues where the user's focus would not correctly be put into items sent from the search screen.
  • Fixed: in some situations, if the user would enter lookups and go down the list, their focus would disappear, and they'd have to either arrow back and forth to make an edit appear or use the mouse. Now, it will properly let them keep entering items. I found that this was causing single line loaded loaded items to select previous items on the screen.
  • Fixed: (EE-1111) an issue where, when the user edited a WO type directly from the WO screen, they weren't shown the entire list of WO types. This meant that the system wasn't checking for duplicates or using the "no empty names" logic. Now, the full WO type list is shown.
  • Fixed: if the user cancels in the full WO type list dialog, their changes will no longer be save to any previous WO types they edited.

Shared

Tools

  • Fixed: (EE-1106) an issue where list sub item controls would incorrectly remember previous location coordinates
2/3/2026

Highlights

  • QuickBooks Online Support! You can now choose which of the accounting exports are enabled (Sage50, QB Desktop, QB Online), and based on that various controls appear or disappear. Use the new QuickBooks online export dialog on the shared QuickBooks journal export page to create export file(s) that can be imported into QB Online.
  • Fixes for recent Microsoft bugs. Recent Windows11 updates have caused blurriness inside multi-line input controls, but only when they're inside a property page (tab). This seems to affect all historical versions of our applications. We've narrowed this down to Microsoft's ClearType technology. We've had to selectively disable this feature on these boxes.
  • Internal Browser Updated! All the browsers inside the application have been updated from Internet Explorer to MS Edge. This upgrades the security and modern web support of our web browsers.
  • Work Order job template lines now remember what line they were created from, even if you replace the inventory record on the line. This will allow future reporting on what exact inventory you use on your job templates, even if you have 'placeholder' inventory records.

General

  • Fixed: an issue where looping across reports to update had a bug in release mode, causing a query error.
  • Changed: the application is now explicitly not High-DPI aware. On some systems this helps to ensure that ITrack looks correct when windows scaling is above 100%.
  • Fixed: audited every file for dialog font settings and standardized on MS Shell Dlg, which seems to be an alias for the operating system's dialog font, which seems to resolve to Microsoft Sans Serif(8). This was previously mixed with MS Sans Serif, which resolved correctly on some machines but not others, resulting in missing fonts, leading to some inconsistent looks on some windows 11 machines.
  • Fixed: minor improvements to the choose folder dialog and some error reporting messages.
  • Added: propert pages (tabs) now automatically change the font any multi-line edit controls when it initializes, overwriting the operating system preference for ClearType and turning it off. This is because a recent windows update now causes weird blurring to occur in multi-line edit boxes inside of property pages. Its still unclear why Microsoft did this.
  • Fixed: an issue where the background of a property page would not be the correct style if it did not contain a static text area or a button.

Installer

  • Added: (EE-1039) the version of ODBC packaged in the installer has been updated to be 8.0.27. This is the newest version that supports TLS 1.3 that still supports old TLS 1.0 and 1.1. This allows us to support a wide range of server security protocols.
  • Fixed: the uninstaller now removes ODBC entries.
  • Fixed: an issue where the ODBC registry entries were written to "SOFTWARE\WOW6432Node\WOW6432Node\ODBC" instead of "SOFTWARE\WOW6432Node\ODBC". This didn't seem to interfere with operation, but it isn't technically correct. This seems to be because it was a 32 bit installer.
  • Removed: the (now) unused Microsoft redistributable package 2013, which was only included for ODBC 5. The new version uses the shared 2015-2022 package.

Database

  • Removing Unused interchangesearch table
  • Added: dashboard chart/report unique keys and data source name. As well as some initial dashboards loading data from google big query.
  • Add a unique index on dashboardchart.name
  • Updating chart logging triggers again now that we have the data source name column.
  • Added: several new dashboard related permissions
  • fcreatelocation has been renamed to flocationimport for consistency and plocationimport has been merged into it. Generally this is only used during importing, and the function is easier to use.
  • Updated: minimum MOTD height to better fit the size of the page
  • Added: internal comments for quotes and sales
  • Changed: the description of a purchase order permission to more clearly match its function.
  • Added: Transaction list join and filter that allows the user to view a list of only sellable locations an inventory record is stocked at.
  • Fixed: an issue where inventorying a new core bank would create the record with a user status of C even if that is not a valid user status on the system.
  • Added: (EE=1059) schema for jobpart.jobparttemplateid to allow jobparts to optionally remember what template line they came from. Also added an initial attempt at retroactively setting this information on historical records.

Accounting

  • Added: better error reporting when a very rare sales order accounting bug occurs.
  • Added: on the configuration page, the user can now specify whether they wish to be able to export to Sage50, QuickBooks desktop, and/or QuickBooks Online. Toggling these settings will show/hide various export areas.
  • Added: the "QB Journal Push" page now only throws error popups about QB desktop if the system is set up to export to QB desktop and no QB online. Otherwise, the errors are suppressed.
  • Added: the ability to export one or more selected days to CSV files to import into QuickBooks online, according to their journal entry import format. This requires that all accounts already exist in QB Online.
  • Added: the user is now alerted that the "Verify AR/AP customer account" function is not supported in QB online, but they can still type an account name in, it must simply be entered into QB online manually.
  • Changed: the synch QB accounts page is now only visible if the user has "QB desktop" integration enabled, it is hidden for QB online integrations only.

Customer

  • Removed: (EE-1066) until options save an order in the database, the user cannot sort them.

Home

  • Changed: the links on the MOTD home page to always open in an external browser. This makes some of the contact us links work even if the user prefers an internal browser.
  • Updated: (case EE-222) to use the new embedded web browser. (No longer supports IE)

Graphing

  • Updated: (case EE-222) to use the new embedded web browser. (No longer supports IE)

ITrack Online

  • Updated: (case EE-222) to use the new embedded web browser. (No longer supports IE)

Interchange

  • Removed: unused exact interchange search box.

ITMySQLConnection

  • Added: support for some more specific SSL configuration errors when the user has a SSL path set, but it is incorrect. The user is prompted to go into the configure connection settings page to fix this.
  • Added: the configure database connection popup now lets the user configure the "Use SSL" checkbox along with the directory to find the SSL certs and the (optional) prefix for the cert and key.

Inventory Overview

  • Fixed: issue with the help prompt at the top of the choose vendor list popup not being readable.

Part Modification

  • Added: (case EE-1005) focus on adding parts from search selecting a column to tab from.

Purchase Orders

  • Fixed: (case EE-1005) focus on adding parts from search not selecting a column to tab from.

Transfer Orders

  • Added: (case EE-1005) focus on adding parts from search selecting a column to tab from.

Vehicles

  • Updated: (case EE-222) to use the new embedded web browser. (No longer supports IE)

Vendor

  • Removed: (EE-1066) until options save an order in the database, the user cannot sort them.

Sales Orders

  • Added: better error reporting when certain accounting errors occur.
  • Fixed: (EE-1034) an issue where inaccessible columns could be unhidden.
  • Fixed: Case (EE-1033) Tax not getting saved when AUTOMATIC CALCULATION is selected as the tax item.
  • Added: (case EE-1005) focus on adding parts from search selecting a column to tab from.
  • Fixed: (Case EE-1063) Sales order tax integration not sending description + taxable flag in query.
  • Fixed: New Lines being out of synch for tax quotes.
  • Changed: Dates not triggering tax quote check.
  • Fixed: an inconsistency with the description on the first line of a sales order having the default string as its backing data
  • Fixed: an issue where the screen could hang loading too much inventory information if the user got a shipping quote on an empty sale.

Work Orders

  • Added: (EE-1059) when the user creates a job from a template, the job parts now 'remember' what template line they were created from, even if the user replaces that item with a new inventory record. This allows templates with 'placeholder' items to trace continuity through to final usage in reporting.

QuickBooks

  • Fixed: a crash that could occur if you chose to click push to QB Desktop but it wasn't configured.
  • Fixed: transaction number now counts up in QBO export files.
  • Added: the QBO configuration popup now has settings for "Use account #'s", "use sub-account #'s", "Put GL department into QB Class, "Put GL store into QB Location", and all of these are stored in global settings.
  • Fixed: a bug with the format of the QBO export file.
  • Added: Browse… button to the QBO config popup where the user can choose the export directory. Previous location is remembered per user.
  • Added: a help link to the QBO config popup that takes the user to a wiki article explaining the export/import process.
  • Added: quickbooks online push now uses the current date as the transaction id to avoid duplicate transactions.
  • Added: quickbooks online now has a field for a default customer and vendor account to tie to AR and AP transactions, respectively. The transactions need to have "Accounts Receivable"/"AR" or "Accounts Payable"/"AP" in the name exactly to be matched.
  • Added: Journal entry push area now hides the customer sync and desktop push button if the QB desktop integration is disabled. Also, the "X/Y" synched to QB column in the tree is only visible with the QB desktop integration.
  • Fixed: an issue where QBO would import an empty line at the end of a journal entry import file.
  • Removed: "Imported From ITrack" journal entry description. The Journal entry memo should be sufficient.

Windows Fixes:

This update solves several major issues introduced by Microsoft in recent updates to Windows that affect how common controls display. Namely 2 issues:

  1. Large edit boxes get blurry on tabs. (Technical info: a windows update to ClearType Font rendering seems to have caused multi-line edits in property pages to stop redrawing correctly)
  2. Editable fields look read-only on tabs after recent windows update:

UI Improvements

The following improvements have been made to the look and feel of the ITrack controls as well to match the Windows 11 control themes:

  • Editable dropdowns now show the themed blue border when the user has clicked 'in'
  • Editable text in list controls now show the themed blue border when the user has clicked in
  • Editable dropdowns in list controls now show the themed blue border when the user has clicked in
  • Multi-line text fields in list controls now do much better about 'growing' correctly to fit the text to display to the user.

Browser changes

The embedded browser in ITrack has been switched from one based on Internet Explorer to one based on MS Edge. This improves speed, security, and the ability to render modern web technology. However, this drops support for some older computers. Users on these older machines should still be able to use ITrack but may see a warning box on the home screen instead of the usual browser area.

Other fixes

  1. Web browser pages should no longer leave MSEdgeWebView2.exe processes running on the system after the application closes in some circumstances.
  2. The embedded edge browser now writes its data into the windows temp directory instead of the Presage installation directory. This helps for situations where the user doesn't have write privileges to Program Files (x86).
  3. The accounting screen was throwing an error about being unable to load the sales order erroneously. This was preventing saving finalized invoices.
4/8/2026

Installer

  • Removed: VinPower, which is no longer used.
  • Fixed: an issue where the pro and EE installers were using the opposite QBFC installers, according to old chat messages, documentation in the wiki, and the source code QBSDK imports.
  • Added: if the user runs the installer in silent mode, default database credentials should now be written to the host.ini and odbc connection correctly.
  • Removed: Visual C++ 2008 redistributable package now that our application is built with newer tools.

General/Shared

  • Tooling: the application is now built with newer version of visual studio and newer platform SDKs. This should mean faster and more secure applications in general, and it also means that we can drop the need for the visual c++ 2008 redistributable package that was in the installer previously.
  • Fixed: an inconsistent crash that could sometimes happen when closing a screen containing a property sheet.

Database

  • Added: Core Cost, Wholesale Core and Retail Core Transaction List Display Fields for the Inventory Source.
  • Fixed: a performance issue that could cause fvehiclerevenue to be slow on some systems.
  • Removed: references to an ancient log table loginventorychangecause. It is very inaccurate and causes issues. Users should generally refer to the more well maintained and more accurate loginventorytransaction or the audit logs at logchangegroup/logchange.
  • Added: (case EE-838) Added new row to importtypefield to add the user importing inventory during inventory imports to the inventory row.
  • Added: (case EE-900) several fields were missing from the inventorysetting table.
  • Added: (case EE-881) filters and fields to the transaction list tables to allow sorting and filtering by Customer Units on customers.
  • Added: (case EE-882) filters and fields to transaction list for customer unit filters on work orders
  • Removed: (case EE-794) row in inventory setting so part modification cannot see UPC as a valid column.
  • Added: The beginning steps to deprecate inventory.upc
  • Changed: When merging customers' options, ensure non-empty option values from the old/source customer overwrite empty option values on the new/destination customer. The user doesn't really "see" empty values, so this is a better experience.
  • Added: logvendormerge has been modernized to match logcustomermerge for tracking what has happened in previous merge operations.
  • Changed: (EE-899) pmergevendorbyid has been modernized to match pmergecustomerbyid. A set argument has been added to control what parts of a vendor should be merged. The current options from desktop have been added, and a new option, MESSAGES has been added, which desktop v41 will support.
  • Fixed: pbackuptable now assumes the current database instead of backup if none is specified. Also, ROW_COUNT() is no longer used to see how many rows were moved between tables as this seems to behave inconsistently on some systems. Instead, we run the select on the source table to figure out if we're out of rows now.
  • Added: parchivetabledata, which uses pbackuptable internally to move rows between tables. However, it does it more performantly by going in primary key order in a specific way. In general, on very large tables, I've found it gets very expensive to do LIMIT X, Y with no WHERE clause on a good index to jump across millions of rows. So this version ORDERs the results by the primary key and finds ranges of the primary key to filter by and passes a WHERE clause into pbackup_table to keep each chunk constant-time across the archive process.
  • Removed: for any database running with the earchivelogs event, it will now be disabled. This event assumed it would be in the customer's best interest to move rows from the audit logs beyond a certain age to archive versions of the same tables. However, as we migrate to MySQL compatible versions of the schema, the engine of ARCHIVE must go away in exchange for row_format=compressed making the distinction moot between the two tables, and that just means its harder for the user to find rows between the 'live' logs and the archive logs. So we'll disable the archive process by default. There is an unarchive process as well (slow, but non-disruptive, so long as there is enough harddrive space for the copy) for anyone interested.
  • Added: foreign keys to the workclock table to avoid situations where there are orphaned workclock rows.
  • Made certain state columns wider to match across the entire system.
  • Added: a database function that can look up the last known value for a given TABLE.COLUMN before a given timestamp using the audit log information.
  • Fixed: an issue where a trigger contained an unused variable that could interfere with mysql 8 compatibility
  • Updated: (case EE-935) the side enum for Vehiclebiditem to be in line with inventories side enum by adding "Both" as an option.
  • Deprecating: workorder.type and job.type which have never been truly used. The logging triggers will also ignore them now. In a future version they will be dropped.
  • Fixed: several issues on the inventory transaction list source causing location searches to work incorrectly.
  • Fixed: an issue where the alternate part # field in inventory transaction list searches could cause results to display incorrectly.
  • Added: (case EE-955) display fields for some WOMP fields to the transaction list
  • Added: (case EE-677) inventory imports to auto assign tag numbers if not provided during inbounding
  • Added: (case EE-789) ability to get manufacture information from Name during inventory import
  • Added: (case EE-791) Location field to inventory import (Parity with inbounding import)
  • Added: (case EE-792) Make/Model/Vin to auto cascade off of stock # being filled out during inventory import
  • Added: (EE-922) Two new permissions for transaction list. (Can create reports/Can run all reports)
  • Added: (EEW-511) invoice due date functions
  • Updated the document search filter for Store in the Inventory Source to match the format of other Store filters in other sources in Transaction List.
  • Added an OEMNumber display field to the Sales Order Source for the Transaction List.

Core Management

  • Fixed: a couple misspellings and simplified some popups.

Customer Contact

  • Changed: (case EE-879) Fixed an issue where the date would always update to the last time saved.
  • Added: (case EE-605) Created By Column to Home screen customer contact view. This was already loaded just not an option to be shown in the table.
  • Changed: (case EE-880) How date times are loaded by the Customer Contact Home and Customer Ticket so that they are time zone agnostic. Along with this local date times are now being saved agnostic to the DB in whatever time zone the connection is in. This fixes issues where they were being shown in the wrong time zone.

Customer List

  • Added: merging customers that are a mix of active an inactive now automatically select the active customer as the master record.

Home

  • Changed: on the sales and work orders tabs, instead of the old 'counterperson' radio box of Mine and All, there is now a dropdown that defaults to the currently logged in user, but any active user can be chosen. Deleting the selection will show all documents.
  • Added: (EE-948) on the sales and work orders tabs, a new user dropdown of "customer salesperson" has been added. This allows the user to filter documents by the salesperson assigned to the customer. The default in the dropdown is blank, meaning all documents. For work orders, this will only work on service order documents.

Parts

  • Fixed: (case EE-902) an issue where the to date for manual adjustments was not included in the results
  • Fixed: (CS-4530) an issue where creating new assembly components with a non-zero retail core charge would not correctly set the core required check on the new inventory records.
  • Fixed: several crashes that could occur when double-clicking collection components to load a new part.
  • Fixed: an issue where changing primary location on a part before creating assembly components would not inherit the new location onto the newly created components, but instead the 'previous' location would be used.

Purchase Orders

  • Added: (case EE-383) Additional Fields to Item Info: Stock Type, Stock Method, Min, Max, Lead Time, Buy Package, Monthly Usage, Default Vendor
  • Fixed: minor polish on the advanced page for purchase orders.
  • Changed: Copied tooltips from the parts screen for consistency, and made some minor changes where appropriate for clarity and simplicity.
  • Fixed: if the user did a core exchange return (from vendor core management only) and that inventory record didn't have a core bank inventory record, the system would silently return the original inventory instead. This is essentially never what the user wants, so we now pop up an error message in this scenario explaining this undesirable scenario. The system will now never return the original inventory record's quantity. The user will be allowed to either make a miscellaneous return (no inventory is relieved by the core exchange), or they can cancel. The popup also has a hint that walks the user through doing manual exchanges of non-matching items.
  • Changed: previously, when using the "Returns" dialog on purchase orders, if an item did not have a core record associated, the "Core Exchange" checkbox was grayed out. This was often confusing to users and would lead them to normal merchandise returns. Now, they can always do a core exchange, but they will see the warning described above.
  • NOTE: now that this is no longer locked, when the user adds any item to a PO and sets the quantity negative, they can now navigate to a previous core exchange and check the checkbox. This essentially allows the user to do one-off exchanges of non-matching items when the user wants to return an inexact but acceptable item to the vendor but don't want to set a permanent core bank on the inventory record.
  • Changed: core inventory records that are not status A or H are now ignored when it comes to actually doing returns.

TransactionList

  • Changed: (case EE-889) exporting from the transaction list now pays attention to the users sorted columns before export.
  • Updated: (EE-922) Tooltips for when permissions are bad for saving
  • Added: (EE-922) Checks for the new permissions

Vendor

  • Added: (case EE-916) purchase orders tab: adjustment columns to both tables for their respective scope. Document level adjustments in the PO table and POLine level adjustments in the POL table.
  • Changed: (case EE-916) total to use the stored MySql function to retrieve the purchase order total.

Vendor List

  • Changed: (EE-899) the customer merge dialog has been rewritten to use a new shared database procedure.
  • Added: when merging vendors, the user can now choose whether they wish to merge vendor messages, which were previously ignored.
  • Added: when merging vendors that were mixed between active and inactive, the first active vendor is automatically selected as the destination.

Vehicle

  • Added: (case EE-801) interchange modal from parts screen to vehicle teardown.
  • Added: Automatic interchange modal popup when required fields are filled out on vehicle teardown.
  • Fixed: Interchange button on vehicle teardown now works
  • Removed: interchange dropdown from vehicle teardown list
  • Removed: Crash on bidding page

Work Orders

  • Changed: both print checkboxes are now cleared (unchecked) whenever the screen is cleared or a document is loaded. This should help avoid confusion since the print checkbox is automatically checked when a finalized WO is loaded.
  • Fixed: (EE-910) an issue where loading a work order would sometimes not clear the backing data on the screen, just the view. This meant that certain things 'carried over' between loads. This lead to certain inconsistent bugs like internal WOs not reloading their cost in some corner cases.
  • Fixed: (EE-910) an issue where loading a service order after loading a build order would sometimes display the parts at cost because the current work order type had not updated quickly enough.

Reports

REVISION 24851-25101

External Work Order (WorkOrderExternal.rpt)

  • Fixed: (case EE-1058) removed reference to deprecated field (HOTFIX)

Internal Work Order (WorkOrderInternal.rpt)

  • Fixed: (case EE-1058) removed reference to deprecated field (HOTFIX)

Inventory Count Sheet - LXW (InventoryCountSheetLXW.rpt)

  • Added: (case EE-961) a setting to enable page breaks between locations

Pick List (PickList.rpt)

  • Fixed: (case CS-4208) location-based sorting when rank-based sorting is not enabled
  • Added: (case EE-938) oem number with description, optionally. Determined by setting.

Posting Report (PurchaseOrderPostingReport.rpt)

  • Added: (case EE-895) a new setting to include suggested locations, like on the receiving list
  • Fixed: (case EE-895) new setting name for bin locations
  • Added: (case EE-895) an option to show internal PO comments, with a new associated setting
  • Changed: (case EE-930) tidied the report to look more modern

Sales Order (SalesOrder11in.rpt)

  • Changed: (case EE-911) removed 30-line limit on how long descriptions "can grow"
4/8/2026

Highlights

  • Parts screen handles non-deplete parts much better to help avoid confusion and difficulty
  • Huge performance pass on loading sales orders, purchase orders, and work orders. In some cases, large document loads can be as much as 50% faster in some cases (especially when loading another stores' documents). Large WOs now load 50-90% faster.
  • Major new feature to the core management system: auto-inventory cores. Using the new Configuration tab on the core management screen, you can set up dirty core returns on sales orders to automatically get inventoried and skip core management entirely. You can set a special bin location that such records will go into as well. There are also new permissions for the screen and newly improved behavior for many of the existing permissions on the screen to make it more obvious when users don't have access. As part of this, salespeople can (optionally) change the location that core exchanges go into on exchange SOs now as well, and this will affect both automatic and manually inventoried cores.
  • Notice: the VIN Decoding library being used in the background has been changed from VINPower to the online NHTSA VIN Decoder, which generally seems to return more information. VIN Decoding displays more information per decode and is now broken into more categories, and the VIN decode dialog has been made taller to accommodate this.
  • Navigating back and forth between parts that have Supersession/replacements is now much easier and more obvious. The system shows badges on the lookups tab, a non-blocking, hideable popup you can put on another screen like the attachments popup, and the user can double-click those items to "jump" to the replacement parts and "jump" back. It should now by much easier to see when an item has been replaced (and by what) and vice versa (via the links tab).
  • Users can now quickly see and go to the document that is holding a serial from the parts screen using the new "Held On" column in the serial list.

Installer

  • The installer has been rebuilt and modernized. Unnecessary dependencies have been removed, and some components updated to newer versions.
  • Added uninstaller
  • Uninstallation now removes install/release key
  • Removed instantVNC
  • Fixed: downloading TSC_Lastest tag printer installer now works again
  • Added: blat.exe is part of the base installer file shared between the desktop installers. This is because although this file (which is a command line emailer application) is generally assumed to be downloaded from the auto-updater, some anti-virus applications fail to do so, and this blocks the ability to undergo password recovery.

Controls/Tools

  • Fixed: a potential crash when modifying the icon on a button.

Database

  • Added: (EE-653) support for category.marketing_category, an optional override for category name when being displayed on the web/in marketing contexts.
  • Added: column and table comments to many tables that didn't have them.
  • Added: foreign key constraints to activitytype, activity, adjustmenttype tables where applicable
  • Fixed: several fields nullability and signed vs unsigned was fixed to match expectations.
  • Added: Customer request to add Estimate Filtering for the WO Source in Transaction List.
  • Added tax code support for inventory types (EE-705)
  • Added: (case EE-685) a search filter for whether a part is on at least one active ebay auction or not. It shows in the part search flex fields as "eBay auction (active)".
  • Added: to facilitate ebay auction searching, new database function febayactiveauctioncount was added.
  • Fixed: several issues where invalid payment method ids could remain on old payments or assigned to customers. Running some queries to attempt to clean that data up. Any historical payment like this will have its payment method changed to a current, valid one. Customer payment method assignments that are invalid are just deleted.
  • Added: foreign keys to payment methods to prevent data issues in the future
  • Added: foreign keys to payments to avoid data issues in the future.
  • Added: Transaction List Inventory Sellable location filter and join.
  • Added: many queries for additional Transaction List display fields for the Sales Order & Purchase Order sources
  • Added: Vehicle Stocknumber Display Field for the Purchase Order Source in Transaction List.
  • Removed: duplicate rows from an import that are not needed.
  • Added: tag # on inventory imports is now optional. This makes creating new inventory where a default tag # is assigned easier.
  • Added: inventory imports now attempt to assign a default retail/wholesale/jobber/etc price based on cost and purchase vendor via the price class system, just like the parts screen would do. However, the user can still map these fields to supply custom values.
  • Added: Join and Filter Query for Ebay Items for the Transaction List, Sales Order Source.
  • Added: (case EE-715) scripts to add new SO settings for SalesOrder11in.rpt and verify the older wo photos setting for SalesOrder11in.rpt is extant
  • Changed: length of several fields in logvendormerge to be MEDIUMTEXT for when really old vendors get merged together.
  • Removed: unused field purchaseorderlinehistory.paid, which was renamed to "pay" in 2011, but some systems still have the field.
  • Added: Transaction List filtering by Vehicle Unit for the Sales Source.
  • Fixed: the inventory import on the data management screen should now more correctly import/test when the user either chooses not to map the tag # column or maps it to a blank column.
  • Changed: the inventory setting for "Primary Location" is now editable by default, allowing users to change the primary location of their inventory. This was generally enabled on a case by case basis, but this will make it easier to do without contacting ISoft support.
  • Added: Payment Amount Filter for the Payment Source for Transaction List
  • Added: (EE-694) an adderscript for the new report, UserActivityByActivityType.rpt
  • Added: as per user request, add audit logging triggers to payment tables.
  • Added: Filter for Deplete Flag for the Inventory Source in Transaction List.
  • Added: Display Field for the Deplete Flag for the Inventory Source in Transaction List.
  • Added: (case EE-781) a call to create a new setting for WorkOrderExternal.rpt
  • Added: (case EE-780) calls to add the new settings for WorkOrderExternal.rpt and WorkOrderInternal.rpt
  • Fixed: an issue where the inbounding data management template was not working if the Batch ID field was mapped to a column in the raw csv instead of a fixed value. The description of the import type has been modified to notify the user that mapping the batch id does not mean that multiple batches can be imported at the same time.
  • Fixed: missing join to the Transaction List, then correct a field to point to the missing join.
  • Added: inbounding script now assigns the import user's gl department id to the line items of all imported purchase order lines of the batch.
  • Added: (case EE-854) new setting creation for PickList.rpt
  • Added: (EE-147) new stored procedure pinventorycore_return which will perform an entire core return operation for a document line (salesorder or job part) vs the many queries currently required to do this operation from the core mgmt screen.
  • Added: a new permission for whether a user can reject a returned core. This is for completeness as we have permissions for whether the user can view/reject control most other parts of core management. This permission defaults to whether the user could reject customer cores.

Configuration

  • Added: (EE-141) the system will now close all historical user sessions if a user is locked or deactivated.
  • Added: (EE-722) the ability to mass-grant a payment method to all active customers in the system.
  • Fixed: an issue where adding a new payment method could show a number of 'in use' even though it didn't exist previously.
  • Added: tooltips to the configure->payment methods popup.
  • Changed: load file now uses non-blocking reads. This will make it so that it doesn't fail if a file is open in another editor. This fixes an issue where the browse window would silently fail to retrieve a report file or image to upload if it was locked for write.

Core Management

  • Added: configuration page
  • Added: configuration option for whether sales order dirty core exchanges automatically go into inventory and skip the core bank.
  • Added: the core management configuration screen now has a dropdown with a location auto-complete on it (with only locations that allow inventory in it). This allows the user to set the setting "Sales Orders"->"Location for dirty core returns (special value $PRIMARY allowed)". This makes this new setting more discoverable and easier to set.
  • Changed: the discard core button (which was already permission controlled before) now is grayed out if the user is set to permission level None. This makes it more obvious if the user cannot perform this action vs them getting an error popup when they click the button.
  • Changed: the reject button on the customer cores tab now works more smoothly if the user has some items selected that they do have permission to and some items selected that they don't have permission to. Previously, they'd be notified that some items were cancelled, but the other items would be rejected with no confirmation. Now, the user will be given a prompt that X items are permission blocked and they'll be given an opportunity to cancel or deselect and continue. Based on this, the process will continue with a final confirmation if any items remain.
  • Added: support for a new permission that controls whether the user can reject returned cores. The behavior of the button closely matches the new functionality of the customer core reject button.
  • Added: the reject button on returned cores is now completely grayed out if the user has their permission set to None.
  • Added: the customer cores, returned cores, and vendor cores tabs now completely hide themselves if the user has the corresponding "View" permission set at None level.
  • Added: support for returned cores initially showing a location based on the the location that was chosen on the document on which the exchange was performed. This gives the counter person the opportunity to give a suggestion for a location that the core is located at, which will carry through to the core management interface.

CrystalReports

  • Fixed: (PA-562) the edit->reports page file upload dialog now shows an error box if it failed to read the file in windows.

Customers

  • Removed: in the customer unit service history, list color would alternate between work orders, but this was confusing users, so it was removed.
  • Fixed: an issue where the regions dialog would not move itself back onto the nearest visible screen if it had last displayed on a now disconnected display.

Data Management

  • Fixed: an issue where data being converted during an import could sometimes be blank string and sometimes NULL, depending on how the user mapped the field (mapped to a blank column vs mapped to a fixed blank value) which was leading to difficulty in conversion scripts.
  • Changed: when an import is being performed, if a field token is unmapped or otherwise completely invalid, it will now be replaced with NULL instead of deleted. This will allow queries to sometimes complete in a reasonable fashion instead of resulting in syntax errors.
  • Added: the auto-map process that happens when the user loads or refreshes an import CSV now considers the sub-field sources' names. This allows more specific creation of import templates for auto-mapping purposes. The auto-map process is now multi-pass where exact (case-insensitive) matching is preferred, but a second pass is performed where matches are allowed where fields/columns that 'start with' the other are matched. Any previously mapped fields are excluded from the auto-map process.

Deliveries

  • Fixed: several crashes that could occur when interacting with run sheets.
  • Fixed: change detection on run sheets should work slightly better.

eBayExtension

  • Added: (FB-54488) a new checkbox to "Remember this Category as the default for part type XXXX" to the edit listing popup. When checked, the user's selected category will be saved in the database for future listings.
  • Removed: a deprecated field according to ebay documentation.
  • Added: support for a new tag when building listing, "Side".

Home

  • Changed: the Created column in workorders has been renamed to Date to match other document lists
  • Changed: the Creator column in workorders has been renamed to Counterperson to match other document lists
  • Added: (EE-782) attention icon for estimate WOs. Also, open estimate WOs show "ESTIMATE" in the status column now to make it easier to sort them together.
  • Fixed: the work order date range filter no longer only works if the "Show closed" checkbox is checked. You can now filter open documents by date range as well.
  • Removed: price is no longer surrounded by brackets if a document is an estimate. There are now better ways to detect and sort estimates together.

ITMySQLConnection

  • Added: comment /RECONNECT QUERIES CHANGED FOR CONNECTION "X", RUNNING NOW:/ to the start of the queries run by mysql every time we reconnect to the database.

Login

  • Fixed: some initialization operations were happening twice when the user would launch the application, which could cause slightly slower startups.
  • Fixed: an issue where the configure users page "Hide inactive/locked accounts" checkbox was only hiding inactive accounts, not locked ones.

Part Configuration

  • Added: (EE-653) support for a Marketing Category Name when adding or editing categories. This is an optional category name override that will be displayed on marketing websites instead of the primary category name.
  • Changed: blank marketing_name will now be saved as NULL instead of ""
  • Changed: (EE-667) the user can now select multiple inventory types in the Categories tab while adding, editing, or changing categories. This will make changes to all selected inventory types at once.
  • Added: the Active check on categories can now display in three states: checked (all selected inventory type(s) have this category), unchecked (none of the selected inventory type(s) have this category), and mixed (shown as ?) (when some of the selected inventory types have this category). This is part of being able to change the category setting of multiple inventory types at once.

Parts

  • Fixed: (EE-679) an issue where saving and not clearing a would prevent the user from making more changes to the same part. Now this works as designed.
  • Changed: the "new tag # assigned" popup now happens later during save. That way, all locations, Q&A, serials, and attachments have been saved before the popup appears to prevent a situation where a user might accidentally sit at that popup and prevent save completion.
  • Fixed: the print tags button on the serials area was showing the wrong tooltip for the button.
  • Added: (EE-709) there is now a user level setting that controls whether parts' attachments are public by default.
  • Added: (EE-699) various fields are now disabled on the the part info tab, aftermarket tab, and locations tab if the "Deplete" checkbox is unchecked. This is to avoid confusion regarding non-depleteable inventory, which does not and can not track meaningful quantity, locations, serials, or average cost. The full list of fields that are locked when a part is non-depletable are:
  1. primary and secondary Locations
  2. quantity on hand and quantity available
  3. Serialization. Non-deplete parts are forced to be unserialized. There is now an error on save if this is not true.
  4. Average cost and average core cost
  • Changed: the tooltips on average cost/core cost on the aftermarket tab now match the same ones as these fields on the transaction history tab.
  • Added: better tooltips to all fields that get locked down when the part is non-depletable.
  • Fixed: an issue where the SKU would not refresh if you saved a new part without clearing.
  • Fixed: an issue where collection components might use the logged in store instead of the inventory store to load items in the links page.
  • Fixed: a potential crash when trying to delete a non-existing variance location on serialized parts
  • Fixed: (EE-761) a potential crash when closing the screen if there were duplicate locations on a serialized part.
  • Fixed: an issue where loading a part with alternate part or supersession lookups tied to other inventory records would not load those other parts tag #'s up correctly (display issue only).
  • Added: The lookups page now supports doubleclicking a lookup record to load an original inventory record (if any).
  • Added: a Replacements button to the top of the screen that acts much like the images button. It pops up a non-modal dialog as well and can be toggled off and on. If you load a part that has one or more supersession parts or alternate parts, it will show a Plus icon, and it will blink for a couple seconds before stopping. If the user clicks this button, a new replacements dialog will be shown where the idea of replacement/alternate/supersession inventory will be explained, and all such record(s) will be shown. The first one will be selected, and the user can doubleclick or hit enter to load that part on the screen.
  • Added: the number of alternates/replacement parts are shown inside parentheses on the button
  • Added: the number of lookups are shown inside parentheses on the tab header.
  • Removed: the vehicle information is no longer retained when the user clears the part. This feature was poorly documented and confuses some users. It was kept for parity with ITrack Pro, where it was used for quick mass-entry of standard parts, which is generally done via teardown. For this reason, it will be removed to avoid confusion. If users dislike this change, we can make this based on a setting.
  • Added: the Q&A page serials list now has a "Held On" column. This column shows an up to date document that is holding the serial (if the serial is Available or On Hold). This helps the user track holds on serials since many users were using the Used On column for this purpose, but Used On is statically calculated and not kept up to date in that way.
  • Added: the serial filter now filters by the Held On column document #, and double clicking a Held On document will open that document.

Purchase Orders

  • Added: the errors and warnings regarding having too few serial #'s has been expanded to include if the user has entered too many serial #'s. In addition the wording of the popups has been clarified and standardized between TOs and POs.
  • Added: the errors and warnings regarding having too few serial #'s marked as received has been expanded to include if the user has received too many serial #'s. In addition the wording of the popups has been clarified and standardized between TOs and POs.
  • Optimized: (EE-748) loading POs for other stores can now be much faster.
  • Changed: load document popup now respects OS darkmode choices in the title bar.
  • Changed: the ordered checkboxes are now aligned correctly.
  • Changed: payment due dates now show in the future automatically if the terms are valid but have 0% finance charge.

Report Viewer

  • Added: (EE-164) the user can now see the "Delayed until" column in the print queue history tab. In addition, there are now filters for all job statuses and a filter to display only jobs with a delay until date.

Sales Orders

  • Added: support for more information to be sent to the tax quote service for sales order adjustment lines.
  • Fixed: (EE-654) an issue where adding or editing payments on a SO in a restricted or locked accounting period would update the payments, but not update accounting. Now, changing payments on a SO will either prompt the user that the document is in a locked period or warn them that its in a restricted period correctly.
  • Fixed: (EE-665) back ordered quantities are now taken into account when performing an external tax quote and a shipping quote.
  • Added (EE-691): the "do you wish to notify the customer's default salesperson" prompt when saving a quote now has a "don't show this message again" checkbox. If checked, that popup will not be shown in the future.
  • Fixed: a misspelling in a popup.
  • Changed: to avoid user confusion the "This item is not in inventory" attention icon now shows for non-stocked manufacturer and non-stocked vehicle items as well as purely miscellaneous non-stocked (description only) items.
  • Fixed: an issue where the screen would think the user had made an unsaved change if they loaded a document with a description-only non-stocked item.
  • Optimized: loading SOs for other stores is now as much as 50% faster.
  • Optimized: looking up locations for each inventory item on load now uses a local cache, which should make loading documents much faster when "auto choose locations" is on.
  • Optimized: loading documents now combines the check for whether items are on ebay listings. This can significantly speed up large documents.
  • Changed: whether to automatically choose locations when loading documents is checked at the document store instead of the store the user is logged into, which matters when loading other stores' documents.
  • Changed: load document popup now respects OS darkmode choices in the title bar.
  • Changed: several location-related store level settings are checked for the document or inventory record's store instead of the store the user is logged into. This matters when loading other stores' documents or inventory.
  • Fixed: an issue where return lines were not loading unreturned quantities correctly. This lead to issues where loading saved return lines would not keep the user from increasing return quantity above the original sale quantity correctly.
  • Added: the user should now always be able to choose locations for a dirty core item, no matter if the item has already been inventoried or not. This will make the system's behavior more consistent, and easier to choose the location the item will go 'into' ahead of time.
  • Added: support for a special return location for dirty core exchanges, separate from the special return location for all other returns. This setting is called "Location for dirty core returns (special value $PRIMARY allowed)"
  • Fixed: an issue where locations would not be chosen initially for a dirty core exchange, but would be after re-loading the document.
  • Changed: the tax service no longer splits zip codes into base and plus4, this helps support postal codes in other countries.
  • Changed: address validation no longer splits zip codes into base and plus4, this helps support postal codes in other countries.
  • Changed: The message box that says the user cannot delete jobs from a sales order now gives a little more information about circumstances under which it will be allowed.
  • Added: (EE-147) support for a new setting "Core Management"->"Sales Orders: Automatically inventory core returns". (Default False), if it is True, when a sales order is finalized, any dirty core exchanges will automatically be inventoried as though they had been processed on the core management screen.
  • Fixed: loading a saved SO with a dirty core exchange whose original item was serialized will no longer 'forget' that the item was serialized after you reload the document.
  • Changed: the setting for auto-inventorying dirty core exchanges is now per store instead of global.
  • Added: pinventorycore_return now supports flags that decide what operations the procedure will perform, so that that a screen that will adjust locations or quantity can choose to not let the database procedure do it as well.
  • Added: fserialavailable now sets some session variables based on the document that is holding the serial, if any
  • Added: new database function fserialhold, which uses fserialavailable's new session variables to return a string of what document is holding a serial, if any.
  • Added: (EE-147) if the user finalized a document that automatically inventoried a dirty core, we now load the core bank onto the dirty core in real time. This is useful if the user does a save without clearing the document. That way, double-clicking the item will load the correct item.
  • Fixed: an issue where adding a serialized dirty core would not correctly show a location for that item.
  • Fixed: the payment due date will now show correctly even if the invoice terms have a 0% finance charge.
  • Fixed: make and model now support wildcards in the series-based searches
  • Removed: a right click option for viewing vehicle results online since it went to a web site that is now gone. Also, the settings that supported the feature have been removed.

Transfer Orders

  • Added: (FB-23396) the receive all button now marks all in transit serials as received, similar to the receive all button on the Purchase Orders screen. This prevents having to open the edit item dialog and manually receive the serials.

Vehicles

  • Added: (EE-709) there is now a user level setting that controls whether vehicles' attachments are public by default.
  • Added: (EE-709) there is now a user level setting that controls whether parts' attachments on teardowns are public by default.
  • Added: when the user decodes a VIN, and the model cannot be found, the model that pops up now shows the decoded year/make/model in the prompt so that he user knows what is going on. The popup also has more space to display more models.

Vendor List

  • Removed: balance column, incorrectly copied from the customer list screen.

VIN Decoding

  • Notice: the VIN Decoding library being used in the background has been changed from VIN Power to the online NHTSA VIN Decoder, which generally seems to return more information. This will also avoid issues every December with difficult rollout of licensing updates. VinPower licensing will be supported in ITrack Pro and ITrack Enterprise up through the end of 2025, at which point, users must update to a version of ITrack that switches over to online VIN decoding or lose access to VIN decoding entirely.
  • Added: VIN Decoding displays more information per decode (though many fields are still blank on the average decode).
  • Changed: VIN information is broken into more categories, and the dialog has been made taller to accommodate this.
  • Added: compile dependency so that downstream dependencies will link now that we use curl to communicate over the wire.
  • Changed: ITVinPowerHandler has been rewritten to use our online vin decoding micro-service deployed to GCR.
  • Added: VINLookupDialog now resizes to use all the horizontal space.
  • Changed: VIN Lookup dialog no longer shows a year of 0, instead blank will be shown.
  • Added: final, live URI to the vin decoding service. Also updated the user agent string.

Work Orders

  • Fixed: a database error the user could see about invalid accounting context if accounting was disabled when performing an assembly breakdown.
  • Changed: sample sequence ID will now save as NULL instead of 0 when it is not a scheduled sample.
  • Fixed: (EE-703) when sending external jobs over onto a sales order to invoice them, ensure they go over in the order they are shown on the screen.
  • Fixed: an issue where date and date promised were not cleared correctly when the user cleared the loaded document.
  • Changed: all remaining popups now correctly respect windows light/darkmode in their title bars.
  • Added: support for loading all lineitems' messages in one pass like the SOs screen. This will help improve the speed of loading the entire document from the database.
  • Performance: loading work orders should now be 50 to 90% faster, especially on documents with many items to load. This is because we now load all items in one large batch instead of each item in a loop. Previously, each item would require 3 to 5 queries to load item info, location info, up to date work in progress and final accounting info, average cost info, etc. Now this is all loaded at once greatly reducing load time.
  • Fixed: (EE-802) a crash that could occur if the user went into 'define template' mode if they had a new template that was selected. Now the item in question will be deleted without a crash (as previously intended).
  • Added: Job # to Job list
  • Added: (EE-720) Job # to the title of the Edit Job Sub-Window

Reports

REVISION 24443-24800

External Work Order (WorkOrderExternal.rpt)

  • Added: (case EE-781) a new store level setting that determines whether to print job total at the top or bottom of each job section. Both is also an option.
  • Added: (case EE-780) a new setting to show/hide jobid

Internal Work Order (WorkOrderInternal.rpt)

  • Added: (case EE-675) a setting to include oem number with job part descriptions
  • Added: (case EE-780) new settings to show/hide jobid and userid

Inventory With Negative Quantity On Hand (InventoryWithNegativeQuantity.rpt)

  • Changed: (case EE-767) tidied the report

Pick List (PickList.rpt)

  • Added: (case EE-854) the ability to order the report by original document line item rank, per a new setting. By default, the report will still group by location.
  • Added: (case EE-854) a new setting to include 0 qty items, which could be informational
  • Fixed: (case EE-854) row duplication issue when include 0 qty setting was set to true

Picking Label (LabelPicking.rpt)

  • Fixed: (case EE-657) sizing
  • Fixed: (case EE-657) barcode formula error

Receiving List (PurchaseOrderReceivingList.rpt)

  • Fixed: This report was incorrectly reporting itself as PurchaseOrders.rpt in the process list, which caused some confusion when investigating slow processes.
  • Optimization: on databases with many serials, this report was very slow due to how purchase order lines were being joined to serials that were created on those Purchase Orders.

Sales By Customer Type (SalesByCustomerType.rpt)

  • Fixed: (case EE-756) report query aggregation issue causing incorrect subtotals and adjustments to show on the report

Sales Order (SalesOrder11in.rpt)

  • Added: (case EE-715) new settings to attach up to a given number of part images and SO images in addition to WO images.
  • Fixed: (case EE-832) a row duplication bug related to images associated with line items

Tag (Tag.rpt)

  • Added: (case EE-633) a new setting to show Condition next to Category, false by default. Category will have less space when showing Condition.

Time Clock Log (TimeClockLog.rpt)

  • Added: (case EE-606) settings to specify activitytype sort order.
  • Fixed: (case EE-606) setting-based sorting

User Access Log (UserAccessLog.rpt)

  • Added: (case EE-577) a new simple report that shows log in information
  • Fixed: (no case, quick fix) typo in the page header

User Activity By Activity Type (UserActivityByActivityType.rpt)

  • Added: (EE-694) a new time clock report that groups by activities, then user. With totals.

Work Clock Times (WorkClockTimes.rpt)

  • Added: (case EE-694) the ability to group workorder and internal entry breakdown into exclusive activities (when possible)

V40.2.0 (8/4/2025)

Highlights

This version aims to fix several long-standing challenges and issues that users have stubbed their toes on when doing vendor core returns on over the years. These specifically revolve around doing core exchanges on inventory records when there is no core item associated. When doing returns from core management, the system didn't know what item to return, so the original inventory item was returned instead. This was never what the user wanted, so it caused users grief. Now if the user sends such an item to be returned, they will be presented with a warning:

File:NoCore.jpg

This wasn't allowed from the returns dialog since the core exchange checkbox was grayed out when a record didn't have a core item. However, this was not obvious to all users, and sometimes users who were moving too quick would accidentally do a normal merchandise return instead. Now the user is always allowed to do such returns, but they will end up seeing the warning above.

800px

Together, these features unlock a new ability for the user to return unrelated/non-matching items for a vendor core charge. Simply add something to a PO and set the quantity negative. The return dialog will appear. By default only purchases of that item will appear, but check the "show non-matching purchases" to see all documents. Find the document and check core exchange. This should be useful in scenarios where you don't want to permanently set something as a core item, but you want to do a one-off core return to a vendor of a 'similar item' or an item in the same core class.

800px

Core Management

  • Fixed: a couple misspellings and simplified some popups.

Purchase Orders

  • Fixed: if the user did a core exchange return (from vendor core management only) and that inventory record didn't have a core bank inventory record, the system would silently return the original inventory instead. This is essentially never what the user wants, so we now pop up an error message in this scenario explaining this undesirable scenario. The system will now never return the original inventory record's quantity. The user will be allowed to either make a miscellaneous return (no inventory is relieved by the core exchange), or they can cancel. The popup also has a hint that walks the user through doing manual exchanges of non-matching items.
  • Changed: previously, when using the "Returns" dialog on purchase orders, if an item did not have a core record associated, the "Core Exchange" checkbox was grayed out. This was often confusing to users and would lead them to normal merchandise returns. Now, they can always do a core exchange, but they will see the warning described above.
  • NOTE: now that this is no longer locked, when the user adds any item to a PO and sets the quantity negative, they can now navigate to a previous core exchange and check the checkbox. This essentially allows the user to do one-off exchanges of non-matching items when the user wants to return an inexact but acceptable item to the vendor but don't want to set a permanent core bank on the inventory record.
  • Changed: core inventory records that are not status A or H are now ignored when it comes to actually doing returns.
Newer Older