Changelog

Pro Desktop
2/3/2026

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.

2/3/2026

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: property 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.

Part Configuration

  • Changed: per user request, a part type can now be in a breakdown template under itself. This can be useful when using breakdowns to simulate buy package scenarios.

Graphing

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

Home

  • 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)

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.

Vehicles

  • Fixed: an issue where "add new cost" was not setting vehiclecost.partnum based on the costtype.partnum. *
2/19/2026

NOTE: this is a major change, and companies must be shifted over from v19.0.x by support manually. This is to avoid issues with mixed DLLs.

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: (PRO-328) database hotfix to clean up any payments applied to a different customer than the invoice they are applied to. The user was temporarily allowed to move saved sales between customers due to a bug which is now fixed.
  • Added: (case PRO-356) update query to correct NULL strings to real Null values.
  • Removed string NULL values from inventory.saleclasscode
  • Change: quote.mail and shipmailing to no longer be nullable to match other address fields

Parts

  • Fixed: (case PRO-356) unchecking E-commerce checkbox correctly sets the saved value to Null
  • Fixed: not escaping "NULL" when saving Sale Class (But not escaping the string enum)
  • Changed: a lot of the saving code has been changed to ensure that values that are too long don't cause errors and that saving goes smoothly.
  • Fixed: (case PRO-360) Mailing and Inventory Mailing saving as NULL now save as empty string.

Sales

  • Fixed: (PRO-328) a long standing bug that allowed the user to 'force' a new customer onto a saved sales order even though the choose customer button was locked.
  • Fixed: an issue where the user was able to save a sale that appeared to be locked down due to lack of permissions when only printing should be allowed.

Vendor

  • Changed: Changed the query run on click of the void purchase order button to use the new stored procedure to void purchase orders.

Pro Reports Changelog Version 19.5

Reports

Billing Statement (Billing.rpt)

  • Added: (case PRO-333) a new setting for memo above the tearoff. Note that there is already a short memo setting that populates the text that usually says "Thank you for your business!" This is in addition to that, and both are affected by the html memo interpretation setting.
  • Fixed: (case PRO-340) page breaks & the balance section not printing at the bottom of the page. Looks like some boxes determining section behavior accidentally got unchecked.

Top Customers (TopCustomers.rpt)

  • Added: (case PRO-325) optional customer addresses and the ability to toggle aggregating by invoice subtotal or invoice total via parameters
  • Changed: (case PRO-325) tidied the Reports/Central State Core Supply/CSCSTag.rpt

Unpaid Purchase Orders (UnpaidPurchaseOrders.rpt)

  • Fixed: (case PRO-331) reference to an obsolete field in the query
2/19/2026
2/19/2026

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.

Database

  • Added: new zip codes
  • Fixed: the dashboard query for linesalesovertimeandpreviousperiod no longer has "GROUP BY DESC"
  • Update: the wa_quote view to include the new websaleorigin quote column
  • Added: (PRO-68) several new part types to the stock part type list based on new part types being added on heavy truck parts.net.
  • Fixed: an issue where partuse.used could be NULL. Any NULL values have been changed to False, and the column no longer allows NULL.
  • Fixed: a query released in the previous version had a conflict with the state of live customer databases, so correcting that query and re-releasing it for any customers who have already updated.
  • Added: (PRO-73) add a nightly event, adapted from a similar event in ITrack Enterprise. This event will look for any quotes that expired in the last week and cause binlog entries to be created so that anything following the binlog will be forced to recalculate
  • Added: logging triggers to dashboard tables
  • Fixed: an issue where deleting a payment might not cause invoice.paid or the invoice balance to recalculate correctly.
  • Added: various columns in the partuse table now have a comment to note that they are deprecated and unused.
  • Added: quickbookslog has been deprecated, as it appears to be unused by desktop. It will be dropped in a future version.
  • Dropped: several report backup tables created in 2017
  • Removed: several unused tables (user_session, vehiclesearch) and deprecated an unused table espmodel.
  • Removed: inventory.global.
  • Fixed: fadjustinventory function to properly account for replenish and deplete flags
  • Fixed: an issue where lineitem.bodystyle and qline.bodystyle were not the same width as inventory and invmaster.bodystyle. Now they match and this helps avoid any query errors.
  • Deprecated: the decodeexec table, as it was for keeping track of 16 bit executables that cannot be sources or run on modern operating systems. This will be removed in a future version.
  • Added: stored procedure for voiding a PO

Controls/Tools

  • Fixed: a potential crash that could occur when modifying visibility of a button.
  • Fixed: a potential crash when modifying the icon on a button.
  • Added: support for easily toggling sorting and/or drag and drop on and off on a list control since in some places, sort order can be saved, and therefore must be disabled when the list is read only.
  • Fixed: (EE-237) a subtle and rare bug that could cause a tree control with a footer to sometimes be shorter than it was supposed to be. Changes from the list control from 2018 have been adapted to the tree control to bring the two in line for their behavior.
  • Fixed: an issue where some popups would not be tied to the application correctly. This meant that the user could sometimes use alt+tab to access the application still even though a popup was present. This also fixes an issue where auto-refresh timers were not being halted while these popups were visible. Now they will pause correctly.
  • Changed: the way popups center on their parent window now works in a way that doesn't require breaking how popups are tied to the application.
  • Added: email via MAPI error message support. Now, if an email fails to send, the popup will have an error message as well as an error code.

Configuration

  • Added: (EE-141) the system will now close all historical user sessions if a user is locked or deactivated.

Crystal Reports Printing

  • Added: print jobs now have a title set based on the user friendly name of the report, plus a file extension. Testing revealed that this causes some PDF printers to name the default file equal to this title, making printing to PDF slightly easier.
  • Fixed: (PA-562) the edit->reports page file upload dialog now shows an error box if it failed to read the file in windows.

Customer

  • Added: the 'tax expiration' field now has a check so that the user can remove the tax expiration for a customer.
  • Changed: the tax expiration field now defaults to unchecked.
  • Added: change detection on the tax expiration field now works if that is the only field being changed on the screen.
  • Fixed: an issue where the advanced tab and the customer units and service tab were not resizing to use up all the space correctly
  • Fixed: (PRO-89) a possible crash that could occur when changing units.
  • Fixed: an issue where a change to a unit service row might not save if the user immediately changed unit selection
  • Fixed: an issue where clicking on and off a unit repeatedly would keep adding new service rows
  • Fixed: an issue where the 'new' unit and service row didn't always stay at the bottom of the sorted list.

eBay

  • Added: when retrieving transactions from the API, we now request the 'containing order' information. This allows us to know if the invoice has been cancelled.
  • Changed: the transaction status column now pulls from the containing order. This allows display of Cancelled or in the progress of being cancelled as a status.
  • Added: the transactions list now shows status in red if the transaction has been cancelled so that the user knows why it doesn't need to be invoiced.
  • Added: the transactions list now shows the items with different background colors based on status, similar to the auction list.
  • Added: the transactions list now shows the document # field in Green if it has not been invoiced yet, but the purchase is completed.
  • Changed: loading auctions now considers ebay transactions that are Complete or Completed only when counting how many have to be invoiced. This will exclude items that are cancelled, in progress, or being cancelled.
  • 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".

Interchange

  • Removed: references to the now deprecated decodeexec table. This seemed to be part of an old system of 16 bit executables that ITrack could run to decode some serial numbers of specific types, but they could not be sourced or run on modern copies of windows, so the feature has been removed. The dropdown on the screen still has the options for decoding options that read from ITrack directly.
  • Changed: the VIN decode option now uses the shared VIN decoder dialog from the rest of the software, improving its functionality.

ITMySQLConnection

  • Fixed: a minor issue where, if ca-cert.pem is completely missing, requiring SSL might not throw an error when connecting.
  • 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.

Master

  • Changed: suppressed a database error that could be thrown from help->about if the database did not have a version in it.

Part Configuration

  • Removed: references to a "read-only" flag on part types. This was not used and somewhat unhelpfully labelled "RO" on the screen.
  • Renamed: Used to Active to more clearly denote function of the column and match Pro Web.
  • Removed: the unused 'Core' field from the part type configuration area, as this field is not in use. It was probably an early prototype of the model/category core default pricing.
  • Removed: some unused fields in the part type management area. The assembly, tag type, and tax code fields were all unused, and have been removed from the screen so that they can be removed from the database in the future.

Parts

  • Removed: reference to unused field inventory.global

QBToolkit

  • Removed: references to partuse.usecorecharge. It appeared to be unused, and removing references to it allows us to remove the unused field in the future.

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

  • Removed: pick column, which didn't do anything

Settings

  • Added: The configure->settings dialog now refreshes global and site level settings when the user visits this page. This should help avoid issues where the user sees 'old' information in this popup that was changed by another user or in the database directly.

Vehicles

  • Fixed: when a cost is sent to a PO, the purchase order is now created with a status of NEW instead of VOID.
  • Fixed: some issues with VIN decoding. This is now compatible with the new, online VIN decoding system.
  • Added: a VIN lookup button that uses the shared VIN Lookup dialog that shows VIN decoding results in real time as the user types a VIN. This dialog was recently shared from ITrack Enterprise and contacts the ITrack online VIN Decoding service, which is a faster, shared VIN decoding solution that returns more information for most VIN Decode requests.

Vendor

  • Fixed: the POs list was always quite small whenever the user reopened the screen.
  • Added: the size of the PO list is now remembered per user based on what they set it to last time, it now defaults to a much more reasonable size.

Vendor List

  • Fixed: Changed the vendor merging code so it doesn't delete the other vendor, but instead just marks it as inactive

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.

Reports

Default Billing Statement (Billing.rpt)

  • Fixed: (case PRO-76) customer street address
  • Fixed: (case PRO-76) fixed customer address part 2

Default Invoice (Invoice11in.rpt)

  • Changed: (case PRO-97) made pricing columns wider

Default Quote (Quote11in.rpt)

  • Changed: (case PRO-97) made pricing columns wider
  • Changed: (case PRO-152) updated printer settings to optimize for screen display

Gross Profit (GrossProfit5.rpt)

  • Added: (case PRO-103) additional group options

Pick List (PickList.rpt)

  • Added: (case PRO-106) new setting to prepend part type name. Previously it always showed, which is usually repetitive with description

Sales By Vendor, adderscript (SalesByVendor.sql & Update.sql)

  • Fixed: (case PRO-44) a small error in the vendor report parameter query that broke the report on the Viewer screen
  • Added: (case PRO-44) the updated adderscript for SalesByVendor.rpt

Fixed several standard pro reports for MySQL compatibility (case EE-472)

  • BestSellingPartsWithPercentageConverted.rpt===
  • Bid.rpt
  • BillOfLading.rpt
  • CustomerAddressLabel5160.rpt
  • CustomersMostActiveList.rpt
  • InventoryBuildOrders.rpt
  • InventorySummary.rpt
  • InventoryTotalsPartType5.rpt
  • Invoice7in.rpt
  • Label.rpt
  • Label5160.rpt
  • Label5160Simple.rpt
  • LabelLocation.rpt
  • LabelLocation5160.rpt
  • NegativeLineItems.rpt
  • OpenPurchaseOrders.rpt
  • PartSearchResults.rpt
  • PartSearchResultsCategoryAndCost.rpt
  • PartSearchResultsPortrait.rpt
  • PaymentsReceived.rpt
  • PO11in.rpt
  • Quote11in.rpt
  • Quote7in.rpt
  • ReceivedList.rpt
  • Returns.rpt
  • SalesByDefaultSalesperson.rpt
  • SalesReportByDate.rpt
  • SalesReportByVehicles.rpt
  • Tag.rpt
  • UPCTag.rpt
  • VehicleCost.rpt
  • VehiclePrintout.rpt
  • VehicleTag.rpt

Deprecated old reports that were especially outdated and/or redundant (case EE-472)

  • DoubleEnteredVehicles.rpt
  • GrossProfitByDate.rpt
  • GrossProfitByInvoice.rpt
  • PartSearchResultsPortraitSimpleCost.rpt
  • PartSearchResultsPortraitSimpleRetail.rpt
  • SalesReportBySalesmanAndWeek.rpt
2/19/2026

General

  • Added: (case FB-55284) support for copy and paste right click options in all list controls. Copy is always allowed, paste is only allowed if the user right clicks on a cell that they can edit.
  • Changed: all usage of libcURL from version 7.61.1 to 7.88.1. This update allows all of our HTTPS operations (including connecting to the auto-updater) to support TLS 1.3.
  • Changed: all usage of libMySQL from version 6.1.11 to 8.0.27. This update allows connection to the newest versions of MySQL server, as well as supporting TLS 1.3.
  • Changed: all usage of openSSL from version 1.0.2 to 1.1.1w. This is used both by the new version of libcURL as well as the new version of libMySQL to handle newer security.
  • Changed: all usage of zlib 1.2 to 1.3. This handles compression in mysql and libcURL.
  • Fixed: many queries have been updated to escape certain column names that will cause issues when using MySQL 8.

Database

  • Fixed: (case 59166) an issue where renaming a part type after it had been used on some number of inventory records, the search keywords on those parts would not be updated to the new part type name.
  • Added: (case 60033) some triggers to the payments and invoice tables to try to keep invoice.paid and invoice.invbalance up to date automatically to avoid issues where some users have encountered documents with bad information.
  • Updated payment triggers to better keep invoice.paid up to date. Re-running the 'recalculate all' script.
  • Changed: (case 60632) reportsubscription and reportsubscriptionparameter tables to be able to handle a scheduled report that will run a query and either email or save it to a directory.
  • Changed: reportqueue and reportqueueparameter tables now have a sourcetype and sourcequery columns to handle distinguishing between reports that just run a query and send a CSV or those that run a crystal report and send a PDF. All existing entries with a destinationtype of CSV have been converted to sourcetype Query and have had their query value moved from the reportqueueparameter table to the reportqueue.sourcequery field.
  • Changed: the event eschedulereports that generates reportqueue records from reportsubscription records now knows how to handle the new sourcetype field. Error handling is now specific to the sourcetype.
  • Fixed: some historical updates have been made MySQL 8.0 compatible.
  • Fixed: several stored procedures and functions have been modified to be MySQL 8.0 compatible.
  • Added: quote.websaleorigin, a new, optional e-commerce field to store what online source spawned a document.
  • Hidden: setting that is FPG related since it is no longer used.

Credit Card Processing

  • Added: new global setting Integrations->"Credit Card Terminal: submit tax information to gateway" which defaults to False. This disables a feature where local taxes are submitted to heartland payment systems. This does not seem to be load-bearing and causes errors in some tax jurisdictions, so this allows a company to opt in to this feature.
  • Fixed: (case 60966) an issue where trailing spaces in a customer zip code might cause the PAX S300 credit card terminal to throw an error.

Customer List

  • Changed: in discussions with the Chromium team, it was decided that merging customers should not delete the previous customer but instead deactivate it. This matches the behavior in the web version of the customer list.

eBay

  • Fixed: (case 60089) the 'cancel ebay auctions, if necessary' function now no longer shows the message "You do not have permission to cancel ebay listings" all the time. Now it will only be shown if the document had items on a valid ebay auction and the user attempted to cancel those listings.
  • Added: (case 60089) support for the 'cancel auction' function to take an argument that allows the calling code to replace the "Remove items from document" button with a "Cancel to correct document" button for scenarios where that makes sense.
  • Changed: the 'connect ITrack to ebay' button now always opens in an external browser due to deficiencies in IE.

ITMySQLConnection

  • Fixed: (case 53807) an issue where, if a mysql connection was closed due to inactivity or server shutdown, the connection would silently auto-reconnect, but the first query run on the fresh connection would return no results.
  • Changed: minor updates to avoid features being deprecated by MySQL.
  • Changed: previously, if "usessl" in the configuration was set to False, the connection would stay in "SSL Preferred" mode, which would still attempt to negotiate an SSL connection, if possible, falling back on unencrypted connections. Now, if usessl is off, the connection will not even attempt to establish a secure connection.

Login

  • Fixed: the user can no longer get to edit->options before the log in. This was allowed in old versions so they could set up the database connection, but that is now handled in a different way.
  • Fixed: the shipping configurations page is no longer editable if the user does not have the Options->Edit permission.
  • Removed: support for old, insecure password encoding methodology that we have been moving away from for many years. Updating to support MySQL 8 require dropping support for this insecure password methodology.
  • Added: if a user attempts to log in to the application using the deprecated password encoding methodology, they will be shown an error message telling them that they cannot log in this way anymore and must now perform a password reset or contact someone who can reset their password.

Master

  • Fixed: an issue where the logout vs close value wasn't being sent correctly. This was causing weird popups in some screens.

Options

  • Fixed: a crash that could occur when going to the Options dialog to configure taxes.
  • Added: if the user gets a database error when they launch the application they will be asked if they'd like to configure their database configuration. This makes recovering from incorrect installation settings easier.

Parts

  • Added: (case FB-52157) there is now a global setting “Parts”->"Allow manual entry of part tag #'s" which defaults to "True". This setting allows an administrator to turn off the ability for users to invent new tag #'s for new or existing parts. The user will see an error popup on save if they change the tag #.

Quotes

  • Fixed: (case 60089) an issue where saving a document might show a message "you do not have permission to cancel ebay listings". Now this will only appear if the items are on an ebay auction and the user chooses to cancel those listings. Also removed a button in the popup that did not do anything.
  • Fixed: an issue where updating a saved quote would not correctly update the 'last modified' timestamp in the database.
  • Added: (case EE-274) support for sending weight, weight unit, shipping dimensions, and shipping dimension units from a quote/invoice to the shipping quote web page.
  • Fixed: an issue where the user could edit the controls on the e-commerce tab, though those values wouldn't save. Now they are read-only
  • Added: (EE-458) support for a new web sale origin field from e-commerce partners so that a salesman can know what online partner spawned the document. If it is not filled out, it will fall back what website the record came from.
  • Removed: support for FPG shipping, as they have disabled their API cutting off the integration. Sadly this means that support for FPG has had to be removed.

Sales

  • Fixed: (case 60089) an issue where saving a document might show a message "you do not have permission to cancel ebay listings". Now this will only appear if the items are on an ebay auction and the user chooses to cancel those listings. Also removed a button in the popup that did not do anything.
  • Removed: the explicit handling of lastmodified from the sales view so that, for consistency, the database can handle it.
  • Fixed: (case FB-51065) re-ordering the lineitem list (and doing nothing else) will now properly trigger change detection, allowing the user to save that item order.
  • Added: (case EE-274) support for sending weight, weight unit, shipping dimensions, and shipping dimension units from a quote/invoice to the shipping quote web page.
  • Removed: support for FPG shipping, as they have disabled their API cutting off the integration. Sadly this means that support for FPG has had to be removed.
  • Fixed: (PRO-61) an issue where the customer balance figure would not be loaded onto the screen in some circumstances when the customer was loaded onto the screen.
  • Fixed: an issue where choosing a model with a forward slash or back slash in its name might not correctly show interchange options to choose from.
  • Fixed: an issue where the user might get a mysql error if they entered a part type #, year, or model with quotes in it when doing an interchange option search.
  • Fixed: (case FB-55043) an issue where searching vehicle models with a blank series would find inventory with any vehicle model that also has a blank series. Now blank series models are not allowed to 'interchange' in that way.

Settings

  • Changed: new users in the Pending Activation stage now default to a password encoding of PBKDF2 to avoid the (soon to be deprecated) MySQL Password option.

Shipping Integrations

  • Changed: the code that gets the company login token is now shared between EE and Pro. So now both products should correctly set an 'initial' SAV token in settings if one is not found. An override set in settings will override this functionality.
  • Removed: support for FPG shipping, as they have disabled their API cutting off the integration. Sadly this means that support for FPG has had to be removed.

Reports

Default Billing Statement (Billing.rpt)

  • Added: (case 59873) remittance address in place of standard address, when present.
  • Changed: (case 60190) report can now handle the existence of multiple stores without duplicating results. New hidden store parameter controls which store address prints and does not filter report results.

Default Invoice (Invoice11in.rpt)

  • Added: (case 59384) company email address. company phone moved right to make room.
  • Changed: (case 59872) replaced company address with remittance address when present (not NULL, not empty string)
  • Changed: (case 60959) fixed an issue that made the payments section appear on invoices with no payments.

Purchased Vehicles (PurchasedVehicleReport.rpt)

  • Changed: (case 42603) Cost to total cost and clarified field names.

v18.1.0 (3/25/2024)

eBay

  • Added: eBay 'transactions' now retrieve 'order status' from the API. This allows display of Cancelled or in the progress of being cancelled as a status.
  • Added: the transactions list now shows status in red if the transaction has been cancelled so that the user knows why it doesn't need to be invoiced.
  • Added: the transactions list now shows the items with different background colors based on status, similar to the auction list.
  • Added: the transactions list now shows the document # field in Green if it has not been invoiced yet, but the purchase is completed.
  • Changed: loading auctions now considers ebay transactions that are Complete or Completed only when counting how many have to be invoiced. This will exclude items that are cancelled, in progress, or being cancelled.
2/19/2026

Highlights

  • Significant improvements to the eBay screen including speed-ups, crash fixes, added tooltips, better keyboard navigation, better naming of ebay shipping types, support for free or charged local pickup, the ability to map listings to local inventory, support for setting listings' Brand and MPN, copying part type templates, and more

General

  • Removed: references to a field called listid that did not seem to be used anymore. Removing references to it will allow us to deprecate this field in the future.
  • Changed: users with very large list controls were finding it very slow to drag and drop items. To improve this behavior without removing precision, the longer the user drags a row in a list in the same direction, the faster the scroll will be.
  • Fixed: there was a report that tooltips were not working inside popups. The tooltips would only show if you alt+tabbed away and back, forcing the main window to be focused instead of the popup. This has been fixed
  • Fixed: several improvements made to screen based tooltips, including piercing through transparent overlapping windows.
  • Added: all top level windows in the application will now respect the windows user's 'darkmode' vs 'lightmode' setting with regards to the title bar.

eCommerce Synchronizer

  • Fixed: a crash/error that could occur if there was no local online sales history, which would happen on first run.
  • Added: (case 57564) when creating new sales orders, the same default shipping method that would be used by the desktop will now be set on the new document. This is based on a setting in ITrack Enterprise ("Sales Orders"->"Default Ship Method") and hard-coded to None in ITrack Pro.
  • Fixed: Store id of 0 is now treated as 'unset', since that is never a valid store id in the system and would trigger foreign key errors.
  • Fixed: an issue where if the remote transaction table was missing the paid attribute, it would crash instead of importing documents. Now it should just consider those documents never paid.
  • Fixed: (Case 58672) When a new customer is created in ITrack, the customer should now get all payment methods marked as being for new customers assigned to them as available payment methods. Previously, no payment methods were assigned to newly created customers.
  • Added: handling for when the storeid in the config file is invalid. In that case, the newcustomer.storeid value is not set, allowing it to remain NULL in the database.

Database

  • Added: a unique key on ebayshippingtype.
  • Added: "Local Pickup" shipping type for ebay.

CrystalReportsExtension

  • Changed: to avoid confusion, the "Favorite" checkbox in the "Choose report to print" popup has been replaced with a star icon. This dialog appears if there is more than one report option when performing a print job. This will make it clearer that the user is simply choosing a favorite, not checking which report to print.

eBay

  • Fixed: an issue where the default ebay customer might show as a blank if the selected customer had no company contact name. Now the company name is shown, if present, otherwise it falls back on the contact name, and then the customer ID #.
  • Changed: The default ebay customer field now shows the customer's company name first if present, and falls back on contact name or ID if it does not.
  • Changed: (case 56609) double-clicking an auction will now always open in an external browser instead of the internal browser built into ITrack. This is because eBay does not support Internet Explorer anymore and shows an incorrect message that the auction could not be found.
  • Fixed: an issue where the user's focus would always come back to 'date range' whenever the user left the auctions page and came back.
  • Added: focus is automatically put into the auction list if the default search finds at least one auction. This allows better keyboard navigation.
  • Fixed: an issue where sending items from search to a new ebay auction might put the user's focus into the wrong page. This makes it so that the user can immediately arrow through the items sent to the screen.
  • Added: hitting enter on the new listings page will automatically pop up the edit item dialog. This makes editing new listings easier.
  • Added: (case 42573) support for brand and manufacturer part number on all new listings. These used to always be passed as "Unbranded" and "Not Applicable", but the user can now edit them on any given listing before sending it.
  • Fixed: a rare crash when using the enter key to open the currently selected listing.
  • Fixed: a display issue that could occur in the rare case that quantity on hand for a SKU was negative.
  • Fixed: an issue where a dropdown on the config page wasn't working right. Also, rearrange several default fields to closer match the edit list dialog.
  • Fixed: tooltips were not working on the config page. Also added some tool tips to new controls.
  • Added: (case 42573) brand and manufacturer part number default fields. These defaults accept template syntax so that a company can decide what format of data they'd like to put in these fields on listings. By default, we ship with a mapping to inventory Manufacturer and Model, but the user can switch to vehicle make or OEM number as desired.
  • Added: help buttons next to brand and manuf part # fields to teach the user about templates.
  • Changed: shipping type of "Not Specified" and "Calculated Freight" no longer require any shipping methods to be specified, as they don't make sense in these scenarios.
  • Changed: renamed the "Not Specified" shipping type to be "Not Specified/Local pickup only" to more accurately reflect its use.
  • Added: if "Not Specified/Local pickup only" is selected, the shipping method area will be grayed out and none of the defaults will be transmitted, as ebay doesn't allow shipping methods in this scenario.
  • Fixed: a misspelling in "Other Freight service" shipping type.
  • Added: (case 58537) it was found that local pickup was not working correctly in some ebay categories. To resolve this, if no shipping methods are passed, a special 'no delivery' option is passed that seems to make those listings work. In addition, a more obvious shipping type of "Not Specified/Local pickup only" has been fixed for those scenarios.
  • Added: "Local Pickup" shipping type to ebay screens. This is useful for scenarios where local pickup is available in addition to domestic shipping. Local pickup can be free or not. Some examples have been added to the wiki article at (https://wikido.isoftdata.com//index.php?title=Internal:Ebayshippingoptions#ShippingMethod%2FOptionCombinations) to outline pickup mixed with shipping.
  • Removed: a deprecated field in the ebay API ("NoHitCounter"). It isn't causing an error, but it causes an unnecessary warning.
  • Added: the part type dropdown in the ebay listing template dialog now shows part type name and number and is an auto-complete for easier selection.
  • Added: the ebay template list now shows both part type # and name in the template list. Also, the description field is resized to fill the list and can be clicked into to view all text in a scrollable window.
  • Added: keyboard navigation to the ebay template list. Enter edits the selected item, arrows to move around.
  • Added: (case 50557) a copy button to ebay template list. When clicked, the selected template and all of its data is made as a new copy and opened for editing.
  • Added: when the user adds, copies, or edits a template, their selection will no longer be lost.
  • Fixed: if there was an error during template saving, the dialog will no longer close, allowing the user to make changes and retry the save.
  • Fixed: an issue where opening the same template multiple times might lead to duplicate shipping options.
  • Fixed: broken tooltips in the template list and template edit dialog.
  • Added: deleting templates now has a confirmation popup.
  • Fixed: a couple potential crashes related to documents and eBay.
  • Fixed: tooltips on the auctions page, and added more tooltips.
  • Fixed: an issue where loading auctions from ebay with no SKU set at all might incorrectly pull the SKU of a previous auction listing.
  • Added: (case 57713) a Map Inventory button. This button allows the user to associate a local inventory record to a remote eBay listing. This is particularly useful when dealing with auctions created outside of ITrack. When this operation is run, ITrack will attempt to revise the SKU stored on the auction listing. If that is impossible (because the auction is closed/ended) the mapping will be created on the ITrack side only.
  • Added: doubleclicking a red "" cell for items not found in inventory will automatically perform the Map Inventory function for faster inventory mapping.

Home

  • Fixed: the resize dragger is now more visible
  • Fixed: a lot of screen flickering that would happen while resizing the screen by dragging the separator.

Login

  • Changed: the password recovery popup has had several labels reworked to make the password recovery process more obvious.
  • Fixed: an issue where the "Can cancel eBay auctions" permission was not properly being checked.

Quotes

  • Added: (case 57465) the state of the "And print" and "and print pick list" checkboxes are now saved per user.

Sales

  • Added: (case 57465) the state of the "And print" and "and print pick list" checkboxes are now saved per user.
  • Fixed: a slight bug in tool tip text on the save button if print pick list was checked, but print invoice was not.
  • Performance: optimized the code that saves search history slightly so that interchange searches will be slightly faster.

Vehicles

  • Fixed: (case 57349) a crash that could occur if the user does not have the 'view invoices' permission and they loaded a vehicle with sales history on the performance tab.

v17.1.0 (3/9/2023)

Database version 170001

Home

  • Fixed: suppressed certain tracking pixels from causing a blank ITrack online window to appear.

Master

  • Added: a file with additional manifest settings to be merged into the application manifest. This added explicit compatibility sections, which is supposed to enable some windows features.
  • Fixed: windows high contrast themes now display correctly on certain buttons.

Parts

  • Removed: references to an unused vendornum field so it can be deprecated more easily in the future.

Updater

  • Added: the Updater.exe is now built with the same manifest settings as ITrack.exe, namely assembly identity and explicit operating system compatibilities.
  • Added: (case 59196) the updater now detects the current windows operating system version as part of updating to detect available windows features.

v17.2.4 (08/14/2023)

Search

  • Fixed: an issue where models that had a \ or / or ' or " in the name might cause issues when looking up interchange options.

v17.2.5 (11/29/2023)

Sales

  • Fixed: (PRO-61) an issue where the customer balance figure would not be loaded onto the screen in some circumstances when the customer was loaded onto the screen.
2/19/2026

Highlights

  • About box now shows more version information
  • Search screen load times greatly improved
  • Major usability improvements to eBay screen
  • Several quality of life improvements to the QB screen
  • eCommerce integration improved

General

  • Added: the help->about box now shows the database version as well as the product version.
  • Added: the help->about box now shows the product version each file in the application were designed for and ones that don't match the product version are shown in red with an attention icon.
  • Changed: the Help->About dialog no longer looks for a file called ITrack.exe and instead reads the product version from the main module itself in memory, in case the application ever uses a renamed entry point file.
  • Changed: if the user closes the application or it fails to load before its visible, the application will no longer overwrite the 'last' size/position of the application in settings.
  • Added: during loading extension modules, the product version of each file is now checked. If the major version of a loaded module does not match the master module, it will be put in a popup for the user to alert them to this (potentially) erroneous state.
  • Added: so that users can avoid seeing this popup on every launch, the popup has a "don't show this message in the future" checkbox. If checked, all those specific files at those versions will be remembered for that user. If any new files (or existing files at new versions) are seen later, they will be shown to the user again. The user can choose to continue loading all modules (previous behavior) despite the version mismatch, load only those modules whose version matches (skip bad files), or close the application.
  • Minor changes to lists to attempt to work around the crash reported in case 54051.
  • Various improvements to the installer file to modernize and fix many issues with dependencies and SSL certs.
  • Fixed: an issue where clicking the 'close application' box would prevent change detection messages from appearing for any open screens.
  • Removed: an old "Are you sure you want to close" confirmation popup on application close that had been broken for awhile.
  • Added: if the user has windows dark mode turned on, the application title bar will now show dark.

eCommerce Synchronizer

  • Fixed: an issue where a NULL shipping amount would prevent invoice creation.
  • Fixed: an issue where failing to load a customer would still attempt to create the invoice without a customer. Warning in the logs updated to reflect this.
  • Fixed: misc items (items with no inventoryid) were not correctly creating non-stocked invoice lines.
  • Fixed: an issue where misc items were created for $0 instead of online sale price.
  • Changed: we no longer filter out remote sales that are in Pending or Charge Failed status, as those are no longer used. However, we do filter out status 'closed' as those are 'completed'
  • Changed: if a new remote sale line is found for an invoice that was already downloaded, that line will not be pulled into the system. This will avoid issues with circular creation for new lines created from ITrack.
  • Added: (case 53591) customer approval status is now pulled for all local documents to be compared to remote document information. If any documents have a status that is not correct, they are updated en-masse.
  • Added: when remote documents are marked as paid, the local documents will have payment records created.
  • Added: we now check a setting for default payment method for payments created from the ecommmerce integration. It defaults to Online Payment. If such a payment method can not be found, one will be created.
  • Added: for Pro integrations, After adding a payment in the local system, we now call pinvoicerecalculate to ensure that paid/balance stay accurate based on the newly created payments.
  • Fixed: a crash when attempting to build a line item description if the inventory record had no description.
  • Added: more log output for work being done to create payments for later reference.
  • Added: (case 53996) ability for web payments to be created and associated with the quotes created as internet sales.
  • Fixed: a bug where pro payment method creation wasn't working right.

Database

  • Removed: a database function that had been inconsistently added to some systems that was never made vanilla. It is no longer needed.
  • Added: (case 52200) validation has been turned on for the 'manufacturer' in the inventory model list import so that the user will get better feedback if the import sheet has bad manufacturers.
  • Added: FULLTEXT search for vehicles.
  • Changed: Part search FULLTEXT search to include tag #
  • Added: Alter customer and vendor tables to add FULLTEXT indexes
  • Added: new stored procedure pcustomeraging based on p_aging, but it uses output parameters, which makes it easier to call from other procedures and functions. In addition, this function now uses invoice balances instead of total - payments. I also reversed out applied credit from a customer balance perspective, because 5$ of applied credit may decrease the document balance, but it does not affect the account balance.
  • Changed: paging has been rewritten to just use pcustomer_aging to share code.
  • Added: new function fcustomerbalance which uses pcustomeraging to compute the current balance of a customer, considering all factors.
  • Fixed: Case 53900. We no longer use the vcustomerbalance view for getting customer balances. This query updates a chart that used to use that view, but now uses fcustomerbalance.
  • Fixed: (Case 53968) the strPublic param for function fattachmentcount could not support 'Both' as the function tried to change it to '%', which is not one of the valid enum values.
  • Case 53840. Add ATV/UTV eBay categories
  • Added: (case 53996) payments.quotenum, which allows a payment to be created and be associated as a down-payment for a quote. This is currently only used when payments are created from e-commerce transactions so that they don't get created more than once.
  • Fixed: an issue where fchecksetting was not passing the default correctly, so newly created settings were returning NULL for their current/default value.
  • Drop: finventoryattachmentcount as fattachment_count replaces it.
  • Fixed: Add locking for the psetsetting procedure to avoid errors that could occur if the procedure gets called with the exact same input parameters at the extact same time.
  • Fixed: an issue with psetsetting that was breaking pro desktop such that after the user set a new setting value, that value would not be updated in memory, causing it to show the wrong current value until the next login.
  • Added: speed indices to the vehicle model table that will make loading and searching data for make or model dropdowns faster.

Customer Contact

  • Fixed: an issue where initially opening the customer contact home page might take a long time because it loaded all customer names for display. Now, only visible customers will be loaded (for speed) and only when needed.

CustomerList

  • Changed: customer balances are now computed in a much faster and simpler way.
  • Removed: the ability to turn off customer balances in search, as they are now fast enough to always show.
  • Changed: result print no longer pre-computes balances for the report.

eBay

  • Fixed: an issue where typing a new ebay customer in could crash if the user had to be taken to the customer list to choose between multiple matches.
  • Fixed: an issue where hitting "choose customer" to pick a new customer account might not update that information correctly after the user chose a result on the customer list.
  • Fixed: (case 56737) an issue where refreshing data from ebay could disassociate a sale on ebay (transaction) from the sale in ITrack, leading to the screen to show previously invoiced transactions as still needing invoiced.
  • Added: a "search" button, which reloads auction and inventory data from the database manually.
  • Added: an "auto-refresh" checkbox, which controls whether making changes to the auction filters will automatically do a search immediately or wait for the user to click search. This will speed up situations where there is a lot of data to load, and the user wants to make many changes to the filters without waiting for the search to complete in between. The user's preference for this check will be saved between sessions.
  • Added: a checkbox that will filter results to just those auctions that have a matching inventory record and hide the rest. This is useful when an ebay account has historical auctions that were not created from within ITrack and the user does not want to see those records. The user's preference on this checkbox will be saved between sessions.
  • Fixed: an issue where searching results might not scroll the selected item into view if the user had an auction selected before hitting search.
  • Added: the user's preference for the "need invoiced" and "w/ebay sales" checkboxes are now saved between sessions.
  • Added: support for the new "w/inventory records" checkbox when searching auction data.

Home

  • Fixed: (case 55700) an issue where saving a document that is not type "Quote" (such as Delivery, Work Order, etc) would not refresh on the home screen correctly after a document was saved.

Login

  • Fixed: an issue where users were allowed to proceed with password recovery on accounts that had no recovery email set. The grace period on this has ended, if any account has not had a recovery email set at this point, to recover their password they must talk to support or administration at their own company (depending on security settings).
  • Added: the password recovery email template now has information about the computer/install at which the reset attempt was initiated from to make it more trackable if a malicious third party is locking accounts by beginning a recovery attempt on them.
  • Added: if the security setting "Passwords: minimum count of online breaches to restrict passwords at" is set to "N/A" or a negative value, the user will be warned but not restricted on this system.

Parts

  • Fixed: (case 52181) an issue where using the copy part feature but not assigning a manual tag number could lead to a crash after creating the part copy.
  • Fixed: (case 54070) a weird issue where, if the user opened a part associated with a sold/crushed vehicle, they'd see a popup when they tabbed off of the vehicle tracking # field. This could lead to getting stuck in an error loop in very specific circumstances.
  • Fixed: a memory leak in the assembly component choice popup.

Quickbooks toolkit

  • Fixed: an infinite loop that could be encountered if the user attempted to export more than 200 customers at a time.
  • Added: invoices page now has a date range filter for handling particularly large invoice/payment exports.
  • Fixed: badly sized column widths on invoice page.
  • Fixed: an issue introduced in 2017 where selecting more than 200 invoices to push might attempt to push some of those invoices more than once.
  • Added: to avoid issues of quickbooks being overwhelmed by too large of an export, pushing invoices and payments now stops before it gets to 200 total items to push per attempt. If the user selects lots of items, they're just pushed in 200 item chunks. It used to push items until it would hit 200 invoices, but that could be way over 200 total items considering payments and other items, now its less than 200 total items.
  • Fixed: an issue where most tabs would not load correctly when the user navigated to that tab. Now when the user goes to a tab, those items will be refreshed from the database automatically.
  • Fixed: an issue where clicking export on a couple pages would not export that data.
  • Fixed: a crash that could happen when hitting the sync button on the customer tab.
  • Added: busy 'wait' cursor while an export or sync is running to make it clearer when they have begun and finished.

Quotes

  • Fixed: (case 55700) an issue where saving a document that is not type "Quote" (such as Delivery, Work Order, etc) would not refresh on the home screen correctly after a document was saved.

Sales

  • Fixed: (case 53631) an issue where attempting to load items that had a custom-entered tag number that differed from the unique part number would not work correctly.
  • Fixed: an issue where a user must have the "edit sales" permission to change the shipping address of a sale, even if the sale is new/unsaved. Now, that permission is only required to set the shipping address of a previously saved sale.
  • Fixed: (case 53884) an issue where it appeared the user could check the "Apply Balance to Purchase" but it would not work. Now, the user can check this box on saved invoices so long as the account is carrying a credit balance.
  • Changed: "Apply Balance to Purchase" has been renamed to "Apply Credit to Invoice" and moved down near the invoice balance. In addition, the unlabeled 'credit applied' field that was floating in the header is now under the apply credit check. This section is hidden on very small screens since it is not always useful.
  • Fixed: an issue where the 'apply credit' checkbox would be checkable in some states when loading a document when the customer didn't have a credit balance.
  • Added: customer balance is now computed in a faster and more consistent way to match customer list and reporting.
  • Performance: loading the search screen is now 3 times faster. The speed of loading dropdown data has been increased and several redundant queries were eliminated for speed. In addition, user permissions were being checked repeatedly and now they are cached after the first check to speed up UI operations.
  • Fixed: (case 56737) several issues on the vehicle search page where a make, model, or series with certain characters could result in query errors when loading model/series lists or when searching by models that match a series.
  • Changed: doing a part search by vehicle model is now much faster due to how models with matching series are loaded.
  • Performance: the vehicle search page no longer refreshes the make/model/series dropdowns every time the user leaves a related field. Now it will only reload these values when the user changes a related field. This will make the interface snappier as a user tabs through controls, especially if they don't change values.

Transaction List

  • Fixed: (case 54119) an issue where the transaction list might throw an error when showing payment detail.

Vehicles

The following fixes were made to the costs tab of the vehicle screen:

  1. The user could create a cost without vendor or cost type, but it would crash trying to look up those invalid values. It will no longer crash due to invalid vendor or cost type.
  2. The query that loaded saved costs would not correctly load ones that had no valid cost type. They will now be loaded.
  3. If you created a cost without a valid cost type or vendor, the 'update' button to correct your mistake was grayed out. Now you can update it to valid values.
  4. The bottom of the screen said that vendor, cost type, and amount were all required, but they were not being checked. I made it so that if you hit new cost (or update if you're updating an existing one) it would check those 3 fields and not continue adding/updating if one of those values was bad.
  5. The 'update' button would also crash if you updated to an invalid cost type/vendor. Fixed.
  6. When you created a new PO/poline, the partnum that got saved into the table was a big negative/invalid number because it was an uninitialized integer. This would probably create bad data. I updated it to use 0, and to save that as NULL since that is easier to query for. I'm not sure what partnum was supposed to be saved here, but at least it doesn't save a completely strange value anymore.
  7. If the user selected a cost with a valid cost type, then selected a row with no valid cost type, the wrong cost type would be shown.

Reports

Customers By Tax Item (CustomersByTaxItem.rpt)

  • Added: (case 55455) a new report that can show customers with no tax item, expired tax item, or just a list of customers by tax item

Default Invoice (Invoice11in.rpt)

  • Fixed: (case 54079) report now pulls invoice.invbalance directly. It was miscalculating when there was applied credit.
  • Changed: (case 55138) memo formatting to be able to understand html markup

Default Vehicle Printout (VehiclePrintout.rpt)

  • Changed: (case 53987) report makes better use of setting defaults

Dismantled Vehicles Parts Remaining (DismantledVehiclePartsRemaining.rpt)

  • Added: (case 54203) a column for part manufacturer and model

Gross Profit (GrossProfit5.rpt)

  • Fixed: (case 53783) removed reference to lineitem.store, deprecated field

Inventory In Stock By Location (InventoryInStockByLocation.rpt)

  • Added: (case 53567) the ability to filter by whether or not a part has images and if those images are public. Based on a new parameter.

Vehicle Value Analysis (VehicleValueAnalysis.rpt)

  • Removed: (case 55111) reference to deprecated column in subreport
2/19/2026

e-commerce integration

  • Added: support for the customerid attribute missing on new_sales view
  • Added: newlines in web comments are now given carriage returns.
  • Added: the HTP synchronizer application now sets a setting on first launch. This alerts other applications pointed at the database that the synchronizer tool has been installed.

General

  • Added: clipboard support for date, time, and date/time fields in the software. Now the user can copy (ctrl +c) out of or paste (ctrl + v) into date time picker controls in the software and embedded in list controls. This makes it easier to interact with many cells in a list control with many items that have date values.
  • Fixed: the about box could show an error if the 'credits' url in the host.ini file was blank. This could lead to bad behavior in particularly corrupted or empty ini files. Now the user will be taken to the default URL.
  • Fixed: a possible crash that could occur in a list control if going to the bottom of the current page of results if they didn't fill the screen.
  • Fixed: a crash when Resizing a column outside of the boundary of the column count.
  • Fixed: an issue where release builds were linking against mysql 6.1.5 instead of 6.1.11
  • Fixed: an issue where blank Time-only list control cells would be automatically turned into 'current time'.
  • Fixed: another issue where midnight "12:00 AM" would not be handled correctly in time-only list control cells.
  • Fixed: (case 51470) an issue where popups were being restricted to the primary monitor instead of the monitor of the window that launched them. Now they should be centered by default over the window that created them.
  • Fixed: (case 51470) an issue where popups that 'remember' their last position could not restore a location that was on a secondary monitor correctly.
  • Added: Column Tree Controls now support column header tool tips.
  • Fixed: (case 51708) an issue where dropdowns in a list control on windows 11 might not look quite right. In addition, dropdowns in the first item might flicker unnecessarily.
  • Fixed: a rare issue where, when a list edit/dropdown/date picker/etc disappears, the list cell behind it might not draw correctly.
  • Fixed: date/time controls in list controls would 'revert' their input when the user hit escape, but would not hide correctly. Now the date control will be hidden correctly.
  • Added: the 'filter' box in the configure global settings popup now uses a timer to wait for the user to stop typing before searching.

Database

  • Added: (case 49009) paymentterminaltransaction.gatewaytransactionid for storing a unique gateway transaction # for successful payments, which should make looking up and refunding payments later easier.
  • Updated: right-click graphing template should no longer encounter a JS error if loading the google charts library takes too long.
  • Changed: quickbookserror to quickbooksonlinesyncstatus and made it more generalized so it can be used for mapping as well as a place to track errors.
  • Changed: DLS settings to reference TForce, as per their rebranding.
  • Fixed: fgetpermission_parents having an infinite loop when a permission had an invalid parent id as per case 50434.
  • Fixed: Replace hard-coded references to parent permission ids in newly-inserted permissions, and enforce foreign key references for parentpermissionnum. Case 50434.
  • Added: support for shipping types in ebay templates.
  • Added: ppermissionclone_access, which allows easily copying permission from an old permission to a new one.
  • Fixed: an older permission created for restricting internet sales on accounts did not exist on some systems. This permission is auto-granted to anyone who could view quotes.
  • Case 47698 - Ensure that if they change the vehicle info after they create its inventory records, we update those inventory records to match.
  • Fixed: a bug where the pvoidsale procedure would fail due to referencing a removed column
  • Added: Case 50408 - Web / Chromium Dashboard Phase 3 Schema
  • Fixed: a bug where the finvoicetax function was referencing a non-existant view/table.
  • Fixed: (case 50817) an issue where an e-commerce field didn't match the corresponding field on HeavyTruckParts.net.
  • Changed invoice.phonenum to be varchar 25
  • Fixed an issue where the void sale procedure was referencing a column that has since been removed.
  • Added: two new fields to the quote table for tracking approval status for documents generated in response to e-commerce transactions
  • Changed: quote.quotedate and invoice.invdate can no longer be NULL. These user dates are pretty critical to users finding documents, and therefore must be valid values. Any missing values will be copied from date created.
  • Fixed: Adding queries to get rid of duplicate settings while attempting to keep any values entered by users.
  • Added: function to get attachment count
  • Fixed: (case 51429) inconsistent length for the interchange number field. Now, hollander interchange values are still limited to a length of 7, but ITrack interchange numbers allow up to length 25 (on parts, invoices, quotes, searches).
  • Modified: the model table now has some column defaults, and those columns can no longer be NULL.
  • Changed: many columns of the model table are now VARCHARs instead of CHARs to save space, and their length has been adjusted to match other tables that store make/model.
  • Added: column descriptions to model table, and rearranged some columns to bring more important ones to the top.
  • Fixed: releasing a query to attempt to correct any un-voided payments associated with voided invoices, as these could be tough to find in the software.
  • Fixed: releasing a query to attempt to recalculate invoice.paid and invoice.invbalance on all invoice records. Previous corrective queries corrected invbalance but not paid, and Chromium calculated balance using paid.
  • Fixed: Updated a query for updating invoice phonenumbers to customer phonenumbers, so that it grabs the first 20 of the customer phone number rather than the whole thing.
  • Added: ecommerce columns to the quote view(case 51378)
  • Added: procedure to void a payment
  • Changed: NULL tax rates are just cause for confusion. Set them to 0 and make the column not nullable
  • Fixed:(Case 51697) issue where some users were unable to perform ALTER VIEW statements. Replace with DROP and CREATE statements.
  • Added: support for fulltext index search on inventory
  • Fixed: the formatting for dashboard charts treemapsalesbyparttype and treemapsalesbyparttypeandsalesperson so the currency values get formatted on the client

Credit Card Processing

  • Updated: POSLink integration to 1.8 from 1.6. This was to examine if it improved any features, but no significant changes were detected.
  • Changed: updated POSLink integration version to the newest (1.9).
  • Added: (case 49009) support for retrieving and saving GatewayTransactionID from successful payment transactions into the database. This should make refunding payments or looking them up later easier.

Crystal Reports

  • Added: (case 51309) a popup dialog that appears during printing if the chosen printer does not seem to be valid. The user is told what error windows returned and are presented with the list of valid printers to choose between. The user is allowed to 'remember' this selection for future prints. This is important because previously, if the user had an invalid printer name saved as a default, print jobs might fail, but no error message would be shown.

Customer

  • Fixed: a crash that could occur when the user edited a currency column.
  • Fixed: (case 50999) a crash that could occur when deselecting a sale on the sale list.

Data Management

  • Fixed: crash when going to a page of results other than the first.

eBayExtension

  • Fixed: (case 48969) an issue where selecting a date range with an end date several months into the future (such as "This Year") would keep the 'refresh from ebay' button from retrieving auction information. Now, if the end date is in the future, it will be moved back to today.
  • Fixed: a crash when adding new shipping methods on the config page, the template edit popup, or listing edit popup.
  • Added: support for setting a 'shipping type' (global default) on the ebay config page.
  • Added: support for part type specific shipping types on the template config area.
  • Added: (case 40441) the ability to set a shipping type on any listing. This allows the user to choose between Computed, Freight, Flat Rate, etc. This adds support for 3rd party freight.
  • Fixed: an issue where the listing count on the listing tab would not decrease as items get successfully uploaded.
  • Fixed: an issue where adding a new shipping option on a listing would show the dimensions incorrectly.
  • Fixed: an error from eBay that could be shown if the user uploaded an inventory item that had fractional weights. They are now rounded up as per eBay's suggested policy.
  • Changed: the popup that would say every listing needs at least one shipping option is now suppressed if the user chooses "Other Freight service" since it does not require shipping options to be chosen.
  • Changed: if the user lists an auction with a shipping type of 'Calculated' shipping option costs are ignored.
  • Fixed: an issue where sandbox auctions would not open correctly if the user doubleclicks them (because ebay returns bad URLs).
  • Fixed: a crash if the user changed filters that could cause fewer items to be loaded while an item was selected.
  • Added: if the user refreshes auctions from ebay while the 'from' date is blank, they will be told that we can only ask for 4 months from ebay.
  • Added: if the user refreshes auctions from ebay while the date range is > 4 months, now it will loop across that date range and load ebay auctions in 4 month chunks (the most ebay allows us to request) instead of just doing the last 4 months.
  • Added: as auctions are loaded from ebay, the ITrack status bar is refreshed to note how many pages and what date range is being loaded, since a longer date range can now take a long time to refresh from ebay.

Graphing

  • Added: some extra code to the right-click graphing template that will keep waiting to render the chart until the google charts library finishes loading.

Login

  • Fixed: an issue where the login dialog would not correctly follow the main window to other screens.

Options

  • Fixed: several issues where the editability of the active and default checkboxes in the tax item page could get strange.
  • Fixed: a database error that could occur when adding a new tax item.
  • Changed: Tax items no longer save a 0% tax rate as NULL since the schema has been change to not allow NULL.

Part Configuration

  • Fixed: an issue where the edit categories page did not use up the entire space.
  • Removed: IntOnly, IntCode, and ManOverride from vehicle models. They were unused in the software, and did not have user stories for their inclusion. Since they were being skipped in chromium, pro desktop has been modified to match. If, in the future, someone desires their addition, we can bring them back.

Parts

  • Fixed: (case 51170) a crash on the sales screen from a bug introduced in 2009.
  • Fixed: (case 51429) incorrect maximum length for the interchange number field. Now, ITrack interchange numbers allow up to length 25.

Purchase Orders

  • Changed: (case 51560) if the user chooses to print tags, if a lineitem is not newly receiving any quantity, it will instead print tags for previously received quantity.

QBToolkit

  • Fixed: (case 51173) a query error due to a deprecated field (invoice.taxable).

Quotes

  • Changed: references of DLS to TForce to match their corporate rebranding.
  • Fixed: an error that could occur if the user saved a new quote with the quote date unchecked.
  • Changed: styling of the lineitem list. Better alignment and sorting for most columns. Most columns now remember the user's last used column width. Bolding the lookup and price columns and made the total column look read-only.
  • Migrated: code to using an ITQuote 'smart' object for saving and loading. This should speed up the screen and improve code re-use for quote documents.
  • Added: a 'side-bar' for the left side of the screen. This side-bar will appear when one or more pages are applicable to the current quote. Currently, the only page that can be shown is the 'e-commerce' page. This page is shown when the currently loaded document was created from an online transaction.
  • Added: (case 50956) if the user loads a quote that was created automatically for an online customer purchase, a side-bar page "e-Commerce" will appear. On this page, the user can view the status of the transaction online as well as approval the final quote amount to be sent to the customer.
  • Changed: the quote date field can no longer be unchecked. These user dates are pretty critical to users finding documents, and therefore must be valid values. Any missing values will be copied from date created.
  • Fixed: (case 51429) incorrect maximum length for the interchange number field. Now, ITrack interchange numbers allow up to length 25.

Sales

  • Changed: references of DLS to TForce to match their corporate rebranding.
  • Fixed: bug where it was impossible to reprint an invoice if you didn't have add or edit permissions
  • Fixed: (case 51429) incorrect maximum length for the interchange number field. Now, ITrack interchange numbers allow up to length 25.
  • Fixed: (case 51429) incorrect maximum length for the interchange number field. Now, ITrack interchange numbers allow up to length 25.

Transaction List

  • Fixed: (Case 50815) bad query that referenced removed column.

Vehicles

  • Fixed: Case 50788 where a query error on Vehicles from the Performance tab would occur when loading a vehicle.
  • Fixed: (case 51718) a crash that could occur on a vehicle with no teardown parts if the status of the vehicle was changed and saved.
  • Fixed: an issue where vehicles with a blank location might not correctly show component parts in the 'status changed' popup when a vehicle status is modified and saved.

Pro Reports Changelog Version 15 REVISION 22884-23176

Reports

Billing Statement (Billing.rpt)

  • Added: (case 48617) html interpretation to the short memo

Default Invoice (Invoice11in.rpt)

  • Added: (case 48617) html interpretation to the memo

Default Quote (Quote11in.rpt)

  • Added: (case 48617) html interpretation to the memo

Quick Totals (Sales) (QuickTotals.rpt)

  • Fixed: (case 48943) made report respect taxable @ 0% = nontaxable setting.

Sold Parts (SoldParts.rpt)

  • Added: (case 50429) customer type parameter
2/19/2026

eCommerce App

  • Added: support for ITrack pro quotes created from internet orders.
  • Added: support for Python version 3.9
  • Added: support for document/inventory stores, which will be adjusted soon.
  • Added: support for quote.storeid in pro systems. Removed references to some deprecated fields that are being removed in future versions.

Image Synch App

  • Fixed: there was a unicode error being thrown leading to crashing if a query contained binary data. Now that data is present but backslash escaped wherever possible. Its still not always possible to copy the data out of the file to paste into SQLYog, but at least its not crashing. If we wanted queries that can be copied and pasted, we'll need to do HEX/UNHEX so that all the data is transmitted as hex strings. The downside here is that it will double the size of the data.

Attachment Views

  • Fixed: an issue where resizing the application or an attachment view would not resize the currently visible attachment within it.
  • Added: (case 46397) all attachment pages now automatically select the first attachment in the list for display. This matches the behavior that already existed in some attachment 'popups' like on the document screens.
  • Fixed a possible crash that could occur

Database

  • Added: quantity as a flex field search option
  • Fixed: a bug where the user view was trying to reference useraccount.email which is now workemail.
  • Fixed: a bug where the WHERE clause in the fgetreport_printer function wasn't using the report type passed in.
  • Removed: an unused view, wa_user
  • Fixed: released some changes to the reportqueue table that hadn't yet been released in pro yet.
  • Added: (case 46390) defaults for invmaster.dateentered and invmaster.lastchanged times, so that they get set on creation (and update for lastchanged) automatically.
  • Added: view wareportprinter
  • Added: (case 35686, 46035) websaleid and websaletype to the quote table. Also, added websalelineid to qline. Together, this should help track incoming documents from the internet.
  • Added: new database functions fcalculatetax (for computing the correct tax, given a tax item id and a taxable amount), finvoicetax, which returns the correct tax for a given sale, and fquotetax, which does the same for a quote document. These are useful for import scripts that want to be able to get correct tax values.
  • Changed: invmaster's primary key no longer involves store #, as the stocknum is (and always has been) globally unique.
  • Added: quote.storeid for tracking a document store #.
  • Added: invoice.storeid for tracking a document store #.
  • Added: the following fields were set to a valid default if they were set to NULL in the quote table: document, lastmodified, invsub, tax, invtotal, date, closed, company, name, street, city, state, zip, country, phonenum, shipcompany, shipname, shipstreet, shipcity, shipstate, shipzip, shipcountry, shipphone. All those fields now have reasonable column defaults and now no longer allow NULL.
  • Changed: rearranged some columns in quote, qline, invoice, lineitem and added some column comments for better documentation.
  • Added: the following fields were set to a valid default if they were set to NULL in the qline table: part, vinnum, make, model, manufacturer, mod, year, bodystyle, interchangenum, price, core, rank, quantity. All those fields now have a reasonable column default and now no longer allow NULL values.
  • Changed lineitem/qline.interchangenum are now limited to a reasonable maximum length.
  • Fixed: v_quote no longer references some unused columns.
  • Changed: the following fields were set to a valid default if they were set to NULL in the invoice table: document, date, lastmodified, phonenum, taxable, taxrate, tax, shipping, invsub, invtotal, paid, AppliedCredit, invbalance, CheckAuthNum, authorizationnum, trackingnum, shipcompany, shipname, shipstreet, shipcity, shipstate, shipzip, shipcountry, shipphone, shipmailing, PONumber. All those fields now have reasonable column defaults and now no longer allow NULL.
  • Changed: the following fields were set to a valid default if they were set to NULL in the lineitem table: part, vinnum, make, model, manufacturer, mod, year, bodystyle, interchangenum, price, cost, core, quantity, coreqbid, journalentryqbid, rank. All those fields now have reasonable column defaults and now no longer allow NULL.
  • Dropped: unused old_itemnum columns in qline/lineitem.
  • Dropped: unused table DEPRECATED_useroption.
  • Deprecated: the following columns in the quote table. They have been renamed for now, but will be dropped later: taxable, taxrate, type, shipping, core, notify, timeentered, qbid, qbes
  • Deprecated: the following columns in the qline table. They have been renamed for now, but will be dropped later: tax, status, store, qbid, coreqbid.
  • Changed: made the address fields consistent widths across the customer, vendor, invoice, and quote tables. Also, rearranged some address columns for easier exploration.
  • Changed: set a default value to many columns in place of NULL values. These columns have been altered to no longer allow NULL and to have a valid default value. This affects customer, vendor, and invoice tables.
  • Deprecated: several unused columns in the lineitem and invoice tables
  • Changed: waquote, wainvoice now have a storeid column, and no longer reference deprecated columns. waquoteline and wasaleline also no longer reference deprecated columns.
  • Changed: now, invoice and quote now retroactively set their storeid correctly instead of defaulting to 1.
  • Added: billing address fields to the invoice table. These fields are now set retroactively for historical documents.
  • Fixed: vpartson_hold no longer references unused fields.
  • Fixed: tlineitempre_insert now correctly runs.
  • Removed: wainvoice view, which is redundant with wasale.
  • Added qline.interchangenum default per case 46984
  • Added: (case 47002) triggers to ensure newly created inventory records will get label1 through label4 copied from the associated partuse record.
  • changed: broke up a recent db update into two because one of the fields is not on every database, and I don't want to prevent the other changes in that case.
  • Changed (case 47454) the payments table now allows NULL values in the comments column to avoid errors. Also removed the invalid default of 0 for the customernum column.
  • Fixed: (case 47532) an issue where fgetattachment_data would not work for attachments larger than 16 MiB. Now it should work on files up to 4 GiB.
  • Re-added fgetinvoice_balance because of a missing delimiter statement at the start of the function statement.
  • Fixed: database API function fgetcompanyproductcode was reading from a setting instead of from the store table, which is where pro stores company codes. The setting created by these checks has been cleaned up.

Crystal Reports Extension

  • Changed: (Case 48271) the printer name dropdown in the advanced print dialog is wider now to facilitate very long printer names.

Customer

  • Removed: shipping charge from quotes tab, which is unused.
  • Removed: references to several unused invoice fields.

Customer List

  • Added: (case 46371) a new clear button (hotkey: alt+c) that will clear filters/results.
  • Fixed: some minor resizing issues.

Data Management

  • Fixed: an issue where, after doing an import, the user might be presented with a negative number of unchanged rows if the number of new/updated rows exceed the number of rows in the input file.
  • Fixed: an issue where doing an import against a table that had a column name or column comment with the reserved word 'constraint' would cause the import to fail.

Importer

  • Fixed: (case 46970) another bug with the auction importer.
  • Further fixes to solve bad auction imports.
  • Fixed: a crash on double clicking the lineitem list on a large import.

Manual Interchange App

  • Added query and query error logging based on the logfile option in the ini.

Options

  • Fixed: (case 46384) an issue where adding a payment method to all customers would throw a database error.
  • Fixed: (case 48436) a crash when deactivating a tax item that was in use on at least one customer.
  • Added: column to the configure tax items dialog to show how many invoices a tax item had been used on, since if this is > 0, the user cannot edit the tax item.
  • Added: column tooltips and good column sorting, as well as resizing the UI to better use space on the configure tax items options page.
  • Added: (case 48587) the invoice memo box now creates linebreaks when the user hits enter. Previously, the user had to use the ctrl+enter combination or paste text in.

Parts

  • Changed: part type labels are now referenced from the part type table instead of inventory.

Quotes

  • Fixed: (case 46306) an issue where hitting enter in the customer lookup would not perform a customer search like it does on the sales screen.

Report Viewer

  • Fixed: an issue where the parameter list would annoyingly scroll to the side when the user clicked in a value field if there are enough parameters for a horizontal scroll bar.

Sales

  • Fixed: (case 46364) an issue where hitting clear on an unsaved invoice, then either hitting cancel or hitting save (and there is a save error) the document would be cleared anyway.
  • Added: saving invoices now sets billing address fields based on the customer.
  • Fixed: string maximum lengths have been updated to match the fields in the database.
  • Removed: references to now-unused fields.
  • Added: document store # is now saved on new invoices.
  • Removed: a reference to lineitem.store when calculating sales.
  • Changed: part type labels are now referenced from the part type table instead of inventory.

Vehicles

  • Changed: part type labels are now referenced from the part type table instead of inventory.
  • Deprecated: the last use of the espmodel table has been removed and replaced with searching the model table instead. The espmodel table hasn't been updated for awhile, so it is being deprecated. The user should not notice any difference, but this will speed up new deployments and time for backups.

Vendor List

  • Added: (case 46371) a new clear button (hotkey: alt+c) that will clear filters/results.
  • Fixed: some minor resizing issues.

Tools

  • Fixed: (case 47700) ISO8601 formatted datetimes and times were being opinionated about timezone in the output. This had been done to resolve issues with XML communication with ebay, which always communicates in UTC, but was causing issues in right-click graphing and other javascript exports where the times were not in UTC timezone. This would cause local times to be written as though they were UTC, which could cause display issues to the user. Now, timezone is an optional additional argument that opinionated time formatting code can use.
  • Added: ITDialog/ITView/ITPropertyPage now have extra tooltip handling code where, if a control doesn't have a registered tooltip, and it is an ITLabel, it looks for the control it is labeling and attempts to get the tooltip for that control.
  • Performance: removed a lot of the 'guard rails' on list control operations. This was taking as much as 40% of the time to load a bunch of stuff onto Presage' sampling history.
  • Performance: skipping some invalidation of the list control when redrawing is locked. This speeds up intensive load operations somewhat.
  • Performance: optimized several high-traffic areas in the list control.
  • Added: ITPropertySheet now has support for icons/bitmaps in property page tabs, just pass a valid icon resource ID to AddPage.
  • Added: support for page icons to ITPropertySheetParent::AddPropertyPage.
  • Added: if the user uses a hotkey to activate a property page, it should now correctly set focus into that page. This only happened in some scenarios before.
  • Fixed: depending on where the user's focus was, hitting a hotkey (alt + ) to activate a property page or button might not work correctly. This would occur in situations with 'nested' property sheets, when the user's focus was in a child sheet. Now those hotkeys should 'float up' to be handled by parent sheets and forms.

Reports

Default Invoice (Invoice11in.rpt)

  • Changed: (case 46793, case 47079) modernized field references

Default Quote (Quote11in.rpt)

  • Changed: (case 46676) updated report field and font sizes to more closely match the Invoice report.
  • Changed: (case 46793, case 47079) modernized field references

Default Tags (Tag.rpt)

  • Changed: (case 47079) modernized field references

Invoice7in.rpt

  • Changed: (case 46793) modernized field references

Labels (Label.rpt)

  • Fixed: (case 46709) saved 2x4 TSC printer settings with the report
  • Fixed: (case 46709) moved up logo underlay and made the header smaller
  • Fixed: (case 46709) moved the logo to a detail section to avoid issues with printers that don't understand how headers work
  • Changed: (case 47079) modernized field references

Labels 5160 (Label5160.rpt)

  • Changed: (case 47079) modernized field references

Labels 5160 - Simple (Label5160Simple.rpt)

  • Changed: (case 47079) modernized field references

Lost Sales (LostSales.rpt)

  • Changed: (case 46793, case 47097) modernized field references

Pick List (PickList.rpt)

  • Changed: (case 46793, case 47097) modernized field references

Quote7in.rpt

  • Changed: (case 46793, case 47097) modernized field references

Sales By Vehicles (SalesReportByVehicles.rpt)

  • Changed: (case 46793) modernized field references

Vehicles By Date

  • Added: (case 46184) a new report based on the older Purchased Vehicles report that gives basic information about reports Purchased OR Entered in a date range. Whether it cares about Purchase Date or Date Entered is based on a parameter.
Newer Older