Changelog

Enterprise Desktop
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.
4/8/2026

EE Change log version 25 REVISION 20966-21296 database version 2500

ITrack Enterprise Version 25

Highlights

  • (case 34386) Support for enabling external tax service in the EE API. If this is enabled, every time the totals of a SO or WO document change, an accurate tax quote will be retrieved from the external service. Currently TaxJar and Vertex are supported. When documents are finalized, a final tax document will be created in the tax system. Voiding or reopening the document will cancel these tax documents.
  • Online 'buy it now' synchronizer application now handles more complex online sales and more fields as part of the integration.
  • Most lists in the software now allow the user to right-click on column titles to show/hide columns.
  • Creating a part from a vendor catalog row now automatically adds a UPC row to the lookups tab. Also, the length, width, and height are copied from the catalog. In addition, if catalog entries are found with "Superseded By" filled out, supersession rows will automatially be added to the "Lookups" page.
  • 'Choose Serial #' popup on sales orders and work orders now shows held serials, status, and location information.
  • Significant rework to the part modification screen, including a better change log popup.
  • Added more protections against image related crashes on the search screen and better debugging tools.
  • Added GL account dropdowns for important settings on the chart of accounts page. One of the settings is a default tax account, which will be used for automated tax quotes and any fixed taxes with no other GL account.

Database

  • Changed: the default date range for the monthly inventory usage is now the trailing 12 full months instead of the last 360 days, as that could involve partial months in the average.
  • Added: a new setting to hide sequential invoice #'s, as they have proved to be confusing to new and existing companies. The values still exist in the background for any reporting needs. All existing companies default to not hiding the value, while new deployments will default to hidden.
  • Added: a field for remembering the tax document id generated by third party tax solutions.
  • Added: (case 35612) a new table for supplying customer-specific part numbers that can be applied to SKUs with matching inventory type, manufacturer, model, and/or category.
  • Added: (case 35612) a new data management import type for importing customer part numbers into the new lookup table.
  • Added: (case 35612) a trigger that automatically puts customer part #'s onto the part description when new line items are added if a matching customer part number was found in the new lookup table. Currently, this number will be added to the start of the description if it is found.
  • Added: to avoid any issues, the audit log triggers on salesorderline have been made standard.
  • Fixed: a minor update issue in version 23.
  • Added: support for triggers on the inventory table that will automatically put customer part numbers into a special Q&A option on every part save.
  • Changed: added some foreign keys to the inventorysettingselection table.
  • Changed: inventorysettingjoinid is now NULL instead of -1 for other external fields.
  • Changed: some date fields on the part modification screen no longer display a time of 00:00:00.
  • Changed: some fields on part modification now default to wider columns.
  • Changed: it was noted that some yards had permanent variance locations. These locations are no longer permanent and have been deleted as possible.
  • Added: new permission for whether the user can enter new conditions on the parts screen. If the user doesn't have this permission, they can only choose existing conditions.
  • Added: (case 34290) the vendor catalog now has fields for notes, length, width, and height. These have been added to the import mapping so that imported catalogs can fill out this information.
  • Added: unique key to the useractionkey table, and foreign keys to external tables.
  • Fixed: (case 36264) an issue where transactionalized tax item detail would not be cleared out if the user switched an invoice to be tax exempt and then saved.
  • Changed: the external tax transaction id is now a 50 character string to support more tax systems.
  • Added: (case 36378) logging triggers to the inventory table.
  • Fixed: an issue where pinventorymoveprimarylocation incorrectly marked other inventorylocation records (for other parts) as permanent.
  • Fixed: (case 36297) an issue where some part searches could be slow by adding an index on the model table. Also, removed a defunct search module that existed on some systems.
  • Added: (case 36419) permissions for SO and WO screens for whether a user can enter new serial #'s instead of choosing existing ones.
  • Changed: (case 36467) as per a suggestion at the user's conference 2019, the inventory import on the data management screen no longer overwrites fields with default values when updating existing inventory records. However, these defaults will still apply to new inventory records imported this way.
  • Added: view that can be used by UPS Worldship for pulling in Enterprise SO ship to address info.
  • Added: shippingmethod.pickup, which will control which shipping method(s) represent local pickup/will-call.
  • Added: (case 36316) pinventoryadjust_cost, which does all the work of recalculating either averagecost or averagecorecost for an inventory item.
  • Changed: (case 36316) averagecost/averagecorecost logic has been moved from pinventoryadjustquantity to pinventoryadjustcost. However, this procedure now calls the adjustcost procedure. Also, when the type is 'Dirty Core' the adjustcost procedure is now called twice, once for the averagecost and once for the averagecorecost. This solves a long-standing issue where a core bank with a nonzero averagecost and averagecorecost would only recalculate one of those values when inventorying a new core.
  • Changed: voiding or reopening a document with a core exchange will now undo the changes to quantity/averagecost/averagecorecost on the core bank item. Previously, voiding a core exchange and core charge would leave the inventoried core in inventory, which would have a net effect on inventory value.
  • Changed: inventorying a core from core management will now always put the core exchange cost into the average core cost of the core bank SKU, no matter of whether that core bank is marked "is a core" or not. Before, that cost would go into the average core cost of that bank.

Online Sale Synchronizer

  • Added: Multi item sales orders / quotes support.
  • Added: Miscellaneous line item support.
  • Fixed: An error state when the inventoryid is not found in the local database no longer occurs
  • Fixed: Script now set a misc glcategory on misc line items and the glcontext is now correctly set to 'Sale'
  • Fixed: We now get an error in logs when something can't be found in inventory.
  • Fixed: We now set the storeid for salesorderlines.
  • Fixed: Added an error message for when we can't load a customer.
  • Fixed (Case 35925) : Line Item descriptions are now filled in for a few choice fields.
  • Fixed (Case 35925) : the configuration option 'use_template' now works correctly, controlling whether to use the edocument template for lineitem descriptions.

Appraisals

  • Updated: new security (SSL) certificates have been generated and delivered.

Accounting

  • Added: dropdowns to the top of the chart of accounts page. These dropdowns allow the user to configure some settings that control important GL account choices. Current options are the A/R account, A/P account, as well as the account to hit for taxes with no other account chosen.

Credit Card Processing

  • Fixed: (case 36048) an issue where the module was not being initialized correctly.
  • Added: better error messages when unable to test the connection.
  • Added: "HTTP" as a connection method. This is the required method of connection for terminals that are configured for web application integrations.

Crystal Reports

  • Added: (case 35444) support for limits on which email address sources are shown in the advanced print dialog.
  • Changed: email addresses entered on previous advanced prints are now automatically 'forgotten' after 6 months.
  • Fixed: (case 35071) when creating report rows, we now do INSERT IGNORE to skip unnecessary duplicate report errors occurring in bursts during updates.

Customer

  • Fixed: the 'primary address' checkbox no longer gets grayed out if the user checks it on a particular address. This allows the user to change which address is primary freely.
  • Added: (case 35444) when emailing a statement from the customer screen, the email address dropdown is now only automatically populated with that customer's emails. This should prevent sending a statement to a different destination accidentally.
  • Fixed: an issue where the line item detail on the sales tab was not showing the right vendor and stock #.
  • Fixed: (case 36213) an issue where having no store region or sales person region might lead to an empty selection for default store or default salesperson.
  • Fixed (Case 36272): Removed the having clause from customer statements emailed from the customer screen
  • Fixed: (case 36510) an issue where the 'drag' bar on the messages tab could not be moved to resize. This was causing various display issues. Also, now the drag bar is limited so that the messages list cannot be completely hidden.
  • Fixed: some memory leaks.

Common Resources

  • Fixed: (case 36060) an issue where address verification popups would not remember where the user wants them positioned.
  • Added: support to the shared attachment popup for a new flag "Auto select first attachment". If set, as the target changes, the first attachment is automatically selected.
  • Added: if the user hits ok in the shared "edit/validate address" dialog, any modified value in the last edited field will now be guaranteed to save. Previously if the user closed the dialog by hitting Enter, some fields might not save.
  • Fixed: an issue where the verify address popup wouldn't size itself right.

Customer List

  • Fixed: an issue where doing a customer search would automatically put the user's focus into the multi-line read-only address column. Now the user can click into that multi-line edit, but they can arrow around the list to make a selection without bothering with those edits.

Data Management

  • Fixed: an issue where CSVs containing quotes escaped by more quotes (a common CSV format) were not being read correctly.
  • Fixed: a potential crash when doing a test import.
  • Added: tooltips to all onscreen fields and fixed various tab order issues.
  • Added: the import type now remembers the last selected import type for the user.
  • Fixed: an issue where hiding and then showing the advanced fields could lead to them being smaller than intended.
  • Added: more descriptive error messages.

Global Settings Extension

  • Changed: the queries that save settings now save in a way that will be less intensive on the database and should avoid errors when saving values to settings that have been deleted.
  • Changed: when the user logs out or closes the application, only modified user hotkeys are saved. Previously, all user hotkeys were deleted and resaved on every logout, causing unnecessary database activity.
  • Removed: the concept of Group level settings, which has been deprecated. All settings will continue to exist at either user, store, or global levels.
  • Changed: global settings are now stored in globalsettingvalue instead of storesettingvalue with a storeid of -1. This enables foreign key constraints in the database.

Home

  • Added: ship via to the sales order list
  • Fixed: (case 36569) an issue where performing a search for SOs, WOs, POs, or TOs on a home screen tab would not refresh the footer totals when the totals were $0.

Interchange

  • Changed: (case 34138) the application interchange search area and the interchange group search area.
  • Fixed: a query error when opening the screen related to loading manufacturers.

Inventory Overview

  • Added: tag # column is now bolded.
  • Fixed: the tag # column now sorts in a more reasonable way.

ITrack Online

  • Fixed: an issue where API queries were coming back as successful if the data payload is present but so is the errors section. Now such a response is considered an error.

Login

  • Added: the 'user stores' page in the Edit->Users dialog now sorts stores by their code automatically.
  • Fixed: the 'user stores' page used to always hide private stores if you weren't logged into them. Now, users with 'Global' permission for configuring user stores will see private stores for choosing for a user. This solves an issue where private stores could not be activated or deactivated for users, even by an administrator with global permissions.

MAS90Accounting

  • Added: SO tax accounting can now handle automatically calculated taxes. In these cases, the "Default tax account" configurable on the accounting screen will be used. In addition, if a SO is accounted with a tax item that has no GL account specified on it, the "Default tax account" setting will be used.

Options

  • Fixed: an issue where the Edit->User Preferences->Database configuration was not usable if the user was not logged in. Now they can configure the database without logging in.

Parts

  • Changed: (case 35416) the default date range for the monthly inventory usage on the replenishable tab is now the trailing 12 full months instead of the last 360 days, as that could involve partial months in the average.
  • Fixed: (case 35414) an issue where closing and reopening the image viewer dialog would lead to an empty popup with no attachments shown.
  • Added: (case 32819) adding inventory from the vendor catalog will now automatically add a UPC lookup to the lookups page if the UPC is filled out.
  • Fixed: an issue where a part added from the vendor catalog would mark the part as replenishable, but not initially show the replenishable page.
  • Fixed: an issue where changing year might clear vehicle model, even when it was still valid for the new year.
  • Added: choosing a vehicle to associate the part with will now launch the 'choose interchange #' popup if appropriate.
  • Changed: replenishable parts no longer require a default purchase vendor or part number.
  • Added: support for a new permission "Create new conditions". This is required for the user to be able to enter a condition value that is not already in the dropdown. If the user doesn't have that permission, the dropdown will force selection of an existing value.
  • Added: (case 34290) when a part is created from the vendor catalog, the notes, length, width, and height fields are now filled out automatically from the catalog row.
  • Added: when a part is created from the vendor catalog, if there are any rows found where the "Superseded By" field point to the new part, supersession rows will automatically be added to the "Lookups" page. In addition, if that catalog row has a "Superseded By" filled out, a supersession entry will be added to the lookups as well.
  • Changed: (case 36100) opening an existing part no longer automatically puts focus into the part type. Instead, it goes into the first field, tag #.
  • Changed: the part type dropdown on the replenishable page now shows the part type # in the dropdown like the other dropdowns.
  • Fixed: (case 36187) an issue where the manufacturer name (including code) was sent to the search screen when the user hit the "similar parts" search button.
  • Fixed: (case 36202) an issue where copying a part would leave the old tag #. Now it will be cleared out so that it can be reassigned on save.
  • Fixed: copying a part now marks the tag as unprinted, since the new item will not have had its tag printed yet.
  • Fixed: (case 36181) an issue where a replenishable part with no default purchase vendor or part number might have a blank default tag number.
  • Added: tooltips to the attachments page

Part Configuration

  • Fixed: (case 36131) adding a new manufacturer that matches a previous manufacturer will no longer cause the system to lock up.

Part Modification

  • Fixed: the change log popup dialog now works like the popup on the parts screen. Newest entries at the top, and quantity and costs are now displayed.
  • Changed: the export button now uses the default right-click list export code.
  • Fixed: an issue where change log entries would not save the current average cost, quantity, and gl category.
  • Added: the change log popup dialog now displays useful strings instead of behind the scenes numbers.
  • Fixed: an issue where saving a change log could throw a database error if the user deleted the quantity from the quantity column.
  • Fixed: the manage columns dialog now greys out the global and log changes checkboxes for external fields correctly.
  • Changed: (case 36371) the Modify Fields button has been removed and replaced with the "Edit"->"Inventory"->"Manage Settings & Fields…" menu option. This is to reduce confusion between the global inventory settings and the user's displayed fields on the part modification screen.

Purchase Orders

  • Changed: the sort style of "Lookup" column so that tag #'s sort in a more reasonable order.
  • Fixed: (case 35977) a couple issues with the dropship customer on a fresh PO or after clearing the screen.
  • Fixed: generating an electronic document from the PO would crash or generate the wrong document type.
  • Fixed: an issue where the destination store of a PO was not properly enforced if the 'customer dropship' checkbox was checked.
  • Fixed: an issue where switching destination store of a PO was not deleting all items from the previous store correctly.

Reports

Back Orders (BackOrders.rpt)

  • Changed: (case 36185) updated counterperson/sales rep terminology

Billing Statement (Billing.rpt)

  • Added: (case 35435) a setting to include invoice PO# on rows whenever possible.
  • Changed: (case 35435) set subreport descriptions lines to "can grow"
  • Removed: (case 35359) customer mailing address
  • Added: (case 35359) remittance country
  • Added: (case 35359) remittance address textbox that supports carriage returns
  • Changed: (case 35807) New setting to include PO#s now defaults to 'True', simplified setting name

Customer Address Label (CustomerAddressLabel.rpt)

  • Removed: (case 35359) customer mailing address

Customer Address Label 5160 (CustomerAddressLabel5160.rpt)

  • Removed: (case 35359) customer mailing address

Delivery Picking Labels (LabelDeliveryPicking.rpt)

  • Changed: (case 36185) updated counterperson/sales rep terminology

Delivery Picking List By Document (DeliveryPickingListByDocument.rpt)

  • Removed: (case 35359) customer billing mailing address
  • Removed: (case 35359) customer shipping mailing address
  • Added: (case 35359) customer billing address textbox that supports carriage returns
  • Added: (case 35359) customer shipping address textbox that supports carriage returns
  • Removed: (case 35359) reference to deprecated column, purchaseorder.destination
  • Added: (case 36096) barcode to the bottom of every page after page 1 of each document group.

External Work Order (WorkOrderExternal.rpt)

  • Removed: (case 35359) customer mailing address
  • Added: (case 35359) customer address textbox that supports carriage returns

Label 5160 - Simple (Label5160Simple.rpt)

  • Added: (case 33940) a version of Avery inventory labels that only include the tag and barcode

Location Count History (LocationCountHistory.rpt)

  • Added: (case 34198) a new report that shows the count history of locations. By default, it shows most recent count.
  • Changed: (case 36032) report functionality to a more reasonable default. Most recent count + date range summary, or full date range detail. All countable locations are included.
  • Fixed: (case 36032) page headers and exclusion on date range detail mode
  • Added: (case 36032) order parameter

Lost Sales (LostSales.rpt)

  • Changed: (case 36185) updated counterperson/sales rep terminology

Outside Sales Commission (SalespersonCommission.rpt)

  • Changed: (case 36185) updated counterperson/sales rep terminology

Packing Slip (PackingSlip.rpt)

  • Removed: (case 35359) customer billing mailing address, for main and alt. headers
  • Added: (case 35359) customer billing address textbox that supports carriage returns, for main and alt. headers
  • Changed: (case 36185) updated counterperson/sales rep terminology

Payment Receipt (PaymentReceipt.rpt)

  • Added: (case 35359) customer address textbox that supports carriage returns
  • Added: (case 35359) customer country

Pick List (PickList.rpt)

  • Removed: (case 35359) customer billing mailing address
  • Added: (case 35359) customer billing address textbox that supports carriage returns
  • Added: (case 36096) barcode to the bottom of every page after page 1.
  • Changed: (case 36185) updated counterperson/sales rep terminology

Picking Label (LabelPicking.rpt)

  • Changed: (case 36185) updated counterperson/sales rep terminology

Picking Tag (TagPicking.rpt)

  • Changed: (case 36185) updated counterperson/sales rep terminology

Purchase Order (PurchaseOrder.rpt)

  • Changed: (case 35398) date to use system default short format like the SO
  • Added: (case 35498) a setting to ignore system locale date format and use standard YYYY-MM-DD date format instead
  • Added: (case 35522) Vendor Invoice Number(s) when present.

Purchase Order Adjustments (PurchaseOrderAdjustments.rpt)

  • Added: (case 35062) a new report for showing PO adjustments by adjustment type

Released Credit Hold (ReleasedCreditHold.rpt)

  • Changed: (case 36185) updated counterperson/sales rep terminology

Sales By Category (SalesByCategory.rpt)

  • Changed: (case 36185) updated counterperson/sales rep terminology

Sales By Invoice (SalesByInvoice.rpt)

  • Changed: (case 36185) updated counterperson/sales rep terminology

Sales By Source (SalesBySource)

  • Changed: (case 36185) updated counterperson/sales rep terminology

Sales By State (SalesByState.rpt)

  • Added: (case 35719) a new mode parameter to toggle whether the report is grouping and filtering by "Ship To State" (default) or "Billing State"

Sales History (SalesHistory.rpt)

  • Removed: (case 33752) deprecated an old report

Sales Order 11in (SalesOrder11in.rpt)

  • Added: (case 35498) a setting to ignore system locale date format and use standard YYYY-MM-DD date format instead
  • Removed: (case 35359) customer billing mailing address, for main and alt. headers
  • Added: (case 35359) customer billing address textbox that supports carriage returns, for main and alt. headers
  • Added: (case 36123) a new setting to include VIN, true by default
  • Added: (case 36123) a new setting to include flex fields, true by default
  • Added: (case 36108) salesperson and/or counterperson email address after their name, per a new setting.
  • Changed: (case 36185) updated counterperson/sales rep terminology

Sales Order Adjustments (SalesOrderAdjustments.rpt)

  • Changed: (case 35062) overhauled the report, adding more and better filters.

Sales Orders (SalesOrders.rpt)

  • Changed: (case 36185) updated counterperson/sales rep terminology

Salesperson Profit Analysis (SalespersonProfitAnalysis.rpt)

  • Changed: (case 36185) updated counterperson/sales rep terminology

Top Salespeople Trending (TopSalespeopleTrending.rpt)

  • Changed: (case 36185) updated counterperson/sales rep terminology
  • Added: (case 36185) a new parameter to pick between counterperson and sales rep reporting. Note: this makes the old setting that accomplished approximately the same thing obsolete

Voided Sales Orders (VoidedSalesOrders.rpt)

  • Changed: (case 36185) updated counterperson/sales rep terminology

WO Picking Label (LabelPickingWO.rpt)

  • Changed: (case 36185) updated counterperson/sales rep terminology

Sales Orders

  • Added: (case 35448) a new setting to hide the sequential invoice #, as they have proved to be confusing to new and existing companies. If hidden, the values still exist in the background for any reporting needs. All existing companies default to not hiding the value (for continuity), while new deployments will default to hidden.
  • Fixed: (case 35461) if the user does a return, core status, delivery status, and price validation status are all no longer copied from the original line. This can prevent information accidentally carrying forward from an original document to the return.
  • Added: (case 33441) now, the salesperson can see serial #'s in the "choose serial" popup that are currently on hold. However, held serials will not be chosen automatically, and if the user chooses a held serial, they will be warned that it is not available.
  • Added: if a serial has been sold or consumed on another document, the screen will now show an attention icon and throw an error when attempting to finalize. This means now that the "no serial # chosen" attention icon now throws a blocking error when attempting to finalize.
  • Added: the edit item dialog is now read-only on voided documents.
  • Added: the choose serial # popup now shows a status column, and just that field is colored, which should make serials in various states easier to read and know that they are on hold/on order/sold/etc.
  • Added: (case 34386) a setting for enabling external tax service in the EE API. If this is enabled, every time the totals of the document change, a tax quote is retrieved from the database.
  • Added: (case 34386) the tax box at the bottom of the screen now shows "ERROR" if a tax service is enabled and an error was returned. The user can hover over the field to see the full error message in the tooltip.
  • Changed: the sort style of "Lookup" column so that tag #'s sort in a more reasonable order.
  • Added: column order now saves for the attachment list.
  • Changed: some of the live tax integration has been modified to facilitate WO tax quotes.
  • Fixed: an issue where changing the customer of a historical sale could cause problems if that sale had a payment spread across several invoices. The code that split the payment between the old and new customer was not splitting the payment right. Also, the new payment generated by the split has more explanation for why it was created.
  • Changed: return documents no longer copy internal and external comments from the original document
  • Fixed: the Edit->Document->Shipping Methods popup now allows the user to edit the SCA code.
  • Changed: (case 36060) the shipping address dropdown's "Billing Address" has been renamed to "Same as Billing Address" to make its behavior more obvious. Also, the dropdown now has a new option "Custom Shipping Address". If this option is chosen, changes made to the shipping address will not be copied to the billing address and vice versa.
  • Added: if the user clicks the tax box, the tool tip text will be put in the user's clipboard. This can help when the tax system returned an error.
  • Added: tax quote gets refreshed if the document addresses change.
  • Added: a SO with any jobs on it will now properly send the itemized detail of the jobs as part of the tax quote request. That way, the taxability of labor, shop fees, and EPA charges can be evaluated separately from parts charges on the job.
  • Added: (case 34386) if a tax automation service is enabled, finalizing a SO with "Automatic" taxes selected will submit a final tax document to the tax service.
  • Removed: a SO save operation no longer calls finvoicetax or finvoicesubtotal after the save operation, since those functions cannot account for automatically calculated tax service amounts.
  • Fixed: the automated tax system no longer displays an error if no customer is chosen.
  • Fixed: the user can now click the 'reopen closed invoice' option for a SO that is voided but not closed.
  • Added: the automated tax system will now void the tax document if the SO gets reopened or voided.
  • Fixed (Case 35035): Added attention icons and a cancellation prompt for sales orders that have active ebay listings.
  • Fixed: an issue where a custom billing address that differed from the shipping address by only phone # or email would not correctly load back up as a custom shipping address.
  • Fixed: an issue where reopening a SO or voiding it was not correctly reversing external tax documents.
  • Added: (case 36419) permission for whether a user can enter new serial #'s instead of choosing existing ones.
  • Fixed: (case 36630) various crashes that could occur when adding or deleting tax items.
  • Fixed: an issue where the tax item popup could show a value for 'in use' for a new, unsaved tax item if there were invoices with no tax item. This could prevent the user from deleting an unsaved tax item.
  • Added: hitting "add" to add a new taxitem automatically puts the user's focus into the list control so they can give it a name without clicking around.
  • Fixed: an issue where finalizing a SO with automatically calculated taxes wouldn't show any error message to the user if it failed to finalize the taxes.
  • Fixed: an issue where doing a core exchange from the core management screen might not automatically enter the correct description and price.
  • Changed: even if automated taxes are enabled, the salesperson can still choose a different tax item. This should help in the cases of errors or weird corner cases with taxes.
  • Fixed: an issue where statically calculated taxes weren't playing well with automated taxes.
  • Added: the configure shipping methods dialog now allows the user to manage the new 'local pickup' flag on shipping methods. Local pickup shipping methods control the destination address for tax calculations in Will Call or counter pickup situations.
  • Removed: "None" as a shipping method is no longer treated as a special value.
  • Added: if a shipping method with the Local Pickup flag set, the shipping address area will be locked and tax calculations will use the document store address as the destination address.
  • Added: switching customer address or shipping method now cause tax quotes to be recalculated, since those can affect tax amounts.
  • Added: new setting: "Sales Orders", "Lock shipping address for local pickups" which defaults to "True". When set to False, local pickup shipping methods will no longer lock the customer destination address area. This facilitates companies who like to choose a destination contact on pickup orders as well. This does not affect the destination address used for tax calculations.
  • Changed: (case 35536) by user demand, many of the columns now use a special sort order that will treat columns that can contain numbers or letters more reasonably, such as tag # or Model. Numeric values will sort in a more obvious way.
  • Removed: suppressing the ability for the user to show/hide the appraised value column, as it is special and not like the other fields that can be hidden.
  • Added: more protections against image related crashes.

Transaction List

  • Fixed: (case 36181) an issue where saved search filters were not loading onto the screen correctly, and new saved searches were not saving their filter names correctly.
  • Fixed: an issue where column orders were not saving.
  • Added: Case# 36438 Add Store Filter to Transaction List for the Inventory Source
  • Added: Case 36603 Add Payment Type, ID, Amount to the Transaction List for Sales Order Source
  • Added: Case 36605:Added Created By User to the Transaction List for the Sales Order source
  • Changed: (case 36521) date time pickers in list controls now show a calendar button for choosing date instead of an up/down arrow for cycling dates and times by +/-1.

User Hotkeys

  • Moved: customer search from "Search" area to "Customer" area.
  • Added: hotkeys for looking up WOs, POs, and TOs (like the SO lookup).

Vehicles

  • Added: (case 31939) newly created bid vehicles no longer default to setting their 'purchase date'. Now, status B vehicles will uncheck that date, and it will instead be set when a bid is accepted. For newly created vehicles of status A, it will continue to set to the current date.
  • Added: the performance page now remembers column sizes and order for the sold and available components lists.
  • Added: tooltips to the performance page's edits. The descriptions attempt to explain vehicle costs and best practices.
  • Added: a useful tooltip to each tab/page name on the screen.
  • Added: tooltips to all fields on the basic information tab.
  • Added: tooltips to the attachments page
  • Added: tooltips to all page headers and all controls on the screen to help explain the function of various fields.

Vendor List

  • Fixed: an issue where doing a vendor search would automatically put the user's focus into the multi-line read-only address column. Now the user can click into that multi-line edit, but they can arrow around the list to make a selection without bothering with those edits.

Vendor

  • Fixed: the 'primary address' checkbox no longer gets grayed out if the user checks it on a particular address. This allows the user to change which address is primary freely.
  • Added: the vendor catalog page now shows the notes and "Superseded By" fields from the vendor catalog, as they may contain important information.

Work Orders

  • Added: (case 33441) similar to sales orders, the user can now add serial #'s to a WO that are on hold. They are warned that these serial #'s are not available.
  • Added: the user can no longer finalize a WO if the serial # chosen for an item is no longer on hand (already sold or consumed).
  • Added: double-clicking the 'need serial #'s attention icon now opens up the choose serial # popup.
  • Added: current location to the "choose serial #" dialog.
  • Changed: the sort style of "Lookup" column so that tag #'s sort in a more reasonable order.
  • Fixed: (case 36075) an issue where non-stocked manufacturer items might not display the value in the lookup column correctly until after the user saved the WO.
  • Fixed: (case 36100) an issue where opening the WO screen would incorrectly put the user's focus into the complaint field instead of the WO type field, which is generally the first thing a user wants to choose.
  • Fixed: overactive change detection when loading a WO had automatically calculated taxes.
  • Added: support for automated tax quotes for work orders.
  • Added: tax quote gets refreshed if the WO address changes.
  • Fixed: (case 36382) inherent and dirty cores added to a job from a template will now correctly show up on core management.
  • Fixed: (case 36382) dirty cores added to a job from a template now show their cost correctly immediately. Before, they would need to be saved first.
  • Fixed: (case 36382) an issue where creating a job from a template didn't correctly set the core status to Available for inherent and dirty core lines.
  • Fixed: an issue where the parts list was not saving its column order correctly.
  • Added: the notes column in the parts list is now multiline and the user click in to read the entire notes.
  • Fixed: the screen no longer shows an error if no customer is selected.
  • Fixed: (case 36513) an issue where deleting an item with an inherent core charge could lead to the inherent core charge being left on the document.
  • Added: (case 36419) permission for whether a user can enter new serial #'s instead of choosing existing ones.
  • Fixed: an issue where sorting the job part list by the lookup column could cause inherent cores to become disassociated with the parent parts. This could lead to a crash.
4/8/2026

EE Change log version 24 REVISION 20835-20965 database version 2400

Highlights

  • Fixed a long-standing issue that lead to crashing/invalid images on the search screen (and possibly other screens with image viewers).
  • Most address areas in the software now support multi-line street and mailing addresses, and have had their maximum size increased from 50 characters to 100.
  • Added a new address validation sub-system. Most places where a customer or vendor address can be entered or edited now has a 'validate address' button. If a company has an address validation service configured, end users can use this feature to check to see if an address is valid, or choose between valid address options. If you're interested in using this feature, please contact ISoft Data.

General

  • Fixed: an issue where the application could crash in situations where columns are added and removed from list controls with active items.
  • Fixed: the image library always added a second useless image when it initialized, and it was just using up memory space.

Appraisals

  • Fixed: an issue where sales appraisals would be done over a new connection that did not copy the SSL settings or compression settings from the primary database connection. Now it does.

Crystal Reports

  • Fixed: an issue where an 'empty' error popup would appear if the user attempted to print a report with no valid report file associated.

Customer

  • Fixed: "use default customer/store" options should now fit in the dropdowns. Various UI adjustments to make the addresses easier to read and enter.
  • Added: (case 24521) mobile address to billing addresses, just like alternate shipping addresses.
  • Added: street and mailing addresses are now multi-line. This allows the user to enter specific address line 2 or address line 3 information as per the USPS standard. These fields also accept a maximum of 100 characters now instead of 50.
  • Added: county to alternate addresses.
  • Added: the email buttons in the address area now use the shared 'send email' dialog that allows attaching any customer attachments.
  • Added: the screen now remembers if an address has been validated, and will clear that flag if the user changes any part of the street address.
  • Added: a setting under "API Configuration" that will enable/disable the validate address buttons for companies that do not have an address validation API set up.
  • Fixed: an issue where creating new customer Q&A might ignore the user's choice on whether to show the question on the customer list screen.

Customer List

  • Added: mobile # to customer search as well as the list output.
  • Added: the street address and mailing address fields are now multi-line edits so the user can view the entire address.

Common Resources

  • Added: (case 34387) a shared address verification popup. This can be used by any screen where the user can edit an address and wish to verify the address with an external address validation service. More address validators will be added over time.
  • Added: the validate address popup now correctly handles address line 2.
  • Added: now, when the user selects an address result, it loads that address information into the "current address" pane. Also, double-clicking an address match will select that address and close the dialog.
  • Changed: now, when the user opens the address dialog, the address validation controls are hidden until the user clicks the "Validate Address" button.
  • Added: if the user verifies an address and it successfully validates, the resulting address match will be selecting automatically. If the user wishes to go back to the original value, they can deselect the row.
  • Added: the shared EMail dialog now handles the work of looking up the email configuration in one place, instead of on every screen that uses the dialog.
  • Added: the address validation dialog now changes an icon on the validate button to track whether or not the currently loaded address has been successfully validated or not.

Database

  • Fixed (Case 28462): Removed a deprecated ebay shipping option.
  • Removed: some duplicate settings in the "EBayExtension" location which have been superseded by those in the more consistent location of "EBay Extension"
  • Fixed: (case 35138) an issue with a misspelled index name on the inventory option table.
  • Added: (case 24521) mobile number for customer billing addresses. Also, mailing and street addresses allow 100 characters.
  • Added: (case 24521) mobile number for primary vendor addresses. Also, mailing and street addresses allow 100 characters.
  • Changed: customeraddress, vendoraddress, store, workorderaddress, purchaseorder, and salesorder all allow 100 characters on shipping and mailing addresses now.
  • Added: support for remembering customer shipping address that was selected on save.
  • Added: various address storage areas now have a field for when the address was last validated so that addresses that have already been verified do not need to be verified again.
  • Added: support for mobile phone # in the WO address area.
  • Changed: moved indices around on the model table to remove redundant entries and also speed up vehicle model lookups on some databases.
  • Added: retroactively setting the 'chosen' address for SOs and WOs based on matching customer addresses, where possible. This won't match everything, since many addresses probably differ from their current value, but where it can, it should make it easier to tell which customer addresses have been used on documents.

EBayExtension

  • Changed: a setting is now in the "EBay Extension" area instead of "EBayExtension" for consistency in the application settings.

Edocuments

  • Fixed: (case 34762) an issue where nested sub-reports might not generate correctly due to a recent change that caused unknown variables in a template to be replaced with empty strings. Now, unknown variables are left alone when building subreports, but cleared out in the final pass.

Master

  • Added: operations happening in worker threads can now customize what they return to the calling screen when they complete.
  • Added: (case 35221) to fix crashes and other image issues, the image library is now initialized just once on application initialization and cleaned up just once on application close.

Online

  • Added: support for communicating with an external application API. This will be used more in the future.
  • Fixed: if the setting "API Configuration"->"Base URL" is blank, API requests return failure immediately with a specific error report regarding configuration.

Options

  • Added: the store configuration popup dialog now allows the user to enter multi-line addresses.
  • Added: the store configuration popup dialog now has a validate address button.

Parts

  • Fixed: an issue where interchange lookups were not working right now that the assembly dropdown has a the manufacturer code in the box.
  • Fixed: an issue where fields that had stock-category based defaults (public/quantity) would go back to default if the user modified the year/make/model/body style/VIN fields. Now, these fields only reset to their default when the user makes a change that changes the part from one stock category (Standard, Misc, or Replenishable) to another.

Purchase Orders

  • Fixed: a long standing bug where a user that had never gone to the PO screen before would have a really wide quantity column and a really skinny description (flipped widths) until they resized those columns.

Reports

Purchase Order Posting Report (PurchaseOrderPostingReport.rpt)

  • Fixed: (case 34813) missing storeid in the center header box

Sales By Customer (SalesByCustomer.rpt)

  • Added: (case 35143) a new customer type parameter to allow filtering by customer types
  • Changed: (case 35143) aesthetic overhaul
  • Fixed: (case 35143) new customer type parameter, which was not filtering correctly

Vehicle Search Results (VehicleSearchResults.rpt)

  • Changed: (case 33756) tidied the report

Report Viewer

  • Removed: (case 33111) the user can no longer 'uncheck' date parameters when printing reports. Now, date parameters without defaults will show a default value of the current date and the user can change the value, but cannot uncheck it. This solves issues where it was unclear that when the user unchecked a date parameter, the default date was used instead. The new process should be more explicit and clear.

Sales Orders

  • Added: the edit billing/shipping address popup now uses the shared address dialog that can validate customer addresses.
  • Added: the shipping address the user selected will now be remembered, even if the user modifies the address from the original value.
  • Fixed: if the user chose "Billing Address" for the shipping address and then modified it, it might not update the billing address correctly. Also, checking the "& Update Record" would not correctly update the billing address on the customer.
  • Added: clicking an address box will still show the view/validate address popup, even on closed documents. The address is read-only in this state.
  • Added: support for validate and get map buttons above both the billing and shipping addresses.

Transaction List

  • Changed: saved searches have been modified to facilitate sharing saved searches between different screens.

Vehicles

  • Added: (case 34303) if a VIN is decoded, and there vehicle model in the system that matches the model from the VIN decode, that model is automatically used. Also, removed references from the table vinmodel, which is not being maintained.

Vendor

  • Added: (case 34710) an issue where vendor alternate addresses were not sorted alphabetically in the address dropdown.
  • Added: a mobile number for the primary vendor address.
  • Added: the email buttons in the address area now use the shared 'send email' dialog that allows attaching any vendor attachments.
  • Added: the screen now remembers if an address has been validated, and will clear that flag if the user changes any part of the street address.
  • Added: a setting under "API Configuration" that will enable/disable the validate address buttons for companies that do not have an address validation API set up.
  • Added: support for 'last validation' date for addresses.
  • Added: street and mailing addresses now support 100 character limits instead of 50.

Vendor List

  • Added: mobile # to vendor search as well as the list output.
  • Added: the street address and mailing address fields are now multi-line edits so the user can view the entire address.

Work Orders

  • Added: the customer address dropdown has been moved directly to the screen, like the SO screen. It is now right above the sales tax dropdown. The edit address button has been moved right next to this.
  • Added: the customer address dropdown now populates with all the current customer's address options, and clears them at the right time. When the user loads a customer, an edit address popup no longer appears, as the user can choose them from a dropdown like on the Sales Orders screen.
  • Changed: the edit/view address popup can now be launched even on a locked WO.
  • Added: support for mobile # on WO addresses, and remembering when/if the shipping address has been validated.
4/8/2026

EE Change log version 23 REVISION 20664-20834 database version 2300

Highlights

  • Significant redesign of the parts screen: better keyboard navigation support, more info on the first tab, labels show which fields have been modified, which are global between all stores, and which are required to save.
  • Behind the scenes changes to make debugging remote crash dumps better. This should help us track down and solve more future crashes without detailed reproduction steps.
  • Major cleanup on the part modification screen. Vehicle model management has been combined with part model management. Now, vehicles' models can be edited on the vehicle whole unit part types. This allows companies to have multiple model lists for different unit types. In addition, UI for managing model series has been implemented on the part models, and unused fields on inventory types have been removed to avoid confusion.
  • Transfer orders can now have a source and destination of the same store, facilitating inventory 'move' documents within a store.
  • Further improvement to document saving and error management during document saves.

Credit Card Processing

  • Changed: the credit card configuration options page has been moved from the deprecated Edit->Options dialog to the Edit->Integrations->Credit Card Processing.

Crystal Reports Extension

  • Changed: printer lists in the software are now displayed in alphabetical order.
  • Fixed: an issue where printer handles were not being cleaned up.
  • Added: (case 33904) support for report parameters of type 'SQL Clause'. These are not escaped before they are passed to Crystal reports, allowing certain reports to print correctly still.
  • Added: support for SQL Clause option in the parameter type dropdown.

Customer

  • Added: (case 33350) new permission for controlling choosing default customer terms.

Database

  • Added: (case 33904) some report fixes to support printing reports where parameters are used directly as a query clause.
  • Added: permission for changing customer default terms.
  • Added: message contexts for displaying messages for customers, parts, and part types onto the WO screen.
  • Removed: reference to an unused field in pinventorycreatecorerecord.
  • Fixed: the series table now has an auto-increment column and a unique key.
  • Added: foreign key from model series to the series table.
  • Changed: vehicle models have been merged into the inventory model list under the vehicle part type 9000. A view named vehiclemodel has been put in its place for backwards compatibility.
  • Added: all whole unit part types now inherit their model list from part type 9000's models.
  • Added: inventorytype now has an auto_increment primary key, and some cascading foreign keys for its typesetid and modelinventorytypeid.
  • Added: unique index to glcategory.
  • Changed: pinventorylocationverifyquantity now deletes quantity 0 Variance locations on parts.

Master

  • Added: support for application-wide messagebox callbacks to be set and invoked.
  • Fixed: an issue where, if a computer was set up to capture crash dumps, but not transmit them, they were still transmitted.
  • Fixed: an issue where, if crash dumps were set to "Full", they were adding in information that could cause them to appear to be corrupted.

MAS90Accounting

  • Changed: how accounting errors are reported to be more specific and timely.

Parts

  • Fixed: (case 34083) a crash that could occur when clicking on part type in the assembly component list if the current part type had been deactivated.
  • Added: (case 27589) to edit any fields that are marked as 'global fields' the user has to have permission at all the stores the part is at. This means fields that are shared between each store the part is at requires access at all those stores.
  • Added: description and notes fields now expand to consume more space.
  • Changed: the locations list now consumes full width.
  • Changed: the tag # field at the top of the screen has been renamed to "Lookup", just like the vehicles screen. A new Tag # field has been added to the part info page. This is to distinguish between the field that can always be modified to do a lookup and the field that a user must have permission to edit.
  • Fixed: several issues where some fields were not locked down when the user loaded a part that they didn't have permission to edit.
  • Added: all fields required to save now have bold labels.
  • Added: all fields that are global now have underlined labels. This allows users to know when modifying values will affect the part at other stores.
  • Added: all fields that have been modified since the part was loaded now display an asterisk (*) at the end of the label text. This helps the user know what has changed since the last save.
  • Added: the part type and manufacturer dropdowns no longer have a separate edit box for their number or code. Now, that info is in the dropdown of the part type/manufacturer in the dropdown so that the user can use the auto-complete behavior to look up by name or number.
  • Removed: the stock category radio buttons have been removed. Now, stock category is automatic, based on whether the part is replenishable, has a vehicle associated, or has had its vehicle information customized. If the replenishable checkbox is checked, the part will be Replenishable; if it is unchecked, and a vehicle is on the part, the part will be Standard; if the part is not replenishable, has a vehicle, and the year/make/model/VIN/body style has been customized, the part will be Misc.
  • Added: the part info page now has various checkboxes from other tabs in a new "Stock Configuration" area. This makes some more important attributes more obvious on a part.
  • Changed: organization of the part information tab has been rearranged to make the interface more obvious and easy to use.
  • Added: Tag # field to the part info tab. The old tag# field has been renamed "Lookup" and can be used to look up parts, but not to modify the tag # on an existing part. This is now more like the lookup/stock # field on the vehicles screen.
  • Added: entering a 2 digit number in the year box will now be automatically turned into a 4 digit year.
  • Added: description and notes fields now expand to fill the entire remaining screen space.
  • Fixed: an issue where the replenishable field "Freeze until" was not correctly defaulting to unchecked. Also, change detection now works correctly on this field.

Part Configuration

  • Removed: various fields on the part type list that are not in use in the system. This should prevent confusion in the future.
  • Added: the edit part model dialog now allows the user to add new, edit existing, or delete old model series.
  • Removed: the vehicle model page, which is no longer necessary because vehicle models are done through the whole units' part type lists.
  • Fixed: several minor issues on the part model management area.

Part Modification

  • Changed: external columns that don't require a join to an external table still lock down like other external fields.

Purchase Orders

  • Fixed: (case 33972) an issue where errors during TO save might still allow the user to save instead of halting.
  • Fixed: (case 34027) an issue where the PO screen could crash when saving a document that fulfilled order routing.
  • Changed: a lot of the warning/error popups on the screen to be clearer, use more icons, and have more descriptive button text.
  • Added: by user request, transfer orders now allow TOs where the source and destination store are the same. This is useful if the user wants to have a document for inventory moves.

Reports

Bill Of Sale

  • Added: (case 27660) a new report that allows you to print a pre-generated vehicle Bill Of Sale for all vehicles on a specified PO or SO document. Documents with multiple vehicles can print a separate sheet for each vehicle or group them together, depending on parameter selection. It also has an option for printing a Blank Bill of Sale to be filled out by hand.

Inventory Age

  • Added: (case 33368) new parameters for filtering inventory by whether or not it has some quantity in an age range, a new column to display quantity in range when applicable
  • Added: (case 33368) * explanatory footer, when applicable
  • Added: (case 33368) grand total section
  • Fixed: (case 33368) inventory quantity totals, which were previously summing too high sometimes (summing for each source row)

Part Search Results

  • Removed: (case 33924) a reference to a deprecated field, inventory.serialnumber

Sales By Inventory Type

  • Fixed: (case 34051) issue with inventory type parameter not filtering

Sales Order 11in

  • Added: (case 33510) remittance address box to the bottom of the document if there is a balance and the new setting is 'True'

Teardown

  • Fixed: (case 33939) a reference to a deprecated field, inventory.serialnumber. There is now a subreport to handle serials and a hidden note explaining what the report is actually doing, because it's unusual.

Top Customer Types Trending

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

Top Parts Trending (Age)

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

Top Part Type Sales Trending

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

Top Salespeople Trending

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

Vehicle Spec Sheet

  • Added: (case 33082) extended retail price on parts, per setting. By default, price does not show up.

Work Order External

  • Added: (case 33981) odometer/mileage

Work Order Internal

  • Added: (case 33981) odometer/mileage

Report Viewer

  • Added: (case 34190) an issue where the report viewer screen might not allow good view of the parameter list at screen resolutions below the minimum supported application resolution.

Sales Orders

  • Fixed: (case 33972) an issue where errors during save might still allow the user to save instead of halting.
  • Fixed: (case 33959) an issue where a user might hold database locks if they left an error message up on screen. Now, partial saves are rolled back and all database locks are released before the user is shown any popups. In addition, accounting errors are now more specific.
  • Changed: when loading an existing SO, focus is no longer automatically moved into the shipping address dropdown.

ITSQLFramework

  • Added: the error reporting dialog now writes its queries out to the main database log, without overwriting the main query log.
  • Added: queries run as part of reporting errors to the error reporting database will now be logged in the main query log. This will improve debugging future issues with error reporting. In addition, any errors received while performing these queries will now write those errors out to the log.
  • Fixed: the application could sometimes take a particularly long time to open if the database credentials were incorrect.

Interchange

  • Fixed: (case 34065) an issue where the manufacturer/make dropdown wasn't loading vehicle makes correctly. Instead, vehicle models were shown. Now it should be correct.

Vehicles

  • Fixed: (case 34083) a crash that could occur when clicking on part type in the bid/teardown list if the current part type had been deactivated.
  • Fixed: the teardown/bid list will no longer remove the current part type from an item if the part type has been deactivated. In those scenarios, the inactive part type will not be available in new components' dropdowns, but any existing components of the inactive type will still have that option.

Work Orders

  • Added: messages page, which should show normal and priority messages for the current customer as well as any part messages.
  • Added: (case 31211) a new 'messages' page for displaying normal and important messages for the currently loaded customer, master parts (produced parts), as well as job parts (consumed parts) across all jobs.
  • Added: support for part type based messages for master parts (produced parts).
  • Fixed: (case 33972) an issue where errors during save might still allow the user to save instead of halting.
  • Changed: a lot of the warning/error popups on the screen to be clearer, use more icons, and have more descriptive button text.
4/8/2026

Highlights

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

General

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

Accounting

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

Approvals

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

Crystal Reports Extension

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

Customer

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

Customer Contact

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

Customer List

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

Common Resources

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

Core Management

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

Database

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

EDocuments

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

Home

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

ITrack Online

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

Login

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

MySQLConnection

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

Master

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

Options Extension

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

Part Modification

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

Parts

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

Purchase Orders

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

Reports

Billing Statement

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

Inventory By Location

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

Inventory Count Sheet - LXW

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

Labor Summary By Employee

  • Added: (case 31666) a user group parameter

Outstanding Cores

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

Packing Slip

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

Purchase Order

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

Sales By Salesperson

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

Sales Order 11in

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

Sales Order Adjustments

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

Top Customers Trending

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

Vehicle Spec Sheet

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

Sales Orders

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

Settings

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

SQL Framework

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

Vehicles

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

Vendor

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

Warehouse Management

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

Work Orders

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

Release 21.2

REVISION 19972-20291 database version 2101

Credit Approval

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

Sales Orders

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

Release 21.1

Sales Orders

  • Added: DLS Integration

Release 21.0

Registration

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

ITrack Online

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

Vendor

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

Sales Orders

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

Utilities:

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

Tools

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

MySQL Connection

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

Crystal Reports Extension

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

Report Viewer

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

Master

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

EbayExtension:

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

CustomerContact:

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

Customer

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

Customer List

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

Database

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

Part Configuration

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

Sales Orders

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

Work Orders

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

Core Management

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

Customer

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

Deliveries

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

Options Extension

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

Payment Entry

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

Purchase Orders

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

Vendors

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

Warehouse Management

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

Accounting

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

MAS90 Accounting

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

Parts

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

Home

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

Interchange

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

Vendor

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

ITrack Online

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

Shared

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

Part Modification

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

Global Settings Extension

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

Vehicles

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

Release 20.0

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

Master

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

MySQL Connection

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

Crystal Reports Extension

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

Administrate Databases

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

Common Resources

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

Data Management

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

SQL Framework

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

Controls

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

ITrack Online

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

Appraisals

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

Parts

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

Customer

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

Home

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

Customer Response

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

Database

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

Vehicles

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

Purchase Orders

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

Parts

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

Sales Orders

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

Inventory Overview

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

Login

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

Work Orders

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