Changelog

Enterprise Desktop
4/8/2026

Highlights

  • eCommerce support for payments
  • Completely redone customer and vendor Q&A system. Try it out!
  • Significantly expanded part Q&A system to match the updated vehicle Q&A system. Tons of new features, try it out!
  • Major improvements on the eBay screen
  • Many improvements to vendor list to match features that have been added to customer list over the years.
  • Better accounting error messages

General

  • 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

  • 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.
  • Fixed: an issue where EE integrators would always use the customerid returned by the HTP API, even when the misc local customer is more appropriate.
  • Fixed: a crash when attempting to build a line item description if the inventory record had no description.
  • Removed: temporarily removed code that would create a shipping adjustment on the document based on remote shipping charges. This is because currently shipping charges are decided in the local ITrack system, not on the internet.
  • 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.

Database

  • Fixed: an issue reported by users where a database error could be thrown if a particularly large list control attempted to save its column order/widths to the columnorder table. Maximum column width increased from 200 to 1024.
  • Removed: a unique index per case 53806
  • Removing some unused settings from the vehicles section
  • Case 54483: Add "Customer Type" as a display field to the Transaction List for the Sales Order Source
  • Fixed: an issue where inventory Q&A choices had a unique index on choice value that was global instead of per-choice.
  • Added: (case 53804) model fields for shipping dimensions
  • Added: inventory fields for tracking weight unit and shipping unit
  • Added: (case 54027) inventory type flag for requiring serialization.
  • Added: (Case 54428) Unit Number column on Transaction List
  • Fixed: a potential divide by zero error in fvendorfill_rate for new vendors when mysql strict mode is on.
  • Added: (Case 55369) vehicle.dateentered to Transaction List as display field and filter for the Vehicle Source
  • Fixing an issue where users could not create two inventory options with the same name but different categories/manufacturers/models.
  • Added: Case 55804 "Vehicle Unit" as filter for the Purchase Order Source to the Transaction List
  • Added: (case 55313) permission "Move All" button in scanner
  • Added: Case 56095: Update WOMP Inventory Join in Transaction List to use unique alias
  • Changed: (case 56507) the customer Q&A table now defines specifically what input types are allowed. Boolean has been added.
  • Changed: vendoroption.type is now an enum of specific, semantic types like customeroption.
  • Added: several indices to the eBay auction/transaction tables to improve loading and search speed.
  • Added: fulltext index to vendor alternate addresses so that we can search them like we do customer alternate addresses in smart searches.
  • Added: a foreign key in vendoroptionvalue to vendor.vendorid for both data integrity and speed. Vendor smart searches were very slow if there were large numbers of option values.
  • Changed: customeroptionvalue has had an index swapped out for a foreign key to match vendoroptionvalue.
  • Fixed: an issue where deleting a job from a workorder might not cause the parts on that job to recalculate their holds. Now deleting a job will cause any job parts to recalculate holds correct
  • Changed: the version of prunforalltables that was deployed was out of date, so deploying it again. This should only effect the weekly optimization of all tables so that they skip any archived or deprecated tables.
  • Added: (case 57022) several indices to common tables to improve the speed of common operations on large databases.
  • Fixed: re-released prunforeachtable because it was missing some considerations for tables named ARCHIVE_ or DEPRECATED_
  • Deleted: attempting to delete any historical columnorder entries with values that are outside of reasonable bounds. This is because there was a small window in which invalid column width information was being saved, leading to users having to reset these values manually.

Accounting

  • Added: (case 56721) while generating accounting for payment(s), if the AR gl account id or payment method specific deposit gl account id are not set, the user will see a specific error (historically they would just get a more general accounting error which was harder to interpret).
  • Added: (case 56721) while generating accounting for a sales order, if tax accounting could not be completed because the Accounts Receivable account was not set, the user will see a more specific error (historically they would just get a more general accounting error which was harder to interpret).
  • Fixed: (case 56946) a rare bug where, if the user modified a GL account, if it was the currently selection in one of the global setting dropdowns at the top of the screen (such as AR or AP), the next time the user closed the screen, that account setting would be reset to blank. This has lead to users getting accounting errors because their AR account got cleared after they made a change to the name or description of the account.
  • Changed: the global settings on the accounts and categories tabs are no longer first in the tab order, this is to help prevent situations where users may accidentally change the values of these dropdowns.

Customer

  • Fixed: (case 54183) an issue where deleting the only price contract would not save correctly.
  • Added: (case 56507) support for boolean/checkbox customer Q&A options. Such options will show a checkbox for filling out data.
  • Changed: all customer Q&A is now formatted to reduce guesswork for users with regards to how to enter 'formatted' values like currency/number/date. Where appropriate, specific controls are now used (date picker, checkbox, etc). There may be some need to convert historical data to comply with new formatted data standards. Please contact ISoft data systems if you have historical customer Q&A that you would like help converting.
  • Fixed: an issue where newly added options would not format their input field correctly based on input type.
  • Fixed: an issue where changing an existing option's type would not format its input field correctly.
  • Fixed: a potential database error that could occur if the customer had a blank value for an option saved, and the user tried to save a new value.

Customer List

  • Fixed: several issues with search vs Show All when the user picked search options that used specialized controls (date pickers/checkboxes/etc).
  • Added: (case 56507) support for boolean/checkbox customer Q&A options. These are displayed in the list as read-only checkboxes and can be sorted by check state. Also, added the ability to search by such fields using a checkbox filter.
  • Fixed: several minor formatting bugs when the user entered a search filter value.
  • Added: 'raw' user values are now formatted using the current user's locale settings when displaying data in the list. IE, dates, numbers, and currency will be formatted to match user preferences in the result list.
  • Fixed: an issue where the button did not change from 'show all' if the user did a smart search.
  • Fixed: a possible bug where searching by checkbox wouldn't perform the search if the user did a different search before that.
  • Fixed: an issue where having an empty value for a custom Q&A search would not show the 'show all' button and would not search for all results.
  • Fixed: an issue where doing a greater than/less than search on numeric or currency Q&A fields would not always compare results correctly.

Core Management

  • Fixed: the date range dropdown on customer cores now has a "Last 6 months" option. Also, ranges are no longer sorted alphabetically, but instead with a more logical order.
  • Added: checks to the from/to date pickers on customer cores to make it easier to have unbounded ranges.
  • Performance: an issue where the customer cores tab would load twice when the screen was opened if the user had the "Automatically refresh" checkbox checked. Now it will only load once on open.
  • Performance: the customer cores date range now defaults to the last 6 months to make loading faster on databases with a lot of sales history. Also, the user's chosen date range will now be saved on screen close.
  • Fixed: a bug where the "Owed to Vendor" checkbox was being ignored. Unchecking this value should now work correctly.
  • Performance: several filters on customer cores were causing reloads every time the user clicked into or out of them. Now it should only happen if a value actually changes.

Data Management

  • Changed: the inventory import now allows non-numbers in the OEM # input field.

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.
  • 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: an issue where the background color of open documents was forced to be white instead of the windows default background color. This conflicted with individuals setting a high-contrast dark theme.
  • Performance: (case 57022) on databases with large numbers of work orders, the WOs tab of the home screen could take a very long time to load the first page of results if the user had "Always" selected for the date range.
  • Performance: (case 57022) an issue where the sales orders tab would search for sales twice on initial open, which was particularly noticeable on slow database connections.

Interchange

  • Fixed: an issue where the model dropdowns in the list were not passing part type in correctly when loading inventory models.
  • Fixed: an issue where manufacturers were not being used to filter model dropdowns correctly for manufacturers that span part types. Now part models from other part types should not show in the model dropdowns.

Inventory Overview

  • Fixed: (case 53762) an issue where the 'last 4 months' columns had the wrong month labels.

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.

Manage Warehouse

  • Fixed: (case 56530) an issue where held serials would show "1" in the QA column in the manual count page.

Parts

  • Changed: the Q&A page now hides the serial #'s area if the part is not serialized. This gives much more space to the Q&A which is more important on the majority of inventory items.
  • Added: (case 53650) support for the new, enhanced Q&A system. Questions can now be part type, category, manufacturer, and model specific (or global to all part types). In addition questions can have dynamic defaults, as well as customized dropdowns, checkboxes, date pickers, text boxes, etc.
  • Added: support for reloading questions when part type changes.
  • Fixed: a database error that could occur if the user deleted a serial that was currently lost (in location Variance). This is because any associated inventoryvariance records were deleted with the serial, but then deleting the lost serial tried to 'balance' the loss. Now it will skip that.
  • Added: the dynamic Q&A system on the vehicles screen has been added to the parts screen as well. The questions can be part type, manufacturer, model, and category specific, and the answers can have default values and different data types.
  • Added: changing category, assembly manufacturer/model, and manufacturer/model now updates Q&A in case there are any category specific questions.
  • Fixed: an issue where loading a part might not load Q&A correctly.
  • Added: clearing a part now clears Q&A answers correctly.
  • Fixed: an issue where changing a Q&A value might not save correctly if the user changes serial #'s.
  • Added: support for serial # specific Q&A in the new, dynamic Q&A system. Adding a new serial # inherits defaults from the global defaults on the part.
  • Added: (case 54103) an extra hint on the tooltip for the lead time field to explain the 90 day window.
  • Added: some extra text to the tooltip for the lead time box to make its calculations more obvious
  • Fixed: an issue where changing part type might not migrate the category correctly.
  • Added: serialized Q&A should now work correctly with the new, advanced Q&A system. In addition, making changes to part type/category/manufacturer/model should now be reflected automatically in the answers on all serials.
  • Added: on loading a part, if any new Q&A has been added that has a default, those default values should now be created for each serial # on the part.
  • Fixed: an issue where, if a part had Q&A for serials and the part type or something was changed, serialized answers might inherit from the 'default' serial instead of carrying over previous values for the same serial # to similarly named questions.
  • Fixed: Q&A answers that no longer apply (due to changing part type/category/etc) are now marked for deletion on save.
  • Added: (case 54179) required options must now be filled out now to save. If the part is serialized, the question must be answered for each serial # that is on hand.
  • Fixed: minor issues with Q&A when cloning parts.
  • Fixed: an issue where dropdown based Q&A might show duplicate choice options.
  • Fixed: issues with replicating parts between stores with Q&A.
  • Fixed: an issue where loading a serialized part might copy default Q&A answers onto serials that have no answer for that question.
  • Performance: (case 56823) several overlapping issues that could cause loading or saving a part with >2k serials and several dozen Q&A options to take a very long time (2.5 hours), and is now much faster (12s for load, 2s for save). More improvements to come in the future on load time.
  • Fixed: an issue where the 'default' serial Q&A might not load correctly for a SKU with a large number of serials.
  • Fixed: (case 56847) an issue where the 'show unavailable serials' checkbox on the serials tab of the parts screen might get cleared (unchecked) every time a part is loaded.
  • Fixed: (case 56870) an issue where the 'delete serial #' button would be greyed out until the user toggled the "serialized" checkbox off and then back on. Now this button can be clicked so long as a serial is selected.
  • Fixed: (case 57280) an issue where the "uses serials" checkbox would not be checked correctly when loading a serialized part.
  • Changed: (case 57242) if the user marks a part as serialized that has no serials yet, the primary location of the part will no longer be deleted. This is because when this happened, if the part had quantity on hand but no serials, the quantity would go into Variance, and the user's default primary location choice would be lost. Now this information will be kept so that newly created serials will default to this valid location instead of Variance.

Part Configuration

  • Fixed: an issue where configuring inventory options (Q&A), the user couldn't change required options.
  • Fixing an issue where users could not create two inventory options with the same name but different categories/manufacturers/models.

Sales Orders

  • Fixed: an issue where user preferences in the 'save options' popup would not correctly save if the user cleared the screen after making changes. Now their preferences are saved as soon as they hit Ok in the popup, though preferences are still reloaded on each clear in case preferences had been changed elsewhere in the software.
  • Fixed: a potentially slow query when deleting sales order lines on save on larger databases.
  • Fixed: (case 55462) whether a reopened invoice would change its date on finalization was inconsistent. Now, if the user finalizes an invoice, no matter if it was previously finalized or not, the document date will be automatically changed to 'today'. This provides maximum consistency between open and re-opened invoices.
  • Fixed: a rare issue when saving a new payment and receiving some kind of error, if the user re-attempted the save, the payment might not re-save correctly.
  • Added: (case 56721) whenever attempting to save payments, if the previous gl accounts on the payment are invalid (and accounting is turned on), they will be refreshed from the database before save. This will help users recover accounting misconfigurations by re-saving invalid documents.
  • Fixed: (case 57032) an inconsistent issue where the user might get an error if search logging was turned on (it defaults to off) after doing a search and selecting an item to send to a screen. This information should log correctly now.

Vendor

  • Changed: (case 56507) vendor Q&A section redone to match customer Q&A features, including the new boolean option type.

Vendor List

  • Added: (case 56507) all features regarding Q&A searching and displaying that were added to the customer list screen have been ported to the vendor list screen.
  • Added: smart search now searches alternate addresses, like customer list smart search.
  • Added: many features that have been added to customer list over the years have been ported to the vendor list screen to make the screens have similar features.
  • Fixed: an issue where having an empty value for a custom Q&A search would not show the 'show all' button and would not search for all results.
  • Fixed: an issue where doing a greater than/less than search on numeric or currency Q&A fields would not always compare results correctly.
  • Optimization: the way that vendor Q&A has been improved to match performance optimizations made to the customer list screen.
  • Added: vendor account # as a searchable field.
  • Fixed: an issue where the search method (contains, equals, at least, etc) default to the correct item like the customer list search.

Vehicles

  • Added: (case 51437) a user request to support a new setting: "Vehicles"->"Purchase date automatically set to title received date". This setting defaults to False. If set to True, the purchase date field on a vehicle will be locked, and whenever the user changes the title received date, that value will be put into the vehicle purchase date as well.
  • Added: as per user request, when a vehicle type is chosen, if there is only one category, it is automatically chosen.
  • Fixed: (case 57241) an issue where using the 'Copy item' button on the teardown interface or the assembly breakdown interface might show that the newly created item would exist at quantity 1, but it would actually be created with quantity 0, which could lead to confusion and location discrepancies.
  • Added: (case 57300) the email preview will now rearrange in real time as the user drags and drops data points in the list.
  • Added: (case 57300) the relative order of data points in the build email dialog are now remembered for all non-QA fields. QA fields are dynamic, so they are always added at the end in rank order.

Work Orders

  • Fixed: an issue where the user might see a query error when creating new serials on serialized WO master parts due to a change in how Q&A defaults work. More changes are yet to come in this interface.
  • Fixed: (case 55752) an issue where attempting to add a job template to a WO whose template store is different than the store the user is logged into might load the wrong (or no) template.
  • Fixed: an issue where loading a part template with misc/non-stocked items might cause an error that items with a non-zero price must have a valid gl category. Now items loaded from a template should correctly refresh gl category just like items added from a search.
  • Changed: (case 56693) the WO # box, which can be clicked to load a new WO #, was causing issues in some rare cases where the user would get stuck in a WO load loop. This lookup box now works the same as the same lookups on the other document screens to avoid this issue.

Reports

Billing Statement (Billing.rpt)

  • Added: (case 55807) font setting for customer-facing-reports

External Work Order (WorkOrderExternal.rpt)

  • Added: (case 50885) a setting to change font
  • Fixed: (case 56616) workers who were currently clocked in being left out of hourly labor totals when summarizing labor by worker

Internal Work Order (WorkOrderInternal.rpt)

  • Added: (case 50885) a setting to change font
  • Added: (case 56322) a new setting to show jobtask hour subtotals by user
  • Added: (case 56322) work clock intime and outtime

Inventory Movement (InventoryMovement.rpt)

  • Added: (case 46131) a new report to track inventory usage

Part Search Results (PartSearchResults.rpt)

  • Fixed: (case 56300) NULL handling for flex field labels

Pick List (PickList.rpt)

  • Added: (case 54790) a new setting for hiding comments

Purchase Order (PurchaseOrder.rpt)

  • Added: (case 50885) a setting to change font
  • Added: (case 51984) a new hidden parameter for French mode

Sales Order (SalesOrder11in.rpt)

  • Added: (case 54017) new setting for Truck # field label
  • Added: (case 55110) a new setting to override counterperson label
  • Added: (case 55110) a new setting to override part number column label
  • Fixed: (case 55110) alternate header layouts now respect the new counterperson label override setting
  • Added: (case 55031) font setting
  • Added: (case 56003) new settings to optionally hide quantities and sale price

===Teardown (Teardown.rpt)

  • Added: (case 56715) new setting to show user status column. You can also sort by it.

Transfer Order (TransferOrder.rpt)

  • Added: (case 50885) a setting to change font

Transfer Order Posting Report (TransferOrderPostingReport.rpt)

  • Fixed: (case 57340) parameter issue with the serials subreport

Vehicle Spec Sheet (VehicleSpecSheet.rpt)

  • Added: (case 55031) font setting

Vehicle Detail By Part Type (VehicleDetailByPartType.rpt)

  • Removed: (case 47736) deprecated old report

Vehicle Value Analysis (VehicleValueAnalysis.rpt)

  • Added: (case 56512) status column, user status column, new setting to replace purchase date column with receive date column

Worker Scan Sheet(WorkerScanSheet.rpt)

  • Fixed: (no case) userid formatting to exclude commas on userids at least 4 digits long

v35.1.1

Highlights

  • Major rewrite of how serials are managed on WOs, and to a lesser extent, other documents. Namely, the user can now edit advanced Q&A for serials on the WO screen (both for job parts and master parts) and change the location of a serial number.

Changes

  • When editing a serial # chosen for a job part or a WO master part, the user can now fill out all advanced Q&A, and defaults will correctly apply to newly created serial #'s.
  • Serial numbers selected on a WO can have their location changed, when they are created, edited, and one last time on WO finalization (master parts only).
  • The parts screen will no longer mention change detection for serialized parts if the only change has to do with locations. This was happening because the system was rebuilding location quantities based on serial #'s whenever the user opened the screen. Now they won't be bothered by this automatic recovery process.
  • Fixed several minor issues and weird display issues regarding serial #'s on transfer orders

v35.1.2

Changes

  • The 'add multiple jobs' button was usable on closed WOs. It is now properly grayed out on such documents

v35.1.03

Changes:

  • Fixed: an issue where column order and widths might not save and restore correctly on the customer list and vendor list screens if the user had more than 60 custom Q&A columns

v35.1.04

Changes:

  • Fixed: an issue where very long category names would be cut off when adding items to a bid

This hotfix has also been applied to v32

v35.2.0

Changes:

  • If the user changes the part type of a part, or vehicle type of a vehicle, if any of the 4 flex fields are filled out, those values will 'carry forward' if the new part/vehicle type have a similarly named flex field.

v35.2.1

Changes:

  • Fixed an issue where locations were being cut off at 10 characters per 'level' in the tree, when they were supposed to allow up to 50.

This hotfix has also been applied to v32

v35.2.2

Changes:

  • Fixed: an issue where return invoices with a two-tier tax would not calculate exceeding the breakpoint correctly

This hotfix has also been applied to v32

v35.3.0

Changes:

  • Fixed: an issue where voiding POs would not reverse accounting activity if PO accounting was turned on
  • Added: the ability to rebuild general ledger entries from purchase orders from the accounting screen like with the other document types.

v35.3.1

Changes:

  • Fixed: (case 58422) the accept bid dialog on vehicles now correctly does not change the user status of a vehicle if the 'change user status' box is unchecked.
  • Fixed: (case 58385) a regression on vendor list where vendor smart searches using vendor code were not working.
  • Fixed: (case 58380) a bug where using the vendor lookup on purchase orders/vehicles/inventory overview to search by vendor id was not working correctly.

v35.4.0

Changes:

  • Brought a v36 feature into v35 early to fix issues some users have run into with WOs. Specifically, if the user re-opens a WO after it has been invoiced and add a new job, when the WO gets re-finalized, any newly added jobs will be sent to the associated SO to be invoiced.

Note:

If there are any historical WO documents with jobs that have not been invoiced, they can be corrected by loading the WO, and clicking the "Open/Send to invoice button"

Special/Unversioned

Updated VinPower installer has been released via the Auto-Updater. This will allow VIN decoding in the system in 2023

v35.4.1

Changes

  • The QuickBooks export screen now supports purchase order accounting, if it is turned on in the system. Previously, even if PO accounting was enabled, it could not be exported to QB.

v35.4.2

Changes

  • Fixed an issue where assess finance charges could crash in some situations

This release was also rolled out into Enterprise 34 as v34.1.07

v35.4.3

Changes:

  • Fixed: (case 59228) a potential crash that could occur if the user sold an assembly component on a sales order and wanted to a breakdown from that screen.

v35.4.6 (3/14/2023)

Changes

  • Fixed: (case 59709) an issue where, if an external tax quote was still in the "Calculating…" state, the current invoice balance would be unavailable, throwing off balance tests on save.
  • Removed: an unnecessary recalculation of tax quote on every save operation, as this was interfering with checking tax quote state during save, and was delaying saves.
  • Added: (case 59709) if, for any reason, an external tax quote is still in the "Calculating…" state when the user hits the save button, a special popup will appear letting them know the system is waiting for this to either complete successfully or return an error. This popup has a Cancel button in case they don't want to wait (though the save will be cancelled as well). This will prevent any issues where a slow tax quote might cause a save operation to use out of date information.
4/8/2026

General

  • Added: the parts screen now supports advanced Q&A, just like the vehicles screen in version 33.
  • Added: module versions to each file that is part of the product. This will be used in the future to detect if files are out of date.
  • 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.

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.

Database

  • Fixed: an issue where, if the user mapped 'bad' data to the field 'Stock Type' during an import using "Inventory" or "Vendor Catalog - Inventory Prices", the inventory would not get a correct stock type set. Now, it falls back on the default of 'Special Order'.
  • Fixed: because of the previous import issue, any inventory record with invalid stock types has been updated to be 'Stocked'.
  • Fixed: bad where clause in update from DLS to TForce permissions
  • Added: mobile teardown database schema
  • Added: city.purchaseregionid, which is a new region type per city similar to sales regions and store regions. This is useful for auto-assigning purchase agents to vendors.
  • Added: foreign keys to some fields in city and region.
  • Added: vendor.purchaseagentuserid which is the current purchase agent for a vendor. More features will be coming related to this association.
  • Added: a new permission for whether a user can search vendors that are assigned to other purchase agents. It is defaulted to on for any users that were able to view POs in the past.

Customer

  • Added: Edit->Regions->Purchase regions. This is a new type of region for associating a user to a group of cities/counties/states for automatically setting a purchase agent on vendors. This is similar to the sales regions and store regions for customers.

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.

Inventory Overview

  • Fixed: unnecessary flickering when the user stopped dragging a resize bar.
  • Fixed: weirdly sized buttons in the header.
  • Fixed: (case 52190) footer totals were not showing an ellipsis (…) when numbers were cut off, leading to confusion.
  • Fixed: (case 52190) on every refresh, the cost column was auto-sized to fit the data in the list, but the total in the footer was not considered, so it was often cut off. Now it will be resized to fit the footer as well.

Parts

  • Fixed: (case 52080) an issue where multi-line description or notes entered on the web interface might not display line breaks correctly.
  • Added: support for advanced Q&A, just like the vehicles screen. Questions can now have default answers for questions, required options, and questions that are part type/category/manufacturer/model specific. Also, serial # Q&A should default to being the same as the 'default' serial # answers.

Purchase Orders

  • Changed: vendor lookup is now slightly faster and has been redesigned to match the behavior of the vendor list keyword search.
  • Added: support for a new permission that controls whether a user can search vendors that have not been assigned to them, which now applies to the vendor lookup area.
  • Fixed: an issue where going into the PO return dialog would not correctly show the 'current' document and its items as able to be returned. This required doing core exchanges on a second PO.
  • Added: description and note fields now support linebreaks entered both in the desktop or web interface.

Vehicles

  • Fixed: (case 52269) an issue where, if the user had duplicate model names under multiple manufacturers for the same vehicle type, only one version of that model would show up. Loading a vehicle with an invalid or inactive model should still show that option in the dropdown.

Vendor

  • Added: support for setting a purchase agent for each vendor (optional). More features will be coming related to this in the future, but this is designed to be the user account manager for a given vendor and the designated purchaser.
  • Added: support for showing what purchase region a vendor's address falls in, based on purchase region (if any). This will automatically select a purchase agent based on region, if any. This is similar to customers getting a salesperson assigned based on sales region.

Vendor List

  • Added: (case 52459) support for a new user permission that controls whether a user can search for and find vendors that are not assigned to them as a purchase agent. By default, all vendors have no assignee and can be found by all users. A user with this permission can find all vendors, just like before.
  • Added: the ability to search by and see purchase agent on the vendor list.

Work Orders

  • Fixed: in a previous version, it was intended to allow WOs to add assembly records, but it was not being allowed. Now, assemblies can be added to a WO job, though a status bar warning is shown to the user to make sure they know that some cleanup of components may be required.

Reports

REVISION 23209-23283 FOR EE V34

Billing Statement (Billing.rpt)

  • Fixed: (case 52344) a row duplication issue with different salesorderdocument types in the Period Activity section of the report, when present

Inventory By Tagnumber (InventoryByTagnumber.rpt)

  • Added: (case 51512) an inventory report that can filter and group by tag, similar to the sales by lookup report but for Inventory. Tag parameter supports the wildcard *

Outside Sales Commission (SalespersonCommission.rpt)

  • Added: (case 51726) new group and parameter options
  • Changed: (case 51726) general report cleanup

Pick List (PickList.rpt)

  • Changed: (case 51688) updated report query to account for missing quantity, including partially missing quantity, and added a separate group for this on the report so it stands out
4/8/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

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

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.

Database

  • Updated: right-click graphing template should no longer encounter a JS error if loading the google charts library takes too long.
  • Changed: DLS settings and permissions to reference TForce, as per their rebranding.
  • Added: support for shipping types in ebay templates.
  • Fixed: Case 50579: Transaction List: Part Image Count is not written properly
  • Fixed: an issue where duplicate import commands were allowed.
  • Fixed: (case 50817) an issue where an e-commerce field didn't match the corresponding field on HeavyTruckParts.net.
  • Added: Case 50968: Add several fields to Transaction List for the Purchase Order source for Dex
  • Added: several new fields to the salesorder table that will track e-commerce document approval status. One controls whether the local salesman has reviewed and approved (or rejected) the document and the other is for tracking customer approval status.
  • Fixed: re-released the contents for the saleclass table, as they were missing from some recently created databases.
  • Added: (case 51200) the customer pricing function (f_inventoryprice) now considers inventory.cost instead of inventory.averagecost when inventory quantity on hand is 0. This is because inventory with 0 quantity cannot have an average cost, and affects customers set to pay a markup of Average Cost as a price level.
  • Fixed: an issue where pinventorydefault_prices was not computing distributor price correctly.
  • Changed: Several columns on the vehicle table have been increased in size to account more user data. Also rearranged some columns to put the title columns together
  • Case 51643: Add inventory.category to the Transaction List for the Inventory Source
  • Case 51644: Add Total Retail Price of Parts Remaining as display field to the Transaction List for the Vehicle Source
  • Added: (case 51317) new schema to inventory Q&A options. These fields will support new, advanced behavior on vehicle/part Q&A.
  • Added: foreign keys to the inventoryoption table.
  • Added: a unique key to the option value table (to replace the old primary key), some column comments, and limit the value to 500 characters to make operations quicker (TEXT is stored outside of the table)
  • Added: several missing values from the inventorysetting table (used in part modification for mass-editing) that were initially deployed in 2011 but were missing on some databases.
  • Added: vanilla logging triggers to many tables related to workorder and salesorder documents. This should help deep-dive investigations that attempt to track inventory quantity changes or cost changes.

Approvals

  • Changed: it was hard to find the "All Inventory Types" option in the part type dropdown on the price control page, so this item is now at the start of the list.
  • Fixed: memory leak on the credit approval page.

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

  • Added: (case 50736) the tree on the sales tab now has a column for the salesperson that gets credit for the sale as well as the counterperson who wrote the document.

Data Management

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

ebayExtension

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

Global Settings

  • Added: filter box to the edit tax items popup.

Home

  • Added: icons to tabs
  • Fixed: an issue where the sales order tab might not populate the store list correctly.

Login

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

Parts

  • Changed: a fresh part now shows better information in the area at the bottom of the history tab.
  • Added: if quantity on hand is 0 (or the part is not depletable), average cost/average core cost will now display as "N/A" since those values are not relevant in that scenario.
  • Added: tooltips to the controls on the history tab. Specific tooltips on the average cost/core cost fields to explain why those values may show as N/A.
  • Added: if the quantity of a part changes, the average cost/core cost will recalculate on the history tab in real time to help the user know that manually adjusting quantity will cause the average expense to change and preview this change.
  • Changed (case 30530 and case 51130): if the user loads a part with no gl category assigned, the gl category dropdowns will now be blank. Previously, the default gl category was automatically selected for the user so that they could easily adopt this change and save, but it was confusing people into thinking that the value was already saved. Now the user must click 'auto-assign category' and save.
  • Fixed: an issue where the user would erroneously see a popup whenever they'd click off the status field when status was set to "D". The user would be asked if they wished to delete all attachments even if there were no attachments on the part. Now, the user will only be asked this question once when they click save if the status has just changed to "D". It will now only correctly appear on parts that have at least one attachment. Also, saving after saying yes should now correctly remove those attachments.
  • Fixed: an issue where the user might see a 'change detected' popup for the attachments page if the user deleted attachments and then saved without clearing the screen.
  • Fixed: an issue where the user would be prompted to set quantity to 0 on a part with a status of "D" if they clicked off of the status dropdown, even if nothing had been changed. Now it will only occur if the user changes the status to "D".

Part Configuration

  • Added: in the part type configuration page, there is now an interface to edit a field that has existed for a long time, but only editable by power users. This field is labelled "Model List Type #" and it represents the ability to have one part type inherit its model list from another part type. This is different from how the 'assembly' model list inherits from the part type set #. This field is optional, and if its is blank, a part will use its own type # for its model list.
  • Added: filters to the inventory types page. This allows the user to more quickly find the part type they're looking for.
  • Added: the inventory types page now has a resizable bottom area where inventory options/fields can be configured. Currently, global and part type specific options can be added, edited, reordered, and deleted.
  • Added: support for choice values (for dropdown Q&A options) and default values for part/vehicle Q&A options.
  • Fixed: an issue where the inventory options page did not save column orders correctly for the list.

Purchase Orders

  • Added: icons to tabs

Sales Orders

  • Fixed: (case 52053) an issue where a user who had an invalid default for their 'default sales order document type' could lead to scenarios where the 'show payments' area would be inaccessible.
  • Changed: references of DLS to TForce to match their corporate rebranding.
  • Changed: the customer address dropdown is now wider to facilitate longer address titles.
  • Fixed: tab order for the shipping tracking # field.
  • Added: icons for the pages on the left side of the document screen to make them easier to find.
  • Added: vertical and horizontal scroll bars to some of the side pane pages so that the user can access all information on smaller screens and especially when the payment pane is visible.
  • Added: eCommerce page on the left side of the screen. If the document was created for an online eBay or HeavyTruckParts.net e-commerce transaction, that information will be shown here.
  • Added: eCommerce page now has the status of the transaction and has buttons for approving the final total to be submitted to the customer to pay as well as a button to reject a request.
  • Added: when a document is loaded, if it has e-commerce integration, the e-commerce page will be shown and focused.
  • Added: we now hide the e-commerce integration page if the HTP.net integration application is not installed.
  • Added: e-commerce page now has a 'submit for payment' button that will appear on documents that did not come from heavytruckparts.net originally. Clicking this will submit the document to HTP.net for payment by the customer (if that integration is 'on').
  • Added: the printer bindings are reloaded before each save&print operation now in case the user has changed the printer bindings in the configuration area.
  • Fixed: an issue where the e-commerce tab might show an incorrect state on first load or after clearing the screen.
  • Changed: the vehicle search results will no longer show weird information in the tooltip when hovering over the extra info column.
  • Fixed: (case 51207) an issue where double-clicking document history in the vehicle search screen's info pane would not open that document on the document screen.
  • Fixed: an issue where a vehicle search might send a selected result back to the wrong screen if the user used the "Vehicle Search" global hotkey to look up a vehicle when on a screen that cannot load a vehicle. Now, in such a case, the vehicle will be loaded on the vehicle screen.

Vehicles

  • Fixed: an issue where the user would get a crash when adding a bid to a vehicle with no previous bid or teardown.
  • Fixed: an issue where VIN decoding might not auto-select a vehicle make or model if the case doesn't match the make/model in the system (like VOLVO vs Volvo).
  • Added: (case 51341) a 'copy vehicle' button, which works similarly to the 'copy part' button on the parts screen. The loaded vehicle will be turned into a new, unsaved copy that the user can modify and save. The following fields are automatically cleared on the copy: stock #, VIN, odometer, and the available/on hand flag.
  • Fixed: an issue where the costs page would sometimes show incorrect rows if an unsaved vehicle was loaded.
  • Fixed: a rare case where bad purchase order costs could show up on the break even graph as happening in the year 1900.
  • Added: icons to some of the property pages on the screen to make them easier to distinguish at a glance.
  • Fixed: title received date supported a time component, but the user was not allowed to set it. Now the user can set the date and time.
  • Fixed: a database error that could occur if the user added a new bid to a vehicle (with items or fees), but then deleted it before saving.
  • Fixed: a potential crash if the user added another bid to a vehicle with a single bid.
  • Fixed: an issue where clicking add new fee would not correctly move the user's focus into the fee list.
  • Fixed: an issue where opening the vehicle screen would deselect the application, making keyboard navigation difficult. This was due to the hidden attachment popup.
  • Fixed: re-added the feature where, if the user changes the vehicle status to D, they are asked whether they'd like to delete all attachments at the same time to save space.
  • Fixed: an issue where cloning a vehicle with a teardown selected would not clear out the 'tag #' on teardown components correctly.
  • Added: (case 51317) initial version of the new Q&A page shared with the parts screen. This version supports many new features, such as default answers, checkboxes, date pickers, formatted numeric values, dropdowns, etc.
  • Changed: the user can now type into most of the dropdowns on the basic table to auto-complete to the value they want.
  • Changed: the store dropdown on the basic page now uses a shared auto-complete, this should avoid a query on screen open, speeding up load.
  • Fixed: the user dropdown for 'dismantled by' would not show the user correctly if a previously selected user had been deactivated or marked as not a worker.
  • Changed: the category list on the basic tab and whole unit tab now share a single list to speed up load slightly.
  • Changed: several years ago, we added the ability to set each vehicle unit type to have its own model list, but the vehicle screen showed all vehicle models as choices at all times. Now we support having each whole unit type show only those models that apply to that vehicle type. Because of this, the vehicle type is now earlier in the tab order of the basic tab, as it must be chosen before a make or model can been chosen. The user setting for 'reverse make lookup' (where all models are shown, and choosing one selects a make) is still supported. Year limits the list of vehicle models as well, just like before.
  • Added: The model list now respects the part type's 'Model List Type #' that can be configured on the part configuration screen. This allows the user to have a complete model list under vehicle type 9000, and have another type like 9001 inherit that model list.
  • Fixed: an issue where loading a vehicle with a deactivated/non-mechanic user selected would load that item into the dismantled by dropdown and it would still be available after clearing the vehicle and entering another.
  • Changed: the basic info page now loads its information from a shared set of vehicle data instead of running its own query. This should speed up vehicle loading.
  • Added: if the user loads a vehicle with a (now inactive) whole unit type that can't be found in the dropdown, it will be temporarily re-added to the dropdown so that this info is not lost.
  • Added: if the user loads a vehicle with a (now inactive) make/model that can't be found in the dropdown, it will be temporarily re-added to the dropdown so that this info is not lost. If the make or model has been deleted, the user will be told that this is no longer a valid option and the values will be cleared.
  • Fixed: an issue where category was not being loaded on the basic info tab correctly.
  • Added: when a vehicle model is selected, if no category is chosen, the default category set on that model (if any) will be automatically selected for the vehicle unit.
  • Added: support for a new store setting "Default vehicle type" which defaults to 9000 and represents the id of a vehicle unit to automatically select on the vehicle screen when its opened. Now that make/model lists on the vehicle are vehicle type specific, this will make it easier to start a vehicle by entering a make/model before choosing a vehicle type (as the user could do in previous versions, where the make/model list was global). Since many unit types will share the same make/model list, this entry order will generally work.
  • Added: when loading a vehicle saved in previous versions, the make/model that was entered will be matched up to the vehicle type specific lists (which should generally be the same initially) automatically, and will notify the user if a particular make or model are no longer valid because they've been deleted or renamed so they can choose new values.
  • Fixed: several issues with overactive change detection from Q&A default values on new vehicles.
  • Fixed: blank Q&A values no longer save to the database.
  • Added: support for keeping a Q&A answer between two questions with the same name if the user switches vehicle unit types or other info that causes a question to appear with the same name as a previously filled out value.
  • Added: user Q&A values are now formatted when the user leaves the field.
  • Added: vehicle Q&A should now save and load correctly in the new system.
  • Fixed: an issue where an invalid make might not clear when the user changes vehicle types.
  • Fixed: vehicle Q&A now correctly clears when the user hits new vehicle. Also, Q&A copies correctly when the user clones a vehicle.
  • Fixed: several issues where Q&A was based on vehicle category instead of unit category.
  • Added: required questions now show as bold, and the user will be prompted on save if they are not filled out.
  • Added: modified question values now show a "*" in the label so that the user knows which options are modified from the saved value.

Work Orders

  • Changed: as part of the last big update, the job category list on the WO screen only showed categories with at least one template under it. Now its back to all categories under the current WO type.
  • Fixed: (case 51126) an issue where the user would get a duplicate job category error when they added a job under a category that had no templates but already existed.
  • Added: a performance improvement to the add new job dialog, eliminating a query run every time it loads.
  • Added: filter field to the configure->work order types popup.

Reports

REVISION 22866-23177 FOR EE V33

==Billing Statement (Billing.rpt)

  • Fixed: (case 50051) valid payments on open or void invoices were being excluded in some report modes.

Purchase Order (PurchaseOrder.rpt)

  • Added: (case 50744) PO # to page header on pages after the first

Receiving Tag (TagReceiving.rpt)

  • Fixed: (case 50402) tag sizing

Sales Order Returns (SalesOrderReturn.rpt)

  • Added: (case 51462) a column for Part Type
4/8/2026

General

  • 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: support for icons in property sheet tab controls.
  • 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.

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

Common Resources

  • Fixed: a crash that could occur if you close the settings page with nothing selected.

Core Management

  • Changed: (case 46368) the customer core tab's salesperson column now shows the customer salesperson instead of the counterperson. Also, the vendor cores tab's "Salesperson" column has been renamed to "Counterperson" to be more accurate, but the data has not changed.

Credit Card Processing

  • Updated: POSLink integration to 1.9 from 1.6. This was to examine if it improved any features, but no significant changes were detected.
  • 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 Extension

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

Database

  • Fixed: some vendor catalog entries had bad manufacturerids/modelids, leading to bad data and preventing foreign keys. Foreign keys were added to vendorcatalogpermanent to manufacturer, model, and vendor to prevent such bad data in the future.
  • Added: foreign key from model to manufacturer.
  • Added: (case 46069) new stored procedure pinventorydefault_prices, which attempts to calculate the 'default' prices for an inventory record based on vendor catalog and model category pricing. This may be used in more places in the future.
  • Added: (Case 46562) Add Inventory Store filter to Transaction List for the Sales Order Source
  • Fixed: historical purchase order lines that were inherent core charges were not showing up on vendor core management. This is only going back a year to ensure no ancient documents suddenly appear.
  • Added: (Case 46883) Add WO Master Part Quantity to the Transaction List for the Work Order Source
  • Changed: payment batches' document/auth/check# now can store up to 100 characters.
  • Fixed: (case 41114) several issues where duplicate job categories were causing issues on the WO screen. All duplicates have been merged and cleaned up, and a unique index added to prevent it in the future.
  • Removed: orphaned job categories and templates, and foreign keys created to prevent them in the future.
  • Changed: (case 47232) vglentrydocument no longer casts the effective date from a datetime to a date, as this was causing a query to take 4.5 minutes on a large data set instead of 12s.
  • Fixed: (Case 47267) added queries to attempt to 'clean up' as well as possible situations where WOs had invalid work order types, jobs had invalid job categories and job templates, or job categories had invalid WO types. After clearing all this up, foreign keys were added to ensure that if such 'bad data' is attempted in the future, an error will be thrown instead of allowing it. This fixes issues where some WOs could not be correctly loaded on the screen or reported on, and prevents such situations from being created in the future.
  • Changed: removed unnecessary table aliases inside the vehiclemodel view. They were making EXPLAIN queries much harder to parse.
  • Fixed: (case 47249) several queries used in the software to populate make and model dropdowns were taking 10x or more than necessary because of the index model.type_active contained a reference to manufacturerid, which is not used in this query, which was preventing filtering by active models.
  • Added: (Case 47255) Add Date Modified as both Filter and Display Field to the Transaction List for the Inventory Source
  • Added: (Case 47535) Add vehicle.mileage as Display Field to the Transaction List for the Vehicle Source
  • 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.
  • Added: as per user request, audit logging has been added to the inventoryserial table.
  • Added: foreign keys to the salesorder table that ensure that entries cannot be created with invalid storeid or salesorderdocumentids. Rows with invalid values in these columns would not show up on all reports, creating an accounting hole. Some queries were added to attempt to migrate these values to a best guess correct value.
  • Added: (Case 48019) Add Payment Date display field to the Transaction List for the Sales Order source
  • Fixed: an enum true/false column was nullable when it was not intended to be.
  • Added: (case 48147) inventorysetting.requiredtosave, a new field for controlling which inventory fields are required to save a new or modified part.
  • Added: for continuity, inventory type, gl category, vendor, part # have all been marked as required to save a part.
  • Added: (Case 48549) Add inventory.inventorytypeid as Display Field to the Transaction List for the Inventory Source
  • Added: (Case 48311) Add Purchaseorder.vendorid, Vendor.name Display Field to the Sales Order Source in the Transaction List
  • Added: (Case 48626) filter by Date Added of attached Inventory images and display them
  • Added: index to the glentry table to make finding unexported accounting rows faster.
  • Fixed: some customer databases had invalid location ids in some historical tables related to inventory and documents. These bad ids have been cleared out so as not to cause errors when reopening or adjusting documents.
  • Added: foreign keys to the location id column in some historical tables related to inventory and documents. This will prevent bad location ids being saved in these tables, causing other issues.
  • Added: (case 49009) paymentterminaltransaction.gatewaytransactionid for storing a unique gateway transaction # for successful payments, which should make looking up and refunding payments later easier.

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.

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.

Graphing

  • Fixed: an issue where right click graphing could display times and date/times in the wrong timezone.

Home

  • Removed: (case 48747) the 'ordered' checkbox, which is based on a PO feature that has been hidden from the user for several years.

Location Visualization

  • Changed: the middle mouse entered a standard 'pan' view mode before, but it was flakey, so it has been suppressed. Now, while the user depresses the middle mouse, they temporarily enter the 'move/pan' mode and can drag the window, no matter which mode they're in.
  • Fixed: an issue where right clicking and moving the mouse while in zoom mode might break the ability to zoom out with right click.
  • Fixed: an issue where the zoom cursor was not displaying correctly.
  • Changed: if the draw view is in readonly mode, the 'tracker' boxes around an object will no longer display resize boxes on the corners.
  • Added: if the draw view is in readonly mode, the pop up edit box for clicking into a text object will no longer be editable.
  • Fixed: an issue where first open of the screen would be slower than necessary for very large location lists.
  • Fixed: an issue where selecting locations in the list on the right would not correctly select the right object in the map.

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.

SQLFramework

  • Updated: libmysql.dll has been updated to version 6.1.11

Part Configuration

  • Fixed: inconsistent use of currency formatting with model category pricing.

Part Modification

  • Added: (case 48148) there is now a "Required to Save" column in the configure inventory fields popup. If checked, these fields will be required to save a new or modified inventory record.

Parts

  • Fixed: an issue where model category pricing defaults did not set the wholesale core and jobber core correctly.
  • Changed: deleting a part # on a replenishable part will no longer attempt to find matching vendor catalog records.
  • Fixed: the 'wait' cursor should now correctly disappear if the user enters a vendor/part # combination that finds no catalog records.
  • Added: the aftermarket tab will now display a 'field modified' "*" next to each of the core price level fields if the value is modified from the saved value.
  • Added: the parts screen is now able to load the 'required to save' information from the database for all the fields on the screen. Any fields marked as required to save will have their label bolded.
  • Changed: resized many fields to give enough space for field labels in the situation where the label was bolded (required to save) and modified (shows a "*" at the end)
  • Added: store is now a field required to save, no matter system configuration, and will be displayed as such.
  • Added: part type is now a field required to save, no matter system configuration, and will be displayed as such.
  • Added: even if manufacturer is not set to be required to save, if the setting "Require a manufacturer when saving replenishable parts" is set, it will still be shown as required to save.
  • Added: even if gl category is set to be required to save, if accounting is off, it will no longer be required.
  • Added: (case 48155) the parts screen now dynamically checks what fields are 'required to save' based on company preferences when the user attempts to save. As before, fields that are required to save are displayed in bold. The popup (and status bar message) will show all fields the user must fill out that do not have a valid value currently.
  • Changed: the 'days to return/return core' and 'days to return to vendor/core to vendor' fields will now dynamically show as not required to save if the nearby checkboxes are unchecked.
  • Fixed: an issue where choosing a primary location would not set the corresponding primary location ID until save. This could cause issues if the "Primary Location #" field was marked as required to save.
  • Added: (case 48155) all fields that are only visible on the replenishable tab will not be presented as 'required to save' if the part is not replenishable since the user cannot fill those fields out on such a part.
  • Changed: Fields that default to "$0.00" (financial fields), "0" (quantity fields), or "0%" (percent fields) will now consider 0 values as 'not filled out' in regards to the 'required to save'. In addition date/datetime fields that are unchecked will not be considered filled out.
  • Added: tooltips to all controls on the part info page and advanced page
  • Changed: the 4 part type specific flex/more fields are now only 'required to save' if the current part type has those fields, even if they are marked as required to save by company preferences.
  • Changed: if typedata1-4 are 'required to save' when the popup appears to tell the user that the fields must be filled out, now the correct 'type label' 1-4 will be displayed instead of the name "Type Data 1-4".

Payment Entry

  • Changed: payment batches' document/auth/check# now can store up to 100 characters.

Purchase Orders

  • Fixed: (case 46461) an issue where loading messages on new items or loaded documents could take up to 2s. This has been made as much as 95% faster.
  • Fixed: (case 46510, 46368) an issue where saving a purchase order with an inherent core charge would not correctly mark the core as available to return. This kept the vendor core tab of core management from working correctly and seeing what cores were 'owed'.
  • Added: Re-adding a setting to disable the 'update part prices' icon on the PO screen. This allows companies to choose to disable this feature if they don't want to use it.
  • Fixed: (case 48959) an issue where the user would be allowed to delete inherent core lines from a PO if average core cost was non-zero. This is not allowed because it can prevent the inventory item from recalculating the average core cost on the item.
  • Added: (case 48959) if an item is added to a PO that has a non-zero average core cost, a core charge will be added for that item, no matter whether the 'core required to vendor' checkbox is checked or not. This will ensure that, in purchasing the item, the average core cost will get correctly recalculated until it becomes 0.

Sales Orders

  • Fixed: (case 46461) an issue where loading messages on new items or loaded documents could take up to 2s. This has been made as much as 95% faster.

Transaction List

  • Added: the user can now sort the filter and fields lists.

Vehicles

  • Fixed: if the break even graph page throws javascript errors, they are now suppressed from the user.
  • Fixed: an issue where many fields didn't correctly get noted as 'modified' when modified from the saved value.
  • Fixed: an issue where vehicle unit type specific info (category, flex fields) were not cleared when the vehicle screen was cleared.
  • Changed: the inventory type dropdown on the part info and whole unit pages now uses an auto-complete dropdown like the search and parts screens. This makes it easier to look up a type by id or name.
  • Changed: the 4 unit type flex fields are now auto-suggest dropdowns with previously entered values just like on the parts screen.
  • Added: (case 48149) a global setting "Vehicles"->"Allow users to manually set date received" (defaults to True), which controls whether a company allows users to manually set values in the date received field. If this is off, it will be set by the first PO to receive the vehicle.
  • Added: (case 48149) several settings that control whether certain fields are required to save the vehicle. They are all named like "Vehicles"->"Required to save: ", and default to off.
  • Added: (case 48151) the fields VIN, Odometer, Flex Field 1 through 4, user status, condition can now be required to save, based on global settings. If they are required to save, they will be displayed in bold.
  • Fixed: an issue where the VIN label wouldn't display as bolded if the VIN was required to save.
  • Added: (case 48152) when the user attempts to save a vehicle, the 'required fields are not filled out' popup now looks more like the same one on the parts screen and it takes company preferences into account with regards to what fields are required to save. This adds support for marking VIN, user status, odometer, condition, and the 4 flex fields.
  • Added: (case 48519) as the user selects a bid or teardown, the column headers in the item list will be updated to reflect whether each field is required to save or not. This will give the user a more 'at a glance' view of which fields are required to save the teardown parts.
  • Added: when the user attempts to save a teardown, all items will now check to make sure the part fields that are marked as 'required to save' (that are visible in the teardown list) have been filled out. The user is presented with a popup listing the field(s) that were not filled out for the first item in the list that was missing any required fields. Whether fields are required to save can be managed in the Configure->Inventory->Manage Fields and settings dialog.
  • Changed: buttons next to lookup field have been rearranged to match the parts screen.

Vendor

  • Changed: status D parts are now ignored in the vendor catalog area. So marking a part as status D now allows creating of a new SKU from that vendor catalog record.

Work Orders

  • Fixed: an issue where double-clicking a job part that had a valid vehicle, but was not in inventory would attempt to open the wrong vehicle record on the vehicle screen. Now the correct record will be shown.
  • Fixed: (case 46461) an issue where loading messages on new items or loaded documents could take up to 2s. This has been made as much as 95% faster.
  • Fixed: an issue where deleting a master part with messages would not refresh and remove those messages.
  • Added: (case 48964) a new 'choose job template(s)' popup to the WO screen. This is a larger, easier to use, filterable popup where the user can choose one or more job templates to add to the current WO.
  • Added: job templates dialog now resizes and remembers last location and list column widths.
  • Added: better tooltips to the add jobs buttons.
  • Added: the job category dropdown now has a blank option so that the user can go back to no selection after choosing a category.
  • Fixed: an issue where the WO might show 'changes' when there were none if a loaded inventory item had non-empty notes that displayed in the notes field in the part list.
  • Added: the choose multiple job templates popup now has better icons.
  • Added: choose Job Template(s) popup now has a job category dropdown with an All option for better filtering.
  • Added: double clicking an item in the job template list or hitting enter when its selected will quickly add that template to the WO. Also, the add all button is now the default button.
  • Added: for clarity, the Add All and Add Selected buttons now display a count of jobs they will add, and will be grayed out if the count is 0.
  • Fixed: an issue where templates for different work order types or stores would be shown in the job template dropdown or popup.
  • Added: there is now a blank option in the job category list, when selected, all job templates for the current work order type will be shown in the dropdown (similar to the choose job popup) instead of nothing.
  • Fixed: when selecting a job on a WO, the screen attempted to select the job category and template name in the dropdowns, but it wouldn't work if the job's name had changed from the template name. Now it should select the original template correctly.
  • Performance: all job templates are now loaded at once when work order type is chosen, so this speeds up grabbing information from the database when the user adds jobs from templates, making some operations faster.
  • Fixed: an issue where saving templates would cause the screen to close after saving successfully, even though the screen should simply clear and stay open.
  • Added: if the user deletes a job template, or adds new ones, the job template dropdown should be refreshed correctly.

Reports

REVISION 22542-22855 FOR EE V32

Billing Statement (Billing.rpt)

  • Added: (case 47627) optional html interpretation in the memo, setting-based

Customer Address Label (CustomerAddressLabel.rpt)

  • Added: (case 46391) a setting to exclude customers with no activity in the last year from the result set if desired
  • Added: (case 46391) a setting to print results with no addresses

Customer Address Label 5160 (CustomerAddressLabel5160.rpt)

  • Added: (case 46078) a setting to exclude customers with no activity in the last year from the result set if desired
  • Added: (case 46078) a setting to print results with no addresses

GL Entries By GL Account (GLEntriesByGLAccount.rpt)

  • Changed: (case 46965) query optimization, combating slowness experienced on MySQL version update

Internal Work Order (WorkOrderInternal.rpt)

  • Fixed: (case 46620) potential row duplication issue in the WOMP section when WOMP is serialized

Inventory By Location (InventoryByLocation.rpt)

  • Added: (case 40925) a new parameter to filter by default vendor

Labor Summary By Employee (LaborSummaryByEmployee.rpt)

  • Added: (case 44323) new parameter for user GL account

Purchase Order Receiving List (PurchaseOrderReceivingList.rpt)

  • Changed: (case 44221) a near-duplicate column showing part to show vendor part number instead.

Sales By Inventory Type (SalesByInventoryType.rpt)

  • Fixed: (case 46123) staggered group and grand totals to avoid the number mask on values that were too high to fit in the available space.

Sales Order 11in (SalesOrder11in.rpt)

  • Added: (case 47627) optional html interpretation in the memo, setting-based

Vehicles By Type (VehiclesByType.rpt)

  • Added: (case 47634) a new vehicle by vehicle part type report with basic information, built from Vehicle Detail By Part Type but focusing on actual Vehicles

Vehicle Cost Detail (VehicleCostDetail.rpt)

  • Added: (case 48435) a new report that shows vehicle cost detail, similar to the cost tab of the vehicle screen but for all A & H vehicles
4/8/2026

Database

  • Fixed: a minor error when updating a part with no locations.
  • Added: a stored procedure that can move all quantity on holds (documentlinelocation) for the Variance location can be moved to a given location. Useful for if things are lost because of open documents.
  • Fixed: a minor issue where location and locationid might not agree on parts with no quantity on hand. This could lead to unnecessary work to happen when saving locations over and over.
  • Case 44545: Add "Condition" Display Field to Transaction List for the Inventory Source
  • Added: fuseraccounthassiteaccess function used by the isoft authentication node module to know if a user has access to a store
  • Removed: an unused setting
  • Changed: (case 38185) fgetsetting and pchecksetting now defer to setting.defaultvalue over the default that was passed in as an argument.
  • Fixed: an issue where counting two locations (one where a serial # is found and another where it was lost from) then approving the loss after the find would result in the serial # ending up lost. This made serialized part counts order specific, which was not intentional. Now, no matter the order of the job approval, the serial # will end up found at the correct location.
  • Fixed: (case 45920) an issue where reports might show an incorrect back order quantity when back order documents have been voided.

Accounting

  • Added: (case 44569) the QB "Journal Push" area now treats accounts receivable and accounts payable exports differently. The issue is that QuickBooks does not allow AR or AP to appear in a day's push more than once. This means we have to net these entries before pushing. to accomplish this, firstly, AR and AP now drop all sub-account information. Second, all debits and credits are netted into a single entry to be pushed.
  • Added: when the user pushes gl entries to QB, the data is written to QBRequest.xml for debugging.

Credit Card Processing

  • Fixed: (case 45838) an issue where RETURN transactions were throwing errors because the S300 apparently doesn't support 'level 2' credit card integration for returns. This would cause it throw an error "TAX NOT ALLOWED". For this reason, commercial card information is now only supplied on charges, not returns.

Customer List

  • Fixed: a database error the user could see if they did a customer smart search that started with *. Also, if the user attempted to search for everything by doing a smart search for *, it will now show all customers.

Login

  • Fixed: an issue where the login popup might be stuck in the "No DB Connection" locked down mode if the popup appeared while the database was unreachable. This could effectively lock the user out.
  • Fixed: an issue where the login dialog would not be visible if the main application window was minimized or off screen when the application was locked. Now, the popup will be centered in the main monitor if the application is not visible to center on.

Parts

  • Fixed: an issue where adding more than one new lookup could throw an error.
  • Fixed: an issue where datemodified was not being updated if only global fields were changed on a part.

Purchase Orders

  • Fixed: an issue where right clicking the lineitem list and choosing export all or graph might not work if the popup menu extended off the edge of the list.

Sales Orders

  • Fixed: (case 44313) an issue where, if only misc items were on a document the "SAV quote" function wouldn't do anything. Now it displays an error message in the status bar.
  • Fixed: the right click option "select all items" wasn't working
  • Fixed: the right click menu for the payments and adjustments lists didn't have an export option.
  • Fixed: an issue where right clicking the lineitem list and choosing export all or graph might not work if the popup menu extended off the edge of the list.

Settings Framework

  • Fixed: a possible database error that could happen if two users wanted to create a new user hotkey in the action table from two different user sessions at the same time.
  • Changed: (case 38185) in the configure settings area, the user can now edit the 'default' column. Previously, this value used to only be for reference, but will now specify the value for new users/sites that do not currently have a value.
  • Removed: the configure settings area no longer has a 'scope' dropdown. Also the user can no longer view or edit settings at other levels, as this behavior was deprecated previously.
  • Removed: references to the no longer used cascade argument for settings, as they now operate at their specified level, and no other.
  • Added: (case 44529) as per user request, there is now a 'not equals' icon that is shown in the interchange area if an interchange search is done and the results are not an exact match. This helps some salespeople who want this information to pop more.

Transaction List

  • Added: support for "Key Choice" filter types. These are like "Choice" filters with the following exceptions: 1. the dropdown shown on the screen does not allow entry of arbitrary values or wildcards. 2. The search query will use the id for a given selection instead of the selected name. This mimics a historical crystal reports parameter type that works similarly.
  • Fixed: an issue where right clicking the lineitem list and choosing export all or graph might not work if the popup menu extended off the edge of the list.

Vehicles

  • Fixed: an issue when saving a vehicle where the unit category (on the basic tab) and the vehicle category (on the additional info tab) were being mixed up.
  • Fixed: a couple situations where a vehicle would save when nothing had changed.
  • Fixed: (case 45952) an issue where saving a vehicle with a teardown might 'revert' the location of those component parts if the user moved those parts with LXW after opening the vehicle and the user changed the year/make/model/vin/body style on the vehicle. Now, the location of teardown components should only be changed if the user changes it in the dropdowns in the teardown.

Warehouse Management

  • Fixed: the manual count page now has the 'enter goes down' instead of carriage return style. That way, keying in with a 10key is much easier.
  • Fixed: several memory leaks related to manual counting.
  • Fixed: an issue where the total at the bottom of the screen didn't match the projected impact on screen because all 'finds' were considering an impact of $0 instead of the 'best guess' figure shown in the list.

Work Orders

  • Changed: (case 44424) the work order date was labeled "Start Date". It has been relabeled to Date like the sales orders screen.
  • Fixed: an issue where right clicking the lineitem list and choosing export all or graph might not work if the popup menu extended off the edge of the list.

Reports

Customers With No Purchases After Date (CustomersWithNoPurchasesAfterDate.rpt)

  • Changed: (case 44505) query optimization
  • Added: (case 44505) a new parameter for customer default store
  • Changed: (case 44505) removed the subreport. Additional SO information is now retrieved in the main query with an additional join to v_invoice, and the report uses grouping and suppression to only display the most recent SO from the relevant latest SO date. This is much, much faster when dealing with tens of thousands of customers in the result set.

Inventory Count Sheet - LXW (InventoryCountSheetLXW.rpt)

  • Changed: (case 44321) moved found line down, put a divider line between different locations
  • Changed: (case 44341) show out of stock parameter set to True now includes negative quantity in addition to 0 quantity
  • Fixed: (case 44341) include out of stock logic

Labor Log By Employee (LaborLogByEmployee.rpt)

  • Added: (case 42582) user parameter, worker group parameter, and open/closed column
  • Added: (case 42582) User GL Department parameter

Sales Order 11in (SalesOrder11in.rpt)

  • Added: (case 44091) a new setting to enable showing full descriptions for core line items if desired, False by default
4/8/2026

General

  • Fixed: in the attachment area, an issue where filenames including UTF-8 characters would fail to load/save. Now these attachments will correctly load from the disk or save to the disk. This commonly comes up when people paste attachment filenames with smart quotes from the internet.

Database

  • Changed: (case 42365) most of the email columns in the schema have been changed from VARCHAR(100) or VARCHAR(320) to TEXT. This is because the email RFCs I can find allow up to 125 recipients per email with 250 characters per address. This allows bigger recipient lists.
  • Added: (Case 42497) - Added Inventory Stock Type and Stock Method to both the filter and display fields of the Transaction List.
  • Added: (Case 42559) Added Quantity Available to the display fields on the Transaction List Screen.
  • Fixed: The EPA Charge field in the Transaction List for the Work Order source was incorrectly mapped to job.laborcharge instead of job.epacharge.
  • Fixed: an issue where the document pricing function could throw an error if the customer had duplicate, overlapping contracted prices on the item.
  • Removed: (case 42626) several ebay shipping methods that are not supported by ebay any longer.
  • Changed: glentry, gltransaction have had the precision of their decimals increased, to allow transactions in the hundreds of millions.
  • Fixed: an issue where pinventoryadjust_cost might throw an error if the user adjusted a PO for an amount that differs by hundreds of millions of dollars.
  • Fixed: (case 42674) an issue where psalesordersaved could be slower than necessary because of a MySQL query planning bug. Some salesorderline indices have been removed: inventory(inventoryid, inventorystoreid) has been removed because its redundant with availablespeed index. Also, hold/type are not very selective indices, which makes them slow down things if mysql uses indexmerge in its query plan (see https://www.percona.com/blog/2012/12/14/the-optimization-that-often-isnt-index-merge-intersection/ for more info). Also, these columns are in availablespeed. This has made psalesordersaved and fcalculateinventoryallocations 90% slower than necessary.
  • Changed: (case 42656) moved a part of tinventorypostupdate to tinventorypreupdate to handle when the primary location gets changed, but changed to a value that can't work. In that case, inventory.location gets set to the correct value after the attempt. The most common scenario here would be when a user had two non-permanent locations: 1 @ A -1 @ B If the primary location got set to B, the locations would get their quantities merged, removing them, which could cause an issue in the trigger. Now, inventory.location will end up as '' after this operation correctly. Also, this trigger no longer resets the session variable @SUPPRESSINVENTORYINTEGRITY_CHECK after execution.
  • Added: logging in tinventorypostupdate now checks the session variable SUPPRESSLOGGING to see if logging should be skipped. Useful for large operations that could cause a lot of logging to be generated.
  • Changed: pinventorymoveprimarylocation now handles scenarios better where changing primary location in a way that lead to combining locations and destroying them.
  • Changed: tinventorylocationpost_update now uses a session variable to cache a value read from a setting. This makes updating large numbers of inventorylocation rows faster.
  • Added: status column to the ebayauction table. This stores the listing status returned by ebay so that we know which auctions are active and which are not.
  • Changed: salesorder.websaleid and salesorderline.websalelineid have been changed to facilitate 64bit integers used for ebay listings.
  • Added: salesorder.websaletype to differentiate between documents being linked to a HeavyTruckParts.net ecommerce sale or an eBay sale.
  • Removed: the columns in the ebay tables that linked to documents, as they are no longer necessary.
  • Added: retroactively, any sales to the ebay customer set up in settings will be connected up to ebay transactions so that they will correctly show an 'Invoice #' in the transaction list.
  • Added: Case 43829: Add Vehicle VIN# to Transaction List for the Inventory Source
  • Added: Case 43832: Add Store Filter and Vehicle Inventory Type Field To Display to the Transaction List for the Vehicle Source
  • Added: a table that is used for optional password blocking based on security preferences.
  • Changed: useraccess.username is now long enough to store an entire username.
  • Added: (case 24295) support for useraccess.accesstype of 'Session Unlock'

CreditCardProcessing

  • Updated: version of internal PAX S300 credit card terminal version. This should correspond to newer versions of the terminal firmware.
  • Added: support for terminal communication types of "HTTPS GET" and "SSL". These are essentially secure versions of the web terminal and ethernet options.
  • Added: support for level 2 commercial credit card processing. This mostly involves passing the local invoice # in as a vendor PO # and the tax amount.
  • Fixed: a minor issue where "prompt" is chosen for credit vs debit might not correctly set the transaction to Credit.

Customer List

  • Fixed: memory leak in the finance charge assessment popup.
  • Added: (case 37650) customer cores and returned cores tabs now have columns for manufacturer/model of the originally sold item.
  • Fixed: an issue where the uneditable columns on the returned cores tab were no longer being grayed out.

eBay

  • Fixed: the edit template popup no longer lets the user do multiple-lines in the subtitle box. This is to more closely match the behavior of the auction upload's subtitle box.
  • Fixed: (case 42396) an issue where the user could not continue to type into the title/subtitle boxes in the edit template popup once they filled the box.
  • Added: (case 42420) {?OEMNumber} as a tag for both Pro and Enterprise. Also, {?InventoryID} has been added to the pro templates to more closely match the syntax of EE templates.
  • Changed: in the 'edit template' popup, the sub-title field has been changed to be single-line to more closely match the format of the auction upload dialog.
  • Changed: better column sizing in the default shipping methods area of the account settings.
  • Changed: the edit listing popup now puts "or best offer" near the listing settings (like the account settings area does).
  • Changed: the edit listing popup now puts the "Global Shipping" option in the shipping configuration area.
  • Fixed: the description and return description boxes no longer scroll horizontally as well as vertically, as this required unnecessary scrolling. Now long lines will appear to 'wrap'.
  • Fixed: the "paypal immediate pay" setting was not transferring to new listings correctly.
  • Fixed: the "global shipping" setting was not transferring to new listings correctly.
  • Fixed: most settings on part type templates were not transferring to new listings correctly. Now, they will apply if present, but if no template is found, the global settings will be used instead.
  • Fixed: adding/editing/removing shipping options from a part type template was not working correctly.
  • Changed: "returns accepted" no longer viewable when editing the default template settings. This is because this setting is set elsewhere on the account settings.
  • Added: if a template refers to the {?Price} field, it now respects the "use retail + core" setting.
  • Fixed: the return policy description now supports {?Tags} like the description, title, and subtitle.
  • Fixed: (case 42561) when uploading listings with images, the number of image uploads is now restricted to the number of public images on the item (up to 12).
  • Fixed: (case 43736) several issues where times that were returned by eBay were not interpreted in the correct timezone, leading to issues where auctions would not show as closed when they were.
  • Added: (case 43736) when we retrieve items from eBay, we now ask for the listing status, which can be Active, Ended, or Completed, which we report to the user. This has replaced the previous auction status column, which was only based on the end date of the auction.
  • Removed: the transactions page, which duplicated behavior from the auctions tab, but had several bugs in it. Completed auctions can be searched for and invoiced from the auctions tab.
  • Changed: the tag # column on the screen now shows the item tag #, not the SKU of the item. If the related inventory item could not be found, is displayed in the tag # column.
  • Added: if the user double-clicks the tag # column in the ebay auctions list, the part will open on the parts screen instead of opening the auction on the internet.
  • Changed: many columns have been resized, rearranged, and renamed to make using the screen easier. Some important columns are now bolded.
  • Removed: several columns that were redundant or confusing.
  • Added: tooltip descriptions to all list columns.
  • Added: (case 42749) quantity on hand column to show current stocking levels. If these are lower than the quantity left to sell on an auction, the cell will be red with an attention icon. Double-clicking such a cell will prompt the user to cancel the auction on ebay.
  • Changed: hold id column and create hold button have been hidden in ITrack Enterprise, as we will handle holds a different way.
  • Added: listings that come back as Ended or Completed are now a light or medium gray to distinguish from active listings in a mixed search.
  • Changed: many columns now show as blank instead of "0" to make finding items with sales or uninvoiced sales easier.
  • Fixed: (case 42628) the auctions tab would lose the user's sort and selection if they refreshed the results from ebay or changed filters.
  • Fixed: an issue where "invoice #" column in the transaction list would not get filled out after the user invoiced an ebay sale. Now this column will show "-", and double-clicking it will open that item on the document screen.
  • Added: double-clicking a tag # in the auction list will open the item on the parts screen.
  • Changed: the column "To Invoice" now correctly shows the number of completed sales that have not been invoiced yet in ITrack. If this is not 0, the cell will be green with an attention icon. Double-clicking this cell will create an invoice for an uninvoiced transaction.
  • Added: the 'time left' column now 0-pads the numbers it displays to 2 digits so that the column will be easier to scan and sort.
  • Added: (case 36613) new filters to the auctions page "W/eBay sales" and "Need invoiced". The first will limit to results that have been sold at least once, and the second will limit to those listings that have online sales that have not yet been turned into invoices in ITrack.
  • Fixed: (case 42628) an issue where the user's selection and sort order in the new listings page would be lost if the user edited any listings. Now their sort order and selected item will be retained.
  • Added: (case 42750) new listings now default to the remaining quantity on hand in inventory, instead of always 1. The user is also now allowed to edit quantity on listings. However, this only applies to fixed price listings, as auction listings do not support multiple quantity.
  • Fixed: the user can now enter a buy it now price for normal auctions (not just fixed price listings).
  • Fixed: reserve price on normal auctions now works.
  • Fixed: (case 43846) an issue where "Or best offer" was not working on fixed price listings.
  • Fixed: an issue where paypal immediate pay was not being sent correctly on fixed price listings.
  • Removed: (case 43846) characters such as (, ), <, >, &, and others are no longer 'HTML encoded' in the listing's title and subtitle because these fields do not support HTML. However, this is still done in the description template to support HTML in that area.
  • Fixed: when the user cancels one or more auctions, the entire auction list is no longer re-loaded from the database. This will speed up this operation and reduce flickering.
  • Fixed: an issue where auctions that were cancelled would show up as active until the user refreshed all auctions from ebay.
  • Fixed: an issue where the user's selected item in the auction list was not correctly reselected in some scenarios after a refresh.
  • Added: the user can now select multiple auctions at once. This is currently useful for cancelling more than one auction at a time.
  • Added: totals to many columns in the auction list. These display some useful totals and summaries regarding the items the user searched for.
  • Fixed: (case 44120) an issue where loading and resaving a document created as an ebay auction would remove the connection to the auction.

GlobalSettingsExtension

  • Added: the EE ebay interface now correctly loads the shipping width/height/length into the ebay items to be listed.
  • Added: inventory.quantity is now retrieved for auction items for telling if there is enough quantity on hand.
  • Added: we now check for sales orders connected to ebay transactions in a new way that will automatically recognize if a new sale is created or voided.
  • Added: (case 28580) inventory.quantity is now an available tag in the edocuments format for ebay auction templates as {?Category}
  • Fixed: (case 42588) an issue where the first time a setting in a given category/location was checked, it might retrieve a value of '' (blank) instead of the correct default.

ITrack Online

  • Added: support for running general API::Requests. The previous GraphQL related request is now a subclass called API::GraphQLRequest. A lot of fixed behavior has been moved in as default functionality into API::Request.
  • Added: support for HTTP GET based API::Requests.

Login

  • Added: new user passwords can now no longer match the user's first or last name, or their work email or recovery email, due to ease of guessing that kind of password. It also cannot contain the account name, as this does not add any complexity to guessing the password.
  • Added: the change password popup now shows some warnings/errors as the user types, and some other, slower tests when the user leaves the field.
  • Added: support for many new (optional) Password security settings, including minimum/maximum length, minimum number of characters from character classes (upper, lower, special, number), checking against a block list of the top 10k passwords, checking to see if the password was involved in any password breaches, and making sure the password doesn't match any recent passwords the user employed. All of these settings default to off.
  • Added: support for a global setting to set a threshold on how many breaches a password must be involved in before it is not allowed. Below this, the user simply sees a warning.
  • Added: (case 24295) as part of logging in, a new setting is checked "Security"->"Passwords: maximum number of days between user password changes" which checks to see if the user has changed their password recently enough. If not, they are shown a popup forcing them to change their password now.
  • Added: (case 24295) a new global setting: "Security"->"Passwords: number of days before password expiration to prompt user to change password". This represents a number of days before password expiration to begin prompting the user to change their password and let them know that the password will expire soon.
  • Added: (case 24295) support for locking and unlocking user sessions. There is now a menu option File->Lock Session which will lock the current session, requiring a password to continue. This is useful for security when a user walks away from a terminal. By default, this can be activated by Ctrl + L, but this hotkey can be customized in the user hotkeys dialog.
  • Added: (case 24295) a global setting of 'minutes of inactivity before automatically locking user session' (defaults to off). If a machine has no activity for this many minutes, the session will automatically be locked, requiring the user to type in their password to continue.

Master

  • Added: a separator to the File menu for better organization.
  • Added: support for customizable user hotkeys in top level menus. This is being used in the new File->Lock Session option.
  • Fixed: the help->about box now correctly shows all modules loaded by the system with their full absolute path on the file system.
  • Fixed: an issue where help->about module list wouldn't show modules correctly if the working directory was not the install directory (common in terminal services installs).
  • Fixed: an issue where help->about didn't show modules where the module name and filename didn't match.
  • Added: by request, the help->about box now shows the last file modification time for each module. This is useful when checking to see if files were downloaded and applied during update without opening windows explorer. This dialog now has a large minimum size to facilitate more data that is shown in it.
  • Added: the help->about box now splits the directory off the filename so that the filename can be more obvious and easier sorted. The version and filename are now bolded and the path and hash are slightly gray to make the important information easier to see.
  • Added: help->about now has a last modified timestamp, which is read from the file in the filesystem.

Parts

  • Fixed: an issue where, if a company had the setting "Clear locations when copying a part" set to True, when copying replenishable parts, the default store location might automatically be added to the newly created part, which seemed against the spirit of the setting.
  • Changed: the 'default' location for a part at a store is no longer automatically marked as permanent on replenishable inventory to avoid situations where this 'placeholder' location was sticking around forever at some yards.

Payment Entry

  • Added: icons to various buttons in each area of this screen.
  • Added: the allocation dialog now bolds the invoice #, balance, and amount paid columns. This should make where the allocations are more obvious.
  • Fixed: an issue where reopening a previously created payment allocation might check the 'use balance' checkbox on items where the entire balance was not paid.
  • Changed: (case 42445) to avoid user confusion, if you uncheck 'use balance' on an invoice in the allocation popup, the 'amount paid' is now reset to whatever it was before the user opened the popup (generally $0). Discount amount is also reset (if any). This means that checking, then unchecking 'use balance' should no longer leave the entire invoice balance in the amount paid field.
  • Fixed: several issues with improperly sized buttons and tab order.
  • Fixed: memory leaks on various batch/payment lists on this screen.
  • Fixed: incorrect date sorting in the history list.

Purchase Orders

  • Fixed: (case 42656) an issue where receiving of items after loading a PO would not use the default PO receiving location.
  • Fixed: (case 43972) a possible crash that would occur when a user would change counterperson on a PO with a newly added item selected.
  • Fixed: an issue where loading an item by typing into the lookup column would not refresh the contextual pop-out pages on the left side of the screen.

Sales Orders

  • Fixed: (case 42715) the shipping/billing address of an invoice converted from an ebay purchase was not being set correctly, leading to this info clearing out if the document got refreshed.
  • Added: (case 42716) converting an ebay purchase into an invoice did not copy the buyer's email address into the document billing/shipping info.
  • Fixed: the screen will no longer show the 'this item is already on an ebay auction' attention icon when the user is editing an invoice created from an ebay auction.
  • Fixed: an issue where saving a document might throw a database error related to ecommerce columns.
  • Added: more information passed to the credit card processing system to support level 2 commercial card transactions, which can have a better rate for the user.
  • Added: (case 32079) part search results now show a count of active ebay auctions for a given item. Double-clicking this icon will open that auction in a browser.
  • Changed: (case 44054) when the user performs a part search, their cursor should now go back into the field they were in if there were no search results.
  • Fixed: tab order at the bottom of the screen is now in the correct order.
  • Added: (case 39245) the "Purchase Vendors" info pane on search now has a "Price Class" and "Ordering Group"

ITSQLFramework

  • Changed: the host.ini setting for using ssl (secure connections) now defaults to on for new configurations instead of off. Generally, most servers support connecting securely and this seems like a good default moving forward.

Work Orders

  • Fixed: error messages related to unconfigured part gl settings now show what is in the "lookup" column instead of the part tag #, since it was difficult to understand which item the error was for.
  • Changed: the 'pick sales order to invoice WO' popup now sorts items better and has better default column widths.
  • Fixed: (case 42563) the user might see incorrect error popups saying something like "One or more labor entries/tasks/jobs/parts were invalid". This could occur when the database was busy. Now the screen will correctly automatically (and silently) retry the save operation in such a case. The error messages have also been updated to be more specific. This also means that if a database error occurs, it will no longer be hidden by one of these popups. But the previous message will still be shown in the status bar if the save fails.
  • Added: (case 42602) if the user attempts to save a work order with nothing on it (empty document) they will no longer be allowed, by user request. The popup will allow them to easily close the screen, as the user often clicks save when they mean to just close.
  • Changed: by user request, one can now manually add assemblies to WOs. We allowed it through automation on the Parts screen already, so maybe this is best.

Reports

Billing Statement (Billing.rpt)

  • Fixed: (case 38398) added a : after company phone number in the tearoff
  • Fixed: (case 38398) removed leading : in the tearoff
  • Changed: (case 43944) excluded $0 balances on OIA mode
  • Fixed: (case 43944) payments allocated to "future" invoices outside of the billing cycle range not filtering by store, which was an issue when not doing centralized Billing.rpt
  • Added: (case 43944) setting to include customer mailing address after street address
  • Changed: (case 43944) excluded second customer company/contact line if they are the same

Internal Work Order (WorkOrderInternal.rpt)

  • Fixed: (case 39694) odometer mileage now references workorder mileage (at time of WO)

External Work Order (WorkOrderExternal.rpt)

  • Fixed: (case 42639) Finalized/Unfinalized flag
  • Fixed: (case 39694) odometer mileage now references workorder mileage (at time of WO)

Labor Log By Employee (LaborLogByEmployee.rpt)

  • Added: (case 42582) user parameter, worker group parameter, and open/closed column

Parts Remaining By Vehicle (PartsRemainingByVehicle.rpt)

  • Changed: (case 40851) storeid filter now applies to parts inventory instead of vehicle units, excepting vehicles with no parts.
  • Fixed: (case 40851) excluded cost from vehicles not associated with the store when filtering by store

Sales Order (SalesOrder11in.rpt)

  • Added: (case 40868) separate job parts and labor subtotals above grand SO subtotal, enabled by a new setting. No visible changes by default.
  • Fixed: (case 39694) odometer mileage now references workorder mileage (at time of WO)

Unmoved Inventory (UnmovedInventory.rpt)

  • Fixed: (case 40353) minor query inefficiency and filters requiring the existence of a default vendor and part type
4/8/2026

Appraisal Extension

  • Fixed: the query that performs the appraisal will now correctly report any errors it receives instead of throwing them away.
  • Added: the 'choose appraisal source' popup now automatically sets the user's focus into the list control and hitting enter will select that item. This makes selecting an item with the arrows and hitting enter without using the mouse much easier.

Core Management

  • Fixed: (customer cores) the reject/return buttons are now correctly grayed out until an item is selected.
  • Fixed: (customer cores) all filters now clear correctly when the user hits clear.
  • Fixed: (customer cores) the "only expired" checkbox is now usable and correctly filters cores.
  • Added: (customer cores) the "automatic refresh" checkbox is now remembered for the current user.
  • Added: new tab, vendor cores, which gives an interactive report of all unreturned core exchanges owed to vendors. This tab has been designed to work very similarly to the outstanding customer cores tab.

Crystal Reports

  • Changed: (case 40474) the 'choose which report to print' popup no longer has an orientation column, as it confused some users. Also, the 'default' checkbox column has been moved to the right so as to avoid confusion between this marking an item as a default print option and selecting the item to print this time. Also, changing whether a report is a default now immediately resorts the report list. This should make the function of favorite reports more obvious to the user.

Customer

  • Changed: the pricing tab now has a layout more similar to other areas of the software (add/edit/remove buttons at the bottom). Also, the labels for the different kinds of special pricing have been changed to make them clearer.
  • Changed: there is no longer an item lookup and description fields. Now, to add parts the user can click an add button at the bottom, which will take them to search to find item(s) to price. This makes pricing duplicate items or large numbers of items at the same time easier.
  • Added: the add contract pricing button now shows the user's current 'lookup part' hotkey on the button to help them understand they can use this popup to quickly add a single part to contract pricing.
  • Changed: (case 40879) to allow the user to add a new contract to an item with a previous contract, the user is now shown a popup that says the current item is already contracted to the customer. They're allowed to choose between editing the existing contract or adding a new one.
  • Added: to avoid duplicate contract errors, the save operation now checks to make sure there are not two contracts for the same part ending on the same date.
  • Fixed: if there is an error while saving contracts, that will now halt the save operation.
  • Fixed: if no item is selected, the edit/remove contract buttons are now greyed.
  • Changed: per user request, double-clicking contract prices now opens the part on the parts screen instead of editing the contract pricing. A quick key has been added to the edit button for easier keyboard usage.
  • Added: expired contracts now show with a grey background. Also, the end date is now colored based on whether it is in the past, expires today, or is in the future. Because of this, color alternation has been removed from these lists to avoid confusion.
  • Changed: more important columns in the pricing lists are now bolded.
  • Fixed: a customer without permission to edit the pricing tab can still check and uncheck the 'show expired' checkbox now.

Customer Contact

  • Fixed: the from/to date range on the customer page now has 'none' check boxes so that the user can choose not to have a from or to end date. The date range dropdown is no longer free-type.
  • Fixed: the from/to date range on the home page now has 'none' check boxes so that the user can choose not to have a from or to end date. The date range dropdown is no longer free-type.
  • Added: (case 40437) 'In Person', 'Text', and 'Social Media' as contact options as per user request. New touchpoints now default to "Phone".
  • Fixed: changing date dropdown/date pickers should now correctly change the results in real time. This was broken before.
  • Changed: customer contact home page results now properly align their data.
  • Fixed: customer contact home page now displays created date correctly, and all date columns sort correctly now.
  • Fixed: column order and widths now save and restore correctly on all customer contact pages.
  • Fixed: clicking in cells in the customer contact home page will no longer show date picker controls since the rows are readonly.
  • Added: double-clicking a ticket or touchpoint on the customer screen's customer contact area will now allow the user to edit an existing touchpoint. Previously, this was not possible.
  • Fixed: editing an existing touch point will not move its 'date entered' forward.
  • Fixed: "Last Message" column on all customer contact areas now correctly displays the most recent touchpoint for the ticket.
  • Added: tooltips for all customer contact list control columns.
  • Fixed: proper list control alignment, sorting, and column widths for the customer screen page.
  • Fixed: the page now resizes correctly so that the buttons can be easily read on the customer screen page.
  • Fixed: previously, the home screen page would always color the items red. Now, items that are past due are a dark red, items due 'today' are dark blue, and all others are black.
  • Fixed: label in the 'edit correspondence' popup to no longer use the term 'ticket'.
  • Added: priority dropdown in 'edit correspondence'.
  • Removed: references to an used 'close ticket' entry type.
  • Changed: closed correspondences are now shown in a medium grey background.
  • Changed: due date column is now bright red or blue depending on due date (instead of the entire row).
  • Added: double-clicking a correspondence on the customer screen now always pops up the edit dialog, even if no touchpoint is selected.
  • Added: 'created by' and 'days ago' columns in the touchpoint list on the customer screen.
  • Changed: columns in the CRM area renamed for more clarity.
  • Changed: add new touchpoint button now has a 'new' icon instead of an edit icon.
  • Fixed: possible crash when editing a touchpoint.

Database

  • Added: a transaction list join reference that may have been missing on some databases.
  • Added: Case 40637: Add Inventory Location filter to Transaction List for the Inventory Source
  • Fixed: Case: 40639 Delete and Re-release Inventory Store Filter & Inventory Store Join in the Transaction List for the Inventory Source
  • Added: lineitem default description template has been moved from store setting to global setting.
  • Added: purchaseorderline.corestatus, similar to other document screens. Currently, this is useful for keeping track of whether core returns have been discarded/ignored/rejected.
  • Changed: f_quantityreturnedtovendor now looks at quantityreceived on return POs instead of quantity (order quantity) for documents that are done receiving. This will mean that unreturned items on documents will 'release' if the PO is marked as done receiving.
  • Added: new permissions for the vendor cores tab.
  • Added: (case 40162) two new eBay shipping method options: fed ex home delivery and flat rate freight.
  • Added: foreign keys to the inventoryvariance table so that lost/found inventory adjustments will automatically go away if the user deletes an inventory record or a serial that has been lost or found.
  • Changed: the speed index on the inventoryvariance has been rearranged to more easily allow joining to inventory.
  • Fixed: (case 42224) an issue where right click graphing (and vehicle break even graphs) would not render correctly (sometimes) due to a race condition introduced by google into their charts.
  • Removed: (Case 42306) deleted a setting that is no longer checked (since 2017) regarding taxes on exchange items.

eBay

  • Fixed: a memory leak that would occur each time an invoice was saved.

Home

  • Added: an ini setting [general]->usecustomhomepage. It defaults to false, but if its True, then the global setting for the URL of the home screen web interface can be overridden. In this way, [general]->customhome_url can be filled out to override the home page website for a specifc machine.

Parts

  • Changed: (case 40894) the temporary table that is built to store part transaction history now uses the InnoDB storage engine to avoid issues where items with large amounts of history won't throw an error encountering the default MySQL maximum temp table size of 48MB.

Purchase Orders

  • Changed: default lineitem description is now global instead of store-based. Also, the default description now involves vehicle VIN (as it is required in many states) and the side has been moved near part type (if a side is present).

Sales Orders

  • Changed: default lineitem description is now global instead of store-based. Also, the default description now involves vehicle VIN (as it is required in many states) and the side has been moved near part type (if a side is present).
  • Fixed: an issue where saving/printing a closed quote document might incorrectly pop up a "do you want to mark this as a lost sale instead?" question.
  • Added: support for store.* tokens to be referenced inside the default description. This will be the inventory store information for the current item.
  • Removed: (case 41149) by user request, hitting 'email SO to salesperson' used to send an email (by default) to both the customer salesperson, and the salesperson assigned to the sales region the customer falls in. The second part (a feature from 2008) has been removed, so now only the current salesperson is used by default (no sales region).
  • Fixed: (case 42326) an issue where hitting enter to perform a part search after choosing a model from the dropdown could cause a scenario where the user would be prompted to choose an interchange # multiple times in a row, and the search results would become duplicated (only possible at yards with interchange).
  • Added: by user request, the alternate parts info pane on search now shows alternate parts through the inventory lookups entered on the parts screen (supersession, alternate parts). Also, the alternate part rows now show the tag # of the item and a reason for the alternate part row showing up.

Vehicles

  • Added: (case 39177) if the user saves a whole unit on the vehicles screen that has been transferred between stores, all those changes will apply to that vehicle record at all stores (except store-specific things like quantity, status, and average cost). This should avoid any issues where status T versions of a vehicle at another store have 'out of date' information on them.
  • Changed: loading a vehicle doesn't automatically send the user back to the first tab. This makes arrowing through vehicles while viewing a breakeven graph easier.

Vendor

  • Fixed: (case 40800) an issue where modifying an existing vendor message and saving would not correctly save the message.

Work Orders

  • Changed: default lineitem description is now global instead of store-based. Also, the default description now involves vehicle VIN (as it is required in many states) and the side has been moved near part type (if a side is present).

Warehouse Management

  • Added: the from/to location for non-serialized parts have been flipped when items have been 'found' at a location. Before, it seemed like quantity would move to Variance. Also, when items are lost, the To location is now "Variance (LOST)" and when items are found, the from location is now "Variance (FOUND)".

Reports

Sales By Customer (SalesByCustomer.rpt)

  • Added: (case 40509) customer phone number

Sales By Tax Item (SalesByTaxItem.rpt)

  • Changed: (case 40484) standardized date format

External Work Order (WorkOrderExternal.rpt)

  • Added: (case 40357) customizable background text for estimates, based on a store level setting.
  • Added: (case 40357) set size limitations on background text
  • Fixed: (case 40965) when "show tag number instead of description on jobs" = False and "use table layout for job line detail" = True, partnumber and serial were showing instead of description as if "show tag number" were true.
4/8/2026

Highlights

  • Major improvements to the ebay screen
  • Date range dropdowns all over the system now only show future or past date ranges, depending on what the filter applies to. More range options were added for the future to match the past options.
  • The search screen's dropdowns are now more consistent and no longer automatically 'pop down' but do so if the user types in them. This improves behavior when popups appear and makes it clearer what hitting the enter key does (perform search instead of close dropdown). Also, several popups on the screen have been improved for easier user interaction.
  • Search screen dropdowns now support some fields that automatically add wildcards to both sides. This makes it so that searching description or notes will find what you entered anywhere in the field.
  • Warehouse management screen is now clearer when reviewing count jobs (from/to location swapped when items are 'found')

Database

  • Added: (case 38000) updated adderscripts, many with updated report categories for all standard reports that print from the Report Viewer
  • Added: (case 38000) updated adderscripts for all standard reports that print from screens other than the report viewer
  • Changed: (case 38000) reports with category 'Metadata' to category 'Configuration' per user feedback
  • Added: Case 39295: Add Monthly Average Usage, Vendor Lead Time as Display Fields in Transaction List for the Inventory Source
  • Added: function fgetcompanyproductcode, which is a product agnostic API for getting a company product code.
  • Changed: for consistency, now all prices on the inventory record can be negative, to help facilitate non-depletable SKUs that represent discounts.
  • Added: (case 39472) support for inventory search fields that are 'auto-wildcarded'. This has been enabled on description and notes searches initially. This means values entered on a description or notes searches will be found anywhere in the field.
  • Added: (case 37359) a script to standardize salesorderdocument memo setting names, a script to standardize "hide memo" setting name
  • Added: (case 37359) salesorderdocument memo settings (store level) if they don't already exist
  • Fixed: fchecksetting now properly sets the default of the settings that get created.
  • Added: Case 39641: Added filters for Inventory Question & Answer to the Transaction List for the Sales Order source
  • Added: support for specifying an email subject in reportqueue.
  • Added: Case 39981: Add vehicle.storeid Display Field to the Transaction List for the Vehicle source.

Accounting

  • Changed: all the date range dropdowns no longer show 'future' date range spans.

Appraisal Extension

  • Added: support for disabling errors when testing if an appraisal connection is valid.

Customer

  • Added: (case 39528) the customer sell price class markups now sorts the rows automatically by the sell price class name.
  • Changed: the contract price rows are now sorted better for numeric tag #'s.
  • Added: 'Average Cost' as an option in special price adjustments.
  • Changed: the markups in special price adjustments are now displayed as raw %'s instead of markup %'s. This makes the pricing display look more consistent with other areas. This means a markup of 25% (previous display) will now be shown as 125%. This only affects display, no change to pricing behavior.
  • Changed: the pricing page no longer checks for overlapping contract time spans for the same part, as there were issues with it, and the user can simply manage this themselves.
  • Added: (case 39324) support for showing the user account who created each customer price contract.
  • Changed: customer price contracts no longer are reloaded when the user changes whether to show expired documents, which speeds the screen up.
  • Changed: when adding or editing a customer price contract, past date ranges are no longer visible, as they are not usually useful.
  • Added: next 365 days option for price contracts date range combo.
  • Fixed: (case 40533) two columns labeled "salesman" have been relabeled to "counterperson" for increased accuracy.

Customer Contact

  • Changed: all the date range dropdowns no longer show 'future' date range spans.
  • Fixed: (case 40538) the customer contact home page now correctly loads all stores into the dropdown.
  • Added: the store dropdown on the home page now defaults to the store the user is logged into.

eBayExtension

  • Fixed: several memory leaks occurring through normal usage of ebay screen.
  • Fixed: several crashes that could occur when listing parts without first signing into eBay.
  • Fixed: (case 39231) If you chose 'no returns allowed' you would see an error when sending the listing.
  • Fixed: (Case 28577) an issue where some characters the user might copy + paste into a listing description could cause eBay to throw an error. They are now translated to the nearest matching character before upload.
  • Fixed: several issues where clicking refresh or ebay sign-in would cause error messages instead of just taking the user to the 'sign-in' page.
  • Added: if you've signed in successfully and then hit the 'reset ebay sign-in' there is now a popup that says it will clear the current info and asks the user if they are ok with that.
  • Added: The listing page now shows the actual ebay category text for the current listing instead of its (useless) id #.
  • Changed: The area where you see the formatted listing body (created from template) no longer removes all the line-breaks they put in the template. This makes it a lot easier to review the upload body. Also, that edit box no longer has horizontal scrolling.
  • Fixed: eBay Site (us vs canada) wasn't implemented right and threw an error
  • Fixed: a minor issue with paypay immediate pay
  • Fixed: If you updated the auctions page, a floating date-time value would appear. There is now a datepicker labeled Last update from eBay
  • Changed: Renamed Global Config to "Account Defaults", and "Advanced Config" to "Listing Templates"
  • loading the screen with no token, then getting one wouldn't work right if sandbox mode was enabled without first clicking production.
  • Loading the screen with a sandbox token wouldn't work unless you clicked into production, then back to sandbox.
  • Removed a bunch of unused image handling code from the edit listing dialog.
  • Fixed: some currency values are now properly sorted in the user's locale format.
  • Added: (case 39820) better sorting to the list columns in the auctions page, listings page, and transactions page.

GlobalSettings

  • Fixed: an issue where new settings might not get their default correctly.

Home

  • Changed: all the date range dropdowns no longer show 'future' date range spans.
  • Fixed: (case 39912) an issue where non-deplete items were showing as not available on the SO and WO home screen tabs.

Master

  • Fixed: (case 39506) an issue where the application might load the same module more than once, which could lead to crashes in some corner cases.

Parts

  • Added: limit to the 'contained in collections' tree to just 150 collections. In general, most items are contained in no more than one collection, but for companies that have non-deplete warranty items that they put into many parts' templates, this will speed up loads.

Purchase Orders

  • Fixed: (case 39670) an issue where clicking the attachments button did not cause the dialog to appear.
  • Fixed: (case 40014) an issue where results sent from inventory overview to PO or TO could cause some issues if the items are templates.
  • Fixed: an issue where clearing the PO screen didn't clear out the type dropdown.

Sales Orders

  • Added: when creating a return document, the original 'salesperson' who got credit for the sale will be copied from the original instead of the current customer salesperson.
  • Fixed: (case 39670) an issue where clicking the attachments button did not cause the dialog to appear.
  • Fixed: (case 39791) an issue where document lineitem descriptions were not properly loading any tokens from inventory, like inventory.description.
  • Changed: (case 40184) fixed an issue where the search screen list control acted weird when scrolling horizontally.
  • Changed: (case 40299) the dropdowns on search no longer automatically show their drop-list when you tab onto them. The reason for this is because it made the action of hitting enter inconsistent on the screen. This is because (when a dropdown is shown) enter confirms the choice and closes the dropdown, while the rest of the time, enter performs a search. This was especially confusing when closing a popup like the interchange dialog.
  • Added: in conjunction with the above change, typing into a dropdown now always shows the dropdown list for the user to arrow through. Before, only autocomplete dropdowns would do this. Now they all do. (Note: in addition to typing, the user can hit the up or down arrow to show the options).
  • Changed: all dropdowns on the vehicle search are now styled the same way as the part search, including the behavior of when they dropdown.
  • Fixed: inconsistencies on dropdown behavior on part and vehicle search tabs.
  • Added: (case 40299) the "OK" button on the interchange popup now performs the search after choosing an item.
  • Removed: (case 38172) due to confusion and disagreement over what OK and Cancel should do in the 'no results found' dialog, it has been removed. Now, if a search is performed that finds no results, the system will beep and information will be put in the status bar.
  • Added: (case 39472) support for search fields that get 'auto wildcarded' as part of a search. For fields like description or notes, the value will be searched anywhere inside the field.

ITSQLFramework

  • Fixed: (case 39506) an issue where the error reporting dialog could cause a crash if the settings module had caused a crash before.

Warehouse Management

  • Added: the from/to location for non-serialized parts have been flipped when items have been 'found' at a location. Before, it seemed like quantity would move to Variance. Also, when items are lost, the To location is now "Variance (LOST)" and when items are found, the from location is now "Variance (FOUND)".

Work Orders

  • Fixed: (case 38662) an issue where doing an assembly breakdown might cause a database error if the Assembly Breakdown work order type and Assembly Breakdown Template (job template) were saved in a specific way (related to the labor GL category). Now such situations should be handled better. Assembly breakdown jobs will now correctly inherit defaults from the Assembly Breakdown WO type, as customized by the user.
  • Fixed: (case 39670) an issue where clicking the attachments button did not cause the dialog to appear.
  • Fixed: (case 40435) an issue where creating a new job or new job template on a WO didn't copy information from the WO template correctly.
  • Fixed: an issue where the edit work order types dialog did not display default labor rate correctly as currency, and the shop supply charge field was not displaying percentages correctly.
  • Fixed: an issue where the user could not select and delete more than one labor entry on a job.
  • Fixed: an issue where the 'send WO to invoice' popup was showing expired quotes. Also, results will be ordered by date, then document # to make them easier to find.
  • Fixed: (case 40572) an issue where removing parts or tasks from a job template and then saving the template would not remove those items correctly.

Quickbooks

  • Fixed: (case 39797) an issue where the accounting push tab now shows checkboxes for what to export again.

Reports

Billing Statement - French (Billing_French.rpt)

  • Removed: (case 38548) deprecated the temporary duplicate file that only handled French mode. The standard report can do this now. Screen reports have been able to correctly pull in parameter defaults for awhile, and this is just a holdover.

Database Change Log (DatabaseChangeLog.rpt)

  • Added: (case 39031) a new event filter, and a new column filter that has the ability to filter by a specific column, all columns, or a comma-separated list of columns. A default parameter value can be set for this with a new Reports setting.

External Work Order (WorkOrderExternal.rpt)

  • Changed: (case 40049) job parts and labor layout is now laid out like a table by default, with a setting available to change that back to the more SO-like look
  • Changed: (case 40049) combined customer unit and master part subreport into one section and cleaned it up.

Inventory Loss (InventoryLoss.rpt)

  • Added: (case 38795) a report showing inventory on variance document types in a date range with quantities and replacement costs.
  • Added: (case 38795) missing namer in the header

Inventory Summary (InventorySummary.rpt)

  • Added: (case 39025) inventory replacement cost, if a new setting (passed in via parameter) is set to True. It is False by default.
  • Changed: (case 39025) moved noninventory setting out of the report query. It is now passed in via parameter.

Parts Remaining By Vehicle (PartsRemainingByVehicle.rpt)

  • Changed: (case 39623) updated comment header

Price Deviation (PriceDeviation.rpt)

  • Added: (case 38439) rejected/approved by username, when present, in the new approval/rejection subreport.

Receiving Tag (TagReceiving.rpt)

  • Changed: (case 40021) Receiving tag now respects show SKU below barcode tag setting

Sales Order 11in (SalesOrder11in.rpt)

  • Changed: (case 37359) standardized setting names: salesorderdocument memos + hide memo were different from the rest

Sales Order Returns (SalesOrderReturn.rpt)

  • Fixed: (case 40017) GL context filtering was excluding some core returns/exchanges.

Vehicle Value Analysis (VehicleValueAnalysis.rpt)

  • Added: (case 39450) vehicle unit remaining market and sold retail. Part counts do not include vehicle units.
  • Changed: (case 39450) shortened Parts header line to exclude remaining market and sold retail, then moved cost columns section to the left of parts columns
  • Changed: (case 40011) VVA report now pays attention to the setting that allows you to exclude non-inventory vehicles even if there is cost remaining
4/8/2026

EE Change log version 27 REVISION 21591-21738 database version 2700

Highlights

  • Made it harder to accidentally change important accounting settings.
  • Added: (case 36901) if the user discards a returned core, the cost of that core exchange now goes into the cost discrepancy table, since that is inventory value that did not get the chance to affect inventory cost.
  • Most print buttons in the software now show an 'email to' dropdown whose auto-complete options are limited to the customers/vendors/users shown on that screen.
  • Less confusing database error messages when you launch the application with invalid settings.
  • The user can now modify billing or shipping addresses on finalized sales orders
  • Support for a new permission that controls the ability to edit POs

Shared

  • Changed: the number of automatic retries when deadlocks are encountered has been increased from 2 to 3, meaning the system will attempt a save up to 4 times without reporting an error to the user in the case of deadlocks and lock wait timeouts.
  • Added: if a automatic list control cell tooltip is long enough that it is truncated for display, a … will be added to the end.

Accounting

  • Added: (case 38301) the accounting screen now opens in a 'read only' mode to help avoid issues where users are accidentally changing critical accounting settings. There is now an "Edit Accounting Settings" button. If the user has the edit accounting settings permission, they can click this button to enter edit mode. The user will be prompted to confirm their user account with the current password to ensure the user has access and to log the access attempt.
  • Added: (case 38301) the user now gets a confirmation popup if they change any of the dropdowns that control global accounting settings.
  • Fixed: (case 38391) an issue where adding a new gl account would cause all accounts to appear duplicated. In addition, closing the screen in that scenario could clear out the setting for AR and AP account.

Common Resources

  • Fixed: an issue where it could display Plant instead of Store in the configure settings popup.

Core Management

  • Added: (case 37956) all print buttons now attempt to restrict advanced print email auto-completes to just relevant customer emails and users.
  • Added: (case 36901) if the user discards a returned core, the cost of that core exchange now goes into the cost discrepancy table, since that is inventory value that did not get the chance to affect inventory cost.
  • Added: A new setting "Core Management"->"Move cost of discarded core exchanges to original sold inventory item (vs into cost discrepancy)", which defaults to False. If set to True, discarded cores' cost will be applied to the inventory record that the exchange was originally for. This has the effect of putting this 'lost' cost back into core inventory, but can have the effect of increasing the average core cost for the original inventory record. If left as False, discarded cores' cost will always go into the cost discrepancy queue instead (to be manually adjusted in the inventory asset later).

Customer

  • Added: (case 38321) the "Add W.O." button now sends the current customer to the WO screen.
  • Added: (case 37956) all print buttons now attempt to restrict advanced print email auto-completes to just relevant customer emails and users.

Database

  • Changed: (case 38230) scanjobaction table needs to have its "value" column changed to type text from varchar(50)
  • Fixed: (case 38319) an issue where the PO customer filter caused a database error for transaction list
  • Fixed: (transaction list) Several fixes for display fields that were mistakenly marked as keyfields, and correcting a couple joins on display fields in the Payment Source.
  • Added: (Case 38323) active field. Also, Assembly Manufacturer and Assembly Model filters don't have joins
  • Added: (case 38593) inventory date entered and date modified now set themselves automatically when new rows are inserted.
  • Added: (case 37586) a new permission for editing POs.
  • Added: (case 38847) logging triggers to the vendor table and some associated tables.
  • Added: (Case 38666) WO master part added to transaction list
  • Added: (case 38040) standardized printer tables

ITMySQLConnection

  • Removed: the unnecessary and confusing text "APPCRASH" that was added to some unknown mysql client errors.
  • Fixed: if there is an issue establishing a secure connection to the database (and secure connections [SSL] are enabled) the error "APPCRASH: the operation completed successfully" will no longer be shown instead of the intended "SSL is not configured correctly or secure connection refused."

ITrack Online

  • Added: support for more specific API error responses.

Inventory Overview

  • Fixed: (case 35747) an issue where non-replenishable inventory could show up to be reordered if the user modified a part after giving it reordering configuration.

Login

  • Fixed: an issue where multi-line lock notes weren't displaying right.
  • Added: (case 37587) a filter to the user account list for easily filtering down to specific users by account name, first and last name, email, or lock notes.

Mas90Accounting

  • Fixed: (case 38267) an issue where reversing historical accounting could take a lot longer than expected on large databases with a lot of accounting history.

Part Modification

  • Fixed: (case 38746) an issue where the user would see a query error when saving after changing a global field that logs changes (but only if they had the average cost or average core cost fields visible).

Sales Orders

  • Fixed: (case 27019) an issue where the user might not be able to save a credit card payment if another user has modified the SO since they loaded it. Now, a successful credit card payment will be saved immediately to avoid any issues.
  • Added: when the user submits a tax document to a 3rd party tax service, there is now more information about the line items (description, lookup) that gets sent along.
  • Added: (case 37956) all print buttons now attempt to restrict advanced print email auto-completes to just relevant customer emails and users.
  • Added: (case 38436) if a third party tax integration is enabled but there are errors (possibly due to an outage) during sales order finalization, the user will be told to choose a manual tax item to finalize anyway. If the automatic tax item "AUTOMATIC CALCULATION" is chosen, they will not be allowed to finalize the document.
  • Added: (case 38436) special handling for situations where third-party tax integrations are offline. In such a scenario, the user is presented with a popup that suggest that they change the tax item to the user's default instead of AUTOMATIC CALCULATION, which only works when the tax integration is online. This allows the user to finalize documents despite the integration being temporarily unavailable.
  • Fixed: the back order dialog now has better column widths and remembers the user's column sizes and order.
  • Fixed: (case 38612) an issue where back ordering an item with an inherent core charge would have two issues: 1. the subtotal of the original sale would not be correct (inherent core subtracted twice); 2. The back order document would not include the inherent core charge.
  • Changed: (case 37929) in the previous couple versions, the user could not modify billing or shipping addresses on finalized sales orders because of tax rate conflicts. This has been rolled back. So long as the user has permission to edit closed SOs, they should be able to change this info now.
  • Fixed: double-clicking items in the sales history tab will now open that document on the screen.
  • Changed: the stock category and stock type seemed to be mistakenly reversed in the results. Now, the Stocking Info column contains the stock type (Stocked, Obsolete, etc: more relevant to reordering) as well as the stock method (Min/Max vs Historical vs None). I believe these have been mistakenly reversed for awhile.
  • Changed: stocking level coloring that was previously based on the (now hidden) stock category is now based on if the part is replenishable since the inventory overview screen now uses this field for reordering.

Purchase Orders

  • Fixed: (case 38267) an issue where the the shipping method dropdown was in reverse order.
  • Added: (case 37956) all print buttons now attempt to restrict advanced print email auto-completes to just relevant vendor emails and users.
  • Fixed: (case 38448) an issue where a recoverable error (such as a deadlock) occurring during save of a multi-branch PO would result in transfer orders not being saved correctly.
  • Fixed: another issue where a deadlock on an interbranch purchase order might not create order fulfillments correctly.
  • Added: (case 37586) support for a new permission that controls the ability to edit POs. Also, the receiving location is now controlled by permissions.
  • Fixed: (case 38789) an issue where deleting saved lineitem adjustments would not correctly revert the cost changes on the item.

Vendor

  • Added: (case 37956) all print buttons now attempt to restrict advanced print email auto-completes to just relevant vendor emails and users.
  • Fixed: minor display issue where the displayed rows box would show "0/-1" for the rows being displayed on a vendor with no catalog.
  • Fixed: hitting New to clear the screen now correctly clears the company/contact name.
  • Fixed: a possible crash happening on the address info tab.

Work Orders

  • Added: (case 37956) all print buttons now attempt to restrict advanced print email auto-completes to just relevant customer emails and users.

Reports

External Work Order (WorkOrderExternal.rpt)

  • Changed: (case 37680) WO now displays job parts and labor more like the SO does, with a new setting to show part description instead of/in addition to tagnumber if preferred.
  • Added: (case 38596) job labor rate and totals when applicable, and a new setting to show/hide this information
  • Changed: (case 38596) standardized setting names to use 'External WO' prefix
  • Changed: (case 38232) grouped users in labor section to show with hour totals instead of individual workclock entry rows, which is much tidier

Internal Work Order (WorkOrderInternal.rpt)

  • Added: (case 38595) a new setting to determine how many blank, fillable part lines show up on the report. Default 4. Can be anywhere from 0 to 100. Moved lines into a subreport that uses the number table to duplicate lines as long as needed.
  • Changed: (case 38595) standardizing setting names

Label (Label.rpt)

  • Changed: (case 38238) non-standard sized reports should have the "No Printer" box unchecked

Price Deviation (PriceDeviation.rpt)

  • Added: (case 38439) approval reason & explanation, or approval reason & explanation + rejection history per setting. Includes the ability to show it as it was before the addition.

Sales Order 11in (SalesOrder11in.rpt)

  • Changed: (case 38387) French mode Counterperson label from "La Caissière" to "Représentant" at the request of people who speak French
  • Changed: (case 38387) updated French counterperson translation in the alternate headers subreport
  • Added: (case 38596) job labor rate and totals when applicable, and a new setting to show/hide this information
  • Changed: (case 38232) report now has standard .25 inch margins like every other letter-sized report, instead of .5 inch margins
  • Changed: (case 38232) grouped users in labor section to show with hour totals instead of individual workclock entry rows, which is much tidier

Tag (Tag.rpt)

  • Fixed: (case 38238) report margin issues, based on the standard TSC ME240 tag set up at 5.5 height, not 6
4/8/2026

EE Change log version 26 REVISION 21297-21590 database version 2600

Highlights

  • Added: (case 38210) a new global setting to attempt to work around an incompatibility regarding default windows printers on some versions of Windows Terminal Servers.
  • Changed: the Edit Payments permission has been split into Add new payments and Edit existing payments permissions.
  • Fixed: several long-standing display issues in shared lists and tree with checkboxes.
  • Added: many improvements and fixes to third party tax integrations such as Tax Jar.
  • Changed: the inventory type editing area in part configuration has been significantly improved, unused fields have been removed, and several hidden fields have been exposed, including whether inventory in that part type can be listed online as well as what HTP.net part type to map to.
  • Changed: smarter display of numbers that should or should not use thousands separators (,) in numbers on the part modification screen.
  • Added: many new fields to the transaction list screen as well as the transaction list on the parts screen.
  • Optimized: significant speed improvements to the PO screen, especially on large databases.
  • Fixed: a long-standing annoyance where the vehicle screen would ask the user to save even though they didn't make any changes (because the teardown had been modified from another screen).
  • Added: pretty much every list on the Work Order now remembers the order the user put the items in, both in edit WO and WO template modes.

Crystal Reports

  • Changed: the choose printer dropdown in the edit default printers dialog is now wider to facilitate networked printers.
  • Added: (case 38210) a global setting called "Printing"->"Automatically set windows default printer before printing". This setting defaults to False. When set to True, every time the user prints, the default printer in windows will be set to the printer the user is printing to, and the printer will be set back to the previous default afterwards. This may help with some printing scenarios where default windows printer affects some print jobs.

Data Management

  • Fixed: an issue where permissions were not being checked correctly for this shared module.
  • Fixed: (case 36908) an issue where a table that had foreign keys on it would throw an error when importing.

EDocuments

  • Changed: how data sources are handled has been changed so that objects are not loaded from the database if they are not referenced in the EDocument template. Also, passing objects into multiple edocument evaluations won't load the same objects more than once.
  • Added: support for edocuments to be evaluated in such a way that invalid tokens are left in. Also, edocuments can be evaluated in a way where the values are escaped and quoted, which is useful for when the output is a query that needs to be run.
  • Fixed: an issue where the handling of global variables wasn't working correctly.
  • Fixed: a crash that could happen when subreports were present in an edocument request.

Shared Controls

  • Fixed: (case 37729) an issue where sometimes column tooltips would be left even after columns were deleted, leading to incorrect or overlapping tooltips.
  • Fixed: several issues where 'dead whitespace' would be left in a list if the user was scrolled to the right when columns are deleted.
  • Fixed: (case 36452) an issue where using the mouse scroll wheel to scroll a list control with close buttons (little red x's), the x's would not get redrawn correctly.
  • Added: (case 36809) an option for exporting just selected items in a list to a spreadsheet.
  • Removed: the option for exporting to an HTML table, as I don't think this is valuable to anyone.
  • Added: the shared 'dropdown choice' popup dialog now uses a typeable dropdown for easier searching.
  • Added: 'automatic' list cell tooltips that appear when the text doesn't fit (has an elipsis at the end) now works if the string has line breaks in it, which also causes an elipsis. This helps in lists where multi-line data (like addresses) can be present.
  • Fixed: an issue where tree controls that contained checkboxes might not toggle the check boxes correctly if the user used the keyboard (space button) to toggle the checks.

Accounting

  • Fixed (Case 37318): Updated the sage50 export to work for non-canadian sage50.
  • Fixed (Case 37318): Added a header to the sage50 export and added transaction period with no value.
  • Fixed (Case 37318): Sage50 export can now handle variable length glaccount numbers.
  • Fixed (Case 37318): The ITrack Sage50 export now only exports Date, Number of Distributions, G/L Account and Amount, as that's all that sage50 will import.
  • Fixed (Case 37318): The ITrack Sage50 export no longer puts spaces between columns. Additionally, dates are formatted with slashes instead of dashes.

Customer

  • Fixed: (case 37536) an issue where loading and resaving a customer could cause that customer's default store and default salesperson to reset to the current user and store.
  • Fixed: (case 37581) a database error when editing a sales region. Also, the user dropdown is more usable for situations where user accounts don't have a first/last name.
  • Fixed: an issue where payment lines were displaying invoice #'s backwards on the sales history tab.
  • Changed: (case 37652) the Payments button at the top of the screen now uses the new "Add new payments" permission instead of the old Edit Payments permission.
  • Changed: the "Edit existing payments" permission now only controls whether the user can edit a saved payment, not whether they can add new payments.
  • Fixed: the payments list on the sales tab now shows invoice #'s correctly, and columns are sorted and aligned better.
  • Fixed: an issue where double-clicking an existing payment would refresh the payment list even if the user was denied access.
  • Fixed: (case 38213) an issue where the entered by user was not displaying in the same format as on other screens.

Customer List

  • Changed: (case 37652) the Enter Payments button now uses the "Add new payments" permission instead of the old Edit Payments permission. Also, the tooltips have been modified to be clearer.

Common Resources

  • Added: (case 33529) vehicle stock # to the assembly parts remaining dialog, as per a user request.

Database

  • Added: (Case 36814) "Prices Finalized" Display Field to Transaction List for the Purchase Order Source
  • Fixed: (case 36821) an issue where a PO transaction list filter was referencing a non-existant table (purchaseorderdocument).
  • Added: (Case 36823) Add filter for: customer credit terms to the trans list
  • Fixed: an issue where fcalculateaverage_cost would throw a "divide by zero" error if the user was selling 0 quantity of a part that was associated with a vehicle. Now, $0 will be returned.
  • Added: Case 36935: Add "Job Internal Notes" to Transaction List for the Work Order source
  • Added: Case 36949: Adding OEM# to Data Management for Bulk Upload
  • Changed: (case 37012) vendor lead times are now limited to POs created in the last 90 days.
  • Added: (case 37012) "Vendor Lead Time (days)" is now an option on the part modification screen.
  • Added: (case 36824) rank columns to various job related tables as well as the job template related tables. This allows saving/loading the order of items on the screen.
  • Added: foreign key constraints to the jobpart table.
  • Added: Case 37219: Add Ordering Info fields to Transaction List for Purchase Order, Inventory Sources
  • Fixed: Case 37231: Inventory Status in Transaction List needs to use single letters
  • Added: (case 37264) a primary key to the breakdown template component table.
  • Added: (case 36658) if the user has a failed login/access attempt, some new settings are checked that control how many failures can occur before locking the user out. If these thresholds are exceeded in a given time limit, the user's account will automatically be locked. These new settings are: Login->Security: number of failed attempts before locking an account Login->Security: number of minutes before failed attempts expire
  • Added: (Case 35063) Added PO Adjustments to the Transaction List Screen.
  • Added: Case 37552: Add inventory.averagecost as filter to Inventory Source for the Transaction List
  • Fixed: (case 37589) an issue where voiding transfer orders didn't adjust quantity at the source correctly.
  • Added: Case 37602: Create Customer Source for Transaction List, Add Tax Exemption Data, other basic fields and filters
  • Added: (case 37652) a new permission "Add new payments" under the Payments area. Users who previously had the Edit Payments permission will automatically be granted this permission for continuity.
  • Changed: the previous permission "Edit Payments" has been renamed to "Edit existing payments" to match other permission names. The description has been modified to denote that it no longer controls adding payments on the customer screen.
  • Added: (case 37682) an index on purchaseorder.type to speed up loading and clearing the PO screen in situations where there are many thousands of PO types in the database.
  • Fixed: various id columns in inventory have had queries run to set 'bad' ids (ones that don't match other tables) to either NULL or a valid value.
  • Added: various id columns in inventory now have explicit foreign keys.
  • Changed: (case 36210) numeric fields in the inventorysetting table that aren't 'normal' numbers (such as year or SKU) now use a type of 'ID' which forces the screen to format them without commas. Normal integers will still be formatted with the user's windows locale formatting.
  • Fixed: (case 24015) pworkordersaved now deletes master parts if the WO is an external WO.
  • Added: as per a discussion, tax items can now have an exemption type. More information on this will follow in the future.
  • Deprecated: several fields from the inventorytype table that have no references in the application. Unless some systems are found to use them, they will be removed in a future quarter.
  • Added: Case 38045: Add Interchange #, Sub Interchange # to Transaction List for the Inventory Source
  • Changed: Standardized maximum user name length to be long enough to store a full length email address (320 characters).
  • Changed: (case 38172) several stored procedures have been switched from using fgetsetting to pchecksetting because it will create the setting with a default value if it doesn't exist. For lesser known settings, this makes discovery much easier.
  • Added: fchecksetting, which is a function version of pchecksetting and fsetsetting, which is a function version of psetsetting.

Global Settings

  • Changed: how data management permissions are checked.
  • Changed: the Edit->Global Preferences->Settings is now a shared dialog.
  • Fixed: an issue where a user without the permissions for editing plant or global settings might still be able to change those settings. Now, they are grayed out, depending on scope.

Home

  • Changed: (case 36809) all the document lists now allow selecting multiple items so that the user can use the new right-click menu option for exporting just SELECTED items to a spreadsheet.
  • Added: (case 36214) document salesperson has been added to the SO home tab.

Interchange

  • Fixed: (case 37524) an issue where the search type radio buttons were not working correctly.

ITrack Online

  • Added: for API calls, we now time out if there is no data transfer for 30 seconds or if it takes more than 10 seconds to connect initially. This shortens the wait time in some situations where the API is unreachable.

Login

  • Changed: how product agnostic permissions are checked.
  • Fixed: (case 36948) the user now gets an error if they attempt to create a new account with a blank user name.
  • Fixed: a possible issue that could cause the password recovery button to not send the email.
  • Added: when a user successfully logs in, their password will be automatically and silently reencoded in the preferred encoding method (most secure method) if it is using an older methodology.
  • Fixed: (case 38172) an issue where a user that didn't have privilges to edit users could still see the menu item for editing users, but it would launch an empty popup.

Parts

  • Added: (case 37381) destination address, destination city, destination state, destination zip, and destination country columns to the transactions list, and populated it appropriately for SOs, WOs, TOs, and POs.
  • Fixed: an issue where the destination information on WOs was pulling from the live customer record instead of the address saved on the WO. These could differ if the address had been modified on the WO directly.

Part Configuration

  • Fixed: a memory leak in the part type messages popup. Also, the "Display" column has been renamed to "Show/Print".
  • Changed: the part type configuration area has been renamed to "Inventory Types", and has been significantly reworked. Now, instead of needing to continually enter a popup, the user can interact with a list of inventory types, changing them all as they go, then save at the end (instead of saving in real time). However, part type messages and Q&A are still saved in real time, so the user is prompted to save before launching those popups.
  • Added: change detection to the inventory types area.
  • Added: a usage column to the inventory types list. Hovering over this number will tell the user what references this type and how many. Useful for knowing if its safe to delete a type.
  • Added: deleting a type that is in use now prompts the user to replace that inventory type with another. All existing inventory, documents, Q&A, models, etc will be merged into the new part type on save.
  • Added: (case 37454) columns for "Pickable", "Listable Online", and an optional column for mapping to an HTP part type when listing inventory. These are not new fields, but they didn't have any UI before.

Part Modification

  • Added: (case 36210) support for certain special 'ID' style fields that do not format using the user's windows locale options. This has the effect of making sure that fields like SKU or year will not contain commas, even if windows locale formatting for numbers specifies a thousands separator.

Purchase Orders

  • Changed: (case 37682) the PO type dropdown on the screen is larger to facilitate longer lists distinct types. Also, the dropdown is now limited to loading 100 distinct options from PO history. This speeds up screen loads on systems where there are many thousands of distinct PO types.
  • Added: (case 37682) an index to the purchase order table on the type column for speeding up loading distinct types into the dropdown.
  • Changed: (case 37682) when the screen clears or a PO is loaded, PO types, tax items, and shipping methods are no longer reloaded. In addition, the number of options loaded into these dropdowns is now limited for speed purposes. The user can type into the dropdown to load more specific options. This greatly speeds up the screen opening, clearing, and loading in systems with large numbers of distinct PO types, ship methods, and tax items. In addition, tax items should not be loaded until the user opens the tax item dialog.
  • Fixed: a potential crash when opening the tax info dialog. Also, loading the dialog should correctly display the previously selected tax item.
  • Fixed: (Case 37926) an issue where popups could appear during a PO save, which would cancel the save. The main popups that could case this was the "Do you want to mark the PO as prices finalized?" and a couple warnings. The warnings now appear in the status bar and the question about marking as prices finalized now happens before the save begins.
  • Changed: (case 37858) now, when the user closes an empty PO and the screen asks "Do you want to delete this PO?", instead it will now void the unused PO. This helps avoid issues with holes in the PO numbering and some rare cases of activity being lost when two people are working on the same PO.
  • Fixed: an issue where saving a transfer order could pop up a message box saying that part of the save could not be completed, but then the save operation would auto-retry and everything was good. Because of the auto-retry system, the popup has been removed.
  • Fixed: (case 38037) a database error that could occur when using order fulfillments on POs.

Sales Orders

  • Fixed: (case 37477) an issue where the paid amount on the invoice wouldn't refresh if the user added a new payment that had an automatic amount filled out.
  • Added: (case 28881) the void checkbox is now in the dropdown button as well as in the advanced options area. It has the same permissions as the previous void checkbox.
  • Fixed: an issue where clicking 'expand all' in the return dialog could cause drawing issues on the checkboxes.
  • Changed: (case 31698) an issue where the user could not uncheck the exchange checkbox in the return dialog for inherent cores.
  • Fixed: if the user unchecked the return checkbox for inherent core charges, the exchange checkbox will also be unchecked.
  • Added: (case 11539) when the user voids an open invoice or closes an open quote, the popup that asks about lost sales has been rephrased to make sure people know that finalizing a quote doesn't convert it to an invoice.
  • Changed: when a document type that doesn't affect inventory is selected, the "Finalize" checkbox is relabeled "Close out". This will hopefully help users know that finalizing a quote like this is not like finalizing an invoice.
  • Removed: (case 25828) double-clicking the price field on a part no longer cycles through pricing levels on the part. This feature was not well known by users, and it more often caused grief through accidental use.
  • Fixed: an issue where an error was shown in the tax box instead of $0 if there were no items on the document.
  • Added: (case 37834) the tax box is now red if there is an error communicating with the tax integration (if any) and blue when waiting for a response from the tax integration.
  • Changed: if there is a problem with the tax integration, the application now times out faster.
  • Changed: (case 37939) we now submit a tax document to the tax integration if it is enabled, even if a manual/local tax is chosen instead of "Automatic Calculation".
  • Added: (case 37930) a new setting: "Sales Orders"->"Serials: when choosing serial #'s, show "On Hold" serials" which controls whether held serial #'s should be visible in the choose serial popup.
  • Added: (case 37967) support for a new 'exemption type' column in the edit->documents->tax items popup.
  • Added: if the currently selected tax item has an exemption type, it is now sent to the tax system API for categorizing 'tax exempt' documents. In addition if AUTOMATIC CALCULATION is selected, the customer's default tax item will control the exemption type of the document.
  • Fixed: (case 38039) a corner case where the total paid amount might not be correct if the customer had no default payment method.
  • Fixed: an issue where a bad date was sent to Tax Jar when getting tax quotes.
  • Added: a setting that enables copying internal and external comments onto return documents as per a request by VTP. This defaults to on.
  • Fixed: when finalizing a document using a tax integration, if there was an error, the error message was not displayed correctly.
  • Fixed: an issue where inactive salespeople would be loaded into the dropdowns in a different format than active salespeople.
  • Fixed: (case 38172) an issue where clicking the red X on the "No search results found" popup would cause it to search HTP.net. The buttons have been reversed so that the default "OK" button searches HTP and the cancel button closes the popup. This means hitting escape or the red X will not search HTP anymore.

Vehicles

  • Fixed: (case 37114) previously, if the user had a vehicle open, then changed the vehicle's quantity (or any of the parts on the teardown) on another screen (such as through receiving a PO) then saved the out of date vehicle, quantity would revert. Now, quantity is only saved if the user modifies it on the screen. In addition, these quantity changes go through the 'adjust quantity' database function, which will cause average cost/core cost to be recalculated across remaining inventory (if the items had any expense on them).
  • Changed: sometimes, when loading vehicles and making no changes, the screen would still popup asking to save saying the vehicle had been modified. This was usually when loading vehicles that have had parts added to them from other screens that were not part of the teardown. Now, the user won't be prompted to save if this is the only thing that has been modified.
  • Added: (case 37115) a public column to the teardown list. This allows the user to modify whether new parts should be listed online.
  • Changed: (case 37115) whether teardown components are public by default now default based on the existing setting "Parts"->"Default: non-replenishable parts are public" like the parts screen does. In addition, when parts are added to the teardown manually (instead of from a template) the initial quantity will be set based on the existing setting "Parts"->"Default quantity for new standard parts".
  • Fixed: a memory leak on the costs page.
  • Fixed: an issue where the break even graph page was broken by recent changes, leading to a crash and incorrect graphs.
  • Added: (case 36519) if the user hits the 'add costs' button on a vehicle that is status S or C or D, the user is warned that the vehicle is no longer available and the vehicle may have to be written down if the new cost cannot be absorbed into remaining inventory.

Work Orders

  • Fixed: (case 36909) an issue where a database error would be thrown if the user opened the Manage Users->Worker Groups… dialog.
  • Added: (case 36824) the job list now saves the display order of jobs so that the user can organize jobs after creation.
  • Added: the job task list (in WO mode and in template mode) now save the display order of tasks so that the user can organize them.
  • Added: the job part list now saves display order in template mode like it does in WO mode.
  • Changed: when modifying an existing template and resaving it, the template will be updated instead of deleted and recreated.
  • Fixed: if the user reorders the parts list by dragging and dropping items the new order will now correctly be saved. Previously, only sorting the list would save.
  • Fixed: an issue where an error was shown in the tax box instead of $0 if there were no items on the document.
  • Added: (case 37834) the tax box is now red if there is an error communicating with the tax integration (if any) and blue when waiting for a response from the tax integration.
  • Fixed: an issue where the tax box might show Error after clearing the screen if a previous document had not returned its tax quote yet.
  • Added: (case 37930) a new setting: "Work Orders"->"Serials: when choosing serial #'s, show "On Hold" serials" which controls whether held serial #'s should be visible in the choose serial popup.
  • Fixed: minor display issues with the choose serial # popup.
Newer Older