Changelog

Enterprise Desktop
4/8/2026

General

  • Added: the parts screen now supports advanced Q&A, just like the vehicles screen in version 33.
  • Added: module versions to each file that is part of the product. This will be used in the future to detect if files are out of date.
  • Added: the help->about box now shows the database version as well as the product version.
  • Added: the help->about box now shows the product version each file in the application were designed for and ones that don't match the product version are shown in red with an attention icon.
  • Changed: the Help->About dialog no longer looks for a file called ITrack.exe and instead reads the product version from the main module itself in memory, in case the application ever uses a renamed entry point file.
  • Changed: if the user closes the application or it fails to load before its visible, the application will no longer overwrite the 'last' size/position of the application in settings.
  • Added: during loading extension modules, the product version of each file is now checked. If the major version of a loaded module does not match the master module, it will be put in a popup for the user to alert them to this (potentially) erroneous state.
  • Added: so that users can avoid seeing this popup on every launch, the popup has a "don't show this message in the future" checkbox. If checked, all those specific files at those versions will be remembered for that user. If any new files (or existing files at new versions) are seen later, they will be shown to the user again. The user can choose to continue loading all modules (previous behavior) despite the version mismatch, load only those modules whose version matches (skip bad files), or close the application.

eCommerce Synchronizer

  • Fixed: an issue where a NULL shipping amount would prevent invoice creation.
  • Fixed: an issue where failing to load a customer would still attempt to create the invoice without a customer. Warning in the logs updated to reflect this.
  • Fixed: misc items (items with no inventoryid) were not correctly creating non-stocked invoice lines.
  • Fixed: an issue where misc items were created for $0 instead of online sale price.
  • Changed: we no longer filter out remote sales that are in Pending or Charge Failed status, as those are no longer used. However, we do filter out status 'closed' as those are 'completed'
  • Changed: if a new remote sale line is found for an invoice that was already downloaded, that line will not be pulled into the system. This will avoid issues with circular creation for new lines created from ITrack.
  • Added: (case 53591) customer approval status is now pulled for all local documents to be compared to remote document information. If any documents have a status that is not correct, they are updated en-masse.

Database

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

Customer

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

Customer Contact

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

Inventory Overview

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

Parts

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

Purchase Orders

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

Vehicles

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

Vendor

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

Vendor List

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

Work Orders

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

Reports

REVISION 23209-23283 FOR EE V34

Billing Statement (Billing.rpt)

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

Inventory By Tagnumber (InventoryByTagnumber.rpt)

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

Outside Sales Commission (SalespersonCommission.rpt)

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

Pick List (PickList.rpt)

  • Changed: (case 51688) updated report query to account for missing quantity, including partially missing quantity, and added a separate group for this on the report so it stands out
4/8/2026

e-commerce integration

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

General

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

Graphing

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

Database

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

Approvals

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

Crystal Reports

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

Customer

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

Data Management

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

ebayExtension

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

Global Settings

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

Home

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

Login

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

Parts

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

Part Configuration

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

Purchase Orders

  • Added: icons to tabs

Sales Orders

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

Vehicles

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

Work Orders

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

Reports

REVISION 22866-23177 FOR EE V33

==Billing Statement (Billing.rpt)

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

Purchase Order (PurchaseOrder.rpt)

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

Receiving Tag (TagReceiving.rpt)

  • Fixed: (case 50402) tag sizing

Sales Order Returns (SalesOrderReturn.rpt)

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

General

  • Performance: removed a lot of the 'guard rails' on list control operations. This was taking as much as 40% of the time to load a bunch of stuff onto Presage' sampling history.
  • Performance: skipping some invalidation of the list control when redrawing is locked. This speeds up intensive load operations somewhat.
  • Performance: optimized several high-traffic areas in the list control.
  • Added: support for icons in property sheet tab controls.
  • Added: clipboard support for date, time, and date/time fields in the software. Now the user can copy (ctrl +c) out of or paste (ctrl + v) into date time picker controls in the software and embedded in list controls. This makes it easier to interact with many cells in a list control with many items that have date values.

Attachment Views

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

Common Resources

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

Core Management

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

Credit Card Processing

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

Crystal Reports Extension

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

Database

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

Data Management

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

eBayExtension

  • Fixed: (case 48969) an issue where selecting a date range with an end date several months into the future (such as "This Year") would keep the 'refresh from ebay' button from retrieving auction information. Now, if the end date is in the future, it will be moved back to today.

Graphing

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

Home

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

Location Visualization

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

Report Viewer

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

SQLFramework

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

Part Configuration

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

Part Modification

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

Parts

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

Payment Entry

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

Purchase Orders

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

Sales Orders

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

Transaction List

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

Vehicles

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

Vendor

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

Work Orders

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

Reports

REVISION 22542-22855 FOR EE V32

Billing Statement (Billing.rpt)

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

Customer Address Label (CustomerAddressLabel.rpt)

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

Customer Address Label 5160 (CustomerAddressLabel5160.rpt)

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

GL Entries By GL Account (GLEntriesByGLAccount.rpt)

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

Internal Work Order (WorkOrderInternal.rpt)

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

Inventory By Location (InventoryByLocation.rpt)

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

Labor Summary By Employee (LaborSummaryByEmployee.rpt)

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

Purchase Order Receiving List (PurchaseOrderReceivingList.rpt)

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

Sales By Inventory Type (SalesByInventoryType.rpt)

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

Sales Order 11in (SalesOrder11in.rpt)

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

Vehicles By Type (VehiclesByType.rpt)

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

Vehicle Cost Detail (VehicleCostDetail.rpt)

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

Database

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

Accounting

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

Credit Card Processing

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

Customer List

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

Login

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

Parts

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

Purchase Orders

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

Sales Orders

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

Settings Framework

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

Transaction List

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

Vehicles

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

Warehouse Management

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

Work Orders

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

Reports

Customers With No Purchases After Date (CustomersWithNoPurchasesAfterDate.rpt)

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

Inventory Count Sheet - LXW (InventoryCountSheetLXW.rpt)

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

Labor Log By Employee (LaborLogByEmployee.rpt)

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

Sales Order 11in (SalesOrder11in.rpt)

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

General

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

Database

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

CreditCardProcessing

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

Customer List

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

eBay

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

GlobalSettingsExtension

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

ITrack Online

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

Login

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

Master

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

Parts

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

Payment Entry

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

Purchase Orders

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

Sales Orders

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

ITSQLFramework

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

Work Orders

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

Reports

Billing Statement (Billing.rpt)

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

Internal Work Order (WorkOrderInternal.rpt)

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

External Work Order (WorkOrderExternal.rpt)

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

Labor Log By Employee (LaborLogByEmployee.rpt)

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

Parts Remaining By Vehicle (PartsRemainingByVehicle.rpt)

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

Sales Order (SalesOrder11in.rpt)

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

Unmoved Inventory (UnmovedInventory.rpt)

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

Appraisal Extension

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

Core Management

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

Crystal Reports

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

Customer

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

Customer Contact

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

Database

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

eBay

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

Home

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

Parts

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

Purchase Orders

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

Sales Orders

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

Vehicles

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

Vendor

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

Work Orders

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

Warehouse Management

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

Reports

Sales By Customer (SalesByCustomer.rpt)

  • Added: (case 40509) customer phone number

Sales By Tax Item (SalesByTaxItem.rpt)

  • Changed: (case 40484) standardized date format

External Work Order (WorkOrderExternal.rpt)

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

Highlights

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

Database

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

Accounting

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

Appraisal Extension

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

Customer

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

Customer Contact

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

eBayExtension

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

GlobalSettings

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

Home

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

Master

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

Parts

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

Purchase Orders

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

Sales Orders

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

ITSQLFramework

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

Warehouse Management

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

Work Orders

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

Quickbooks

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

Reports

Billing Statement - French (Billing_French.rpt)

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

Database Change Log (DatabaseChangeLog.rpt)

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

External Work Order (WorkOrderExternal.rpt)

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

Inventory Loss (InventoryLoss.rpt)

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

Inventory Summary (InventorySummary.rpt)

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

Parts Remaining By Vehicle (PartsRemainingByVehicle.rpt)

  • Changed: (case 39623) updated comment header

Price Deviation (PriceDeviation.rpt)

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

Receiving Tag (TagReceiving.rpt)

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

Sales Order 11in (SalesOrder11in.rpt)

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

Sales Order Returns (SalesOrderReturn.rpt)

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

Vehicle Value Analysis (VehicleValueAnalysis.rpt)

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

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

Highlights

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

Shared

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

Accounting

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

Common Resources

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

Core Management

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

Customer

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

Database

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

ITMySQLConnection

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

ITrack Online

  • Added: support for more specific API error responses.

Inventory Overview

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

Login

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

Mas90Accounting

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

Part Modification

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

Sales Orders

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

Purchase Orders

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

Vendor

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

Work Orders

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

Reports

External Work Order (WorkOrderExternal.rpt)

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

Internal Work Order (WorkOrderInternal.rpt)

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

Label (Label.rpt)

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

Price Deviation (PriceDeviation.rpt)

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

Sales Order 11in (SalesOrder11in.rpt)

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

Tag (Tag.rpt)

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

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

Highlights

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

Crystal Reports

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

Data Management

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

EDocuments

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

Shared Controls

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

Accounting

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

Customer

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

Customer List

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

Common Resources

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

Database

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

Global Settings

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

Home

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

Interchange

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

ITrack Online

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

Login

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

Parts

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

Part Configuration

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

Part Modification

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

Purchase Orders

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

Sales Orders

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

Vehicles

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

Work Orders

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