Changelog

Enterprise Desktop
4/8/2026

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

ITrack Enterprise Version 25

Highlights

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

Database

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

Online Sale Synchronizer

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

Appraisals

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

Accounting

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

Credit Card Processing

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

Crystal Reports

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

Customer

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

Common Resources

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

Customer List

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

Data Management

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

Global Settings Extension

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

Home

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

Interchange

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

Inventory Overview

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

ITrack Online

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

Login

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

MAS90Accounting

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

Options

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

Parts

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

Part Configuration

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

Part Modification

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

Purchase Orders

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

Reports

Back Orders (BackOrders.rpt)

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

Billing Statement (Billing.rpt)

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

Customer Address Label (CustomerAddressLabel.rpt)

  • Removed: (case 35359) customer mailing address

Customer Address Label 5160 (CustomerAddressLabel5160.rpt)

  • Removed: (case 35359) customer mailing address

Delivery Picking Labels (LabelDeliveryPicking.rpt)

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

Delivery Picking List By Document (DeliveryPickingListByDocument.rpt)

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

External Work Order (WorkOrderExternal.rpt)

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

Label 5160 - Simple (Label5160Simple.rpt)

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

Location Count History (LocationCountHistory.rpt)

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

Lost Sales (LostSales.rpt)

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

Outside Sales Commission (SalespersonCommission.rpt)

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

Packing Slip (PackingSlip.rpt)

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

Payment Receipt (PaymentReceipt.rpt)

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

Pick List (PickList.rpt)

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

Picking Label (LabelPicking.rpt)

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

Picking Tag (TagPicking.rpt)

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

Purchase Order (PurchaseOrder.rpt)

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

Purchase Order Adjustments (PurchaseOrderAdjustments.rpt)

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

Released Credit Hold (ReleasedCreditHold.rpt)

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

Sales By Category (SalesByCategory.rpt)

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

Sales By Invoice (SalesByInvoice.rpt)

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

Sales By Source (SalesBySource)

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

Sales By State (SalesByState.rpt)

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

Sales History (SalesHistory.rpt)

  • Removed: (case 33752) deprecated an old report

Sales Order 11in (SalesOrder11in.rpt)

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

Sales Order Adjustments (SalesOrderAdjustments.rpt)

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

Sales Orders (SalesOrders.rpt)

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

Salesperson Profit Analysis (SalespersonProfitAnalysis.rpt)

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

Top Salespeople Trending (TopSalespeopleTrending.rpt)

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

Voided Sales Orders (VoidedSalesOrders.rpt)

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

WO Picking Label (LabelPickingWO.rpt)

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

Sales Orders

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

Transaction List

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

User Hotkeys

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

Vehicles

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

Vendor List

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

Vendor

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

Work Orders

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

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

Highlights

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

General

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

Appraisals

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

Crystal Reports

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

Customer

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

Customer List

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

Common Resources

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

Database

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

EBayExtension

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

Edocuments

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

Master

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

Online

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

Options

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

Parts

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

Purchase Orders

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

Reports

Purchase Order Posting Report (PurchaseOrderPostingReport.rpt)

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

Sales By Customer (SalesByCustomer.rpt)

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

Vehicle Search Results (VehicleSearchResults.rpt)

  • Changed: (case 33756) tidied the report

Report Viewer

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

Sales Orders

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

Transaction List

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

Vehicles

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

Vendor

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

Vendor List

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

Work Orders

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

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

Highlights

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

Credit Card Processing

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

Crystal Reports Extension

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

Customer

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

Database

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

Master

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

MAS90Accounting

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

Parts

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

Part Configuration

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

Part Modification

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

Purchase Orders

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

Reports

Bill Of Sale

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

Inventory Age

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

Part Search Results

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

Sales By Inventory Type

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

Sales Order 11in

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

Teardown

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

Top Customer Types Trending

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

Top Parts Trending (Age)

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

Top Part Type Sales Trending

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

Top Salespeople Trending

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

Vehicle Spec Sheet

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

Work Order External

  • Added: (case 33981) odometer/mileage

Work Order Internal

  • Added: (case 33981) odometer/mileage

Report Viewer

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

Sales Orders

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

ITSQLFramework

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

Interchange

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

Vehicles

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

Work Orders

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

Highlights

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

General

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

Accounting

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

Approvals

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

Crystal Reports Extension

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

Customer

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

Customer Contact

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

Customer List

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

Common Resources

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

Core Management

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

Database

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

EDocuments

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

Home

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

ITrack Online

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

Login

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

MySQLConnection

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

Master

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

Options Extension

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

Part Modification

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

Parts

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

Purchase Orders

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

Reports

Billing Statement

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

Inventory By Location

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

Inventory Count Sheet - LXW

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

Labor Summary By Employee

  • Added: (case 31666) a user group parameter

Outstanding Cores

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

Packing Slip

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

Purchase Order

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

Sales By Salesperson

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

Sales Order 11in

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

Sales Order Adjustments

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

Top Customers Trending

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

Vehicle Spec Sheet

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

Sales Orders

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

Settings

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

SQL Framework

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

Vehicles

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

Vendor

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

Warehouse Management

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

Work Orders

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

Release 21.2

REVISION 19972-20291 database version 2101

Credit Approval

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

Sales Orders

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

Release 21.1

Sales Orders

  • Added: DLS Integration

Release 21.0

Registration

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

ITrack Online

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

Vendor

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

Sales Orders

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

Utilities:

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

Tools

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

MySQL Connection

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

Crystal Reports Extension

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

Report Viewer

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

Master

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

EbayExtension:

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

CustomerContact:

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

Customer

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

Customer List

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

Database

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

Part Configuration

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

Sales Orders

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

Work Orders

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

Core Management

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

Customer

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

Deliveries

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

Options Extension

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

Payment Entry

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

Purchase Orders

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

Vendors

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

Warehouse Management

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

Accounting

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

MAS90 Accounting

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

Parts

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

Home

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

Interchange

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

Vendor

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

ITrack Online

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

Shared

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

Part Modification

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

Global Settings Extension

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

Vehicles

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

Release 20.0

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

Master

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

MySQL Connection

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

Crystal Reports Extension

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

Administrate Databases

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

Common Resources

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

Data Management

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

SQL Framework

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

Controls

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

ITrack Online

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

Appraisals

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

Parts

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

Customer

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

Home

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

Customer Response

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

Database

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

Vehicles

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

Purchase Orders

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

Parts

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

Sales Orders

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

Inventory Overview

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

Login

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

Work Orders

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

Release 19.0

Important

  • Added: (case 28363) support for European style numbers and currency figures. Mainly, if the user's windows settings are set to use comma instead of period for the decimal separator, the software will correctly read and display figures.
  • Added: (case 26026) POs now track the customer and vendor address that was selected. Also, POs always have a destination store, even when they are dropship POs.
  • Changed: the UI for the PO header has been reworked to make data entry faster, clearer, and easier to read. In addition, the screen now follows the format of other screens more closely, and we have fixed hotkeys on the screen and added tooltips for various controls.
  • Fixed: better keyboard navigation on document screens, and more tooltips.
  • Changed: many database changes to help avoid deadlocks and lock wait timeouts. In addition, ITrack automatically retries deadlocked queries and queries that received a lock wait timeout without any user input. That way, during high contention periods, some operations may take longer, but the user should receive fewer error messages.
  • Added: on document screens, double-clicking order request and order fulfillment icons now takes the user to document fulfilling/requesting that stock.
  • Added: (case 27799) SOs and WOs in the home screen lists now show how 'ready' the document is (based on quantity being sold that is on hand). Also, another column has been added with what % ready the document is; this percent is colored blue for 100%, red for <100%, and green for <100% if an open order request is on the document.
  • Added: (case 14034) performing a search including an interchange number and a sub-interchange number now orders the results by whether they are an exact match or not. Exact matches are at the top, and are shown with a small icon next to the interchange # to make this clear.

General

  • Added: (case 28363) support for European style numbers and currency figures. Mainly, if the user's windows settings are set to use comma instead of period for the decimal separator, the software will correctly read and display figures.
  • Changed: made function calls more specific to distinguish between operations that operate on raw numeric strings, user formatted numeric strings, and database strings.
  • Added: various locale currency and number API functions for reading windows API locale settings.
  • Changed: (case 28837) several database function calls have been transitioned to stored procedures to avoid database deadlocks.

Customer List

  • Fixed: (case 26032) an issue where fulltext searches in boolean mode might throw MySQL errors in certain circumstances.

Database

  • Renamed: (case 26100) fmonthlyinventorysales has been renamed to finventoryusagemonthly, to more closely match other usage functions. References to the function in inventorysetting have been updated as well.
  • Added: (case 27629) a vehicle id to all the pickable item views.
  • Fixed: dropped several alternate names for a trigger that was dropped in version 18. This should resolve issues where different databases had different names for this trigger.
  • Added: Case 27948: Add Worker Group as Display Field to Transaction List
  • Added: an index to documentlinelocation that speeds up flocationrefresh significantly.
  • Fixed: flocationrefresh now no longer throws an error if manual merging of locations causes duplicate entries on document locations.
  • Added: (case 28539) a new function, fmergelocation, which accepts two locations and a storeid. All tables that reference the old location (or its id) will be moved to the new location (and id). An optional parameter dictates whether the old location should be deleted or not at the end.
  • Added: (Case 285583) Schema creation queries added for Customer Response Management subsystem.
  • Changed: some purchase order views to properly use the new destination columns.
  • Added: (Case 28811) Add "Days In Inventory" as Display Field to Transaction List
  • Changed: (case 28837) many database functions that change data have been moved to stored procedures to help avoid deadlocks.
  • Added: (case 28837) all the document saved stored procedures now explicitly acquire all necessary write locks at the start to ensure they do not perform half of their queries and end up in a deadlock situation.
  • Added: ppurchaseordervoid and ptransferordervoid stored procedures that properly reverse activity performed by those documents.
  • Added: (case 28837) all stored functions call the new stored procedures for backwards compatibility. There is a @DEBUG session variable, which, if its TRUE, will throw exceptions instead. This will help finding and eliminating these calls.
  • Fixed: pdocumentallocation_refresh wasn't updating location holds right.
  • Added: DB API function: psalesorderundo, which can reopen or void a SO that has been closed. This is now shared code between the ITrack SO screen and several scripts that also perform reopen actions.
  • Changed: log_inventorytransaction is now engine type InnoDB, it appeared to be MyISAM still on some customer dbs.
  • Changed: inventorymove is now engine type InnoDB.
  • Changed: the address table has been renamed to workorderaddress to make usage clearer to people writing queries. Renamed several columns to match other address tables.
  • Added: for backwards compatibility, there is now an address view, which attempts to emulate the old address table.
  • Added: workorderaddress now remembers the customeraddressid the user chose.
  • Added: Case 28813: Add Inventory Category as Filter to the Transaction List for the Inventory Source
  • Fixed: the trigger on inventory update now sets locationid based on changes on the location field.
  • Added: (case 28976) pinventorymoveinventorylocation the move operation now works if the item in question had 0 quantity on hand at a permanent location. Also, if the old primary location was permanent, so too is the new primary location.
  • Removed: a couple triggers that existed on some databases that updated a log that we are deprecating.
  • CHanged: logvehiclechange and loginventorychange_expanded have been deprecated. These logs only existed on some customer databases and have been superceeded by more modern logs. They will be removed out eventually.
  • Added: (case 29272) vendorcatalog.vendorproductcode is now part of the vendor catalog import.

Data Management

  • Changed: the database that backup tables are created in now defaults to the current database instead of backup_importer. This is because not all customer setups are able to create or put tables into other databases.

Deliveries

  • Added: (case 27629) a vehicle stock # to the pickable line item view.

eBay Extension

  • Fixed: Payments now correctly load into listings again.
  • Fixed: (Case 28774) Free shipping checkbox removed. Free shipping is now determined by shipping cost being $0.00 or not.

Home

  • Added: (case 27799) SOs and WOs in the lists now show how 'ready' the document is (based on quantity being sold that is on hand). Also, another column has been added with what % ready the document is; this percent is colored blue for 100%, red for <100%, and green for <100% if an open order request is on the document.
  • Added: (case 27799) SO and WO lists now have an attention column which shows icons (with hover tooltips) similar to the document screens. Currently, this will show when a document can not be finalized due to insufficient QoH, as well as when there are open order requests and fulfillments.
  • Added: (case 27805) SO Truck # column to the SO home screen.
  • Removed: INI setting for the home screen URL, and moved it into a global setting.
  • Removed: INI setting for the home screen minimum height, and moved it to a global setting.

ITrack Online

  • Changed: the home page for the online page now defaults to a URL set a user preference, instead of a default from the ini.

libITSQLFramework

  • Fixed: an issue where the 'footer' of a query in the query log would be written sometimes after another query run in order to report the error.
  • Added: (case 28838) if a mysql connection gets a lockwait timeout error (1205) the query in question will automatically be silently retried up to 2 times before the user is presented with an error report. This should result in the user seeing fewer of these errors, though it does not necessarily make the error itself more rare. Auto-retry is MySQL's suggested error handling method in these cases.
  • Added: (case 28838) if a mysql connection gets a deadlock error (1213), the query will automatically be silently retried up to 2 times before the user is presented with an error report. Unfortunately, this will not happen on queries that are in the middle of another transaction. This is because deadlocks automatically roll back the entire transaction, requiring the operation be retried.
  • Added: query errors are now logged to the query log. Also, auto-retries and auto-reconnect operations get a special log entry for better debugging.

Location

  • Fixed: (case 28088) a possible crash when adding new locations to the location tree.

Login

  • Added: (case 28838) support for a special debugging mode in the database.

Master

  • Added: the RemoveInitSetting function now returns the last found value before deleting it. This allows a relatively common case where we take the value from an ini setting as we delete it an move it into a database setting.

Parts

  • Added: (case 23575) a checkbox to show/hide historical serial #'s that are not on hand. This checkbox remembers the user's preference.
  • Added: (case 23575) an edit the user can type into to filter the serial # list.
  • Added: (case 23575) the serial # filter list now can filter by the document # the serial was created and last used on.
  • Added: (case 23575) the parts' screen's transaction list area now has a serial # column that shows all serial(s) that were referenced on a particular document. This should make finding documents that purchased/sold a serial # easier.
  • Added: the Q&A tab now has tooltips to explain the new filters as well as the old fields.
  • Fixed: (Case 28563) hitting enter while typing into the comments field in the change log would not close the dialog. The user had to hit escape first to close the comments edit.
  • Fixed: an issue where the user could not enter fractional quantities for the quantity on hand, as well as minimum and maximum stock quantity.
  • Fixed: weight can now have a precision of 6 digits, as intended, instead of just 2.
  • Fixed: (case 25918) an issue where an assembly breakdown might distribute costs in a strange way if the user used ratios, and took several days before finalizing the WOs (and the assembly had cost added to it).

Purchase Orders

  • Changed: (case 27772) recent updates removed the 'send electronic PO' system from PO saving. This has been added back in, but instead into the advanced option dropdown. This will transmit the last saved version of the PO.
  • Fixed: the prompt to save message on the PO screen now match other screens' prompt to save.
  • Added: the "send electronic PO" options in the advanced button now prompt the user to save the PO first.
  • Fixed: (case 27979) adding a serial # to a PO or TO will now try not to set the 'used on document' field on that serial # if that serial has already been sold.
  • Fixed: apparently transfer orders using order requests have not been working correctly since 2007. They were being saved, but not loaded. This may have disrupted multi-branch purchase orders, as a central PO supplied stock to transfer order to other stores.
  • Fixed: on POs, if a user was hot ordering lineitems for an item in inventory where the tagnumber, manufacturer, or model had changed would not group those rows together when ordering. Now, the current tagnumber, manufacturer, and model are used.
  • Added: (case 27751) double-clicking the 'open order requests' icon on an item now opens the fulfilling document if there is at least one open request with at least one fulfilling document. Otherwise, it opens the edit order requests dialog.
  • Added: (case 26026) support for several new purchase order fields, including the id of the customer address that is the destination of the PO and the id of the vendor address that is the source.
  • Changed: many tooltips have been updated to be more accurate and concise, and controls that were missing tooltips have had them added.
  • Changed: the UI for the PO header has been reworked to make data entry faster, clearer, and easier to read. In addition, the screen now follows the format of other screens more closely.
  • Fixed: (case 26025) an issue where drop-ship POs would not show the destination store of the PO or allow the user to choose it. This was causing issues where it would always assume the PO was going to the logged in user's store. Since drop-ship POs' inventory is still received into the destination store's inventory (so it can be sold to the customer), choosing the store is important.
  • Changed: the user can no longer change the destination store of a PO after it has been saved or a PO # has been generated. This is to get rid of situations where a PO at store 3 will have a destination of store 2, undermining the meaning of the 'owning' store of the document.
  • Added: more keyboard shortcuts for jumping around the screen. Also fixed situations where using a hotkey might take the user to the wrong control.
  • Changed: background color of the address boxes has been changed to look more like other read-only fields.
  • Added: the exact vendor address and customer address (for drop-ship POs) that the user selects will be remembered when the PO gets saved/loaded. This will now work even if the address gets updated on the PO or the customer/vendor screens. Previously a modified address would always show "Saved address" in the dropdown, keeping the user from knowing which vendor/customer address had been chosen.
  • Fixed: customer billing address is now always available as a choice for destination address for drop-ship POs. Previously only shipping addresses were available.
  • Changed: the transfer orders page has been re-arranged to work and look similar to the PO tab with tab order.
  • Added: tool-tips to all controls on transfer orders, and better keyboard navigation on TOs.
  • Fixed: the chosen vendor order address is now properly remembered when the user saves the PO, same as the shipping address.
  • Changed: the TO # field is now grey like other read-only fields. And it displays a bold #, and "New" for an unsaved transfer order.

QuickBooks

  • Fixed: (case 26025) an issue where a query error would appear when attempting to mark gl entries as exported.

Report Viewer

  • Fixed: a possible crash that could occur when previewing a report if some very rare memory issues happened.

Reports

Billing Statement

  • Added: (case 27926) when the report is run for a single store and the customer has a balance at other stores, a message is displayed at the bottom of the report.
  • Changed: (case 27655) swapped vertical positions of customer companies and names
  • Changed: (case 27932) report now uses the return address, remittance address, and logo from the store running the billing ({?storeid} parameter) unless it is billing centrally, in which case it uses a new setting to determine return store - default 1. Previously, it used customer default store/store 1.
  • Fixed: (case 30901) cleared report links causing omissions for customers where default store was not store 1 when running central billing for multiple stores.

Customer Address Label

  • Changed: (case 27655) swapped vertical positions of customer companies and names

Customer Address Label 5160

  • Changed: (case 27655) swapped vertical positions of customer companies and names

Delivery Picking List By Document

  • Changed: (case 27655) swapped vertical positions of customer companies and names

External Work Order

  • Changed: (case 27655) swapped vertical positions of customer companies and names

GL Activity

  • Fixed: (case 28467) finished replacing the deprecated field.
  • Changed: (case 28477) payment store displays and is filterable

GL Entries By GL Account

  • Changed: (case 28477) payment store displays and is filterable

Outstanding Cores

  • Changed: (case 27655) swapped vertical positions of customer companies and names

Packing Slip

  • Changed: (case 27655) swapped vertical positions of customer companies and names

Payment Receipt

  • Changed: (case 27655) swapped vertical positions of customer companies and names

Pick List

  • Changed: (case 27655) swapped vertical positions of customer companies and names
  • Fixed: (case 28604) Misc line items are no longer excluded. Store column will be blank for Misc items.

Purchase Order Posting Report

  • Fixed: (case 28520) subreport links
  • Fixed: (case 28520) number formatting for storeid and purchaseorderid

Purchase Orders

  • Added: (case 27542) user parameter
  • Changed: (case 27542) column references to prepare for upcoming changes, tidied the report

Receiving Label

  • Fixed: (case 28409) Model always referencing vehicle model, instead of part model where appropriate.

Sales By Customer Default Store

  • Added: (case 27969) a new report that shows sales by customer default store. It can be filtered by customers with no default store.

Sales Order 11in

  • Fixed: (case 27935) changed partnumber displayed to show lookup instead of (tagnumber, unless there is no tagnumber, then lookup)
  • Changed: (case 27655) swapped vertical positions of customer companies and names

Teardown

  • Fixed: (case 27622) flex field formatting to use underlined spaces instead of underscores due to linebreaking when the report was sent to a printer

Transfer Order

  • Fixed: (case 28594) barcode formatting.

Unreceived Purchases

  • Changed: (case 27542) major report layout overhaul, improved organization
  • Added: (case 27542) vendor and user parameters
  • Removed: (case 27542) the / between Ordered and Received columns

Sales Orders

  • Added: (case 27751) double-clicking the 'open order requests' icon on an item now opens the fulfilling document if there is at least one open request with at least one fulfilling document. Otherwise, it opens the edit order requests dialog.
  • Changed: (case 27751) double-clicking a fulfillment line in the order request popup dialog now opens the fulfilling document on that screen and closes the popup.
  • Fixed: an issue where using a hotkey (alt + the letter underlined in a label) for the 'boxes' at the top of the screen would not take the user to the correct control.
  • Fixed: (case 28544) an issue where serial #'s at virtual locations counted as being at non-sellable locations.
  • Changed: the reopen and void operations on a SO now use a shared database procedure called psalesorderundo. This should standardize code between ITrack and other scripts that perform this task.
  • Changed: voiding a SO no longer lets the user choose whether they'd like to not undo changes to inventory or document adjustments, as these are required parts of the document.
  • Added: double-clicking the insufficient available/on-hand quantity icon now asks the user if they'd like to back order quantity or create an order request instead of assuming back order.
  • Added: (case 14034) performing a search including an interchange number and a sub-interchange number now orders the results by whether they are an exact match or not. Exact matches are at the top, and are shown with a small icon next to the interchange # to make this clear.

Updater

  • Fixed: (case 28086) an issue where a query that was missing a close parentheses ")" could keep subsequent queries from being parsed correctly, even though it had a semicolon.
  • Fixed: an issue where an open, unclosed parenthesis might disrupt the rest of the parse if it was in a function definition.
  • Added: in debug mode, Master will now write all script files to the updates directory. In addition, the intermediate query string is written to ComprehensiveUpdate.sql and the parsed query list is written to UpdateQueryList.sql

Vehicles

  • Fixed: an issue where saving a vehicle might throw an error if certain values were longer than the database allowed.

Vendor List

  • Fixed: (case 26032) an issue where fulltext searches in boolean mode might throw MySQL errors in certain circumstances.

Warehouse Management

  • Changed: (case 28837) several database function calls have been transitioned to stored procedures to avoid database deadlocks.

Work Orders

  • Added: (case 27751) double-clicking the 'open order requests' icon on an item now opens the fulfilling document if there is at least one open request with at least one fulfilling document. Otherwise, it opens the edit order requests dialog.
  • Fixed: (case 28553) an issue with the tab order in the job dialog.
  • Fixed: (case 28906) an issue where SOs created from closing a WO would not set the customer's default terms, default salesperson, or default backorder/partial shipment preferences on the newly created invoice.
  • Fixed: the address dialog now properly shows notes as you switch addresses.
  • Added: work orders now save which customer address the user chose, even if it gets modified.
4/8/2026

Release 18.0

Notable Changes

  • The accounting screen now allows the user to specify a date, before which all documents are completely locked, and another date, before which all documents require confirmation for modification. Currently, only sales orders respect these settings, but more documents will come in the future. If a user wants to modify a restricted document, they must enter their password to confirm they understand they are modifying an out of period document (these operations are now logged). If a user wants to modify a locked document, a user with permission must enter a password for them to continue. This system will allow an administrator to come over and enter their username/password to override this lock for another user.
  • Sales Order date is now more strictly regulated, as a document's date dictates whether the document is in a restricted or locked accounting period.
  • Recreating accounting now tracks the date they were recreated as well as their effective date for easier investigations.
  • Terms now allow a dictation of due date, even if the finance charge is 0%. Sales orders that carry balance will now throw an error if the selected terms have no due date specified. Soon, this should factor into remittance dates.
  • Changed: some database options have been modified to attempt to alleviate a lot of the deadlocks users are encountering.

General

  • Performance: slight speed increases when adding rows and columns to a list control.
  • Fixed: (case 27068) an issue where changes to a dropdown in a list control could cause columns to be added or removed from a list could cause a crash.
  • Changed: (case 26939) the default line coloration in all products now use a darker, greyer, less green color instead of the previous, lighter green. This should help resolve some of the issues users are having with visual fatigue and/or issues with low-contrast for colorblind individuals.
  • Fixed: (case 27250) a freeze caused by calling GetLastVisibleItem on a CTreeCtrl in some scenarios. This only seemed to happen when deleting items from the tree ctrl when there was enough items in the tree to require scroll bars.
  • Changed: double-clicking a column header resizes the column to minimum width including data and the header name now.
  • Fixed: resizing a column that contained icons but had right-aligned text was incorrectly making the desired column width very large.
  • Fixed: an issue where setting focus into an ITListCtrl after hitting a search button or tabbing in would scroll to the right side of the item instead of the left.
  • Fixed: (case 27649) an issue where non-locked tree controls would not draw correctly after the user expanded or collapsed an item.

Accounting

  • Added: (case 22959) there is now an accounting settings page, which is permission controlled, that contains several important accounting settings, including whether accounting is enabled or not. In addition, we now have date-time pickers for configuring a date that controls accounting periods that are locked and periods that are restricted.
  • Fixed: an issue where searching for accounting detail would continue to show results from previous searches.
  • Fixed: (case 25669) the recreate accounting popup now correctly back-dates documents to document date or document date closed.
  • Fixed: if the user chose to delete old gl entries when rebuilding accounting, we now make sure to delete the entire transaction, not just part of it, as that could leave an unbalanced transaction.
  • Added: an origin type to the activity detail page.
  • Added: Added sage50 export to the activity detail tab.

AppraisalExtension

  • Fixed: a couple fringe scenarios where two appraisals run at the same time might cause strange disconnect issues.
  • Fixed: appraisal connection errors are now shown to the user if the setting "Appraisals"->"Hide All Appraisal Errors" is set to False. This setting already exists, but these errors were always being hidden. SSL is required on database connections to get appraisals, and in some scenarios, SSL errors were not being shown.

CommonResources

  • Added: (case 22293) a new 'change log page' which has all the required functionality to display entries in the audit log tables for a specified table and its child tables.
  • Changed: the change log page has a row id as well as a row description to make it easier to tell what changed.
  • Added: a new checkbox near the change log detail: "Show historical value for unmodified fields". It is checked by default, and it shows other fields for that row that were NOT modified, and the values shown are whatever the values were at that moment in time, according to the logs. All fields that were not modified are greyed out.
  • Added: colorization to updates/inserts/deletes.
  • Fixed: the from/to date pickers in the change log now correctly set the dropdown to Custom if they are changed.

Configuration

  • Fixed: (case 27588) configure->reports now correctly uploads the report file when you add a new report.

CoreManagement

  • Fixed: (case 26750) when the user prints core tags from core management, a document type is passed into the report so that we can distinguish between WO and SO items.

CrystalReports

  • Changed: as per user request, the "remember printer choice" checkbox now always defaults to unchecked. This should only have significant impact on new users, who have no previous printer selections. Said users will have to manually check 'remember printer choice'.

Customer

  • Added: option edit/add/remove are now controlled by a new "Manage customer options" permission.
  • Added: formatting to customer option list and tooltips.

Database

  • Changed: (case 26702) the fsalesordersaved function now detects if you are using a component tax method (Canadian), and triggers the proper functions if so.
  • Removed: triggers on the salesorder table no longer mess with date when the salesorder becomes finalized, as there is other screen logic that dictates this now.
  • Added: permissions for a user to override locked SOs, payment, and WOs. Documents are locked if they their date is before the lock date.
  • Added: the useraccess table now has access types for overriding locked documents as well as modifying restricted documents
  • Added: the useraccess table now has a user account id for the currently logged in user. This can be different than the other user account if an administrator performs an override for another user.
  • Changed: all the default document templates have been updated to not show inventory side if its "N/A".
  • Added: gltransaction now has a createddate as well as an effectivedate. effectivedate is the date the transaction should be exported on. These dates default to the gl entries' timeentered field.
  • Removed: glentry.timeentered, which has been superceeded by the gltransaction.effectivedate.
  • Removed: the trigger on insert of the glentry table, which is no longer necessary.
  • Changed: vmas90glentry, vglentry_document have been updated to use the new effectivedate instead of the old timeentered field. ALso, significantly simplified the date formatting functions.
  • Changed: fgetreport_printer now correctly considers the report type input argument.
  • Added: (case 11061) inventory type 5355: Air Brake Components is now standard
  • Added: (case 27167) an explicit primary key column on the inventorysourceallocation table.
  • Added: (case 27167) a foreign key constraint for inventory source allocations
  • Fixed: pbackuptable now does INSERT IGNORE to avoid primary key collisions.
  • Fixed: (case 27284) scheduled reports now allow more recipients (longer email destination field)
  • Added: (case 23355) delivery trucks can now be deactivated.
  • Changed: (case 27555) fgetsetting no longer writes the defaults to the settings tables, as some larger yards were seeing fgetsetting present in a lot of deadlocks and lock wait timeouts. There is no good reason for this function to get write locks whenever it is called, so that has been removed for speed purposes.
  • Added: (case 23149) glentry now has an origintype column which keeps track of where the gl entry came from (namely inventory/transaction credit/debit).
  • Removed: some settings that are generally never customized and we don't want to support anymore.
  • Added: (case 26378) emailbcc column to the reportmassmailtemplate and reportqueue tables.
  • Added: (case 25540) a new permission for managing customer options. This permission defaults to on for anyone who could merge customers before.

Deliveries

  • Added: (case 23355) delivery trucks can now be deactivated.
  • Changed: the run sheet tab no longer shows deactivated delivery trucks, unless they were already saved on the run sheet.

eBay

  • Fixed: (Case 26909) The eBay Auction screen now remembers what the user last selected for status.
  • Fixed: (Case 22323) Manufacturer Part Number and Brand now set values of "Unbranded" and "Does not apply". Previously, values were not set in some cases, causing listings to fail.
  • Fixed: (Case 24634) Prices are now required fields
  • Fixed: (Case 24634) Required and enabled pricing fields now change based on listing type.
  • Fixed: (Case 24634) Duration no longer selects empty values when the listing type changes and an unsupported duration was selected.
  • Fixed: (Case 27376) Export to CSV functionality re-enabled.
  • Fixed: (Case 27801) Prevented a crash that could occur when modifying global config shipping options.
  • Fixed: (Case 27801) Shipping cost is now only disabled when free shipping is checked on global config.
  • Fixed: (Case 27801) Corrected saving behavior when modifying the PayPal: Immediate Pay setting.

EDocumentExtension

  • Fixed: (case 27501) an issue where edocuments might not output correctly if they contained single or double quotes (' or ").

GlobalSettingsExtension

  • Fixed: an issue where user settings were loaded multiple times when a user logged in.
  • Fixed: (case 27056) an issue where the report printer options page showed all report types rather than report printer types.

ImageSynchronizer

  • Fixed: (case 27312) an issue where the application would crash after a successful push if the log was not set up.

InventoryOverview

  • Changed: (case 26952) the inventory overview screen now has checkboxes for whether suggested orders should include stocked inventory and/or on demand inventory (special order/obsolete). This allows the screen to accommodate users who are attempting to do only stock orders vs hot orders.
  • Changed: the fiscal year to date (FYTD) column now defaults to considering January to be the beginning of a company's fiscal year. Before, it defaulted to August.

Location

  • Changed: the configure->inventory->locations dialog should close faster now.
  • Added: a 'usage' column to the location configuration tree that shows the number of inventory records reference that location.

Login

  • Added: there is now a bolded prompt above the login button that gives the user more information about the verification/authentication process.
  • Fixed: an issue where the user could edit the username during authentication when they were not supposed to be able to.
  • Added: wait cursor as part of saving users in the configure->users popup.
  • Fixed: (case 26968) an issue where saving users in the configure->users popup was taking a really long time to save, especially for large numbers of user accounts.
  • Fixed: (case 27043) an issue where the 'first time login' popup would not let the user set their first password correctly.

MAS90Accounting

  • Added: support for SO accounting, WO accounting, and payment accounting to set the 'effective date' of the gl transaction back to the document date or the document closed date.
  • Changed: payments now get a separate GL transaction, even if they are created as part of a SO being saved or finalized. This is to separate those documents as well as making sure the entire transaction can have a single date.

PartModification

  • Changed: the controls on this screen have been rearranged to more closely match other screens. The cancel button has been removed, as it was redundant in with the close button. The various buttons have been renamed to more closely resemble their purpose.
  • Added: the configure fields dialog now has tooltips to better explain the columns, they've been rearranged and renamed to better convey their meaning.
  • Fixed: (case 12519) external fields can now be marked as searchable correctly.

Parts

  • Added: (case 26743) work order master parts on the part transaction list now shows cost as a per quantity (EA) cost instead of total.
  • Fixed: an issue where renaming/moving a location on a part would move allocations on open documents over to the new location name, but might not move the holds.
  • Fixed: an issue where the interchange options button was greyed out even when the user had permission to edit parts.
  • Fixed: the description of what fields changed at the top of the change log popup now uses more user-friendly names for fields instead of database column names.
  • Added: (case 25774) old and new values in the change log now display a more user-friendly value (IE location/manufacturer/model/part type/gl category/user name instead of id). These are not the only fields that were showing an id instead of a name, but they're the most commonly modified.

PurchaseOrders

  • Fixed: (case 26977) the PO return dialog now correctly shows the next/previous page button in scenarios where that vendor had POs that don't currently show due to being inapplicable.
  • Fixed: (case 27078) an issue where standard parts and vehicles did not allow adjustments if the inventory was not on hand. However, it is possible and desirable to add adjustments to vehicles before they have been received.
  • Fixed: an issue where the user could not delete a PO line if there were unsaved adjustments on it (the user was incorrectly notified that the line had saved adjustments).
  • Changed: (case 27772) recent updates removed the 'send electronic PO' system from PO saving. This has been added back in, but instead into the advanced option dropdown. This will transmit the last saved version of the PO.
  • Fixed: the prompt to save message on the PO screen now match other screens' prompt to save.
  • Added: the "send electronic PO" options in the advanced button now prompt the user to save the PO first.

Reports

Aging

  • Changed: (case 26860) report efficiency and query organization, tidied the report
  • Added: (case 26860) new sort options, a default salesperson parameter, and summation totals when appropriate
  • Fixed: (case 26860) customers with balances in the specified interval were being filtered out if they had no total balance and unallocated payment distribution when filtering the report by document store

Billing Statement

  • Added: (case 26598) the ability for the Billing report to print an inactive customer if that customer is specified by the customerid parameter. The report will indicate the account is deactivated in this case.
  • Fixed: (case 26302) updated how unallocated payments and considered when filtering by store. Previously, unallocated payments would show for every store the report was run for. Also changed how payments were filtering by store in the Activity subreport.
  • Added: (case 26302) Unapplied Payments to the tearoff at the bottom, when applicable. Supresses if 0.00.

Core Tag

  • Added: (case 26750) a new parameter that accepts document type when the report is printed from the Core Management screen, allowing Work Order Cores to print core tags with job barcodes

Delivery Picking List By Document

  • Added: (case 26466) a new report to print from the Deliveries screen, prints selected parts but grouped by document onto separate pick lists.

GL Activity

  • Changed: (case 27032) references to glentry.dateentered to gltransaction.effectivedate. This is a change to GL accounting, and this report is changing to match.

Inventory By Default Vendor

  • Added: (case 27012) a setting that hides remaining non-inventory vehicle costs.

Inventory Detail By Part Type

  • Added: (case 27012) a setting that hides remaining non-inventory vehicle costs.

Inventory Summary

  • Added: (case 27012) a setting that hides remaining non-inventory vehicle costs.

Label 5160

  • Fixed: (case 27679) When year = 0, it was printing as '-', so I added a year formatter

Labor Detail By Employee

  • Removed: (case 26871) deprecated the report

Location Label 5160

  • Fixed: (case 27679) dynamic font resizing in the barcode was based on location name, even though the barcode contains locationid. I removed it. It will now always print size 24.

Outstanding Cores

  • Added: (case 26537) make/manufacturer & model, which can be disabled with a setting.
  • Added: (case 26537) a new setting to dictate whether the report uses remittance address as the return address or actual store address.

Sales By Sales Region

  • Fixed: (case 26626) salesperson grouping to actual sales region grouping using the region table

Salesperson Profit Analysis

  • Fixed: (case 26689) store/salesperson grouping issue in the query
  • Fixed: (case 26689) adjustments
  • Changed: (case 26689) tidied the report

Teardown

  • Added: (case 26746) special behavior for printing from the Bid Screen and any other scenario where breakdowntemplateid = -1. When there is no associated template, only existing associated parts will be included and a new page header will state that this is not a template.

Top Customers

  • Added: (case 26501) an on-demand subreport showing customer invoice details.

Vehicle Costs In A Date Range

  • Added: (case 24342) a new supplemental report that shows itemized vehicle costs by document and vehicle in a date range

ReportViewer

  • Fixed: (case 27079) an issue where the mass mailer screen might throw a query error during 'find recipients' if any of the parameters were dates.
  • Fixed: when mass-mailing reports, the email address can now be edited to values that were not found in the system previously (new emails).
  • Added: (case 26378) BCC field to the mass-mailing system.
  • Fixed: an issue where reviewing the report queue would not show the value that was sent as part of the print operation.
  • Changed: report parameters in the report queue now use the 'user visible name' for the parameters, like other screens (where possible).
  • Added: (case 26378) the mass-mailing page now shows a progress dialog during the mass-print/email operation that shows the user how far along the process is, and gives a cancel button.

SalesOrders

  • Changed: the 'date' of an invoice is now set to the current date when you click the 'finalize' checkbox instead of waiting until save. Also, a SO that has been finalized, then reopened should leave its date to the original finalization date on subsequent finalizations. This also allows a user with permission to change salesorder dates to change the date of a SO as it is being finalized.
  • Fixed: saving an unfinalized SO no longer sets a finalization date/expiration date on documents that this does not apply to.
  • Changed: the invalid gl category/context combo info popup now shows line item lookup if the part number is empty.
  • Added: (case 22959) during save, if the user is finalizing, reopening, or voiding the document and the document affects a previous period that is either locked or restricted, we will pop up a sign-in dialog. The user must either confirm they understand the impact this change will have (restricted documents only) or the user/an administrator with permission must authorize it (locked documents only).
  • Fixed: (case 27028) an issue where saving a SO could lock up the system if a single payment had more than one payment line (payment application on the customer screen) applied to that same SO. Now, the save operation correctly combines those payment lines into a single one.
  • Fixed: (case 26977) ensuring the SO return dialog correctly shows the next/previous page in all scenarios.
  • Changed: (case 25422) the user can now specify a grace period or due date, even if the finance rate is 0%.
  • Added: if the user specifies a non-zero finance rate, the user will now get an error if no due date or grace period is filled out.
  • Added: (case 25422) if the user attempts to finalize a SO, they will get an error if the document has a credit balance and the selected terms have no 'due date' filled out (no due date/grace period specified). This is because one of those fields will be required for computing invoice remittance date on the credit balance.
  • Changed: (case 26335) serials at locations that are non-sellable are now grayed out on sales and cannot be selected. Also, serials at non-sellable locations are ignored when automatically selecting a serial #.
  • Changed: (case 21264) the 'quantity available' on the locations popup when selling items now shows "N/A" if the location is not sellable. this will hopefully make things less confusing for users.
  • Added: (case 26171) the return dialog now shows serial # on historical SO lines.
  • Added: the configure sales order documents dialog now uses a shared configuration dialog. This shouldn't affect the end user.
  • Changed: all the columns in the configure sales order documents dialog now resize so that the user can see the full column widths.
  • Changed: a standard or misc part no longer uses the dark green (over max quantity) or dark yellow (under min quantity) because only replenishable parts make sense for those colors.

TransactionList

  • Fixed: (case 27377) an issue where sometimes fields and filters would not correctly add the required JOINs to the query, causing database errors.

Vehicles

  • Fixed: (case 27084) an issue where various columns were not formatting correctly on bids/teardowns.
  • Fixed: (case 27084) bid/teardown totals were not correctly recalculating when fields were being modified.

WorkOrders

  • Fixed: (case 26741) an issue where saving an external WO, getting an error, but then saving again could result in a WO that, when loaded would throw an error about being unable to load an address.
  • Fixed: (case 26998) an issue where reopening WOs at a single store might throw an error if WOs at other stores with the same WO # had sold master parts.
  • Changed: if a WO is finalized and sent to a new invoice, the invoice date now defaults to today (normal invoice behavior) instead of the date of the WO. This prevents invoicing of WOs from creating sales history in closed invoicing periods.
  • Added: (case 25429) a new top-level menu Configure->Documents->Work Order Types. This allows viewing, adding, editing, and deleting work order types.
  • Changed: (case 25429) the configure WO types button has been removed, though the user can still right click on the WO type dropdown to view details about the current document type.
4/8/2026

Release 17.0

Highlights

  • Inventory Overview: General improvements to make reordering easier. Namely, more accurate totals, as well as including special orders that need to be purchased.
  • Accounting: changing purchase order adjustments when quantity on hand is 0 or work orders that have a 0 quantity for a master part now show warnings/errors to the user because cost changes cannot be absorbed if quantity on hand is 0.
  • Purchase Orders: added the ability to quickly set a single location for receiving everything on a PO posting. This facilitates recieving a PO into a specific staging location or shelf.
  • Login: user passwords now use a different, higher-security encryption. The next time a user changes their password, it will be written in the new mode. Every user login attempt is also logged for monitoring for unathorized access. There is also now a password recovery button if the user forgets their password and they have a recovery email on their account.
  • Billing: the report viewer now has a mass-mailing page where certain reports (including billing) can be run en-masse for all customers, and can directly email billing or other reports to customers' email addresses.
  • Lists: default coloring in lists now makes readonly cells look more like other readonly controls. Also, alternating line colors alternate between a greyish green and white instead of grey and white. This is more like ledger paper and makes white/black/grey text easier to read.
  • Sales Orders: whether inherent cores and/or dirty core exchanges are taxable is now based on the selected tax item.
  • Documents: Templates for part descriptions on documents can now be modified with a setting.

General

  • Fixed: an issue where sometimes list control cell tooltips for particularly large sets of data would show trash data at the end and/or take a long time to appear.
  • Added: lists that allow the user to hide columns now remember which columns were hidden when the screen is reopened.
  • Fixed: (case 25625) the user can no longer put characters into attachment filenames that windows does not allow in filenames "/ \ * : < > | ?"
  • Fixed: (case 25625) if you double-click on an attachment that happens to have invalid characters in it, those characters are replaced with an underscore so that the file can be viewed.
  • Fixed: (case 25930) an issue where typing into auto-complete dropdowns might not select the right items if the user found an item using the middle of a word or a different case.
  • Changed: readonly list control cells now default to having a grey background with black text instead of grey text on white background.
  • Changed: default color alternation in lists now alternates between a greyish green and white instead of grey and white. This will make black/white/grey text easier to ready against the cell background, and makes readonly cells easier to identify (grey background).
  • Added: support for ctrl + A to select all text in a multi-line edit, which is (apparently) disabled in windows.
  • Fixed: (case 26631) exporting a list to CSV now correctly escapes quotes with another set of quotes instead of a backslash.

Accounting

  • Fixed: (case 25654) the accounting rebuild functionality on the accounting screen had sort of fallen into disrepair. It now seems to work correctly again.

Core Management

  • Fixed: (case 26631) exporting a customer core list to CSV now correctly escapes quotes with another set of quotes instead of a backslash.

CrystalReportsExtension

  • Fixed: (case 25757) an issue where reports whose type is different than its printer type would cause the user to have to choose a printer every time they printed, despite checking 'remember selection'.
  • Added: support for passing title, email body, email from address, attachment name, and notes from a print request to the report queue table.
  • Added: support for printing in 'silent mode', where no popups are shown to the user (no report or printer disambiguation popups). This is used for the new mass-printing feature.

Customer

  • Added: (case 25425) the customer screen now allows a user to explicitly choose no default invoice terms. The screen still warns the user if no terms are selected though.
  • Changed: the email address for the customer billing address has been moved to the billing address area to make it more clear that it goes with customer billing.
  • Added: last bill date and preferred bill delivery method. The first tracks the last time the customer has been sent a bill through the new mail merge tool. The second controls whether a customer wishes to get bills emailed, printed, or both. If an email address is entered, this will default to EMail.
  • Changed: the unapplied payments list on the customer screen now shows payments that are applied to voided invoices, which are considered unapplied in billing and other calculations. This should make the customer screen agree with other AR sections of ITrack.

Database

  • Added: (case 24889) 3 new permissions that control whether the user can access the 3 pages on the manage warehouse screen.
  • Added: (case 21162) entries to inventorysetting for the dimensions of the inventory record (length, width, height).
  • Added: (case 25530) purchaseorderhistory.receivinglocation, which is a per-posting location to receive all quantity into on that posting.
  • Added: (case 25695) inventoryserialhistory.documentpostingid, which tracks which PO posting a serial was received on, if any. This has been retroactively set to the first posting on any particular historical PO.
  • Fixed: (case 25729) a bug where hold quantities at locations were not being calculated correctly for documents that didn't affect inventory.
  • Added: transaction list filter and display fields for Vehicle Received Date.
  • Changed: the user table has been renamed to useraccount, and the old table has been replaced with a view for backwards compatibility.
  • Added: the new useraccount table now supports the newer password format of PBKDF2. This is to add security to the system, also because the mysql PASSWORD function is being deprecated in the future.
  • Added: support for logging every user login attempt (successful or failed) along with timestamp and the reason for failure. This also adds support for logging attempts to override permissions. This will be used soon for overriding permissions on documents that are in locked periods.
  • Added: table userpasswordhistory, which tracks all user password changes. This will be used in the future for implementing password change restrictions and password age requirements.
  • Changed: most remaining myisam tables have now been converted to innodb to help avoid remaining deadlocks. Users should not experience many changes from this engine switch, as most high-traffic tables were converted awhile ago.
  • Added: (case 25384) emailed scheduled reports can now have an overridden email body, 'from' address (for email replies going back to specific address), and attachment name (for naming the report pdf attachment).
  • Fixed: a documentsearchfield with the wrong fieldtype, causing it propagate in searches when it wasn't asked for.
  • Removed: (case 26202) several fields from the purchaseorderlinehistory table that are no longer used.
  • Added: (case 25389) the right-click graphing template has been updated to facilitate line types.
  • Fixed: (case 25864) an issue where quotes/hold orders that expired overnight would recalculate holds at inventory locations, but not on the inventory record itself, which could cause the search screen to show the item as still on hold.
  • Added: Transaction List fields for Inventory Ext. Avg. Cost and Inventory Ext. Retail
  • Added: (case 26152) new table: reportmassmailtemplate, which stores various fields about performing mass-mail operations on reports.
  • Added: the report table now has a key to the reportmassmailtemplate table, so that many reports can use the same mass-mail template.
  • Added: reportparameter now has fields for mass mail features.
  • Added: customer now has fields for last bill date and preferred bill delivery method.
  • Changed: customer account limit has the same precision of other financial numbers now.
  • Added: (case 23573) there are now taxitem fields for taxing inherent cores as well as taxing dirty core exchanges.
  • Added: (Case 26447) Make salesorder.purchaseordernumber a text field in the transactionlist.
  • Added: (Case 26446) Add inventorylocation field to dispaly to Transaction List.
  • Removed: the ability for customers to have messages as part of being sent to interbranch transfers, as that is not currently possible.
  • Added: (case 26479) the billing report now has a mass mailing template that shows the same recipients that the standard billing report would print out. In addition, it shows columns that are useful in considering the billing reports to be sent out, based on the input dates.
  • Added: (case 26479) there is now a mass mailing template for the outstanding core report. This allows the user to print/email a report to all customers that have outstanding cores.
  • Fixed: fcustomeraging now correctly considers payments on open documents as applied (rather than unapplied payments). This allows the balance figures on the customer screen to match the billing report printouts.

Deliveries

  • Fixed: (case 26631) exporting the picking list to CSV now correctly escapes quotes with another set of quotes instead of a backslash.

EbayExtension

  • Added (Case 15869): Added a user permission for cancelling ebay auctions.
  • Fixed: (Case 25462) ATV categories are now selected for in ebay when the motorcycle radio is selected.
  • Fixed: invoiceId is now set appropriately to 0 when it's pulled in.
  • Fixed: (Case 25307) Ebay image URLs will now be exported as https instead of http.
  • Added: (Case 25522) Implemented Or Best Offer listings.
  • Fixed: PayPal Immediate Pay now sets the api flags correctly.

EDocuments

  • Added: support for new functions in the EDocument language, including IF, IFEMPTY, CONCAT, REMOVE (see the wiki page for description/syntax)
  • Fixed: an issue where text before and after a function call might throw off a subfunction's invokation.
  • Fixed: an issue where function arguments of ' ' or " " were not working. This was breaking some uses of the TRIM function.
  • Fixed: an issue where the last part of an argument might be lost if it did not end in whitespace.
  • Fixed: a couple issues where we'd sometimes replace only half of a function name.
  • Fixed: an issue where multiple pieces of whitespace in function arguments might throw off argument order in functions.

GlobalSettingsExtension

  • Added: the setting value and default are now multi-line edits. This makes editing large, complex settings easier.
  • Added: support for opening customers from the mass mail area.
  • Fixed: changing street address in the configure->Stores dialog now properly copies to the remittance area if the auto-copy checkbox is checked.

Graphing

  • Updated: the current graph template.js has been updated with Zach's current template.

Inventory Overview

  • Added: (case 458) the inventory list now has a weight column.
  • Added: (case 458) a totals footer to the inventory list, which shows grand totals regarding the currently loaded information. This includes total order quantity, total current order weight, and total current order cost.
  • Fixed: the vendor list now correctly shows special order items in the projected order totals. Also, renamed some of the totals columns to be more explicit in their purpose.
  • Added: if the user reloads information, the currently selected vendor and inventory item will be properly reselected.
  • Fixed: the currently selected inventory filter now affects the suggested order totals in the vendor list.
  • Added: (case 13598) support for a part type # and part type name column to the inventory list.
  • Added: if the user hides a column in the inventory worksheet, the system remembers that when they close the screen. This makes it so that the user can filter their list down to just the columns they care about.
  • Fixed: (case 25634) the inventory overview screen now once again correctly loads whether the user wants to search any particular store.
  • Fixed: (case 26631) exporting the inventory list to CSV now correctly escapes quotes with another set of quotes instead of a backslash.
  • Changed: (case 26952) the inventory overview screen now has checkboxes for whether suggested orders should include stocked inventory and/or on demand inventory (special order/obsolete). This allows the screen to accommodate users who are attempting to do only stock orders vs hot orders.

ITSQLFramework

  • Added: query results now supply calling queries with the 'data type' of each result column.
  • Changed: (case 26631) exporting a query result to CSV now correctly escapes quotes with another set of quotes.

Login

  • Added: transaction support to saving user modifications.
  • Added: when the user successfully or unsuccessfully logs in, a row is logged with the access attempt.
  • Added: support for newer, higher security passwords as well as setting a password recovery email, which is used in password recovery attempts.
  • Added: forgot password button to the login dialog.
  • Added: newly created users are now in a special state where that user is prompted to enter a first password and recovery email in the first login. This way, administrators do not need to set new user passwords.
  • Added: current status of users to the configure->users dialog.
  • Added: information about why a user is locked/deactivated. This information is shown to the user if they attempt to login while the account is locked or deactivated.
  • Fixed: an issue where checking and unchecking the "Hide inactive/locked accounts" might cause the user list to look strangely.
  • Added: icon to the send recovery code button.
  • Fixed: an admin can now properly set another user's password if the security settings allow it.
  • Added: if the user performs the password recovery process and sends an email, we now attempt to use a command line emailer to send off the message if the database emailer is not present.
  • Added: wait cursor as part of saving users in the configure->users popup.
  • Fixed: (case 26968) an issue where saving users in the configure->users popup was taking a really long time to save, especially for large numbers of user accounts.

Locations

  • Fixed: a minor issue where copying locations might not give them unique names in some situations.

Part Configuration

  • Fixed: a crash when closing this screen.

Parts

  • Added: (case 21162) shipping length/width/height fields on the part info page.
  • Changed: the weight on part info no longer allows negative values. Also, the weight can now go up to 6 digits of precision.
  • Fixed: (case 25717) an issue where cost ratio values were not properly loading from the assembly breakdown template onto the breakdown.

Purchase Orders

  • Added: (case 1439) purchase orders and transfer order lines now look at a store setting for what the default lineitem description should be.
  • Removed: (case 25381) the 'send' checkbox and the transmission method dropdown has been removed, as the electronic submission system is not used and the fax solution can be performed through advanced print operations.
  • Added: (case 6509) there is now an attention icon displayed on any items where there are new or modified adjustments but quantity on hand of the part will be 0. This is because there will be no stock to absorb the cost change.
  • Changed: all the warning/error message boxes when saving a PO now have more descriptive button text.
  • Added: (case 25530) support for a per-posting 'receiving location' that overrides the default receiving location for all inventory received on the current posting. If this gets used, all subsequent postings will DEFAULT to the same location, but it can be changed.
  • Removed: the old right-click 'set mass receiving location' function as it has been superseded by the new receiving location override.
  • Changed: (case 25695) received serials now remember which posting they were received on. The user cannot remove/modify any serials received on other postings. The location column now correctly shows only the locations of serials received on that particular posting.
  • Fixed: (case 25695) a low-impact bug where serialized items, received on multiple postings, into different locations, would cause the locations on the inventory record to not match the location of the serials. This would get correct on the next time a part was saved.
  • Changed: new serial #'s created on a PO now do not get a location until after the serials are marked as received so that the locations match the location specified on the posting it was received on.
  • Changed: (case 26005) when an 'empty' PO is created to reserve a PO #, it is no longer initially void. This factors into the next item.
  • Changed: (case 26005) if the user closes the PO screen when an empty PO is loaded, instead of automatically deleting that PO, the user is now asked whether they wish to delete that PO or leave it open.
  • Added: clicking on the PO # box now has a 'Release PO#' option which will delete a PO if its empty (no lines, no adjustments, no postings, no vendor). This allows the user to explicitly remove POs they reserved but do not want anymore.
  • Changed: POs now allow loading kits by default (the setting that is checked used to be off by default). Loading a kit just quickly loads all child items on the PO.
  • Changed: (case 18101) loading a part template now adds both the master item and its children to a PO or TO.
  • Fixed: an issue where transfer orders might not load a kit or template correctly if no source store was selected.
  • Fixed: (case 27078) an issue where standard parts and vehicles did not allow adjustments if the inventory was not on hand. However, it is possible and desirable to add adjustments to vehicles before they have been received.
  • Fixed: an issue where the user could not delete a PO line if there were unsaved adjustments on it (the user was incorrectly notified that the line had saved adjustments).

QuickBooks

  • Added: (case 24123) there is now an account name in the exported gl entries list.

Reports

Billing Statement

  • Fixed: (case 25913) customers with credit balances due to UnappliedPayments being excluded
  • Added: (case 25913) a setting to include/exclude customers with credit balance, include by default
  • Added: (case 25953) Customer company and name below the tearoff at the bottom
  • Changed: (case 25953) moved billing memo above the tearoff at the bottom
  • Changed: (case 23756) how the logo is retrieved for improved performance

Customer Address Label

  • Added: (case 25961) a new setting to show/hide customerid

Customer Address Label 5160

  • Added: (case 25961) a new setting to show/hide customerid

External Work Order

  • Added: (case 24596) a new setting that determines how the job worker names are formatted. By default, it shows firstname, but you can also select lastname, firstname and lastname, or username.
  • Added: (case 25546) additional rules for when labor detail rows can show

GL Entries By GL Account

  • Added: (case 23700) a setting to allow first X digits of the account number grouping to the GL Account summary level. 0 by default, which hides the extra group.

Inventory By Location

  • Changed: (case 21511) tidied and improved the report, standardized the location parameter to use wildcards like similar report parameters in other reports do
  • Added: (case 21511) part type column and parameter

Label 5160

  • Added: (case 25961) a new inventory label that prints on Avery 5160 labels

Location Label 5160

  • Added: (case 25961) a new location label report that prints on Avery 5160 labels

Outstanding Cores

  • Added: (case 26136) a new report that prints out summaries of outstanding cores by customer and customer address. There are several related settings for customization.
  • Changed: (case 26136) made title text bigger on one of the header option
  • Changed: (case 26136) filtered by price so 0.00 charge cores are not included
  • Added: (case 26136) a new setting that limits which inventorytypeids are included. 0 (all) by default.
  • Added: (case 26136) inventorytypeidlist include setting (and hidden parameter)
  • Added: (case 26136) wildcard supported lookup filter

Purchase Order Receiving List

  • Added: (case 24683) a store level setting to hide lines that have zero expected quantity, default false

Return Labels 5160

  • Added: (case 25961) a new report that prints return address labels on Avery labels

Sales By GL Category

  • Added: (case 25156) two new parameters, gl category and gl department

Sales By Sales Region

  • Fixed: (case 25233) changed report to report on Sales By Sales Region, as the name indicates, instead of Default Salesperson, which it was actually doing

Sales By Store Region

  • Fixed: (case 25233) changed report to report on Sales By Store Region, as the name indicates, instead of Default Store, which it was actually doing
  • Fixed: (case 26323) Store Regions now reference regions instead of stores.

Sales Order 11in

  • Added: (case 24596) a new setting that determines how the salesperson, counterperson, and job worker names - if applicable - are formatted. By default, it shows firstname, but you can also select lastname, firstname and lastname, or username.
  • Fixed: (case 24596) job parts will use lookup if it is supposed to use description but description is blank
  • Changed: (case 25546) tidied job lines
  • Added: (case 25546) additional rules for when labor detail rows can show
  • Added: (case 26543) ability to handle multiple tax lines

Tag

  • Added: (case 26166) SKU below the tearoff, hidden by default, shows based on a setting.

Teardown

  • Added: (case 24720) existing inventory records attached to the vehicle.

Transfer Order

  • Fixed: (case 26345) margins

Vehicle Spec Sheet

  • Fixed: (case 26342) an issue where ?'s in typedata or typelabel fields for the vehicle whole unit would cause an error

Report Viewer

  • Added: (case 26152) a new "Mass-Mail" page. This page allows the user to select certain reports to email or print for various recipients. This is similar to mail merge tools. The first application for this tool is sending billing to customers either through email or print. More reports will be added to this area in the future. If you'd like to see a report added to the mail merge area, let us know.
  • Fixed: an issue where hidden report parameters that pass 'id' into the report were not loading the default parameter id correctly.

Sales Orders

  • Added: (case 25425) the terms dropdown now allows a user to explicitly choose no terms (empty entry). The screen warns the user if they're saving a SO that affects inventory and no terms are selected.
  • Added: (case 1439) sales order lines now look at a store setting for what the default lineitem description should be.
  • Changed: the edit item dialog now has a larger space for the serial # list, and it remembers column order and width.
  • Added: (case 25891) all sales order save operations are now performed inside of a single database transaction. This should fix issues where a salesorder is partially finalized but not completely (such as accounting failed or inventory wasn't adjusted).
  • Changed: the 'post save' sales order function (fsalesordersaved) is now performed BEFORE salesorder accounting so that things could happen during that operation that affect accounting.
  • Added: (case 18101) loading a part template now adds both the master item and its children to the document.
  • Fixed: (case 25930) a bug where finding an adjustment type by typing into the adjustment type dropdown might not correctly check the 'taxable' and 'subtotal adjustment' checkboxes.
  • Changed: (case 25930) the user can no longer manually adjust the 'subtotal adjustment' checkbox on adjustments on a SO.
  • Fixed: an issue where the shipping method dropdown on SOs was not in the correct order.
  • Added: (case 23573) configure->Tax Items popup now allows the user to specify (per taxitem) whether inherent cores will be taxable and/or dirty core exchanges will be taxable.
  • Changed: the configure->Document->Tax Items popup has been redone to be easier to manage. This dialog now allows the user add/edit/delete tax items without going into another popup. This dialog now closer follows the configure->terms and configure->shipping methods dialogs.
  • Changed: configure->Document->Terms now remembers whether fields should be blank (instead of 0). Also, which fields are readonly is based on what fields are filled out to make it easier to manage.
  • Fixed: a minor issue where the first 'empty row' in the list after loading a document would allow the user to change the taxable and hold checkboxes, but not subsequent empty rows.
  • Added: inherent core lines and dirty core exchanges now default their taxable checkbox based on the currently selected tax item. In addition, changing tax items automatically checks or unchecks the taxable checkbox for all inherent and dirty cores based on the newly selected tax item.
  • Fixed: dirty core exchanges no longer highlight the manufacturer lookup.
  • Fixed: (case 26548) an issue where customer messages set to "On Customer Added to Invoice" would not display on the invoice (though ones that were "Display Everywhere" were working correctly).
  • Added: (case 25532) a button on part search to search cores on HeavyTruckParts.net

Transaction List

  • Fixed: the result list now correctly lets the user save and re-run saved graph templates.
  • Fixed: (case 26631) exporting the results to CSV now correctly escapes quotes with another set of quotes instead of a backslash.

Vehicles

  • Fixed: an issue where the break even graph would be blank when loading a vehicle from search and the screen was closed.
  • Fixed: (case 25917) an issue where using the default location for a new vehicle would not correctly save the location id in the database.

Vendor

  • Removed: (case 25381) the default PO transmission method dropdown has been removed since the PO screen doesn't have a transmission method dropdown anymore.

Warehouse Management

  • Added: (case 24889) 3 new permissions that control whether the user can access (and what stores appear in the dropdowns of) the 3 pages on the manage warehouse screen.

Work Orders

  • Added: (case 1439) work order lines now look at a store setting for what the default lineitem description should be.
  • Added: (case 6509) there is now an attention icon if the master part creates 0 quantity (repair/rebuild order) and the item has no quantity on hand. This is because inventory with 0 QoH cannot absorb changes to cost. This causes a warning on save and error on finalization.
  • Fixed: (case 25793) an issue where loading a master part that was serialized at one store but not at another might not load the serials correctly.
  • Fixed: an issue where, if the user edited a non-serialized master part and hit cancel, an incorrect 'no serial chosen' icon would be displayed.
  • Changed: when the user added a serialized master part, the user could not edit the serial # immediately. The user had to hit ok then edit serials later.
  • Fixed: (case 25948) job parts now always get a gl context set, even if accounting is turned off.
  • Fixed: (case 25816) is issue where launching the choose serial # dialog from the edit item dialog would cause an application crash.
  • Added: (case 18101) loading a part template now adds both the master item and its children to the document.
  • Fixed: a bug where kits and templates would never load their collection components onto the job part list. Now, kits simply load their component items onto the document (similar to POs and TOs). Templates load the parent item and all component items (similar to SOs, POs, and TOs).
  • Changed: the tax checkbox on inherent core charges and dirty core exchanges is now based on the currently selected tax item, similar to the SO screen.
4/8/2026

Release 16.2

Sales Orders (18786)

  • Fixed: (case 26548) an issue where customer messages set to "On Customer Added to Invoice" would not display on the invoice (though ones that were "Display Everywhere" were working correctly).

Release 16.1

EBay (17570)

  • Corrected issues with holds and invoices for ebay records.

Global Settings (17572)

  • Corrected issues with holds and invoices for ebay records.

Inventory Overview (17567)

  • Fixed: (case 25634) an issue where the user's choice of stores was being ignored when they would open the screen, possibly causing extra slowdowns if they didn't wish to review all stores' data.

Work Orders (18446)

  • Fixed: (case 25816) is issue where launching the choose serial # dialog from the edit item dialog would cause an application crash.

Release 16.0

Highlights

  • Better handling of exporting, graphing, and icons when right clicking on lists in the software.
  • New accounting summary page on the accounting screen. This tab is an interactive accounting report that shows all general ledger activity on a date range, grouped by account. This tool is aimed to make accounting research easier. The user can drill down into any group of activity, which is displayed on the accounting detail page.
  • To further improve accounting research, double-clicking an item on the account detail page will take the user to the corresponding document screen. In addition, the sales order, work order, and payment interfaces all have the ability to send the user back to the accounting screen to show all accounting history associated with the document.
  • Work order screen now stops the user if the WO they're finalizing is not properly configured to perform all accounting. In addition, dropdowns have been added to the accounting screen for easily configuring important accounting settings.
  • The QuickBooks export page now has an (optional) QB customer account field. The user can perform a lookup using this field to choose an account from QB that should be associated with all exported activity. If an account is chosen this way, it allows QB integrations to use special QB accounts, such as Accounts Receivable as well as Undeposited Funds.
  • The 'choose report to print' popup that occurs when printing some reports now has a 'favorite' checkbox that allows a user to choose a specific report they prefer to always sort to the top, making some reports faster to print.
  • Easier management of serials on purchase orders. It automatically pops up to ask the user to enter serials when they receive quantity. Also, its now faster and easier to mark serials as received.
  • The QB export screen now pro-actively tells the user if any accounts have not been mapped to quickbooks.
  • Sales have been added to the vehicle break even graph on the vehicles screen, making vehicle performance easier to understand.

General

  • Added: If there is more than one page of results to display on any multi-page list, the user is prompted to load all results before finishing the export/graph operation.
  • Added: when the user right clicks in any list control, there are now icons in the context menu corresponding to the export to csv/html/graph options.
  • Added: the 'execute saved graph template' submenu in the right click options now shows a graph type specific icon next to each saved chart. For example, a saved pie chart will show a pie chart icon.
  • Changed: by default now, list control tooltips only appear if the cell text is too large to fit into the cell.

Accounting

  • Added: (case 23714) double-clicking SO and WO accounting entries now correctly opens the corresponding document.
  • Renamed: various tabs on the accounting screen have been renamed to make their purpose clearer to those with bookkeeping experience.
  • Fixed: sorting of accounts in the chart of accounts to keep items in better numeric order.
  • Added: (case 24000) an initial version of a new accounting summary page. This tab is an interactive accounting report that shows all general ledger activity on a date range, grouped by account.
  • Added: double-clicking an entry on the accounting summary page will now bring the user to the detail page with all appropriate filters entered.
  • Added: account name on the activity detail page.
  • Added: auto-complete support for the account filter. The user can look an account up by either name or number.
  • Fixed: the accounting summary and detail tabs now correctly save column order and widths.
  • Changed: the activity detail page now splits amount into credits and debits columns for easier review.
  • Removed: the activity detail and summary pages now no longer refresh by default.
  • Added: activity detail page now shows gl transaction id and context. Also, the color alternation now alternates by transaction.
  • Fixed: an issue where activity summary would crash if gl entries were found with no corresponding accounts.
  • Changed: the account activity detail page no longer requires that the transaction data stay grouped together. Now they are grouped by transaction initially, but the user can still sort the items to reorder them.
  • Added: some footer totals to the accounting summary page.
  • Added: the accounting summary page now has an Impact column. This column shows the net effect on the account, showing a positive or negative value depending on whether that account type is increased or decreased by a net credit or debit.
  • Changed: moved the date ranges on the accounting summary and detail filters to the top of the filter areas, as it is the most important.
  • Added: (case 23776) the accounting detail page now loads all gl entry history before the user exports or graphs the contents of the list.
  • Added: (case 23999) support for the user sending payments, sales orders, and work orders to the screen to view all accounting detail associated with that document.
  • Fixed: an issue where the previous version of the Activity Summary by Account screen was incorrectly calculating the "Impact" column for revenue accounts. Now revenue accounts correctly project a positive impact due to credits.
  • Added: support for icons in right click menus.
  • Fixed: the date ranges on the accounting history detail and summary pages now handle date and times correctly.
  • Added: categories tab now has some dropdowns for the user to easily set several important settings for GL category, such as the gl category for EPA charges, shop fees, misc line items, and new part records.
  • Fixed: (case 25370) an issue where the user could not add a new GL category with the add button.
  • Added: the default gl category for returned dirty cores (used on the core management screen) can now be set on the accounting screen like other important gl categories.
  • Added: tooltips for the gl category setting dropdowns on the category page.

Approvals

  • Removed: a redundant permission for controlling whether a user can perform credit approvals.
  • Added: (case 24131) the price approvals tab now uses the list of stores the user has permission to approve prices at to build the list to display. This allows users to be granted permission to approve prices at more than one store.
  • Fixed: right clicking in the price approvals list now correctly shows options for opening the part/document/customer/etc.
  • Added: icons to right click menus.

Common Resources

  • Added: the user can now email images that are public, private, or both.
  • Added: the email field that was labeled 'Subject' was actually being put into the body of the email. There is now a subject field the user can change. There is now a proper custom email body template field as well.
  • Fixed: (case 24862) to bring tag printing in line with other interfaces, the "Unprinted" column has been renamed to Printed and had its meaning flipped. This is because parts and search now have columns that track whether a tag has been printed, instead of whether a tag still needs to be printed.
  • Changed: the EditChoiceDialog now has a more reasonable default message if the user does not enter a value before hitting ok.

Core Management

  • Fixed: if a company has accounting turned off, the core management screen will no longer complain that no default dirty core gl category has been chosen.
  • Fixed: right clicking on the customer core list now correctly shows the options presented in the export button.
  • Added: support for icons in right click menus.
  • Fixed: if the user is returning a core to a different store than it was originally created at, the core bank tag # will now correctly show up on the returned tab. This does not effect what happens when you inventory or discard cores.

Crystal Reports

  • Fixed: (case 25279) an issue where options in the 'choose report' popup were not strictly in alphabetical order.
  • Added: the choose report popup (report diambiguation dialog) has been reworked. It now shows orientation as well as whether that report is a favorite of the user's. Favorite reports are automatically sorted to the top.

Customer

  • Added: (case 23999) when the user opens a payment in the payment detail popup dialog, there is now a 'show document accounting' button that shows the user all accounting history for that payment.

Customer List

  • Fixed: (case 24597) an issue where certain symbols (including + and -) might cause an issue with smart searches if they were used in the middle of a word. This was disrupting the ability to easily search for phone #'s. Now, a - at the start of a word means "exclude this word", but a - in the middle of a word will be treated differently.
  • Added: (case 24246) for backwards compatibility, there is now a global setting that controls whether all customer smart searches will have an implied wildcard () at the end of what the user searched for. This is to make the search work more like it did before the recent speed improvements in version 14. This setting defaults to on and is located at "Customer List"->"Automatically add wildcard () to the end of smart searches".
  • Fixed: an issue where the smart search handler would add a * to the end of some fulltext searches despite the fact that putting a * after a quotation mark caused a FTS error.

Database

  • Fixed: (case 23582) the price acceptability functions no longer enforce rules for components of a Kit on sales orders. Also, the average cost of the kit parent item is now always considered to be $0, to match what is shown on the SO screen.
  • Added: (case 15836) fcreatecore_inventory now correctly reads the existing setting for default dirty core gl category and uses it for new core inventory records.
  • Changed: as per case 15836, several gl contexts have been renamed to make their purpose clearer.
  • Fixed: (case 24725) an issue where the fhasaging function might not exist on the database because the previous definition had a bug.
  • Fixed: an issue where serials would count as on hold even though the sales order line had the hold checkbox unchecked.
  • Deprecated: an unreferenced table called useraddress. It has been renamed to DEPRECATED_useraddress in case anyone has any data in that table. This will be removed at some point in the future.
  • Added: (case 24079) a permission that controls whether the user can refund a customer for a core charge (instead of performing an exchange).
  • Changed: (case 16011) the f_returnablesalesorderlincount no longer counts job lineitems as returnable.
  • Added: the cost discrepancy table now captures the GL category of the inventory at that moment.

Data Management

  • Changed: the buttons below the mappable fields have been renamed to more accurately describe their function.
  • Fixed: an issue where changing the custom mapping with the popup dialog would still say "Set Default". Also, instead of a radio button that says "None" there is now an option that allows the user to clear their custom mapping.

Ebay

  • Fixed: (Case 15883) PayPal Immediate Pay UI/Dialog behavior has been added.
  • Fixed: (Case 15883) Fixed an error when checking from the edit menu for PayPal Immediate Pay.

Global Settings

  • Fixed: a query for loading report print history is now compatible with mysql version 5.7.

Home

  • Added: all home screen property pages now automatically load all pages of results if the user attempts to export or graph the results. This is to help the user so they do not have to export each page of results separately.

Inventory Overview

  • Fixed: some weirdly sized buttons.
  • Added: icons to right click menus.
  • Added: the "All Items…" right click submenu now has all the normal right-click list control options (export to csv/html, graph, run saved graph) that other lists have.

ITSQLFramework

  • Fixed: an issue where, after the first database error a user saw, no other database errors would be reported.

Login

  • Fixed: a minor issue where, if the stores a user had access at was changed, it might not take effect until the next login.
  • Fixed: (case 24680) an issue where editing user groups would take a long time to save.

Master

  • Fixed: (case 24416) an issue where the code that changed comments in the query parser was dropping newlines when it should not, causing stored procedure/function definitions to be hard to read on client databases.
  • Changed: the URL that updates are downloaded from, to support future migration of this service.
  • Fixed: if the user is looking at the update download dialog and they do Actions->reset updates, the dialog is no longer closed and reopened.
  • Fixed: (case 25241) a crash that could happen if the user hit "Hide" on the update download dialog, and then the system automatically checked for updates again in 5 minutes.

Parts

  • Added: support for private attachments on emails.
  • Fixed: an issue where a collection might not load items that were status C or D correctly, despite the fact that they were still loaded as part of the collection on the SO.
  • Fixed: (case 24708) an issue where, if the user deselected all serials when performing an assembly breakdown, the quantity to disperse would get set to 0, even if integral parts were set to disperse.
  • Changed: (case 24708) in the assembly breakdown dialog, the serial # list is no longer a 'sticky list'. This is because selecting a different (single) serial # is a more common operation, so this makes the common case easier/faster.
  • Changed: the Q&A page now labels the 'Default' serial "Default Serial Q&A" to make its purpose clearer.
  • Changed: non-serialized parts no longer require that the user select the Default serial to edit Q&A. Also, non-serialized parts grey out the serial # list to make things clearer.
  • Changed: Option/Value are now labeled Question/Answer to correspond to the other interfaces.
  • Fixed: hitting "Add serial" button now automatically puts the user's focus into the new serial's serial #.
  • Added: icons to the add/remove serial # buttons.
  • Added: right click menu icons to the attachment interface. Also, rephrased delete attachment to unattach in the right click menu.
  • Fixed: (case 24835) a crash that could occur if the user closed and reopened the images popup.
  • Fixed: an issue where the gl category dropdown would not be editable if the user unchecked the "Automatic gl category" checkbox.
  • Fixed: (case 25040) an issue where the tooltip for the tag printed checkbox had not been changed to reflect the way those checkboxes work now.
  • Added: (case 893) when saving an aftermarket part, when the user is asked if they wish to replicate a part between stores, there is now a "Replicate to all stores" button for easy replication.

Purchase Orders

  • Fixed: (case 24383) an issue where loading items onto a PO or TO that had messages would cause the user's focus to move away from the list control.
  • Added: (case 25220) the icon for allowing the user to update inventory cost if it didn't match purchase price is now hidden if the user does not have permission to update inventory cost.
  • Fixed: (case 25151) an issue where loading and resaving a PO could cause the fax # saved with the vendor address to disappear from the PO. This could affect some reports that loaded vendor fax # from the PO.
  • Added: (case 25144) when the user changes the quantity received of a serialized lineitem on a purchase order, and not enough serials have been added, the add new serial popup will automatically be shown.
  • Added: if the user hits receive all on a PO, the serials are automatically marked as received.
  • Added: if the user adds a serial to a PO, and quantity received is already set, the serials are automatically marked as received.

Quickbooks

  • Fixed: layout of all quickbooks accounting pages to match the rest of the software.
  • Changed: the QB gl entries push tab now organizes its data into a tree based on day, since the user can only export an entire day at a time, making sorting and exporting easier.
  • Added: icons to all buttons on the QB accounting tabs.
  • Changed: the modal result dialogs are now a bit more descriptive.
  • Changed: the columns now resize appropriately to fit accounting data.
  • Added: 'wait' cursor during loading any QB accounting screen.
  • Added: doubleclicking rows in the journal entry push tab now shows the user the detailed entries that make up that row.
  • Fixed: an issue where the journal entry push page might crash if there is nothing to export.
  • Added: the journal push tab now has a "Mapped in QB" column. This says whether the account associated with the journal entry is mapped between ITrack and QB or not.
  • Added: (case 24843) there is now a field for entering the name of a QB customer and a verify button. If the user enters a valid customer name and hits verify, ITrack attempts to find that customer in QB. If this is successful, that customer is automatically associated with all journal entries pushed to QB. This makes it so that the user can push journal entries to accounts in QB that require a customer account, such as Accounts Receivable and Undeposited Funds.
  • Fixed: if the user hits push to QB and no journal entries' accounts are mapped, it no longer tries to push anything.
  • Fixed: a crash that could occur in ITrack if the system was unable to retrieve the account mapping from QB. Now an error popup is shown to the user instead to let them know what error QB returned.

Sales Orders

  • Fixed: (case 24383) an issue where loading items onto a SO that had messages would cause the user's focus to move away from the list control.
  • Added: (case 23535) there is now a warning if the user intentionally adds the same customer core return to the same invoice more than once.
  • Fixed: (case 23864) an issue where the configure adjustments dialog was allowing the user to edit fields on restricted adjustment types.
  • Added: configure adjustments dialog now remembers the user's last placement position.
  • Changed: the user can no longer change the price of child items in a kit. This has been done to match the fact that price acceptability is no longer enforced on those items, and instead only enforced on the parent of a kit.
  • Fixed: (case 24002) several other situations where inherent core refunds were using the Core Return gl context instead of Core Sale.
  • Fixed: the user can now delete inherent core refunds off of a sale, even if it has cost associated. (it was erroneously stopping the user because it thought it was an inherent core sale)
  • Changed: selling core items outright now uses the "Sale" context instead of "Core Sale", since that is reserved for inherent core charges.
  • Added: (case 23999) so long as the user has permission to open the accounting screen, there is now a right click option to view the currently loaded SO's accounting history on the accounting screen. This operation can also be done with the advanced drop down button.
  • Added: (case 23999) so long as the user has permission to open the accounting screen, there is now a right click option in the payment list to view that payment's accounting history on the accounting screen.
  • Added: right-click menu icons.
  • Fixed: the save options popup is now labeled Save/Print options and the cancel button is labeled "Cancel Save" now.
  • Fixed: (case 25042) an issue where the first item that would be added to an existing SO would get a quantity of 0 if the user did not explicitly set it to anything else.
  • Fixed: the configure payment methods dialog now correctly sets the user's focus into the new payment method for quick entry.
  • Changed: (case 24816) if a core charge has been rejected on the core management screen, the user can no longer perform a manual core exchange for that core charge. The user can still refund that charge.
  • Fixed: (case 25263) an issue where (while selling a vehicle) the "choose parts to leave in inventory popup" would end up putting cost onto the components left in inventory equal to the amount already allocated to these parts. This had the effect of doubling the intended allocation of cost onto the components left in inventory.
  • Fixed: the popup for choosing which vehicle components to leave in inventory now correctly calculates the remaining/unallocated vehicle cost. In addition, this popup now properly takes into account the company settings that control whether cost and/or average cost are considered when computing the amount of vehicle cost 'allocated' to parts off of that vehicle. If the user updates the 'cost' field in this popup, the difference will be put into average cost or cost, depending on which the company uses to store vehicle cost allocations. The cost field on this popup is not editable if the company does not consider either field when dealing with vehicle cost allocations. The tooltip on the cost column has been changed to more accurately reflect its use.
  • Fixed: if the user sells an assembly with components that are in stock (and chooses which 'child' components to leave in stock), the cost of the assembly on the invoice should no longer be set to 0.
  • Added: (case 24079) there is now a permission that controls whether the user can refund a customer for core charges. Without the permission, the user can still perform core exchanges. This is to help in situations where users accidentally refund core charges instead of doing an exchange.
  • Added: (case 21958) there is now a store setting that controls whether salespeople are allowed to return inventory on an invoice without selecting a return reason. (Note: the reason N/A counts as no choice with regard to this setting).
  • Changed: (case 16011) non-returnable items can no longer be returned on the same invoice it was sold.
  • Changed: (case 16011) job line items are no longer returnable. If there is a mistake with a WO it should now be voided or reopened.
  • Fixed: (case 24385) an issue where the "Dismantled True/False" vehicle search field was working backwards.
  • Fixed: (case 24461) an issue where wildcard searches in the model dropdown would search the part's 'actual' model name instead of the parent model name.
  • Fixed: (case 24835) a crash that could occur if the user closed and reopened the images popup.
  • Fixed: (case 24835) an issue where closing the image viewer between searches could cause ITrack to crash.
  • Fixed: the popup that would appear if there were no tags to print now correctly tells the user to uncheck (instead of check) the availability column to reprint tags.
  • Fixed: (case 25385) possible query errors that the user could encounter if they smart searched for a string containing "*/". Now, this will no longer cause an issue.

Transaction List

  • Fixed: (case 23881) when a saved transaction list filter is loaded or run, fields that were not saved in that filter (usually default fields) are now correctly unchecked.

Vehicles

  • Added: support for private attachments on emails.
  • Added: support for all 4 'flex' fields as information in vehicle emails.
  • Added: right click menu icons to the attachment interface. Also, rephrased delete attachment to unattach in the right click menu.
  • Fixed: (case 24835) a crash that could occur if the user closed and reopened the images popup.
  • Fixed: (Case 25369) The Vehicle break even graph tab now takes quantity into account.
  • Added: (Case 25369) The vehicle break even graph now shows sales.
  • Fixed: (Case 25369) The vehicle break even graph now correctly displays the graph when coming from the search screen.

Vendor List

  • Fixed: (case 24597) an issue where certain symbols (including + and -) might cause an issue with smart searches if they were used in the middle of a word. This was disrupting the ability to easily search for phone #'s. Now, a - at the start of a word means "exclude this word", but a - in the middle of a word will be treated differently.
  • Added: (case 24246) for backwards compatibility, there is now a global setting that controls whether all vendor smart searches will have an implied wildcard () at the end of what the user searched for. This is to make the search work more like it did before the recent speed improvements in version 14. This setting defaults to on and is located at "Vendor List"->"Automatically add wildcard () to the end of smart searches".

Work Orders

  • Added: (case 23999) so long as the user has permission to open the accounting screen, there is now a right click option to view the currently loaded WO's accounting history on the accounting screen. This operation can also be done with the advanced drop down button.
  • Added: right-click menu icons.
  • Fixed: (case 25184) when an WO that has not been finalized is loaded, all calculated values are now recomputed. This fixes an issue where WOs with work clock entries might not re-compute to have the right totals if the shop supplies are a percent of the labor charge.
  • Added: when the user saves a work order, its now saved as a single transaction. This means, if there are any errors while saving or finalizing a WO, the entire operation is reversed instead of leaving things halfway.
  • Changed: if accounting failed during a WO save, the WO save is now rolled back. This should prevent any issues where quantity is adjusted but accounting failed.
  • Changed: WIP and final accounting is now only refreshed if accounting is enabled to speed things up.
  • Added: (case 23298) if a user saves a WO, accounting is turned on, the user is now warned if any accounting would be impossible. This solves issues where epa charges/shop fees/labor/ or parts are not properly configured in accounting but have non-zero amounts to account. This is only a warning when saving, but an error if the user is attempting to finalize the WO.
  • Added: when performing a breakdown, the WO is now saved in a single transaction so that if anything fails, all changes will be rolled back.
Newer Older