Atrex 20 Change List

The following is a list of changes that have been made to the Atrex 20 package, broken down into functional areas.

Purchase Orders
Vendor RMAs
Reports / Export
Report Designer
Resolved Issues
Functionality Changes

Changes that have a ^ entry after them indicate that users with customized grid layouts will need to reset the specified grid to the window defaults to enable this feature.



  • New internal memory manager reduces memory allocation overhead by approximately 10%.
  • Minor adjustments to the global window creation and display to reduce the window creation overhead.
  • Reduced the lookup table load time during startup by approximately 30% when using maximum compression.
  • Improved transaction load from file performance when importing large numbers of items.
  • Reworked the scheduler refresh function to reduce redundant data access.
  • Redesigned the scheduler function to use locally cached data for improved loading performance.
  • Redesigned the scheduler reminder functions to greatly reduce the time required to calculate and display reminders for the currently logged in Atrex user.
  • Modified report criteria windows to use cached lookup information when available.
  • Modified PO receiving to improve performance when receiving thousands of serial numbers.
  • Modified the serialized editing window to improve initial display performance.


  • Changed the font used throughout most of the program to Segoe UI for better readability.
  • Added ability to "Retry" connecting to the data if the initial connection was unsuccessful rather than having to close and restart Atrex.
  • Added search capability to stock code, vendor, and customer notes entry fields via Ctrl-F or F3 (repeat search) on the respective windows.
  • Added search capability to the common view notes dialog via Ctrl-F or F3 (repeat search).
  • Lookup lists have been modified to be case insensitive to prevent unwanted duplicates or sorting issues due to character case.
  • The load from file function select path for transactions is now semi-persistent and will remember the folder last selected as long as Atrex is open.
  • Edge browser runtime will be installed, and Edge will be used for any embedded browser usage in Atrex or the credit card processing modules if it is available.

Field Sizes

  • Modified the stock code online product name field to be user sizeable.


  • SMTP Email sent confirmation popup dialog with the OK button has been replaced with an alert window with a 5 second duration to improve work flow.

Credit Card Processing

  • Added the ability to specify an amount threshold for which credit card signature is required.
  • Improved handling of card type switching (Credit vs Debit) when the user selects a different card type from the processing terminal.
  • Added code to prevent insecure card entry if a card processing module is missing on workstation.
  • Added support for WorldPay TriPOS integration, to allow for driver-less devices. (Available for US clients only)
  • Moved CVV entry for card not present to the online portal for the selected payment module.
  • Added ability to delete. with option to void, credit card transactions immediately from within the transaction.
  • Added ability to pre-authorize cards for sales orders using the TriPOS integration.



  • The inventory oversell check will now use the Available quantity instead of the on-hand quantity.
  • Added right click option from the transaction item list to update all item prices to the last price sold for the current customer.
  • Added the ability to include stock code custom fields on transaction Windows. ^
  • Added ability to use Excel or Open Office spreadsheets for the file source of transaction Load from File.
  • Added ability to filter the common transaction selection window by transaction status (Open, Complete, Void, etc).

Recurring Invoices

  • Checking the "Charge to Card" option will immediately prompt for card selection.


  • Added a separate company name field for customer records.  ^
  • Added new "Name" field to the customer table. This will show the company name if it is populated or the combined Last Name, First name in a single field. ^
  • Special pricing by category can be at any category level.
  • Category, terms, and ship via lookup lists have been changed to selection only to prevent accidental addition of incorrect values.
  • Added ability to access category, terms, and ship via maintenance functions via the function menu of the customer information window.
  • Added optional expiration date to individual customer special pricing entries.


  • Moved separate category and subcategory fields to a linked category tree to prevent accidentally linking products to invalid hierarchies.
  • Modified category management to allow for categories up to 4 levels deep.
  • Sale price items by category can be at any category level.
  • Added new Tag field to allow for grouping and searching for products by specific terms or topics, especially helpful when integrating with WooCommerce.
  • Moved product description to be the first field in on the general page.
  • Reworked serial table to use transaction number and transaction type for better readability. ^
  • Removed direct editing of transaction number on the serialized editing window and replaced this functionality with a right click option. This will allow for toggling items in and out of inventory only for items that it is safe to do so.
  • Removed direct editing of RMA number on the serialized editing window,and added a right click option to allow the removal of individual serial numbers from an RMA and adjust the OnRMA quantity.
  • Changing the cost via the serialized editing window will update the serialized cost on the associated transaction item.
  • Added transaction date to the popup hint for the invoice or service order transaction information to the serialized editing window.
  • Added ability to view stock code service quote history.
  • Category, manufacturer, and location lookup lists have been changed to selection only to prevent accidental addition of incorrect values.
  • Added ability to access category, manufacturer, location, and tag maintenance functions via the function menu of the stock code information window.

Purchase Orders

  • Added ability to import cost as part of PO receiving load from file function.
  • Added a prompt to replace the standard shipping notes from the vendor record when changing the vendor on a PO.
  • Added ability to filter the PO selection window by the status column (Open, Complete, Void, etc).
  • Increased default date range for PO selection window from 15 to 90 days.


  • Added ability to edit vendor codes from the vendor editing window.

Vendor RMAs

  • Added multi-select capabilities on serialized receiving, along with ability to set all selected to received or repaired status.


  • Available add on module to support digitalPersona U.are.U 4500 for fingerprint login.
  • User logins using fingerprint are indicated in the audit trail by the presence of (FP) in the detail column for additional security detail

Reports / Export

  • Report criteria for customer name uses the new "Name" field.



  • Increased maximum search year value from 10 to 25.
  • Added expression handling in the user defined field lengths to allow for calculations such as SN_NAME + 10, or SN_NAME * 2.
  • Added option to control when credit card tokens are added/updated on customer records.


  • Modified stock code image import to handle multiple images per product.
  • Added ability to import directly from Excel (.xls and .xlsx) spreadsheets.
  • Added ability to import directly from Open Office (.ods) spreadsheets.
  • Added auto-mapping for delimited text and spreadsheet sources using the values from the first imported row.

Report Designer

  • Updated print engine to version 21.
  • Improved excel export column alignment consistency when exporting data with memo fields or null values.
  • Added popup editor for search criteria value expression editing.

Resolved Issues

This section lists corrections to issues in the program that were identified after the last build of v19 and fixed during the development of v20.

  • Minor alignment cleanup for Payee History (AP1003) report.
  • Modified program start date retrieval to be AFTER NIST NTP internet time retrieval to prevent date/time calculation issues.
  • Fixed customer service history popup menu functions to properly point to both Service Orders and Service Order Quotes.
  • Fixed stock code merge function to properly handle image sequence numbers if there were images on both the source and target stock codes.
  • Creating payables from PO receiving sessions where with negative quantity items were present, was creating the receivable with an incorrect amount.
  • Scheduler Resources and Labels were not sorting correctly on the event criteria and event windows.
  • Sales order void function was not clearing the ItemGUID field for serial numbers linked to the voided transaction.
  • Serial numbers pre-assigned to orders but not shipped while partially shipping orders with copy unshipped option enabled, was linking the pre-assigned serial numbers to the unshipped serialized items on the invoice.
  • Fixed filter error when attempting to limit the audit detail view to a specific table.
  • Fixed record range error on the stock code selection window if a stock code referenced a sale price entry that no longer exists in the sale price table.
  • Restricted access to inventory worksheet difference report and update function to only users with rights to view inventory costs.
  • Editing a return invoice where non-cash payment was made AND change was returned was incorrectly calculating the balance on the payment window.
  • Background company information updates were not fully thread safe, potentially causing 506 errors on C/S connections.
  • Users with access rights to only create rapid invoices were also able to create regular invoices.
  • Background deferred update processing was only being initiated during startup rather than as needed.
  • New category, manufacturer, and location values added while modifying stock codes with cached updates enabled were not available for selection until the stock code information window was closed and re-opened.
  • Once the transaction edit days value was changed from the default -1, users were unable to change it back to the default value.
  • Repeatedly attempting to adjust product pricing during PO receiving was improperly only adjusting the first listed product pricing after the initial processing.
  • Modified DLL interfaces for credit card and signature capture plug-ins to use string pointers instead of string objects to prevent repeated memory leaks.
  • Restricted modification of master customer and tax category values when editing the rapid sale customer.
  • Manually entered BCC values were being excluded if there was a default BCC configured in either the user or company settings.
  • Modification of some tax values on transactions were not triggering a tax recalculation.
  • Compression was not being enabled properly between the database client and server, resulting in slow WAN data exchange.
  • Card processing history window was showing the requested card type, not the actual processed card type if it was changed during processing.
  • Hosted checkout (Worldpay Datacap) window initialization was unable to establish a secure connection using TLS 1.2 on some systems.
  • Transaction quantity fields not allowing decimal input when windows locale is set to Vanautu.
  • Inventory merge function was failing silently if the merge created a duplicate serial number.
  • Credit card entry windows were not properly identifying UnionPay cards (Mastercard starting with 8).
  • SO and SOQuote clone functions were not properly resetting serialized items on jobs other than the first job.
  • RMA Serialized receiving throwing duplicate key violations if the same serialized item is on a RMA multiple times.
  • Labor Taxed and GST Labor Taxed fields were not being set or retrieved properly from the SO Tax window.
  • Canceled cloned invoices were not showing the proper total amount in the audit trail.
  • Users without the security rights to edit purchase orders were able to add and delete items during a PO receiving session.
  • Reprinting receiving labels function was hanging if any items had a received quantity less than 1.
  • Cancel prompt on inventory label print window was ignoring the user selection if they clicked no.
  • Scheduler event window was saving the location indicator rather than the selected address.
  • Users without access rights to change transaction prices were able to use the update to current and update to last price functions.
  • Code sale pricing by mfr was pulling the price for the first matching item for the mfr rather than the specific stock code selected.
  • High level update to current prices for orders and quotes was not updating the global discount amount if it was present.

Functionality Changes

This section lists changes to the program that either remove or substantially change previously existing behavior within the Atrex package.

  • If upgrading from v16 or older. The transaction line item delete function now behaves consistently within both new and edit functions. Line items when deleted, are deleted permanently without the ability to undelete them. This immediately releases the serial numbers associated with the deleted items and allows them to be added to a different stock code instance or container if they were added to the deleted item during the current editing session.
  • If upgrading from v13 or older, all payment information on invoice, order, service orders, and the AR tables has been moved to a separate table. To help reduce the impact of these changes, a optional compatibility mode is present to allow most reports designed for Atrex 11, 12, and 13 to function properly. Once a report is opened and modified in Atrex 20, it must be manually updated to accommodate the new database structure.
  • Windows XP and 2008 operating systems are no longer supported.
  • Support for credit card processing via PC Charge and IC Verify has been removed.
  • Support for the MagTek iPad device has been removed.
  • When moving from a plain text credit card processor, the card tokenization process will only tokenize cards on open service orders, sales orders, or cards already on customer records.
  • Removed unused SOJob column from the serial number table.
  • Invoices created by shipping orders with pre-paid amounts can no longer be voided. In order to properly adjust the customer account, a sales return must be performed.

If you are upgrading from a version of Atrex earlier than 19, version 20 will also include the changes that went into versions Atrex 8, Atrex 9, Atrex 10, Atrex 11, Atrex 12, Atrex 13, Atrex 14, Atrex 15, Atrex 16, Atrex 17, Atrex 18 and Atrex 19.

Millennium Software, Inc.

PO Box 607
West Linn, OR 97068

Phone: (925) 828-5892

Our Commitment

We strive to deliver the highest quality software and support that exceeds the expectations of our customers, at a reasonable price.

If you have any questions about our products or services, please do not hesitate to contact us.

Privacy Policy

Millennium Software respects your right to privacy.

Our privacy policy is quite simple: Millennium Software will not sell or share your contact information or data with any third party without your permission.