Please visit support.cavallo.com

Start a conversation

SalesPad Desktop Release Notes


Version 5.5.2
Release Date 10/16/2024


ADDED: Item Maintenance: The Purchasing UofM is now accessible. NOTE: If there is a customized layout, this field may need to be added manually via Layout Customization.
ADDED: Sales Inventory Lookup: There is now a Clear button that will clear all search fields.
ADDED: Inventory Lookup: There is now a Clear button that will clear all search fields.
ADDED: Settings: EDI Send Exploded Kit Package Components On 856 - When disabled, exploded kit package components will not be sent on the 856. Instead, the package header line will be sent with the original kit item number, component pricing will be rolled up into the package header pricing, and summary information will be adjusted accordingly. (Default: True)
ADDED: Settings: EDI Send Exploded Kit Package Components On 855 - When disabled, exploded kit package components will not be sent on the 855. Instead, the package header line will be sent with the original kit item number, component pricing will be rolled up into the package header pricing, and summary information will be adjusted accordingly. (Default: True)
ADDED: Security: Sales Document Entry: Post Save Script - C# script that executes after a document has been saved. NOTE: Changes made in the post-save script will not be saved unless a Save is explicitly called, and the sales document may require a Reload if values are being updated by other processes.


UPDATED: Import Manager: The Sales Document import no longer requires a Sales Doc Num.
UPDATED: Import Manager: The Sales Document import will now import pricing and audit the price that would have been assigned during manual document entry.
UPDATED: Import Manager: The Sales Document import now only requires Customer Num, Sales Doc ID, Sales Doc Type and Item Number when importing documents with line items.
UPDATED: Import Manager: The Sales Document import can now add sales lines to existing documents.
UPDATED: Import Manager: The Sales Document import will now create an audit record on the sales document and will display success results when the import completes successfully.
UPDATED: Import Manager: The Sales Document import no longer checks for duplicate records.
UPDATED: Import Manager: The Customer import will now create an audit record on the affected customer and customer address records and will display success results when the import completes successfully.
UPDATED: Import Manager: The Case Tracker (aka Returns Tracker) import will now create an audit record on the case and will display success results when the import completes successfully.
UPDATED: Import Manager: The Prospect import will now display success results when the import completes successfully.
UPDATED: Import Manager: The Inventory Adjustment import will now display success results when the import completes successfully.
UPDATED: Import Manager: The Item Master import will now create an audit record on the item record and will display success results when the import completes successfully.
UPDATED: Import Manager: The Kit Component import will now create an audit record on the affected kit and component item master records and will display success results when the import completes successfully.
UPDATED: Import Manager: The In-Transit Transfer import will now create an audit record on the ITT and will display success results when the import completes successfully.
UPDATED: Import Manager: The duplicate record prompt message has been updated, and the Yes option will no longer remove one of the duplicate records. The hyperlink is also properly themed.
UPDATED: Create Returns: When creating a return from a posted invoice, the invoice's header UDFs will now copy over to the return. Note that line UDF copying was already supported.
UPDATED: Create RMA: When creating an RMA from a posted invoice, the invoice's header UDFs that match RMA UDFs will now be copied over to the RMA. Note that line UDF copying was already supported. (Extended Module: Returns Management)
UPDATED: Item Maintenance: The Copy From Item label and Class ID label messages will now show up as blue information icons on the control to cut back on excess space. NOTE: Customized layouts may need to be updated.
UPDATED: Application: General speed improvements when there is a large number of UDFs.
UPDATED: Vendor Card: Speed improvement when loading the vendor's Open Purchase Orders, most notable when there is a large number of UDFs.


FIXED: Import Manager: The Sales Document import will now properly import sales line UDFs.
FIXED: Import Manager: The Prospect import will no longer result in an object reference error in some scenarios.
FIXED: Import Manager: The In-Transit Transfer import will no longer result in an object reference error if a Document ID is supplied on the import. (Introduced: 5.4.12)
FIXED: Application: Resolved an issue around newer license records not being loaded correctly when logging into SalesPad, resulting in unnecessary calls to the license server.
FIXED: Create Returns: Reduced the number of database hits when loading this screen, which may improve loading speed.
FIXED: Returns: Splitting a return will now retain fulfillment for bin-tracked items.
FIXED: Database Update: In a SQL instance that uses Binary Sort Collation, there will no longer be an error on spvAssemblySerialLot around STATUS. (Introduced: 5.4.16)
FIXED: Customer Card: Adding a new column to the Open Sales Documents grid no longer requires the refresh button to show the new column’s data.
FIXED: 856 Shipment: Corrected an issue where the kit ship quantity was not being calculated correctly when its components were split across multiple packages. (Extended Module: SalesPad EDI)


Version 5.5.1
Release Date 9/16/2024


REMOVED: ShipCenter Shipping Calculator: The Markup Script hook was removed as it was never actually implemented. (Extended Module: ShipCenter)


ADDED: Application: Support for Dynamics GP 18.7. NOTE: This was the build that was tested, older versions may still work properly.


UPDATED: Reports: Customer AR Statement (National Accounts): This report has been updated to aggregate the parent's aging bucket information with the children's aging bucket information.
UPDATED: ShipCenter Shipping Calculator: The form is now properly themed.


FIXED: Returns Tracker Line Selector: Dropship serial/lot-tracked items will now properly show as lines that can be selected when creating a Returns Tracker case from a sales document. (Extended Module: Returns Tracker)
FIXED: Inventory Transaction Workflow: The Print option now displays inventory transaction report names.
FIXED: Print Inventory Transaction Report: The various security report pickers are properly filtered.
FIXED: Inventory Transactions: The Print dialog will no longer show in-transit transfer reports. NOTE: This could be filtered through corresponding securities.
FIXED: In-Transit Transfer: The Print dialog will now only show in-transit transfer reports. NOTE: This could be filtered through corresponding securities.
FIXED: ShipCenter Shipping Calculator: There will no longer be an "An item with the same key has already been added." error on this tab if there are license plate templates with the same name. (Extended Module: ShipCenter)
FIXED: ShipCenter Shipping Calculator: The Get Rates button will no longer throw a "Must specify valid information for parsing in the string." error when the Freight Class is blank. (Extended Module: ShipCenter)
FIXED: Sales Document Splitting: If a deadlock occurs during splitting it should no longer leave the original order open and only create one of the split documents. (Introduced: 5.4.8)
FIXED: EDI 810: When the EDI Send Exploded Kit Package Components On 810 setting is enabled, package component unit prices will now be rolled up to the top package line on the 810 regardless of how the Set Package Component Price to Zero setting is set. (Extended Module: SalesPad EDI)


Version 5.5.0
Release Date 9/4/2024


ADDED: Setting: Application: Disable Deadlock Retry Log Messenger - A list of System Users or Groups that will not see the Log Messenger Deadlock Retry messages. System Logs will still be saved.
ADDED: Settings: EDI Send Exploded Kit Package Components On 810 - When disabled, exploded kit package components will not be sent on the 810, and package component pricing will be rolled up to the top package line's information on the 810. (Default: True)


UPDATED: Application: DevExpress has been updated to version 24.1.5.
UPDATED: Application: The Search field in the main bar is now to the right of the Quick Access items.
UPDATED: Sales Documents: The Deadlock log messages will now include the Sales Document Number, Sales Document Type and the internal Save Action, to assist in troubleshooting.
UPDATED: Service: Added a check for whether the document exists when attempting to create a shipment using the ProcessSingleShipment endpoint.


FIXED: Quick Reports: The save dialog for the Export To Excel action will now properly show the Quick Access section on certain Windows versions. NOTE: This was a DevExpress upgrade fix.
FIXED: Sales Document Transfer: When transferring sales documents, the original document should now properly move to history if a deadlock was encountered. NOTE: This was sporadic behavior and not all documents would have this issue. (Introduced: 5.4.8)
FIXED: Deadlock Max Retries: There is better checking if this setting is ever set to zero or less than zero, and it will instead act as if the value is one. If this was set to zero it would prevent documents from saving and properly obtaining a document number. (Introduced: 5.4.8)
FIXED: Automation Agent: The Transfer To Invoice job had an extra SQL rollback transaction if a SQL exception was thrown, which could cause unforeseen problems such as a zombie SQL transaction. (Extended Module: Automation Agent) (Introduced: 5.4.4)
FIXED: Application: The error “A procedure imported by ‘CefSharp.Core.Runtime.dll’ could not be loaded" will no longer occur on Windows Server 2012 R2 or various other older Windows operating systems. NOTE: The Access Token Maintenance screen will need to use the ALT+click method to retrieve a token, along with copying the URL (see documentation). (Introduced: 5.4.15)


Version 5.4.16
Release Date 8/21/2024


ADDED: Security: Sales Line Availability: On Load Script - C# Script that executes when you open the Sales Line Availability plugin.
ADDED: Security: Routing Sequence Entry: Default Work Center ID - When creating a new routing sequence, this work center will be the default selected value.


UPDATED: Assembly Allocation: This plugin now supports creating the serial/lot fulfillment for the finished good item, which previously needed to be handled within GP before posting the assembly.
UPDATED: Create Assembly Plugin: This plugin can now run in workflow via Automation Agent or Remote Library.
UPDATED: Create Assembly Plugin: There is now a Sales Document audit if no assembly was created.
UPDATED: Application: UPS REST API processing errors now include additional information, such as inner exception and a stack trace. (Extended Module: UPS)
UPDATED: Application: FedEx REST API processing errors now include additional information, such as inner exception and a stack trace. (Extended Module: FedEx)


FIXED: Sales Document EDI Invoice 810: If no Trading Partner or mapping is set up, this plugin will no longer send the document to the Review batch or stop workflow forwarding. (Extended Module: SalesPadEDI) (Introduced: 5.2.44)
FIXED: Sales Document EDI Order Acknowledgement 855: If no Trading Partner or mapping is set up, this plugin will no longer send the document to the Review batch or stop workflow forwarding. (Extended Module: SalesPadEDI) (Introduced: 5.2.44)
FIXED: Sales Document Printing: Printing will no longer result in an "Invalid object name 'spvSquareSalesDocumentPaymentLink' " if you are not licensed for Square Payments. (Introduced: 5.4.14)
FIXED: Routing Sequence Entry: Setup Labor Code and Labor Code will now filter dropdown options based on the user’s input in the editor.


Version 5.4.15
Release Date 8/6/2024


ADDED: Receiving: Lot Attributes - Added a Lot Attributes tab that allows users to set a line's lot attributes and manufacturing and expiration dates at the time of receiving.
ADDED: Receipt Transaction Entry: Serial/Lot Receiving: Lot Attributes - Added a Lot Attributes tab that allows the user to set a lot’s attributes and manufacturing and expiration dates when entering a receipt.
ADDED: Security: Group Pricing: Restrict To Items Tab - Restricts users to only be able to edit the information within the Items tab. Requires the Can Edit Group Pricing security to be enabled. Defaults to 'False'.
ADDED: Security: Group Pricing: Read-Only Groups - Restricts users from editing group pricing information for the specified groups. Note that editing other groups requires the Can Edit Group Pricing security to be enabled.


UPDATED: FedEx Address Validation - If address validation encounters an error, it will now offer to show the Validate Address popup. The popup will only show the original address and the error, as there is not a suggested address from FedEx for this scenario. The Use Original button can be used to mark the original address as valid if necessary. (Extended Module: FedEx)
UPDATED: Application - The internal web browser (CefSharp) has been updated to version 119.4.3.


FIXED: Access Token Maintenance: Generating a token for a UPS service will no longer give an Access Denied message when trying to log into UPS.
FIXED: FedEx Address Validation - Address validation will no longer send the address's state or province to FedEx for countries besides United States and Canada, as state is not a required field for other countries and trying to send it often leads to errors such as "State/province code too long". (Extended Module: FedEx)
FIXED: Google Zip Query Handler - When validating a zip code, the application will no longer freeze. (Introduced: 5.4.0)
FIXED: Shopify Integration: Order Import - There will no longer be an "Invalid bulk query: syntax error, unexpected Invalid token ("\"")" error when importing orders. (Extended Module: Integration.Shopify)


Version 5.4.14
Release Date 7/25/2024


ADDED: Sales Document Entry: Square Create Payment Link: Workflow-enabled plugin that generates a Square payment link for the sales document.
ADDED: Sales Document Entry: Square Cancel Payment Link: Workflow-enabled plugin that cancels the Square payment link for the sales document.
ADDED: Sales Document Entry: Square Retrieve Payment Link: Workflow-enabled plugin that retrieves paid Square payment links and creates the SalesPad/GP payment transaction for the corresponding sales document.
ADDED: Sales Document Entry: Square Move Payment Link To History: Workflow-enabled plugin that moves payment link records for the sales document from the open spSquareSalesDocumentPaymentLink table to the historical spSquareSalesDocumentPaymentLinkHistory table.
ADDED: Automation Agent: Square Payment Link: A new platform has been added to retrieve paid Square payment links and create the SalesPad/GP payment transaction for each corresponding sales document. (Extended Module: Automation Agent)
ADDED: Security Editor: Sales Document Payments: Allow Square Payment Links: Allows users to manually create and retrieve Square payment links from the Payments screen.
ADDED: Settings: Square - Payment Link: Allow Apple Pay - Indicates whether Apple Pay is accepted at checkout. (Default: False)
ADDED: Settings: Square - Payment Link: Allow Google Pay - Indicates whether Google Pay is accepted at checkout. (Default: False)
ADDED: Settings: Square - Payment Link: Default Cash Receipt Batch ID - Default Batch ID used when creating a cash receipt through the Square payment link.
ADDED: Settings: Square - Payment Link: Default Currency ISO Code - Default ISO Code sent if the document currency is not found.
ADDED: Settings: Square - Payment Link: Link Name Format - Format of the link name that is displayed to the customer when they pay a Square payment link.
ADDED: Settings: Square - Payment Link: Order Credit Card Payment Type - The payment type to use for payment link credit card payments for sales orders. (Default: Credit Card Payment)
ADDED: Settings: Square - Sandbox: Square Credit Card Mappings - Credit card information that will be used in the sandbox environment if the payment card information is not returned from Square.
ADDED: Sales Document Reports: Reports that are based on the SalesDocument dataset will now have access to the SquarePaymentLinks dataset.


UPDATED: Import Manager: Inventory Adjustment Import Definition: Reason Code is now an available field for importing.
UPDATED: ShipCenter Shipping Calculator: The Shipping Method column is now available from the Rates grid’s Column Chooser. (Extended Module: ShipCenter)
UPDATED: Setting: Shipping Source ID - This setting is no longer required when the Restrict Shipping Methods setting is enabled. The default value has been changed from 1 to 0. (Extended Module: ShipCenter)
UPDATED: Manufacturing Bom Entry: The BOM number will no longer be editable for an existing BOM. This was causing various issues. (Extended Module: Manufacturing)
UPDATED: Routing Entry: Routing Sequence Dockable Plugin: Alt + N can now be used as a shortcut to create a new routing sequence. (Extended Module: Manufacturing)
UPDATED: Routing Entry: Routing Sequence Dockable Plugin: After creating a new routing sequence, the top-left-most control in the Routing Entry screen will be automatically selected for input. (Extended Module: Manufacturing)


FIXED: PayLink: There will no longer be an “Object reference not set to an instance of an object” error when the notification phone is not set.
FIXED: Import Manager: Service Transfer: Fixed an issue where the Transfer From Quantity needed to match across lines for them to be considered for consolidation. Now the resulting line will sum the Transfer From Quantity across all the consolidated lines.
FIXED: Quick Report: An un-tabbed Quick Report that is using the Display In Tab functionality for any search fields will now properly update the text of the form for new search parameters.
FIXED: Shopify: Order Update Export: If an item is not directly assigned to a tracking number via the Shipment tab, the Shopify fulfillment for the item will include all of the sales document's tracking numbers. NOTE: If the Order Update Export runs multiple times for the same sales document, the sales document has new tracking numbers and fulfillments since the last export, and the new fulfillments are not directly assigned to any tracking numbers, the Shopify fulfillment will only include the new tracking numbers. (Extended Module: Shopify)
FIXED: ShipCenter Shipping Calculator: The Set Freight button is now read-only for historical and voided sales documents. (Extended Module: ShipCenter)
FIXED: Routing Entry: Routing Sequence Dockable Plugin: Resequencing after adding a new sequence that adds a place value to all other sequences will no longer result in the new place value being removed, so that the sequences will now display in the proper order. (Extended Module: Manufacturing)
FIXED: Routing Entry: Opening and closing this screen without making any changes will no longer prompt the user to save. (Extended Module: Manufacturing)


Version 5.4.13
Release Date 7/9/2024


ADDED: Pacejet: Void Pending Shipment: There's a new plugin called Void Pending Shipment (also known as Pacejet Void Shipment in the Security Editor) which can void shipments which are currently on Pacejet's Shipping Workbench. This plugin can also detect if a user voided the shipment and set the Pacejet Shipment tab's Shipment Status to Voided so that the Process Shipment plugin can create a new shipment for the sales document. (Extended Module: Pacejet)
ADDED: Security: Pacejet Void Shipment: Failure Queue - The queue to move a sales document to if this plugin runs via workflow and tries to void its shipment but fails. (Extended Module: Pacejet)
ADDED: Security: Pacejet Void Shipment: Forward Sales Document If Not In Pacejet - If set to 'True', a sales document will still forward to the next queue if it does not have a shipment in Pacejet or if the Pacejet Shipment tab's Shipment Status is Voided. (Extended Module: Pacejet)


UPDATED: Pacejet: Process Shipment: If the Pacejet Shipment tab's Shipment Status is Voided, running this plugin will create a new shipment instead of giving an error or warning. (Extended Module: Pacejet)
UPDATED: Pacejet: Process Shipment: When manually running this plugin on a sales document which already has a shipment in Pacejet, this plugin will more clearly ask the user how to handle any conflicts between the two systems. (Extended Module: Pacejet)
UPDATED: Script Editors/Security Script Manager: The Script Helper will now remember its dock state and splitter position.
UPDATED: Script Editors/Security Script Manager: There is a new splitter between the parameters and script text, and the position will be remembered. The parameters field is also properly themed.
UPDATED: Script Editors: The window size will now be remembered.
UPDATED: Application: The ConvertToInt16/32/64 utils will now properly convert enum values if they are integer based.
UPDATED: Setting: The EDI Treat Schema Validation Errors As Warnings setting now explicitly says "Outbound". We do not have a way to ignore inbound schema errors, those need to be fixed through SPS. (Extended Module: SalesPadEDI)
UPDATED: Data Cross Reference: A new column has been added to the Trading Partner row called 204 Shipping Methods. This field is specific for setting up outbound 204 documents and allows the user to select multiple shipping methods that will be used to determine which Trading Partner sent on these types of documents. (Extended Module: SalesPadEDI)


FIXED: EDI: The Shipping Label Script Helper will now properly show the fields. (Extended Module: SalesPad EDI)
FIXED: Quick Reports: Exporting Quick Reports formatting will no longer have an extra blank row, data types will be General, Boolean columns will also properly be 0 or 1, and column width will not be squished. NOTE: If there are errors for Conditional formatting around "Input string was not in a correct format", then the SQL data returned must be corrected for NULL values. (Introduced: 5.3.16)
FIXED: Application: Quick Access bar items will now save if SalesPad is closed. NOTE: Logging out first before closing will save any changes to the Quick Access Bar. (Introduced: 5.4.3)


Version 5.4.12
Release Date 6/24/2024


ADDED: Import Manager: Added a copy button that will create a copy of the selected import definition along with any mappings that have been created.
ADDED: Security: Import Manager: Can Copy Import Definitions - When enabled, users can copy import definitions in Import Manager. (Default: True)
ADDED: Sales Monitor: There is now a Group/Sort - WF Seq + Batch option.
ADDED: Security: Sales Monitor - Show Doc ID in Group By Summary: When disabled and using the Group/Sort By Batch + Doc ID option, the Document ID will no longer be shown in the group summary.
ADDED: Setting: Import Manager - Purchase Receipt Inventory Serial Num Import: Purchase Receipt Inventory Serial Import Line Consolidation - For import definitions with a type of PurchaseReceiptInventorySerialNum, configure whether rows which have the same line-level and header-level information are consolidated into one line item. Import definitions not configured here will default to creating one line item per spreadsheet row.
ADDED: Setting: Import Manager - Inventory Adjustment Import: Inventory Adjustment Import Line Consolidation - For import definitions with a type of InventoryAdjustment, configure whether rows which have the same line-level information (except quantity) are consolidated into one line item. Import definitions not configured here will default to creating one line item per spreadsheet row.
ADDED: Setting: Import Manager - Purchase Receipt Inventory Serial Num Import: Purchase Receipt Inventory Serial Import Consolidation - For import definitions with a type of PurchaseReceiptInventorySerialNum, configure whether receipts for the same vendor should be consolidated when they are for different purchase orders. Import definitions not configured here will default to creating one receipt per PO.


UPDATED: Application: An "Error while generating exception string" will now contain the Stack Trace for better troubleshooting.
UPDATED: Import Manager: Service Transfer: The Service Transfer import definition can now be used to import serial, lot, and bin fulfillment information while importing.
UPDATED: Import Manager: When importing using ServiceTransfer and ServiceTransferLine import definitions, there will now be better checks on the data being imported along with better error messages to help determine what any issues are.
UPDATED: Import Manager: Purchase Receipt Inventory Serial Num: If two or more spreadsheet rows have a blank Receipt Num, they will only use the same purchase receipt if all of the receipt header fields match in the spreadsheet. The two rows must also have the same PO Number or ITT Doc Num if applicable, but this part of the check can be disabled by selecting the import definition in the Purchase Receipt Inventory Serial Import Consolidation setting.


FIXED: Sales Document Payments: When crediting a deposit, the reverse journal entry will now have a transaction date of the current date. Previously, the transaction date would be the date the original deposit was created. NOTE: This is a procedure change to spptaCreateSopPaymentInsertRecord_SalesPad.
FIXED: HubSpot: Customer Export: Exporting contacts to a company which is already in HubSpot will not give an "Incorrect syntax" error if the company has 0 contacts linked to SalesPad contacts. (Extended Module: HubSpot)
FIXED: HubSpot: Company imports will not give an "An item with the same key was already added" error if a prospect linked to a HubSpot company was converted to a customer. (Extended Module: HubSpot)
FIXED: Integrations: Matching settings will skip queries which only involve empty strings. For example, Shopify's Customer Bill To Matching setting can be configured to match the Shopify address's Email and Phone to a SalesPad contact's Email and Phone. If the Shopify address's Email and Phone are both blank, previously that address could match with any SalesPad contact which has a blank Email and Phone. Now, the matching process will skip that query because the Email and Phone are both blank.
FIXED: Application: Various forms will close faster if the User Field tab has been accessed first.
FIXED: User Defined Fields: Editing a User Field and tabbing out is faster now.
FIXED: Database Update: In a SQL instance that uses Binary Sort Collation there will no longer be an error on sppMiscInventoryAllocation around RTV_TYPE. (Introduced: 5.4.7)
FIXED: Cash Receipts: In a SQL instance that uses Binary Sort Collation, RM document types, 'Sales/Invoice' will show up properly. NOTE: This is a fix to a SQL function: spfRMTransactionType.
FIXED: Automation Agent: There will no longer be a "Purging History: The given key was not present in the dictionary." Windows Event Viewer error in the event that certain jobs are no longer valid/available. (Extended Module: Automation Agent)
FIXED: Automation Agent: There will no longer be a "Failed to start Scheduler: The given key was not present in the dictionary." Windows Event Viewer error in the event that certain jobs are no longer valid/available. (Extended Module: Automation Agent)
FIXED: Automation Agent: The Transfer to Invoice job will now properly use the current date instead of the service install date when the "Invoice Date Source" is set to Application_Date. NOTE: This could fix other integrations that rely on a default Doc Date that do not have a mapping set. (Extended Module: Automation Agent)
FIXED: EDI: The EDI service will now properly use the current date for new documents being imported instead of the date the service started. (Extended Module: SalesPad EDI)
FIXED: In-Transit Transfer Lines: Users will no longer be able to add service, fee, or miscellaneous charge items to a line.
FIXED: Sales Document Properties: The On Validating script will now trigger properly when changing the Customer Discount field.


Version 5.4.11
Release Date 6/11/2024


ADDED: Security: Sales Document Line Items: On Custom Draw Cell Event Script - A C# script that executes when the custom draw cell event finishes. NOTE: This script is triggered very frequently, so scripts that access the database are not recommended.
ADDED: Security: Sales Line Cross/UpSell: On Refresh Script - C# script that executes when the grid refreshes.
ADDED: Security: Sales Line Availability: Allow Full Order Warehouse Reassignment - Enables the ability to click a Warehouse column header to reassign all the sales lines to that warehouse. (Default: True)


UPDATED: Application: RestSharp upgraded to 106.15.0.


FIXED: Sales Inventory Lookup: The setting Show Selling UOfM Quantities In Inventory Lookup will now properly show the UofM conversion. NOTE: This worked properly on the base Inventory Lookup screen.
FIXED: Access Token Maintenance: Fixed the 'Error 10400: Invalid/Missing Authorization Code' when generating a new UPS access token. (Extended Module: UPS)
FIXED: Remote Web Service: The reconfigure button will properly show if the service is installed. (Extended Module: Remote Library) (Introduced: 5.2.44)
FIXED: EDI Service: The reconfigure button will properly show if the service is installed. (Extended Module: SalesPad EDI) (Introduced: 5.2.44)
FIXED: Automation Service: The reconfigure button will properly show if the service is installed. (Extended Module: Automation Agent) (Introduced: 5.2.44)


Version 5.4.10
Release Date 5/30/2024


ADDED: Script Helper: There are now Object extension methods for converting to various types that are null safe. Example: spToString(), spToDateTime(), spToDecimal()


REMOVED: Application: The DPIAwareness in the SalesPad.exe.config file is now commented out by default. It can be re-added if needed but will need to be re-enabled after application upgrades. NOTE: On some high resolution monitors if an exception is thrown the application may change DPI. (Introduced: 5.1.3)


UPDATED: Manufacturing BOM Entry: Optimized the loading time for BOMs with a large number of BOM lines. (Extended Module: Manufacturing)
UPDATED: PayLink: Audit logs have been improved for some PayLink actions.
UPDATED: EDI 856: Added two new enumeration values to ItemStatusCode: CC which represents that the line was shipped completely, and CP which represents that the line was partially shipped or not shipped and the remaining balance is cancelled. (Extended Module: SalesPadEDI)


FIXED: WennSoft Sales Document Dock: When switching between a job cost and service call on an order/invoice, the previous service cost record will be removed from the SV000810 table. (Extended Module: WennSoft)
FIXED: WennSoft Sales Document Dock: When adding a service call ID on a return, the service cost record will not get added to the SV000810 table. (Extended Module: WennSoft)
FIXED: PayLink: Users will no longer be able to create PayLinks on posted invoices if there is an open PayLink still active, which was likely created while the invoice was still open.
FIXED: PayLink: When a PayLink is processed by Remote Library, the final PayLink will be moved to the historical table. This conforms with how PayLinks are processed in other places in SalesPad.
FIXED: PayLink: The Total field in the Sales Document PayLink tables will no longer be rounded to the nearest whole number.
FIXED: Sales Document Workflow Rule Setup: Pressing the Delete key in the Condition ID will no longer result in an Object Reference error.
FIXED: Sales Document Entry: Customizing the header layout for a different document ID will no longer require relaunching the application to see the new layout changes. (Introduced: 5.3.5)
FIXED: Create Return: User fields that are read-only because of Edit Permissions will now be properly read-only.
FIXED: Receiving: The Receipt item description will now properly pull from the PO instead of the Item Master, which mimics how GP works. NOTE: This is a SQL procedure change to spptaPopRcptLineInsert_SalesPad, and also fixes the same issue for Inventory Manager.
FIXED: Item Properties: The GP button will no longer result in an Object Reference error if there is no focused item.
FIXED: Avatax: Taxes will now apply properly if the SQL database uses Binary Sort. NOTE: This is an update to the SQL Stored Procedure: spptaSopHdrRecalc_SalesPad.
FIXED: Application: Resolved a potential memory leak around the Spell Checker. NOTE: This may resolve some issues around errors that mention CreateCompatibleDIB.
FIXED: Attach Sales Line to PO: The Available Qty for the PO is now properly calculated if the PO line was partially received. (Introduced: 5.2.31)
FIXED: Attach PO to Sales Line: The Available Qty for the PO is now properly calculated if the PO line was partially received. (Introduced: 5.2.31)
FIXED: EDI 856: ShipQty will no longer be calculated incorrectly when packing partial quantities in non-base UofMs. For example, half a CASE could display a ShipQty of 1 CASE. (Extended Module: SalesPadEDI)


Version 5.4.9
Release Date 5/14/2024


BREAKING CHANGE: Integration License Manager: Renamed Ecommerce License Manager to Integration License Manager. Security settings for Integration License Manager were reset as a side effect of this rename and must be set up again.
BREAKING CHANGE: Sales Monitor: Any group by layout customizations to the grid will be reset.


ADDED: Setting: Pacejet - Shipment Export: Import Error Expression - This expression determines whether or not a message on a shipment indicates that the shipment encountered a critical error which prevented Pacejet from adding the shipment to the Shipping Workbench. (Extended Module: Pacejet)
ADDED: Sales Monitor: There is now a Group/Sort dropdown option: "Group/Sort By Batch + Doc ID", "Group/Sort By Batch", and "Group/Sort By None". This will default to the "Group/Sort By Batch + Doc ID" option which was the intent with the 5.4.4 changes, which mirrors the tree sorting.
ADDED: Manufacturing: Routing Sequence Dock: Added a new dockable plugin for the Routing Entry screen that provides visibility of the sequences in the routing and quick navigation between them, and allows users to create new routing sequences and easily resequence them. (Extended Module: Manufacturing)
ADDED: Settings: Routing Sequence Start - The sequence value to use for the first sequence in a routing whenever resequencing occurs. (Extended Module: Manufacturing)
ADDED: Settings: Routing Sequence Increment - The increment value to use when calculating each next sequence in a routing whenever resequencing occurs. (Extended Module: Manufacturing)
ADDED: Manufacturing BOM Entry: Primary Routing readonly field is now visible under BOM Properties and provides a hyperlink to launch the Routing Entry screen and allow the user to edit the routing.
ADDED: HubSpot Integration: AA job with components that can be configured to automatically sync information between SalesPad and HubSpot, which requires the HubSpot integration license. (Extended Module: Integration.HubSpot)
ADDED: HubSpot Integration: Company Link: Component that matches existing HubSpot companies and their contacts to existing SalesPad customers and/or prospects and their contacts and establishes the links between them. (Extended Module: Integration.HubSpot)
ADDED: HubSpot Integration: Company Customer Import: Component that imports HubSpot companies and their contacts as new SalesPad customers and addresses. (Extended Module: Integration.HubSpot)
ADDED: HubSpot Integration: Customer Export: Component that exports SalesPad customers and their addresses as new HubSpot companies and contacts. (Extended Module: Integration.HubSpot)
ADDED: HubSpot Integration: Customer Updates Export: Component that takes changes made to customers and their addresses in SalesPad and updates their linked HubSpot companies and contacts. (Extended Module: Integration.HubSpot)
ADDED: HubSpot Integration: Company Prospect Import: Component that imports HubSpot companies and their contacts as new SalesPad prospects and prospect contacts. (Extended Module: Integration.HubSpot)
ADDED: HubSpot Integration: Prospect Updates Export: Component that takes changes made to prospects and their contacts in SalesPad and updates their linked HubSpot companies and contacts. (Extended Module: Integration.HubSpot)
ADDED: HubSpot Integration: Product Export: Component that creates and updates HubSpot products based on new and updated SalesPad item masters. (Extended Module: Integration.HubSpot)
ADDED: HubSpot Integration: Deal Export: Component that exports sales documents as HubSpot deals, with configuration for whether their sales lines also export as HubSpot line items. (Extended Module: Integration.HubSpot)


UPDATED: Prospects: Convert Prospect to Customer: Updated logic so that converting a prospect into a customer also copies any HubSpot entity links from the prospect and contacts onto the new customer and addresses.
UPDATED: Setting: Auto-Activate Integration Licenses - Renamed Auto-Activate Ecommerce Licenses to Auto-Activate Integration Licenses. This rename does not reset prior configuration.
UPDATED: Sales Monitor: The default "Group/Sort By Batch + Doc ID" option will now show the Doc ID in the Group By summary.
UPDATED: Data Cross Reference: A new 204 Shipping Methods column has been added to the Trading Partner row, which is only used for outbound 204 documents and allows the user to select one or more shipping methods that will be used to tie the sales document to this Trading Partner. (Extended Module: SalesPadEDI)
UPDATED: Sales Line Configurator: Components will now have line numbers that are evenly spaced between the package header line and the next line on the document. If no next line exists, the line numbers will still be evenly spaced as if the next line did exist. (Extended Module: Configurator)


FIXED: Pacejet: Process Shipment: If address validation is enabled in Pacejet and it adds a message to a shipment stating that an interpolated street address was applied, the Process Shipment plugin will no longer incorrectly claim that the shipment failed to export. (Extended Module: Pacejet)
FIXED: Sales Document Entry: There will no longer be an error: "The INSERT statement conflicted with the CHECK constraint CK_IS010001SOITEM_7E388A4D." when a Manufacturing Order link is being created in IS010001. NOTE: This is a SQL stored procedure change to sppUpdateSoptoMop.
FIXED: Sales Document Purchases: Unlinking a PO from a sales line that is not in a base UOfM will now properly mark the line as not having a PO link. NOTE: This requires some specific UOfM rounding, and can be updated via a SQL Procedure: sppPoCommitments_Disconnect.
FIXED: Shopify: The Inventory Level Export will now properly work if the IV00102 LOCNCODE field has different casing than the actual warehouse name. (Extended Module: Integration.Shopify)
FIXED: Adobe Commerce: The Inventory Level Export will now properly work if the IV00102 LOCNCODE field has different casing than the actual warehouse name. (Extended Module:: Integration.Magento)
FIXED: Shopify: Order Update Export: This component will not ignore orders which were imported from a different automation instance. Note that this will lead to errors for orders which did not originate from the same Shopify store, but this can be avoided by using a separate Export Queue for each store. (Introduced: 5.3.13) (Extended Module: Shopify)
FIXED: Adobe Commerce: Order Update Export: This component will not ignore orders which were imported from a different automation instance. Note that this will lead to errors for orders which did not originate from the same Adobe Commerce store, but this can be avoided by using a separate Export Queue for each store. (Introduced: 5.3.13) (Extended Module: Adobe Commerce)
FIXED: Adobe Commerce: Order Invoiced Export: This component will not ignore invoices which originated from orders which were imported from a different automation instance. Note that this will lead to errors for invoices which did not originate from the same Adobe Commerce store, but this can be avoided by using a separate Invoice Export Queue for each store. (Introduced: 5.3.13) (Extended Module: Adobe Commerce)
FIXED: WooCommerce: Order Update Export: This component will not ignore orders which were imported from a different automation instance. Note that this will lead to errors for orders which did not originate from the same WooCommerce store, but this can be avoided by using a separate Export Queue for each store. (Introduced: 5.3.13) (Extended Module: Adobe Commerce)
FIXED: Attach Manufacturing Order to Sales Line: The plugin will no longer result in an "A circular control reference has been made" error. (Introduced: 5.4.0)
FIXED: Sales Monitor: Documents will no longer show up in wrong batches. (Introduced: 5.4.4)
FIXED: EDI Server Connections: Fixed an issue that caused problems with processing incoming files if there were directories within the directory the files were in. (Extended Module: SalesPadEDI)
FIXED: Sales Line Configurator: The components of package type configurators will no longer be moved to the bottom of the sales document when making updates to the configurator. (Extended Module: Configurator)
FIXED: Sales Line Configurator: Choosing to update after making no changes when opening a Package type configuration will no longer result in the package's components being moved to new line items.


Version 5.4.8
Release Date 4/16/2024


BREAKING CHANGE: In-Transit Transfer: By default the Document Number field will be read only. Editing can be re-enabled via the new sub-security Can Enter Document Number.


ADDED: Import Manager: Customers and their addresses can now be imported via the Customer import definition.
ADDED: Setting: Import Manager - Customer Import: Rolldown Customer Class When Importing - If set to 'True', customer imports which set the Customer Class field will copy the Customer Class's fields to the Customer. NOTE: If the import explicitly sets a rolldown field such as Price Level, Import Manager will use the import's value for that field instead of the Customer Class's value for that field. Defaults to 'True'.
ADDED: Setting: Import Manager - Customer Import: Rolldown Sales Person ID When Importing - If set to 'True', customer imports which set a customer's Sales Person ID field will update all of that customer's addresses to use that Sales Person ID. Defaults to 'True'.
ADDED: Setting: Import Manager - Customer Import: Rolldown Sales Territory When Importing - If set to 'True', customer imports which set a customer's Sales Territory field will update all of that customer's addresses to use that Sales Territory.. Defaults to 'True'.
ADDED: Security: In-Transit Transfer Properties - Can Enter Document Number: When enabled, the document number field is editable for new documents.
ADDED: Sales Document: The sppRecalcSOPBatch stored procedure now has a few more parameters and supports an spcpRecalcSOPBatchPre stored procedure call which can be used for further customization around batch calculations.
ADDED: Setting: SQL Timeout Retries - The number of retries if there is a SQL timeout. (Default: 3)
ADDED: Application: There is now a Messenger.LogMessage with an option to save messages to the System Log table.
ADDED: Security: Sales Document Freight Calculator - Require Non-Custom Carrier: Enabling this will require users to select a carrier other than Custom before getting rates. Disabling this will allow users to get rates for the Custom carrier only. (Default: True) (Extended Module: Shipping)
ADDED: Security: Sales Document Simple Freight Calculator - Require Non-Custom Carrier: Enabling this will require users to select a carrier other than Custom before getting rates. Disabling this will allow users to get rates for the Custom carrier only. (Default: True) (Extended Module: Shipping)
ADDED: Security: Sales Document Freight Rates - Require Non-Custom Carrier: Enabling this will require users to select a carrier other than Custom before getting rates. Disabling this will allow users to get rates for the Custom carrier only. (Default: True) (Extended Module: ShippingV2)
ADDED: Security: Sales Document Simple Freight Rates - Require Non-Custom Carrier: Enabling this will require users to select a carrier other than Custom before getting rates. Disabling this will allow users to get rates for the Custom carrier only. (Default: True) (Extended Module: ShippingV2)


UPDATED: Sales Documents: To help with some Deadlock issues, a few batch recalculations for SY00500 have been moved out of eConnect and moved to a post save action, calling sppRecalcSOPBatch. This allows for a lower deadlock priority around this specific update, and if encountered it will not prevent the save and audit to the Sales Document.
UPDATED: SalesPad Reporting License: More Purchase Order, Customer, and Sales Document reports are now available for printing and emailing.
UPDATED: Application: The retry for Timeouts and Deadlocks are now based on settings and handled individually; previously the retry count was 5 or 8 in various scenarios. There will now be a log message in a dockable plugin that will inform the end user when a retry occurs. The Thread wait time for the retries has been randomized (1000 to 3000 milliseconds) to help with some potential deadlock retries. Deadlock retries are also saved to the System Log table.
UPDATED: Setting: Deadlock Max Retries: This setting default has been updated to 3 and is now used in the base application retry and not limited to the previous sales batch processes. NOTE: Upon upgrading this setting could need to be updated accordingly.
UPDATED: Active Users: There is an added (NOLOCK) to the query on spActiveUsers.
UPDATED: EDI: Purchase Order EDI 850: PO Lines will no longer be consolidated based on item number and warehouse, so each line will now be represented individually on the outbound 850.


FIXED: Sales Document Workflow: The BCHTOTAL calculation for non-functional documents now properly uses the DOCAMNT field to mimic eConnect.
FIXED: Purchase Line Items: PO Line Numbers will now be resequenced after saving if applicable.
FIXED: Purchase Order Generation: Corrected an issue where, when the setting Purchase Full Quantity On The Line was enabled, PO Line Number was being used to determine if a sales line was already linked to a PO when the PO Line Seq should have been used.
FIXED: In-Transit Transfer: When entering a Document Number manually, validation now includes checking historical documents.
FIXED: Shopify: Order Import: The Order Import now ignores mappings on the Item_Number field from the Sales Line Assignment Mapping setting unless the line item is non-inventory. This is because the Item Master Matching setting already sets the Item Number field and setting the Item Number a second time can cause errors such as "No Item Number assigned". (Extended Module: Shopify)
FIXED: Adobe Commerce: Order Import: The Order Import now ignores mappings on the Item_Number field from the Sales Line Assignment Mapping setting unless the line item is non-inventory. This is because the Item Master Matching setting already sets the Item Number field and setting the Item Number a second time can cause errors such as "No Item Number assigned". (Extended Module: Adobe Commerce)
FIXED: WooCommerce: Order Import: The Order Import now ignores mappings on the Item_Number field from the Sales Line Assignment Mapping setting unless the line item is non-inventory. This is because the Item Master Matching setting already sets the Item Number field and setting the Item Number a second time can cause errors such as "No Item Number assigned". (Extended Module: WooCommerce)
FIXED: Attach Sales Line to PO: Resolved a potential UI redraw issue under certain scenarios, which can potentially also be resolved by reducing the Windows zoom percentage.
FIXED: Attach Sales Line to PO: Removed the ability to right-click and customize the layout on the right side of the plugin.
FIXED: Sales Line Mass Update: When updating the Req Ship Date there will no longer be an error: Object of type 'System.String' cannot be converted to type 'System.DateTime'.
FIXED: Application: The Messenger.LogMessage will now properly display messages if the Messenger is called back to back or called via various background thread scenarios, most notably during Smart Printing error handling.


Version 5.4.7
Release Date 4/2/2024


ADDED: Inventory Allocations: Added four new tabs to this screen: Assembly, Manufacturing, Inventory Allocation and Misc. The manufacturing tab is only available if the manufacturing extended module is installed.
ADDED: Automation Agent: Transfer Quote to Order: A new platform has been added that is used to transfer Quotes to Order. (Extended Module: Automation Agent)
ADDED: Purchase Order Search: There is now a Print option. NOTE: Printing requires the PO to not be locked by another user and the PO status will be updated to Released when applicable.
ADDED: Security: Purchase Order Search - Can Print: Enables or disables the ability to print a batch of documents. (Default: true)
ADDED: Security: Purchase Order Search - Can Email: Enables or disables the ability to email a batch of documents. (Default: true)
ADDED: Security: Sales Document Search - Can Email: Enables or disables the ability to email a batch of documents. (Default: true)


UPDATED: Sales Document Bulk Printing: Various bulk printing actions will now show a Warning when printing if the Sales Document was locked by another user.
UPDATED: Purchase Order Search: When doing a Preview when emailing PO status will be updated to Released when applicable to mimic previewing from an individual PO. NOTE: This also requires a PO activity lock.
UPDATED: Sales Document Search: The “Print Allowed” security will now show as "Can Print". NOTE: This rename does not reset the security.
UPDATED: Grid User Fields: Hyperlink UDFs will now work in all grids that have UDFs.
UPDATED: Grid User Fields: Deep Link UDFs will only display the information after the Args: Example: salespad:SalesDocumentEntryArgs|INVOICE|INVS3052|Open will only display INVOICE|INVS3052|Open
UPDATED: Grid User Fields: Hyperlink UDFs now only require a single click.


FIXED: Purchase Order: Historical POs will no longer attempt to acquire an activity lock.
FIXED: Purchase Order: The Times Printed will now be properly updated for various Open and History statuses.
FIXED: Purchase Order: Middle-clicking a Purchase Order link will now properly show the PO Type and PO Number on the tab.
FIXED: Bulk Printing: The Log viewer will no longer show duplicate information if the user prints multiple times while the print dialog is open.
FIXED: Sales Search: When using a Group By column, the print/email dialog will now properly launch.
FIXED: Purchase Order Search: When using a Group By column, the print/email dialog will now properly launch.
FIXED: Assembly Search: When using a Group By column, the print/email dialog will now properly launch.
FIXED: Purchase Order Search: The Preview will now respect the workflow disable printing option.
FIXED: Sales Line Items: Fixed an issue where the extended cost on historical quotes and orders would be calculated as zero after the document transferred.
FIXED: Customer Card: The Sales Summary grid's Revenue column now includes header-level discounts and misc charges. NOTE: This change can be reverted or further altered by creating an spcpCustomerSummary stored procedure.
FIXED: Automation Lookup: New Automation: The list of platforms will now be in alphabetical order. (Extended Module: Automation Agent)
FIXED: Purchase Order Search: When previewing POs from the Email screen, the Purchase Status will be updated to Released when appropriate.
FIXED: Grids: The mouse cursor and click hit for hyperlinks is more accurate horizontally when the text is a certain length.
FIXED: Deep Links: Special characters are now unescaped.
FIXED: Purchase Order Entry: Copying a PO will properly clear the line level SOP links. NOTE: Closing and re-opening the PO will also clear the previous links.
FIXED: Purchase Order Entry: Copying a PO will properly clear the line-level WennSoft information. (Extended Module: WennSoftSignature)


Version 5.4.6
Release Date 3/19/2024


BREAKING CHANGE: Automation Agent - Remove Sales Batch Holds: Reconfigured settings cause this job to require setup again. NOTE: Previously the Batch setting was not respected.


ADDED: Security: Sales Document Line Items - Can Assign Inactive Equipment: The prompting method when adding Inactive Equipment to a Sales Line. Options: Allow Silent, Warning Prompt or Deny Prompt. (Default: Warning Prompt)
ADDED: Application: After successfully logging into SalesPad, a UPS access token expiration reminder will be shown to the user seven days before the token expires. (Extended Module: UPS)
ADDED: Setting: Automation Agent - Remove Sales Batch Holds: Sales Document Batches ~ Semicolon delimited list of batches that this task will apply to.
ADDED: Setting: Automation Agent - Remove Sales Batch Holds: Forward Document After Hold Removal ~ If enabled, the Sales Document will be forwarded after holds are removed. NOTE: Workflow rules should do additional checks if needed. (Default: true)
ADDED: Setting: Automation Agent - Remove Sales Batch Holds: Use Workflow Plugins ~ Use workflow plugins when forwarding. WARNING: When running as a service, only non-UI plugins should be used by the forwarding process. (Default: true)
ADDED: Setting: Automation Agent - Remove Sales Batch Holds: Sales Document Audit Message ~ The message audited on each individual document forwarded through workflow. (Default: Automation Agent Forwarding)
ADDED: Setting: Automation Agent - Remove Sales Batch Holds: Pre Hold Removal Script ~ C# script that runs prior to hold removal, allowing for canceling the hold removal process. NOTE: Using e.Cancel = true will also prevent forwarding.
ADDED: Setting: Automation Agent - Remove Sales Batch Holds: Send To Batch On Fail ~ Batch that the Sales Document will be moved to if there is an error removing a hold.


REMOVED: Automation Agent - Remove Sales Batch Holds: The Batch and Sales Document ID settings were replaced with the Sales Document Batches setting.
REMOVED: Automation Agent: The Forward Sales Doc ID job is no longer available, and the Batch Forward job should be used instead. The removed job would forward every document in every queue for that Doc ID.


UPDATED: SalesPad Reporting License: The Email Audit tab is now available in Sales Document Entry, Purchase Order Entry, and the customer and vendor cards.
UPDATED: SalesPad Reporting License: The customer, customer address, and vendor address cards will never display a "Save Changes" prompt when trying to close the card.
UPDATED: Application: The ApplicationName that shows in a SQL trace will now use curly brackets {} around the user name, so filtering on ApplicationName is possible. The previous left bracket, [, is a SQL special character.
UPDATED: Automation Agent - Remove Sales Batch Holds: The Holds setting now allows for picking multiple holds.


FIXED: Workflow Visualizer: Fixed a syntax error issue related to sales workflow rules that have blank descriptions.
FIXED: Sales Document Customer Discounts: The Discounts dropdown will load faster, as long as the "Can Use Eligible Discounts Only" sub-security is enabled.
FIXED: Customer Card: Speed improvement when there are many Customer Discounts set up in the system. NOTE: The loading of the discounts dropdown now happens when you click the dropdown, which can take a few moments when there are many customer discounts in the system.
FIXED: Inventory Adjustment: Saving or deleting an adjustment with a line item that has a blank item number will no longer result in an error about an item not existing, as these blank lines will now be removed automatically before the save.
FIXED: Sales Document Mass Update: The Sales Document Types Allowed sub-security will no longer re-check doc types after searching and will generally handle the limitations better.
FIXED: Sales Line Mass Update: The Sales Document Types Allowed sub-security will no longer re-check doc types after searching and will generally handle the limitations better.
FIXED: Manufacturing Bom Entry: When adding a component via the Inventory Lookup, but then canceling out of the popup, it will no longer delete the added item.
FIXED: Manufacturing Bom Entry: When adding a component in various scenarios and the number is invalid, the focus will stay in the Component Item field.
FIXED: Manufacturing BOM Mass Add Components: The plugin will no longer result in an "A circular control reference has been made." error. (Introduced: 5.4.0)
FIXED: Manufacturing BOM Mass Approval: The plugin will no longer result in an "A circular control reference has been made." error. (Introduced: 5.4.0)
FIXED: Manufacturing BOM Mass Update BOM: The plugin will no longer result in an "A circular control reference has been made." error. (Introduced: 5.4.0)
FIXED: Manufacturing BOM Component Mass Update: The plugin will no longer result in an "A circular control reference has been made." error. (Introduced: 5.4.0)
FIXED: Manufacturing BOM Component Percent Update: The plugin will no longer result in an "A circular control reference has been made." error. (Introduced: 5.4.0)
FIXED: Routing Mass Add Sequence: The plugin will no longer result in an "A circular control reference has been made." error. (Introduced: 5.4.0)
FIXED: Routing Mass Modify Sequence: The plugin will no longer result in an "A circular control reference has been made." error. (Introduced: 5.4.0)
FIXED: Sales Document Line Items: The Equipment Item Number will now be properly set up after the Equipment Lookup item is picked.
FIXED: Purchase Order Workflow: When emailing or printing through workflow, the Times Printed column will be incremented.
FIXED: SalesPad EDI: Business Object Mapping: Mappings will now work correctly when mapping outbound 204 EDI documents. (Extended Module: SalesPad EDI)


Version 5.4.5
Release Date 3/8/2024


ADDED: Returns Tracker Search: Various columns have been added to the grid.


REMOVED: FedEx Address Validation: The Validation Precision setting was removed because it did not work as described. FedEx Address Validation will now always operate as if that setting was set to Medium. (Extended Module: FedEx)


UPDATED: Package Editor: The toolbar is now properly themed.
UPDATED: FedEx Address Validation: The address validation results popup now has a Use Suggestion button which updates the customer address or sales document to use FedEx's suggested address. (Extended Module: FedEx)
UPDATED: FedEx Address Validation: The address validation results popup has various UI updates to make it look and work similarly to other address validators. (Extended Module: FedEx)
UPDATED: FedEx Address Validation: The Post Address Validation Script now runs when validating customer contacts. (Extended Module: FedEx)
UPDATED: FedEx Address Validation: The Post Address Validation Script no longer runs when the address validation process completely fails such as due to a network error or due to trying to validate an address from a country which FedEx doesn't support. (Extended Module: FedEx)
UPDATED: FedEx Address Validation: The Automatically Correct Address Per FedEx Suggestion If FedEx Response Is Successful setting is now called Automatically Correct Address. (Extended Module: FedEx)


FIXED: Application: CefSharp update has been reverted due to an issue that prevented multiple instances of SalesPad being opened from the same installation folder. (Introduced: 5.4.4)
FIXED: Returns Tracker Search: The Date Field picker is now properly set, so date range searches work properly. NOTE: The Date Field picker button is still there and a date field can still be picked and used.
FIXED: FedEx Address Validation: When validating a sales document's address, audits will write to that sales document instead of trying to write to a customer address. (Extended Module: FedEx)
FIXED: Package Editor: Editing the item description will now copy to the sales line for new lines added.
FIXED: Convert Opportunity To Quote: The plugin will no longer result in an "Object Reference" error. (Introduced: 5.4.0)
FIXED: Item Restrictions Override Maintenance: The plugin will no longer silently fail. (Introduced: 5.4.0)
FIXED: PO Line Item Restrictions Override: The plugin will no longer silently fail. (Introduced: 5.4.0)
FIXED: Receiving Serial Entry: The plugin will no longer result in an "Object Reference" error. (Introduced: 5.4.0)
FIXED: Item Configurator: The plugin will no longer result in an "Object Reference" error. (Introduced: 5.4.0)
FIXED: Sales Line Item Restrictions Override: The plugin will no longer result in an "Object Reference" error. (Introduced: 5.4.0)


Version 5.4.4
Release Date 3/5/2024


BREAKING CHANGE: Sales Monitor: The Sales Monitor Summary (left-side tree list) ordering may have changed.


ADDED: Sales Monitor: There are three new columns that assist with ordering of the grid: Doc ID : Doc Type, WF Seq, and Doc Type Seq, which mimic the tree ordering values.
ADDED: Security: Inventory Adjustment Properties: Allow Screen Layout Customization - Turns on the ability to customize the document header by Transaction Type. Layouts are saved by Transaction Type: Adjustment, Transfer and Variance. (Default: false)
ADDED: Inventory Adjustment User Fields: There is now a User Field tab with all the usual base security options. Layouts are saved by Transaction Type: Adjustment, Transfer and Variance.
ADDED: Customer Returns Tracker Entries: Creating a Return Tracker Case from the customer card will now copy same-named UDFs from the Customer and then from the Primary Ship To Address.
ADDED: Returns Tracker Entries: Creating a Return Tracker Case from the Sales Document card will first copy same-named UDFs from the Customer, then the Customer ShipTo Address and then the Sales Document.
ADDED: Returns Tracker Entry: When setting a Sales Document link, same-named UDFs will first copy from the Customer, then the Customer ShipTo Address and then the Sales Document.
ADDED: Returns Tracker Entry: When adding details from a linked Sales Document, same-named UDFs will copy from the Item Master, then from the Sales Line to the Case Detail.
ADDED: Returns Tracker Entry: When manually adding an item to a Case Tracker Detail that is not linked to a Sales Document, same-named UDFs will copy from the Item Master to the Case Tracker Detail.
ADDED: Setting: Pacejet: Shipping Method Mapping - Map SalesPad/GP Shipping Methods to Pacejet Ship Codes. The settings Send Order Shipping Method and Update Order Shipping Method use this mapping when they are enabled. (Extended Module: Pacejet)
ADDED: Setting: Pacejet: Send Order Shipping Method - Enable this setting to send the sales order's Shipping Method to Pacejet, instead of sending the Carrier & Class of Service from the Pacejet tab. Requires the Shipping Method Mapping setting to hold the Shipping Method to Ship Code translations. (Extended Module: Pacejet)
ADDED: Setting: Pacejet: Update Order Shipping Method - Enable this setting to update the sales order's, line items', and shipping header's Shipping Method from the Pacejet shipment. Requires the Shipping Method Mapping setting to hold the Shipping Method to Ship Code translations. (Extended Module: Pacejet)
ADDED: Security: Quick Reports: Display Quick Report Name In Tab - When enabled, the quick report's name that is currently being viewed will be displayed in the tab. (Default: True)
ADDED: Security: Quick Reports: Display Search Name In Tab - When enabled, search field names will be displayed in the tab. NOTE: This only applies to search fields that are marked to Display In Tab. (Default: True)
ADDED: Quick Reports: Added a new checkbox column to Search Fields called Display In Tab. When enabled, parameters entered into search fields will be displayed in the quick reports tab.


REMOVED: Sales Monitor: Security - Group By Batch. This security never fixed the ordering of documents.
REMOVED: Automation Agent: The Update Batch Entered job is no longer available. The Batch Forward job should be used instead.


UPDATED: Sales Monitor: The Expand/Collapse buttons now have icons and the Search field has a tooltip for which fields are filtered on.
UPDATED: Automation Agent: The Action Center form is now properly themed.
UPDATED: Bus Obj Workflow: When moving a BO using the Move To Queue action, the On Enter rules will now be triggered on the destination queue.
UPDATED: Application: The internal web browser (CefSharp) has been updated to version 120.2.7.
UPDATED: Item Sale: The focused row is now properly themed.


FIXED: Sales Monitor: The Tree view and Grid View will have better sequencing to match each other. The tree order is now ordered by Workflow Sequence then by Batch name, so ordering may have changed with this update. NOTE: When using Show Sales Document Type ID Groups, and having multiple document IDs checked, the grid ordering may not match across the document IDs; there is a new column "Doc ID : Doc Type" that can now be grouped by to help mimic multiple document ID selections.
FIXED: Inventory Adjustment Properties: Users can no longer customize the layout, which didn't actually save. The new Inventory Adjustment Properties: Allow Screen Layout Customization security now controls this capability.
FIXED: Submit Feedback: After submitting feedback there will no longer be an error: "Invoke or BeginInvoke cannot be called on a control until the window handle has been created.". (Introduced 5.2.12)
FIXED: Workflow: When the SQL database uses Binary Sort Order, there will no longer be an error "@userId is not a parameter" when forwarding through workflow. NOTE: This can be fixed by updating the sppEvalWfRules stored procedure.
FIXED: Automation Agent: The Transfer To Invoice job will no longer cause various Invoice errors if the Invoice Workflow runs various plugins. Most notable would be e-mailing or EDI actions, which could cause bloated SQL transactions. NOTE: This can be curbed by splitting up the Invoice workflow and using a second job to forward the invoices. (Introduced: 5.2.2)
FIXED: Quick Report: The Pivot Grid Percent of Column property will now properly show the percentage of the designated column. (Introduced: 5.2.15)
FIXED: Item Note: Editing an Item Note from the Sales Entry Inventory Lookup and clicking OK before tabbing out of the field will now properly save.
FIXED: Item User Fields: Editing an Item User Field from the Sales Entry Inventory Lookup and clicking OK before tabbing out of the field will now properly save.
FIXED: Automation Agent: Configure Auto Run: Setting a component to be Auto Run Only will now prevent the component from also running when the job's header level schedule is triggered or the component's custom schedule is triggered.
FIXED: Automation Agent: Configure Auto Run: Fixed an issue where components could be triggered infinitely.
FIXED: Automation Agent: Component: Custom Schedule Summary: The custom schedule summary will now better convey information when Configure Run Options are enabled for a component.


Version 5.4.3
Release Date 2/21/2024


ADDED: Settings: EDI Treat Schema Validation Errors As Warnings - When enabled, any schema validation errors will instead be treated as warnings. NOTE: This is for Outbound documents. (Default: True) (Extended Module: SalesPadEDI)


UPDATED: Database Update: spAlternateItems now has a primary key: the existing ID column.


FIXED: Add Customer Default Items: The grid can now be sorted and other various grid improvements, including Item Number hyperlinks. NOTE: The grid layout may need to be reset.
FIXED: Application: Exiting out of SalesPad will be faster. NOTE: If scripts are still pre-compiling then they can still delay the exit.
FIXED: Data Cross Reference: Customer: The auto filter row will now work properly when attempting to filter by customer.
FIXED: Sales Shipment: New Package: Packing Material and Packing Medium changes will now save properly.
FIXED: EDI 856: Pallet (PLT) is now a valid value to send as a Packing Medium when being sent on the Physical Details level of Pack. Previously, this value would not be sent at all.
FIXED: Data Cross Reference: Customers: Users will no longer receive an "Item with the same key" error when opening this tab. (Extended Module: SalesPad EDI)
FIXED: Vendor Card: The Vendor ID will no longer be editable, which could result in creating a new Vendor. (Introduced: 5.3.14)
FIXED: Vendor Card: Switching Vendor Class without tabbing out of the field and directly clicking the save will no longer result in a "An item with the same key has already been added." error.
FIXED: Dashboards: There will no longer be an exception "DevExpress.Data.Internal.XtraSerializationSecurityTrace+NonTrustedTypeDeserializationException" for dashboards. (Introduced: 5.4.0, DevExpress Upgrade)
FIXED: Sales Document Search: The Selected Documents Only checkbox will now properly save to the registry and restore its check state.


Version 5.4.2
Release Date 2/8/2024


BREAKING CHANGE: Application: The application size and location has been reset.


ADDED: FedEx Module: Created a new FedEx extended module that utilizes the FedEx REST API and handles address validation. (Extended Module: FedEx)
ADDED: Settings: FedEx General: Endpoint Type - Specify whether SalesPad will be connecting to the FedEx test or production environment. (Extended Module: FedEx)
ADDED: Settings: FedEx - Test: API Key - Specify the API Key (aka Client ID) received during FedEx Developer Portal registration. (Extended Module: FedEx)
ADDED: Settings: FedEx - Test: API Secret Key - Specify the Secret Key (aka Client Secret) received during FedEx Developer Portal registration. (Extended Module: FedEx)
ADDED: Settings: FedEx - Test: FedEx Account Number - The FedEx account number is a nine-digit number associated with your FedEx account. (Extended Module: FedEx)
ADDED: Settings: FedEx - Production: API Key - Specify the API Key (aka Client ID) received during FedEx Developer Portal registration. (Extended Module: FedEx)
ADDED: Settings: FedEx - Production: API Secret Key - Specify the Secret Key (aka Client Secret) received during FedEx Developer Portal registration. (Extended Module: FedEx)
ADDED: Settings: FedEx - Production: FedEx Account Number - The FedEx account number is a nine-digit number associated with your FedEx account. (Extended Module: FedEx)
ADDED: ShippingV2 Module: Added FedEx REST API support to the module. (Extended Module: ShippingV2)


UPDATED: Settings: Shipping Tools V2: Shipping Carrier Query Handlers - Added the FedExQueryHandler option. (Extended Module: ShippingV2)
UPDATED: Sales Document Freight Rates: The FedEx option can now be selected from the Carriers dropdown. (Extended Module: ShippingV2)
UPDATED: Sales Document Simple Freight Rates: The FedEx option can now be selected from the Carriers dropdown. (Extended Module: ShippingV2)
UPDATED: EDI Processing: Renamed the EDI Server ID column to EDI Server. This column will now display the server connection's description rather than the ID number. (Introduced: 5.4.1)
UPDATED: EDI Mapping Transaction: Renamed the EDI Server ID column to EDI Server. This column will now display the server connection's description rather than the ID number. (Introduced: 5.4.1)
UPDATED: Import Manager:The InventorySerialNum import definition can now be run in the Import Manager and will update user fields for serial numbers which are currently in inventory.
UPDATED: Import Manager: The InventoryLotNum import definition will update lot item user fields, attributes, expiration dates, and manufactured dates.


FIXED: EDI Processing: Security: Fixed a typo in the description of Email Error Logs and Email When Task Stopped. (Extended Module: SalesPadEDI)
FIXED: Assembly Line Items: There will no longer be an "Object Reference" error when using the auto-filter row on certain columns.
FIXED: Security Script Manager: There will no longer be a blank prompt to save when navigating away from the auto-filter row.
FIXED: In-Transit Transfer Fulfillment: Picking a Lot that has multiple entries will now properly account for the Date Seq Number for that lot entry and choose it, instead of another same-name Lot entry. (Most notable when the Date Received was different).
FIXED: In-Transit Transfer Fulfillment: When fulfilling using different Lot Tracked records with the same Lot Number, the fulfillment will show multiple records correctly. (Introduced: 5.2.8)
FIXED: Application: The Application will now properly restore on the last monitor used and other various resizing issues have been resolved.
FIXED: Customer Overview: When the open documents grid is sorted newest first, creating a new Sales Document will properly show the new document at the top. Similarly deleting a Sales Document will keep the focus relative to the selected area.
FIXED: Sales Document Manual Split: There will no longer be an audit about moving the document to history/void if there is an error during the split process.
FIXED: Sales Document Manual Split: If there is an error during the split process, the next save of the original Sales Document will no longer be voided/moved to history.
FIXED: Sales Document Manual Split: If there is an error when splitting, the audit entry will no longer have a duplicate "Manual Split:" in the entry.
FIXED: Sales Document Manual Split: Kit items that are not fulfilled can be split normally again. NOTE: Fulfilled kits are still locked down to splitting the full quantity. (Introduced: 5.3.8)
FIXED: AR Statement Settings: When choosing which documents to accompany an AR Statement, the Select All/Select None buttons will now properly select/deselect the visible fields.
FIXED: Inventory Adjustments: Deleting a document will no longer result in an error about missing a SQL stored procedure: sppUpdateK2AInventoryTransaction. NOTE: This can be resolved by creating an empty stored procedure, which support can supply. (Introduced: 5.4.0)
FIXED: New Customer: A Customer UDF will now properly save if it was the last field edited before clicking Save.
FIXED: Sales Document Entry: Kit component allocation will no longer double when making changes to a kit item. NOTE: This is a SQL stored procedure change: spptaSopLineDelete_SalesPad (Introduced: 5.3.17)
FIXED: Inventory Allocation: The In-Transit Transfer tab will now properly display data. This is accessed from Inventory Lookup -> Inventory tab and clicking the hyperlink in the allocated column. (Introduced: 5.3.15)
FIXED: Database Update: New installs of SalesPad will no longer have extra columns in the spxBOMLine table: xUsePLS, xawe, and xLotBin.
FIXED: Quick Reports: Reset Layout will now properly update columns to display the ellipses button that have their Grid Editor Type attribute set to PopupEditor. (Introduced: 5.4.1)
FIXED: Application: There will no longer be an error related to "System.UnitySerializationHolder" when opening certain screens that have a tree layout. (Introduced: 5.4.0, DevExpress Upgrade)


Version 5.4.1
Release Date 1/23/2024


ADDED: Import Manager: Serial tracked items can now be received via import definitions which use PurchaseReceiptInventorySerialNum as their table. Imports can create new purchase receipts and purchase receipt line items, but they do not update existing receipts. Imports can also update InventorySerialNum user fields if SerialUserFields.Item_Number and SerialUserFields.Serial_Num have field mappings.
ADDED: Import Manager: Purchase receipts and their line items can now be imported via import definitions which use PurchaseReceipt as their table. Imports will only import purchase receipt line items if ReceiptLine.Receipt_Number, ReceiptLine.Line_Seq, and ReceiptLine.Item_Number have field mappings.
ADDED: Serial Item Receipt Import: A plugin which can import serial items via the Receiving screen using an Import Manager import definition for the PurchaseReceiptInventorySerialNum table.
ADDED: Business Object Mapping: Added the EDI Server ID column to the grid. This column should be used when multiple Server Connections are in use. (Extended Module: SalesPadEDI)
ADDED: EDI Processing: Added the EDI Server ID column to the grid. (Extended Module: SalesPadEDI)
ADDED: Quick Reports: GridView is now available as a parameter for all Context Menu Item scripts.
ADDED: Serial Item In-Transit Receipt Import: A plugin which can import serial items via the In-Transit Items tab using an Import Manager import definition for the PurchaseReceiptInventorySerialNum table.


UPDATED: Import Manager: If two rows have the same primary keys for the main table, the same required fields for the main table, the same primary keys for a child table, and the child table is properly mapped, the two rows will now only be seen as duplicates if the two rows also have the same required fields for the child table. For example, when importing sales documents, Item Number is a required field for sales line items but is not a primary key. Two rows will have the same sales document primary keys and required fields if both rows are adding line items to the same sales document. If both rows leave Line Num blank due to wanting the import to auto-generate line numbers, Import Manager would previously show a "Duplicate entry in import file" prompt. It is now the case that the rows will not be seen as duplicates because they have different values in the Item Number column.
UPDATED: Shopify: Running the Order Import or Order Update Export will not generate warnings around removed fields. (Extended Module: Shopify)
UPDATED: Import Manager: InventorySerialNum user fields can now be imported via import definitions which use InventoryAdjustment as their table. SerialUserFields.Item_Number and SerialUserFields.Serial_Num must have field mappings for this functionality to work.
UPDATED: EDI: Updated EDI processing functionality to utilize multiple server connections that have the same provider. This functionality is useful when processing EDI documents across/within multiple companies. An example of this would be internal intercompany purchasing. (Extended Module: SalesPadEDI)
UPDATED: Quick Reports: Columns with their Grid Editor Type attribute set to PopupEditor will now work for columns that are updatable. This still only works for text type columns.


FIXED: Receiving: When on Dynamics GP 2013R2 or newer, there will no longer be an error "There is an active Purchase Order Approval workflow." when receiving, if the Purchase Order Workflow_Status is 6. NOTE: This is also a fix for Inventory Manager. NOTE 2: This can be fixed with a SQL procedure spptaPopRcptLineInsert_SalesPad
FIXED: SQL Server Connection: The Connect Using radio button labels are no longer mislabeled, and Windows Authentication option works properly. NOTE: SQL Server was actually Windows Auth and vice versa. (Introduced: 5.4.0)
FIXED: Sales Document Entry: Creating a new Sales Document will have the val_Source set to "Open" instead of "OPEN", which could cause scripting issues. NOTE: Scripts checking val_Source should use case insensitive checks, like spEquals. ex: val_Source.spEquals("Open"). (Introduced: 5.3.15)
FIXED: Sales Document Entry: Printing a Sales Document before saving will now properly prompt to save. (Introduced: 5.3.15)
FIXED: Manufacturing BOM Components Plugin: This Sales Line plugin will no longer result in an "Object Reference" error. (Introduced: 5.4.0)
FIXED: Sales Document Entry: Enabling the security Can Change Kit Quantities will now properly allow for changing the Kit Quantity and will no longer result in the EConnect error "You cannot change the extended quantity for kit". (Introduced: 5.3.16)
FIXED: Quick Report Editor: Updates: Deleting an Update will no longer occasionally delete the wrong column if there are multiple updatable columns.
FIXED: Quick Reports: Setting the Grid Editor Type attribute to PopupEditor for Quick Report columns will now properly display the button for all columns when using an Updatable Quick Report. Note: Users may need to select Reset Layout to update the columns and see the editor in some cases.


Version 5.4.0
Release Date 1/9/2024

BREAKING CHANGE: The Manufacturing BOM Mass Update plugin layout will be reset (NOTE: This can be re-imported by exporting the layout from an older build). BREAKING CHANGE: The Routing Mass Add Sequence and Routing Mass Update Sequence plugin layouts will be reset (NOTE: These can be re-imported by exporting the layouts from an older build). BREAKING CHANGE: Settings: Allow Line Items To Receive Price Updates: This setting has been renamed to Allow Price Level Changes and the functionality has been updated to prevent users from changing the price level on Sales Document IDs that are not in the setting's value. (Default: *)


ADDED: Security: Routing Entry: Allow Screen Layout Customization - Turns on the ability to customize the Routing Entry layout. (Default: false)
ADDED: Security: Routing Mass Add Sequence: Allow Screen Layout Customization - Turns on the ability to customize the Routing Mass Add Sequence layout. (Default: false)
ADDED: Security: Routing Mass Update Sequence: Allow Screen Layout Customization - Turns on the ability to customize the Routing Mass Update Sequence layout. (Default: false)
ADDED: Settings: Display Sales Document Hold Warning - Set to true to display any sales document holds in the warning message panel. (Default: False)
ADDED: Manufacturing Order Quick Report: There is now a Quick Report Tab, which needs to be enabled in Security and contains the sub-securities that mimic other Quick Report tabs.
ADDED: Manufacturing BOM Quick Report: There is now a Quick Report Tab, which needs to be enabled in Security and contains the sub-securities that mimic other Quick Report tabs.
ADDED: Security: Wennsoft Inventory Adjustment Line Dock: AutoRun - Automatically run the WennSoft Inventory Adjustment Line Dock Plugin for new line items. Defaults to 'False'. (Extended Module: WennSoftSignature)
ADDED: WennSoft Sales Document Dock: Added an Unbilled option that can be used to prevent any WennSoft information from being saved. (Extended Module: WennSoft Signature)
ADDED: WennSoft Inventory Transaction Dock: Added an Unbilled option that can be used to prevent any WennSoft information from being saved. (Extended Module: WennSoft Signature)
ADDED: Recurring Sales Definition: Added UDFs to Recurring Sales Definitions.
ADDED: Recurring Sales Definition User Fields: Added a new UDF tab to the Recurring Sales Definitions screen.
ADDED: Recurring Sales Line Definition: Added UDFs to Recurring Sales Line Definitions.
ADDED: Adobe Commerce: Setting: Scripts Order Invoiced Export Pre Submission Script - A C# script that will execute prior to invoicing an order in Adobe Commerce. (Extended Module: Adobe Commerce)
ADDED: Adobe Commerce: Setting: Scripts Order Invoiced Export Post Submission Script - A C# script that will execute after successfully invoicing an order in Adobe Commerce. (Extended Module: Adobe Commerce)
ADDED: Settings: ONESOURCE: ONESOURCE Pre Tax Calculation Request Script - A C# script that executes before tax calculation information is requested. (Extended Module: Thomson Reuters/ONESOURCE)


UPDATED: Manufacturing BOM Mass Update BOM: The plugin will properly save window size and position.
UPDATED: Routing Mass Add Sequence: The plugin will properly save window size and position.
UPDATED: Routing Mass Update Sequence: The plugin will properly save window size and position.
UPDATED: Manufacturing Order Properties: The Item Number and Routing Name hyperlinks will now be properly themed.
UPDATED: Routing Entry: The Item Number and Vendor ID hyperlinks will now be properly themed.
UPDATED: Routing Entry: Customizing the layout will now have access to additional layout properties.
UPDATED: Routing Mass Add Sequence: Customizing the layout will now have access to additional layout properties.
UPDATED: Routing Mass Update Sequence: Customizing the layout will now have access to additional layout properties.
UPDATED: Manufacturing Order Entry: Customizing the layout will now have access to additional layout properties.
UPDATED: Manufacturing BOM Entry: Customizing the layout will now have access to additional layout properties.
UPDATED: Sales Monitor: WennSoft fields are now prefixed with WennSoft instead of K2A. (Extended Module: WennSoftSignature)
UPDATED: Application: DevExpress 23.2.3
UPDATED: Application: The sppRecalcSOPBatch stored procedure will now only update batches with the 'Available' status (SY00500.BCHSTTUS = 0).
UPDATED: Adobe Commerce: Product Export: Custom attributes which aren't mapped will no longer be sent to Adobe Commerce when updating products. This speeds up the integration and prevents attributes from being altered in situations where multiple processes are editing the product around the same time. (Extended Module: Adobe Commerce)
UPDATED: Adobe Commerce: Product Export: If the setting Export Images During Product Export is set to False, existing image metadata such as the media type and file name will no longer be sent to Adobe Commerce when updating products. This speeds up the integration and prevents images from being altered or lost in situations where multiple processes are editing the product around the same time. (Extended Module: Adobe Commerce)


FIXED: Purchase Order Quick Report: The description for Multiple Reports now properly says "Purchase Order" instead of "Sales Document".
FIXED: Application: Empty groups in the main ribbon will no longer be visible.
FIXED: Application: Various scenarios where a form might get pushed behind other forms or behind the main application should no longer happen.
FIXED: Application: Messengers and Plugins are now properly themed in the scenario where they are being shown from a background thread (Bulk Forwarding).
FIXED: Sales Document Holds: When adding a hold that has already been deleted, the hold will now appear in the Holds text section in the sales document header.
FIXED: Package Editor: There will now be a prompt preventing package lines from being added outside the limits of the package.
FIXED: Package Editor: The Line Num column is no longer editable.
FIXED: Package Editor: Users can no longer edit Packages created via Configurator.
FIXED: Sales Document Entry: If the Matrix Sales Entry security is disabled, typing a non-inventory prefix will properly validate as non-inventory. Similarly the Barcode conversion UDF copy will not end in a lower case letter. (Introduced: 5.3.0 from DevExpress Upgrade)
FIXED: Wennsoft Inventory Adjustment Line: New line items will have their Cost Code set to their header's Default Cost Code. (Extended Module: WennSoftSignature)
FIXED: Wennsoft Inventory Adjustment: Saving an inventory adjustment will not give an "52234 - Transaction Quantity is invalid" error. (Extended Module: WennSoftSignature)
FIXED: Wennsoft Inventory Adjustment: The Default Cost Code is now saved. (Extended Module: WennSoftSignature)
FIXED: Wennsoft Sales Document: The Default Cost Code is now saved. (Extended Module: WennSoftSignature)
FIXED: Wennsoft Inventory Adjustment Line: This plugin's width is now saved. (Extended Module: WennSoftSignature)
FIXED: Wennsoft Inventory Adjustment: Changing the Type from Job Cost to Service Management or vice-versa and then saving will properly save the change. (Extended Module: WennSoftSignature)
FIXED: Wennsoft Inventory Adjustment: If 'Auto Run and Dock' is enabled, opening an inventory transfer or inventory variance will not give an "The WennSoft Inventory Adjustment plugin can only be opened for inventory adjustments" error. (Extended Module: WennSoftSignature)
FIXED: Wennsoft Inventory Adjustment Line: If 'Auto Run and Dock' is enabled, opening an inventory transfer or inventory variance will not give an "The WennSoft Inventory Adjustment Line plugin can only be opened for inventory adjustments" error. (Extended Module: WennSoftSignature)
FIXED: WennSoft: Users will no longer be prompted to save a document when closing a document that has no changes. This was caused by the WennSoft dockable plugins. (Extended Module: WennSoft Signature)
FIXED: Wennsoft Inventory Adjustment: Selecting a Job Number before adding any line items will not result in the Default Cost Code dropdown failing to load. (Extended Module: WennSoftSignature)
FIXED: SQL Connection: The SQL Connection form when editing a connection is now properly themed.
FIXED: Application: Having a space at the end of the User Name when logging in will no longer cause bad Activity Locks. This mostly only affected Manufacturing Orders, but could be applicable in other places.
FIXED: Document Combiner: Posting a combined invoice that has deposits that were copied from the original invoices will no longer result in an error related to the RM Keys being missing.
FIXED: Sales Document Entry: The scrollbar will now properly show and the grid will no longer go cattywampus. (Introduced: 5.3.0 from DevExpress Upgrade)
FIXED: Automation Agent: The Transfer To Invoice Deadlock retry added in 5.2.22 will now properly retry. (Introduced: 5.2.22)
FIXED: Returns Tracker Case Search: Opening a case that does not have a Sales Document linked will no longer result in a "String cannot be of zero length." error. (Introduced: 5.3.15)
FIXED: Returns Tracker Entries: Creating a new case from the Customer Card tab will no longer result in a "String cannot be of zero length." error. (Introduced: 5.3.15)


Version 5.3.17
Release Date 12/12/2023


ADDED: Access Token Maintenance: Screen that allows users to generate new access tokens, revoke existing access tokens, and view access token properties.
ADDED: UPS Module: Created a new UPS extended module that utilizes the UPS REST API and handles address validation. (Extended Module: UPS)
ADDED: Settings: UPS: Endpoint Type - Specify whether SalesPad will be connecting to the UPS test or production environment. (Extended Module: UPS)
ADDED: Settings: UPS: UPS Shipper Number - A UPS account number is a six-digit number that is unique to each individual/corporation that holds an account with UPS. (Extended Module: UPS)
ADDED: Settings: UPS: Automatically Apply Address Recommendations In Workflow - Specify whether to automatically apply changes in workflow when UPS address validation responds with a valid recommendation. (Extended Module: UPS)
ADDED: ShippingV2 Module: Created a new ShippingV2 extended module that mirrors the Shipping module functionality, but utilizes the REST API instead of eCommerceMax. The only carrier that is supported at this time is UPS. (Extended Module: ShippingV2)
ADDED: Sales Document Freight Rates: A new screen that mirrors the 'Sales Document Freight Calculator' from the Shipping module, but utilizes the UPS REST API. (Extended Module: ShippingV2)
ADDED: Sales Document Simple Freight Rates: A new screen that mirrors the 'Sales Document Simple Freight Calculator' from the Shipping module, but utilizes the UPS REST API. (Extended Module: ShippingV2)
ADDED: Application: Print buttons can now be triggered via the keyboard shortcut: ALT+P. NOTE: Sub tabs may take priority over the main form, example: Sales Graph sub-tab.
ADDED: Workflow Visualizer: Added workflow visualizer to Business Object Workflow.


UPDATED: Quick Reports: The grid that shows the list of Quick Reports on a sub-tab for Quick Reports (ex: Customer Quick Report or Sales Document Quick Report), will now save its layout properly; also, the orange triangle options are now available for these lists.
UPDATED: Item Properties: The UOfM field now properly says UOfM Schedule.


FIXED: Inventory Adjustment: Kit/Service/FlatFee/Misc Charge items can no longer be added to the document. There is also better error handling in the event that this is bypassed.
FIXED: Import Manager: Adds better error handling around certain imports: the errors thrown will now show in the results window instead of a separate exception window, e.g. Inventory Adjustments.
FIXED: Application: Reduced the chance for a deadlock on IV00102 from the spptaSopLineDelete_SalesPad SQL stored procedure.
FIXED: Grid Auto Filter: Filtering on an Integer UDF will no longer result in an "Invalid Value" error on the filter.
FIXED: ITT Generation: The Quantity Decimal Places will be properly set from the Sales Line, which will allow the In-Transit Transfer to fulfill properly when an item has a UofM conversion.
FIXED: Quick Reports: If a column is marked as Group By in the Column definition and the Auto Expand Group is not defined, the default behavior will be to expand the group. If Auto Expand Group is a tag in the XML then it will be respected and will overrule the individual column group expansion. (Introduced: 5.3.16)
FIXED: Integration Order Import: When creating a new customer, the Primary Bill To address will be set to the Primary Ship To address if a Primary Bill To address is not found. Also, if the Primary Ship To address is not found but the Primary Bill To is, then the Primary Ship To will be set to the Primary Bill To.


Version 5.3.16
Release Date 11/29/2023


ADDED: WennSoft Inventory Adjustment: Created a new plugin for Inventory Adjustments to set WennSoft data. (Extended Module: WennSoftSignature)
ADDED: WennSoft Inventory Adjustment Line: Created a new plugin for Inventory Adjustment Lines to set WennSoft data. (Extended Module: WennSoftSignature)
ADDED: Setting: WennSoft Inventory Adjustment Line Columns To Include In Audit: WennSoft inventory adjustment line columns that will be audited. If left blank, no auditing will be done when a WennSoft inventory adjustment line column is updated. Users must log out and log back in for changes to take effect. (Extended Module: WennSoftSignature)
ADDED: Application: Most grids will now have an additional menu option in the orange triangle drop down for Group Options, which will have Auto Expand Groups that can be toggled, along with Expand Groups and Collapse Groups options. Additionally Ctrl+MO will collapse groups and Ctrl+MP will expand groups.
ADDED: Quick Reports: There are now options for Multiselect, allowing multiple rows to be highlighted and Auto Expand Groups, allowing groups to auto expand when grouping by a column.
ADDED: Quick Reports: Ctrl+C will continue to copy the focused cell, Ctrl+C will copy multiple rows if they are highlighted, and Ctrl+CR will copy an entire singular row. Additionally Ctrl+MO will collapse groups and Ctrl+MP will expand groups.
ADDED: Adobe Commerce: Setting: Product Export: Maximum Image Size In Kilobytes - Images which have a file size in kilobytes (KB) greater than this setting's value will be resized to be smaller than this setting's value. If set to 0 or a negative integer, images won't be resized. NOTE: This setting applies to Product Export and Product Image Export components. Defaults to 0. (Extended Module: Adobe Commerce)


UPDATED: Adobe Commerce: Product Export: Products which aren't exported due to not having changed since the last time the Product Export ran will now appear in the results as being ignored (Extended Module: Adobe Commerce)
UPDATED: Sales Document Line Items: Attempting to edit the quantity of a top package line for specifically the Package Configuration Type will now display an error to use Configurator instead. (Extended Module: Configurator)


FIXED: Sales Document: The Payment Terms Due Date will now properly calculate for EOM and Date Types, when also using the "Use Customer/Vendor Grace Periods for Date/EOM Payment Terms", along with a fix for Calculate Date From Days for EOM. NOTE: This is a SQL procedure update: spptaCalcDueDateRM_SalesPad.
FIXED: Quick Reports: The Custom Summary for Gross Margin will now properly calculate if the grid has been filtered using an auto-filter row.
FIXED: Quick Report: Exporting a Quick Report to Excel with conditional formatting will no longer result in an "Input string was not in a correct format" error.
FIXED: Purchase Order Generation: There will no longer be a rounding error for Unit Cost when using various different cost sources.
FIXED: Database Update: The Database update will no longer fail on the sppDispatchCombineAppointments stored procedure. NOTE: This proc can be dropped and the Database update will succeed. (Introduced: 5.3.13) (Extended Module: Dispatch)
FIXED: Configurator: Removed some unnecessary blank script caching, and increased script cache duration for performance reasons. (Extended Module: Configurator)
FIXED: Adobe Commerce: The Product Export, Product Image Export, and Inventory Level Export components will not occasionally send data to the wrong product when multiple components are running at the same time. (Extended Module: Adobe Commerce)


Version 5.3.15
Release Date 11/10/2023


REMOVED: Sales Line Mass Update: The Non-Inventory and DropShip checkboxes were not functional and were removed.


UPDATED: System User Log: The System User card now has a Log tab which shows when the user logs in and out.
UPDATED: Inventory Allocation/Backorder: These popup forms in Inventory Lookup are now properly themed. The Inventory Allocations tab in the popup is now called Sales Allocations.
UPDATED: Sales Line Mass Update: There is now an X button for non-UDF controls to clear out the field and reset the Update Lines information for the field.
UPDATED: Sales Line Mass Update: There is now a Clear Fields button that will reset all fields.
UPDATED: Sales Line Mass Update: The prompt for Update Lines will now show which fields and values will be
UPDATED.
UPDATED: Sales Line Mass Update: If there are no results in the grid, the Update Lines processing will no longer run.
UPDATED: Sales Line Mass Update: If there are no fields changed, a prompt will notify this, and the sales documents will no longer save.
UPDATED: Sales Line Mass Update: There will now be an Information icon on fields that are changed, indicating that they will be fields that are updated in the Update Lines processing.


FIXED: Sales Line Mass Update: Tabbing through the fields will no longer add the fields to those being updated, unless there was an actual change to the field.
FIXED: Configurator: Configurators that have Restrictions will no longer result in a "The given key was not present in the dictionary" error. (Introduced: 5.3.5)
FIXED: EDI 810 Plugin: Users will no longer receive an error about a value being null when a non-EDI document triggers the plugin.
FIXED: Purchase Order Entry: If a Pre Save Script or other reason would cancel the save process, the Forward button will no longer push the document through workflow.
FIXED: In-Transit Transfer Entry: If a Pre Save Script or other reason would cancel the save process, the Forward button will no longer push the document through workflow.
FIXED: Receipt Transaction Entry: If a Pre Save Script or other reason would cancel the save process, the Forward button will no longer push the document through workflow.
FIXED: Purchasing Advisor: There will no longer be an invalid cast error for the Average Lead Time field. (Introduced: 5.3.4)


Version 5.3.14
Release Date 10/27/2023


ADDED: Licensing: The SalesPad Concurrent license is now supported.
ADDED: Licensing: The SalesPad Reports and Dashboards license is now supported.
ADDED: Setting: Workflow Visualizer Tool Path: The path to the rendering tool used by the Workflow Visualizer.
ADDED: Email Templates: Returns_Management is a new email template that can be selected, allowing users to enter RMA related field tags that will be populated with data on-the-fly similar to other email templates.
ADDED: Returns Management: RMA Entry: RMA Email Plugin: New secured plugin allows users to send emails from the RMA Entry screen based on a configured email template, configured users to send to, and resources attached if desired.
ADDED: Application: Support for Dynamics GP 18.6. NOTE: This was the build that was tested, older versions may still work properly.


UPDATED: Dashboards: CRM datasets and data sources are now hidden for users who aren't licensed for CRM.
UPDATED: Adobe Commerce: Product Export: Mapping to the URL Key field in the Product Assignment Custom Field Mapping setting will no longer slow down the product export. (Extended Module: Adobe Commerce)


FIXED: Workflow Visualizer: The API end point had changed and will now properly visualize.
FIXED: Customers: Contact Addresses: The New and Copy buttons are now disabled for readonly customers.
FIXED: Sales Documents: Addresses: The Country Code and Tax Schedule fields can no longer be cleared on readonly sales documents.
FIXED: Sales Document Payments: The payment window will now be appropriately readonly if another user has the activity lock, preventing a potential payment error infinite loop. (Introduced: 5.2.34)
FIXED: Sales Document Entry: COGS: When the WennSoft Signature integration is installed, it should no longer always default COGS to the service call's GL account, but instead use segment substitution if present to change the COGS based on the Warehouse.
FIXED: SalesPad Today: Improved loading time when a large number of Interactions/CRM Tasks are available. The calendar will now only load the visible date range for Interactions/CRM Tasks, and load them as the calendar date range changes.
FIXED: Purchase Order Entry: If the header status would set to Released when printing/emailing, but all the lines are already set to Released, it will now properly update. (Introduced: 4.6.2.1)
FIXED: Integrations: The spvInventoryLocation view will now properly update UDFs. (Extended Module: Integrations)
FIXED: EDI 945 Inbound: Importing a 945 transaction will never void the related sales document. (Extended Module: SalesPad EDI) (Introduced: 5.2.38)
FIXED: Sales: The Batch Total (BCHTOTAL) in SY00500 will be properly calculated if there are multicurrency documents in the batch. NOTE: This is a SQL procedure update to sppRecalcSOPBatch.
FIXED: SQL Function: The spfGetDefaultBin was missing a NOLOCK on the IV00112 table, which had the potential to cause deadlocks.
FIXED: Consolidated EDI 810: The values in the summary will now be calculated correctly. (Extended Module: SalesPadEDI)


Version 5.3.13
Release Date 10/13/2023


ADDED: Adobe Commerce Integration: Setting: Target Adobe Commerce Store: Allows users to designate the specific store from which orders should be imported.
ADDED: Setting: Can Open Multiple Sales Batch Processing Tabs: Defines the users or groups that are able to open multiple Sales Batch Processing Tabs. (Default: *)
ADDED: Quick Report: There is now an option to email Quick Reports from the main Quick Report screen as well as Quick Report tabs.
ADDED: Email Template: There is now a Quick Report email template.
ADDED: RMA Entry: Resources: RMA Entry screen now has a Resources tab when enabled in security.. (Extended Module: Returns Management)


UPDATED: Magento Integration: CreatedAt and UpdatedAt fields are now DateTime type, and the CreatedAt mapping is no longer sent to Magento for existing product updates, only when initially exporting an item.
UPDATED: Shopify: Order Update Export: Orders in the Export Queue which are not from Shopify will be ignored instead of giving an error. (Extended Module: Shopify)
UPDATED: Adobe Commerce: Order Update Export: Orders in the Export Queue which are not from Adobe Commerce will be ignored instead of giving an error. (Extended Module: Adobe Commerce)
UPDATED: Adobe Commerce: Order Invoiced Export: Invoices in the Invoice Export Queue which are not for an Adobe Commerce order will be ignored instead of giving an error. (Extended Module: Adobe Commerce)
UPDATED: WooCommerce: Order Update Export: Orders in the Export Queue which are not from WooCommerce will be ignored instead of giving an error. (Extended Module: WooCommerce)
UPDATED: Customer Special Pricing: The begin date is now editable.
UPDATED: Adobe Commerce: Product Export: Certain mappings in the Product Assignment Custom Field Mapping setting will no longer slow down the product export. (Extended Module: Adobe Commerce)


FIXED: Sales Batch Processing: There is now a check just before a document is forwarded that confirms if it is still in the intended starting batch. This will help prevent double forwarding scenarios if the document has already been moved to another batch.
FIXED: WennSoft Sales Search: There is now a check just before a document is forwarded that confirms if it is still in the intended starting batch. This will help prevent double forwarding scenarios if the document has already been moved to another batch. (Extended Module: WennSoft)
FIXED: Receiving: When using the Serial Number popup, the Receipt Batch will no longer clear after entering Serial Numbers. (Introduced: 5.2.8)
FIXED: Sales Line Items: The Insert/Paste before/after buttons will now be more consistently disabled based on the Can Insert Sales Lines sub-security.
FIXED: Sales Line Items: The Copy Line buttons are now disabled based on the Can Create Sales Lines sub-security.
FIXED: Quick Report Emailing: There will no longer be an error if the worksheet name generated would be longer than 31 characters. Includes Automation Agent Quick Report emailing.


Version 5.3.12
Release Date 10/2/2023


ADDED: SalesPad EDI: Data Cross Reference: Customer Mapping: A tab was added called Customers which allows users to create additional mapping for customers. This tab maps the value of a Customer Mappable Field defined on the Bus Object Mapping screen to a customer and can be used in addition to the customer that is already mapped in the trading partner section. (Extended Module: SalesPad EDI)
ADDED: SalesPad EDI: Data Cross Reference: Addresses: Added a new Customer Number column that is used along with the new Customer mapping tab to define which customer's address codes are being mapped. By default, the Customer defined in the Trading Partner section will be used. (Extended Module: SalesPad EDI)
ADDED: SalesPad EDI: Bus Obj Mapping: Added a new column called Cust Mappable Field which is used to select which fields can be used when attempting to map the document to a customer.
ADDED: Adobe Commerce: Setting: Order Update Export: Update Adobe Commerce Order Status After Order Update Export - The status to update Adobe Commerce orders to during the Order Update Export. Leave blank to not update order status. Can use a custom status code set up in Stores -> Settings -> Order Status. Defaults to nothing. (Extended Module: Adobe Commerce)
ADDED: Adobe Commerce: Setting: Order Update Export: Update Order Status Comment For Updated Order - A comment to append to the Adobe Commerce order while updating its status during the Order Update Export. NOTE: This setting will be ignored if Update Adobe Commerce Order Status After Order Update Export is blank. Defaults to nothing. (Extended Module: Adobe Commerce)
ADDED: Adobe Commerce: Setting: Order Invoiced Export: Update Adobe Commerce Order Status After Order Invoiced Export - The status to update Adobe Commerce orders to during the Order Invoiced Export. Leave blank to not update order status. Can use a custom status code set up in Stores -> Settings -> Order Status. Defaults to nothing. (Extended Module: Adobe Commerce)
ADDED: Adobe Commerce: Setting: Order Invoiced Export: Update Order Status Comment For Invoiced Order - A comment to append to the Adobe Commerce order while updating its status during the Order Invoiced Export. NOTE: This setting will be ignored if Update Adobe Commerce Order Status After Order Invoiced Export is blank. Defaults to nothing. (Extended Module: Adobe Commerce)
ADDED: Automation Agent: System User Quick Report Email Job: Based on the Send Individual System User Emails setting, you can send emails to System Users or static/scripted list of email addresses. Email Template keyword replacements will only happen when emailing System Users. System User emailing can also filter down the dataset based on individual System User - User Names if the Search Clause fields match accordingly. (Extended Module: Automation Agent)
ADDED: Email Templates: There is now a System User template, currently only used in the System User Quick Report Email Automation Agent job.


UPDATED: Bin Transfers: Custom Stored Procedures: sppMultibinMove, sppTransferLotNum, and sppTransferSerialNum all have custom stored procedure (spcp) support. The custom stored procedure, if present in the database, will execute at the end of those core stored procedures.
UPDATED: Adobe Commerce: Product Export: The product export is now faster. (Extended Module: Adobe Commerce)
UPDATED: Adobe Commerce: Product Export: If a product has no changes after mappings and the Product Pre Export Script run, the product will not be exported to Adobe Commerce and the Product Post Export Script will not run. This change was made to make the product export faster. (Extended Module: Adobe Commerce)


FIXED: Application: There was a potential Argument Out Of Range exception that could be thrown from a User/Group editor if the value was blank.
FIXED: Adobe Commerce: Order Import: The 'Flag Comment For Imported Order' setting now works. After importing an order, the Adobe Commerce order will have a comment with this setting's value. (Extended Module: Adobe Commerce)
FIXED: Import Manager: The Item Promotion import will no longer result in a "Column '' does not belong to table." error. (Introduced: 5.2.18)
FIXED: Settings: Configurator: Post Package Explosion Script: Updating the configuration of a package type configuration line after it has been saved will no longer result in an empty component collection being passed into this script. (Extended Module: Configurator)


Version 5.3.11
Release Date 9/15/2023


ADDED: Setting: Sales Document Entry: Split Square Payments - During document splitting, distribute Square payments evenly amongst the resulting documents. Defaults to 'False'.
ADDED: Setting: Square - General: Enable Multiple Capture - When true, authorization transactions can be captured multiple times. This is implemented via decreasing the amount on the authorization and creating a new authorization for the decreased amount. Defaults to 'False'.
ADDED: Setting: Square - General: Use Original Sales Document For Voids And Credits - When true, void and credit transactions will be assigned to the sales document which has the original authorization, capture, or charge. When false, void and credit transactions will be assigned to the sales document which the user voids or credits from. Defaults to 'False'.
ADDED: Setting: Square - General: Use Version Token - When true, the authorization's version token will be sent to Square when capturing an authorization. Defaults to 'False'.
ADDED: Customer Card: Contact Addresses: New Copy button allows the user to create a new contact address that has default information copied from the selected contact address.


UPDATED: Sales Documents: Payment Splitting: Situations where a payment is split instead of merely moved from one sales document to another are now clearly audited to each sales document involved in the payment split.
UPDATED: Sales Documents: Payment Splitting: If 'Split PayFabric Payments' or a similar setting is enabled and every payment has an amount which matches a split document's total, each payment will go to a sales document which has the same total as the payment's amount instead of the payments splitting normally.
UPDATED: Sales Documents: Payments: Square: The Payment Info popup which appears when hovering over the Payment field now displays Total Authorized Amount and Total Captured Amount fields for sales documents which have split Square payments.
UPDATED: Settings: Square: The production Square Application ID and Square Application Secret settings are no longer available to modify, and SalesPad now uses Cavallo's App ID and App Secret instead, overriding any previous custom values for those settings.


FIXED: Sales Documents: Payments: The Payment Info popup which appears when hovering over the Payment field now displays more accurate information for the Doc Authorized Amount and Remaining Auth Amount fields.
FIXED: Square: Crediting a Square payment will delete or update the related GP payment regardless of which sales document the user currently has open.
FIXED: Purchase Order Entry: Saving a DropShip PO that was created in GP will no longer result in "Customer Ship To Address does not exist in the Customer Address Master Table - RM00102" Econnect error (6342).
FIXED: Sales Line Replacements: While having the sub-security "Show Only Available Items" enabled, exploded Kits (aka Packages) will no longer show the Item Replacement plugin, because exploded kits do not support this functionality. (Introduced: 5.2.6)
FIXED: Email: Sending an email will not fail with a "Could not load file or assembly 'System.Memory'" error. (Introduced: 5.3.9)
FIXED: Distribution BOM Line: The Component Status field can now be changed properly. (Introduced: 5.3.0)


Version 5.3.10
Release Date 9/4/2023


BREAKING CHANGE: Returns Tracker: Previously known as Case Tracker. All securities previously tied to Case Tracker will need to be updated/copied to the new Returns Tracker securities via the conversion tool (see below). Settings names all changed to display Returns Tracker. Tab headers and group headers that previously showed "Case Tracker ..." now show Returns Tracker instead. Grid column headers that previously had "Case Tracker" in them have been updated to exclude that, notably [Case Tracker] Status, [Case Tracker] Status ID, and [Case Tracker] Status Description.
BREAKING CHANGE: Report Manager: Pre-existing Case Tracker reports within Report Manager have their report group and report ID updated from "Case Tracker ___" to "Returns Tracker ___". The report name is not affected.


ADDED: Case Tracker to Returns Tracker Conversion Tool: New tool to copy the old Case Tracker securities over to the new Returns Tracker securities. Sub-securities copied over as well. Also updates old Case Tracker reports within Report Manager to the new Returns Tracker name. Enable in securities and then should appear under the Returns Tracker menu tab. Be sure to remove any filters in Security Editor prior to running.. Disable security for the conversion tool when finished.
ADDED: Settings: Configurator Post Package Explosion Script: A C# Script that runs after a Package type configuration is exploded into a package. (Extended Module: Configurator)
ADDED: EDI 214 - Carrier Status Message: The EDI 214 - Carrier Status Message can now be received and processed. (Extended Module: SalesPadEDI)


UPDATED: Inventory Adjustment Allocation Plugin: All the grids will now save layouts.
UPDATED: Magento2 Integration: References to "Magento" in UI have been replaced with "Adobe Commerce". Records in the spAAInstance table will now refer to "Adobe Commerce" in the Instance_Name column rather than "Magento2". "Adobe Commerce" will also be the value passed into the @Source parameter in the sppAAGetNExtCustomerAddr stored procedure (spcpAAGetNextCustomerAddr).
UPDATED: User Field Editor: Case Tracker Case and Case Tracker Detail business objects now display Returns Tracker Case and Returns Tracker Details respectively.


FIXED: Sales Document Audit: The quantity value recorded for newly added lines could be incorrect if other decimal value columns were also changed. This has been corrected.
FIXED: Sales Document Audit: The quantity value will now be recorded properly if the quantity has decimal places for new lines.
FIXED: Sales Document Workflow Setup: The Copy To will no longer delete the original rule and conditions being copied. (Introduced: 5.2.43)
FIXED: Inventory Adjustment Allocation Plugin: The splitters will now save properly.
FIXED: Inventory Adjustment Allocation Plugin: Right-clicking the left layout will no longer falsely allow you to customize the layout.
FIXED: Customer Notes: Notes will now save properly if the Customer NOTEINDX in RM00101 is zero. This also would fix notes showing up on multiple customers, as the customers are saved. NOTE: This is a SQL stored procedure update for sppUpdateCustomer.
FIXED: Inventory Adjustment Allocation Plugin: There will no longer be a Null Reference Exception in various scenarios where the grid is filtered.
FIXED: Inventory Adjustment Allocation Plugin: Right-clicking the form will no longer allow customizing the layout of the form.
FIXED: Sales Line Configurator: This plugin will no longer automatically pop up twice when creating a new sales line and the configurator item is chosen from the item search screen and the configurator is a package type.
FIXED: Inventory Transfers: Plugins will show properly. NOTE: Currently only custom modules use plugins for this screen. (Introduced: 5.1.5)


Version 5.3.9
Release Date 8/22/2023


ADDED: Application: Most Grid and TreeView columns will now have a right-click menu option to set up conditional formatting. NOTE: This is saved in the layout; if the layout is changed in an older build, it can wipe out this conditional formatting setup.
ADDED: EDI 204 - Carrier Load Tenders: Added EDI 204 functionality to send Carrier Load Tenders from sales documents. (Extended Module: SalesPadEDI)


REMOVED: Settings: Copy Customer Note To Internal Notes had a duplicate.


UPDATED: Import Manager: The Run Import button is now disabled for Sales Line and Purchase Line Imports. There is also a Tooltip on the button pointing to the corresponding plugins from Sales/Purchase order entry.
UPDATED: Square: Updated the Square SDK to version 29.0.0.
UPDATED: Licensing: Workflow and Profit Manager Essentials now has access to Split Sales Document, Sales Document Mass Update, Sales Line Mass Update, Sales Line Mass Update Detach Sop To Pop Links, Email Template Editor, and New Email Template.


FIXED: Setting: Square: API Retries: This setting now has its own name instead of incorrectly sharing a name with 'Access Token Refresh Frequency'.
FIXED: EDI Scheduler: Fixed various issues around trying to create a schedule that occurs daily and happens at a specific time.
FIXED: Messenger: Messengers that asked for a DateTime value will no longer discard the last part of the field that was changed by the user.
FIXED: WennSoft Purchase Line Monitor: There will no longer be an "invalid column name 'Origin' " error. NOTE: This a SQL view change: spvK2APurchaseLineMonitor_base. (Extended Module: WennSoftSignature) (Introduced: 5.3.6)
FIXED: Attach Sales Line To PO: There will no longer be a potential divide by zero error related to the splitter position.
FIXED: Deattach Sales Line To PO: There will no longer be a potential divide by zero error related to the splitter position.
FIXED: Consolidated Shipments: EDI Invoice: The line sequence number now starts at 1. (Extended Module: SalesPadEDI)


Version 5.3.8
Release Date 8/8/2023


BREAKING CHANGE: Sales Document Manual Split: Fulfilled kits are no longer allowed to be partially split; only the full quantity can be split.


ADDED: Setting: Sales Document Entry: Split PayFabric Payments - When enabled, then when a sales document with a PayFabric payment is split, all split documents will have visibility of that payment information. Defaults to 'False'.
ADDED: Setting: PayFabric: Enable Multiple Capture - When true, authorization transactions can be captured multiple times. The following gateways support multiple captures: EVO PayFabric, Authorize.Net, USAePay, and Payeezy (First Data Global Gateway e4). NOTE: Requires the 'Send Document and Line Level Data' setting to be enabled.
ADDED: Security: PayFabric Capture: Always Capture Document On Account Amount - When enabled, the document's full on account amount will be captured regardless of the amount authorized. When disabled, the 'Always Capture Full Authorization Amount' security is used. This security will not work for all gateways when capturing more than authorized. NOTE: The 'Enable Multiple Capture' setting supersedes this security.
ADDED: Security: PayFabric Capture: Always Capture Full Authorization Amount - When enabled, the full authorization amount will always be captured regardless of the document's on account amount. When disabled, the captured amount will be determined by the lesser value of the document's on account and the authorized amount. NOTE: The 'Enable Multiple Capture' setting supersedes this security.
ADDED: Security: Sales Document Properties: Can View Payment Info Popup - If set to 'True', hovering over the Payment amount field will display additional payment information. Defaults to 'True'.
ADDED: Customer Sales Promotions: There is now a tab on the Customer Card to show potential Sales Promotions assigned to a customer. Enabled through security.
ADDED: Data Cross Reference: UofMs: Added an Item Numbers column which can be used to configure UofM conversions for specific items. Rows where the Item Numbers column is left blank are used as the default. (Extended Module: SalesPad EDI)
ADDED: ShipCenter Shipping Calculator: A package description column has been added to the packages grid, which will hold the package template used to create the package if applicable. (Extended Module: ShipCenter)


UPDATED: Setting: Sales Document Entry: Split Manual Payments - This setting now splits deposits as well when splitting orders. Deposits will still not split when splitting invoices or when partially invoicing.
UPDATED: Sales Documents: Payments: PayFabric: The Sales Doc Num field in the PayFabric payments grid can now be clicked to open the sales document.
UPDATED: Sales Document Promotions: The Item and Sales promotions are themed properly.
UPDATED: Sales Promotions: If the coupon generation fails during new customer creation, there will now be an audit trail and a Log Messenger showing the error.
UPDATED: Sales Document Manual Split: The split quantity field text is now black for better visibility in dark themes.
UPDATED: Settings: Margin Cost Field: The description now explains how this UDF should be used for non-base UofMs: "NOTE: This value should be for the total UofM Cost similar to the Sales Line Unit Cost field. ex: 1 Case of 10, Base Unit Cost $3, equals $30."
UPDATED: Settings: Margin Cost Field: The editor now allows for choosing a Sales Line UDF.


FIXED: Setting: Sales Document Entry: Split Manual Payments - This setting now accounts for taxes and allocates the correct payment amount to each sales document.
FIXED: PayFabric: Voiding or crediting a PayFabric payment will delete or update the related GP payment regardless of which sales document the user currently has open.
FIXED: Sales Promotions: The Coupon Mapping and Generate Coupons will now properly save the Random Length field.
FIXED: Sales Promotions: The Generate New Customer Coupons will now properly only generate coupons once for new Customers and new Customer Addresses.
FIXED: Sales Document Properties: When a corresponding Sales Promotion is applied to the Sales Document, the text in the Discount/Freight fields will now have black text for better visibility when using dark themes.
FIXED: Purchase Order Entry: Non-Inventory currency decimal places will now properly respect GP setup in a Non-Multicurrency environment. NOTE: This is a change to a SQL view: spvPurchasingSetup.
FIXED: Customer Quick Report Email: The email template subject will now properly replace keywords, similar to the template body. (Extended Module: Automation Agent)
FIXED: Customer Quick Report Email: There will no longer be an error "The table 'customer number here' does not begin with a letter, an underscore or a backslash." when the customer number is an integer format. (Extended Module: Automation Agent)
FIXED: Setting: Sales Document Entry: Split Manual Payments - This setting now accounts for deposits and other unsplittable payments when allocating splittable payments to each document.
FIXED: Interactions: Updating the Start Date and directly clicking OK will now properly adjust the End Date based on the duration. NOTE: Tabbing out of the field can be used as a workaround. (Introduced: 5.2.43)
FIXED: Interactions: Re-opening an interaction that has not been updated before will now properly display the Duration and End Date/Time fields. NOTE: These were being saved, but were not displayed properly until it was updated once.
FIXED: Data Cross Reference: UofMs: Changing the UofM schedule column then immediately saving will no longer save the previous UofM’s value. It will now be cleared out properly.


Version 5.3.7
Release Date 7/26/2023


UPDATED: EDI Script Helper: The EDI Script Helper now properly populates the EDI business objects tree.
UPDATED: ShipCenter Shipping Calculator: The width of the package template dropdown has been increased. (Extended Module: ShipCenter)


FIXED: Sales Line Item Configurator Plugin: String code changes will now result in audits when the string code is also being used as the item number.
FIXED: Magento: Product Image Export: Exported images will now be compared to the last time the image was exported. If there have been no changes, the image will no longer be exported. This change will prevent multiple duplicate images being added to Magento's file structure. (Extended Module: Magento)
FIXED: Magento: Product Export: Exported images will now be compared to the last time the image was exported. If there have been no changes, the image will not be exported. This change will prevent multiple duplicate images being added to Magento's file structure. (Extended Module: Magento)
FIXED: Sales Line Mass Update: Transfer To Invoice, Allocate, and Unallocate will now properly validate that the documents are Orders. Transfer to Invoice will no longer error on other document types, or create .1 invoices if used on an Invoice.
FIXED: Setting: System: SQL Invalid Object Ignore - Automation Agent Service, Remote Library, and EDI Service now respect this setting based on whether Service is selected instead of whether Mobile is selected.
FIXED: Setting: System: SQL Parameters Mismatch - Automation Agent Service, Remote Library, and EDI Service now respect this setting based on whether Service is selected instead of whether Mobile is selected.
FIXED: User Field Editor: When using the WXI themes, the setup for Quick Report UDFs will now properly work instead of showing an invalid xml error and cutoff text. (Introduced: 5.3.1)
FIXED: Sales Line Configurator: Attempting to reconfigure a sales line that has attributes that are restricted or optional will no longer result in the wrong options being selected for the item's attributes. (Extended Module: Configurator) (Introduced: 5.3.4)
FIXED: Sales Document Payments: Payfabric Transaction: When taking an authorization on a split document, where there is an authorization on a related split document, the Auth/Charge buttons will now be properly enabled or disabled based on the current document’s authorizations and document total. The work around is to enable the Payfabric Allow Overcharge setting.


Version 5.3.6
Release Date 7/10/2023


BREAKING CHANGE: EDI 753: The Quantity2 field is now set to the number of packages on the sales document. NOTE: The PackagingFormCode2 and YesOrNoResponse elements may now require values or mappings to account for this change. (Extended Module: SalesPad EDI)
BREAKING CHANGE: The existing Key2Act module/DLL has been renamed to WennSoftSignature. Customers who have the old Key2Act module will need to use our new Key2Act to WennSoft conversion tool to retain existing configuration for that module. (Extended Module: WennSoftSignature)


ADDED: Quick Reports: Security: Use Interactions Instead Of CRM Events security allows Create Call List button to create interactions instead of CRM events.
ADDED: WennSoftSignature: Created a Key2Act to WennSoft conversion tool that will copy all Key2Act plugin securities to the new WennSoft plugin securities. This conversion tool should only be run once and access to it can be removed after it is finished. (Extended Module: WennSoftSignature)
ADDED: Setting: WennSoft Customers With Access To All Job Codes: Configure which customers have access to selecting any Job Code during Sales Entry. * for all. Blank for none. (Extended Module: WennSoftSignature)
ADDED: WennSoft Customer: WennSoft customer fields can now be viewed in SalesPad in the Customer card. (Extended Module: WennSoftSignature)
ADDED: WennSoft Customer Address: WennSoft customer address fields can now be viewed in SalesPad in the Customer Address card. (Extended Module: WennSoftSignature)
ADDED: WennSoft New Customer: WennSoft customer fields can now be set in the New Customer form. (Extended Module: WennSoftSignature)
ADDED: WennSoft New Customer Address Fields: WennSoft customer address fields can now be set in the New Customer form. (Extended Module: WennSoftSignature)
ADDED: Sales Document Workflow Setup: Added a Workflow Visualizer button that will open an embedded browser that displays a flowchart of the selected workflow. Users can save the image as an SVG and they have access to render the workflow in different ways.
ADDED: Security: Sales Document Workflow Setup: Enable Workflow Visualizer - Allows users to open Workflow Visualizer. (Default: True)


UPDATED: EDI: UofM Data Cross References now have a Rounding column. If set to a value other than 'None', sales line items which use that UofM Data Cross Reference will be rounded using the selected rounding method. All existing UofM Data Cross References will default to no rounding to match the previous functionality. All newly created UofM Data Cross References will default to normal rounding. (Extended Module: SalesPad EDI)
UPDATED: Quick Reports: Several default Quick Report templates have been updated.


FIXED: Quick Reports: Some default Quick Report templates had errors that are now resolved. Call List - no longer errors when searching by Customer Number. Inactive Item Sales - no longer errors when searching by Item Number.
FIXED: Case Tracker Detail User Fields Dock: There will no longer be an 'Object reference not set to an instance of an object.' error if you have the Auto Run and Dock security enabled.
FIXED: Emailing: When sending an email throws an exception, the message around checking the script hooks is more accurate for the Pre-Email Script when it is disabled.
FIXED: Purchase Order Monitor: Voided POs will no longer show as part of workflow. (Introduced: 5.2.3)
FIXED: Automation Agent: The Customer Quick Report Email Task will no longer result in a "No SMTP Setup found" action center error when SMTP is set up properly. (Extended Module: Automation Agent) (Introduced: 5.2.33)
FIXED: Automation Agent: The Customer Quick Report Email Task will no longer result in a "Could not load file or assembly DocumentFormat.OpenXml" error.


Version 5.3.5
Release Date 6/26/2023


ADDED: Import Manager: Sales Document Tracking Numbers can be imported now.
ADDED: Settings: Scripting Max Degree of Parallelism - The number of processors used when compiling scripts upon login. When blank, the number will be 1/2 the number of processors. Use 'MAX' to use all available processors, which can slow down the login process. (Default: blank)
ADDED: Settings: Cache Sales Rep Business Object - When disabled, the Sales Rep Business Object will no longer be cached. Disable if having this Business Object cached causes unforeseen issues. This setting requires users to log out.(Default: true)
ADDED: ShipCenter Shipping Calculator: A dropdown has been added to allow users to specify a packaging template to automatically apply when adding new packages. (Extended Module: ShipCenter)
ADDED: Configurator: Added the Kit configuration type. This type allows Configurator to create kit items based on the selections the user makes. (Extended Module: Configurator)
ADDED: Configurator: Added the Package configuration type. This type will create an exploded package on a sales line when used but will not create any new items in the system. (Extended Module: Configurator)
ADDED: Configurator Attributes: Added the Roll Up Price column to Configurator Attributes. This column is only enabled if the configuration type is set to Package.. (Extended Module: Configurator)
ADDED: Configurator: Dynamic Configured Items: Added the Roll Up Price column to Dynamic Configured Items. This column is only enabled if the configuration type is set to Package. (Extended Module: Configurator)
ADDED: Configurator: Added tooltips to the configuration type drop down that will give a description of the type based on what is selected. (Extended Module: Configurator)
ADDED: Configurator: Settings: New Configurator Kit Script: A C# Script run on new Kit items created through Configurator, before the new item is first saved. (Extended Module: Configurator)
ADDED: Configurator: Settings: New Configurator Package Script: A C# Script run on Packages created through Configurator, before the kit is exploded into a package. (Extended Module: Configurator)
ADDED: Setting: Run Validation Scripts When Reopening Configurator: Determines whether or not Validation Scripts on attributes execute when reopening the Configurator for a configured line. Defaults to 'false'. (Extended Module: Configurator)
ADDED: Configurator: Attributes: Added a new field called Available Options Script that allows for writing a script that filters down the list of available options in the grid dropdown of a single select or multi-select control type. This script can be used in conjunction with regular Restrictions and the Validation Script field. (Extended Module: Configurator)


UPDATED: Inventory Adjustments: The form is now properly themed.
UPDATED: Application: The majority of the popup plugins should now be properly themed. (Example: Sales Document Fulfillment and Sales Document Splitting)
UPDATED: Application: Logging into the application should now be faster based on the number of scripts in the system. The CPU spike should be decreased to some degree.
UPDATED: Application: Various speed improvements, mostly around opening Sales Documents but could apply to other areas. The PriceLevel, SalesRep and SalesTerritory are now cached Business Objects, which will now require users to log out to get updated/new data. A database hit to the spLayout table is now also cached after hit to improve performance. Extra SQL hits to the spUserFields table are now properly using already cached information.
UPDATED: Application: The following Business Objects are now loaded and cached upon login: PriceLevels, PaymentTerms, Locations (aka Warehouse), SalesTerritory, ShippingMethods, Currencys, SalesDocumentIDs, WorkflowQueues and SalesReps. NOTE: Most of these were cached before but now are cached on login, instead of the first time accessed, which helps improve on some loading scenarios.
UPDATED: Settings: The Group/User type settings form now has the proper Cavallo icon.
UPDATED: Configurator: The Dynamic Root Item tab is now disabled if the configurator's type is Kit or Package. (Extended Module: Configurator)
UPDATED: Configurator: The Manufacturing BOM tab is now disabled unless the configurator's type is set to Manufacturing BOM. (Extended Module: Configurator)
UPDATED: Configurator: A warning sign is displayed if the chosen item number is not set up as a package item and the configurator's type is set to Package. (Extended Module: Configurator)
UPDATED: Configurator: The Package type will now set the exploded package lines to either zero price, or the price configured in Configurator, based on if the Roll Up Price checkbox is checked for the Attribute or Dynamic Configured Item. When choosing to not roll up the price, the individual component on the sales line will have it's price, and that amount will be subtracted from the top package line. In either scenario, the Pricing Group on the sales line will be updated to CFG COMPONENT to indicate the price came from Configurator. (Extended Module: Configurator)
UPDATED: Configurator Options: Allowing for non-inventoried items to be added to the Package configuration type. (Extended Module: Configurator)
UPDATED: Configurator Dynamic Config Items: Price can now be negative, reducing the total price of the configuration. (Extended Module: Configurator)
UPDATED: Configurator Dynamic Config Items: Qty and Qty Fixed formulas will now round their values to the dynamic item’s quantity decimal places, or to 5 decimal places if it does not exist. (Extended Module: Configurator)
UPDATED: Sales Line Configurator: Manual Price can now be negative, reducing the total price of the configuration. (Extended Module: Configurator)
UPDATED: Configurator: Restrictions - The way Restrictions are loaded was refactored for performance optimizations when using Configurator to configure items.  The maintenance screen for adjusting Restrictions was not changed. (Extended Module: Configurator)
UPDATED: Configurator Search: Exporting configurations will no longer serialize a large internal collection, reducing the export size and improving performance. (Extended Module: Configurator)


FIXED: Inventory Adjustments: Saving works properly now.
FIXED: Inventory Adjustments: Manually entering a document number now validates that the number doesn't currently exist.
FIXED: Sales Fulfillment Plugin: Resolved a rounding issue where fulfillment would not fulfill a .00001 decimal amount. NOTE: Decimal places could vary (i.e. .001) based on the number of Quantity Decimal places for the item.
FIXED: Application: A few silent exceptions are now handled more gracefully around loading settings and assemblies.
FIXED: Sales Document Properties: The Discount field will be properly hidden if the corresponding Customer Discounts Field and Sales Document Discount Field are not properly filled out. Both settings are required for the field to work properly.
FIXED: Sales Territory Card: The Sales Territory business object cache is now cleared when loaded, which allows for changes in GP to show properly. NOTE: This business object is still cached for other users and would require a log out to see any changes made.
FIXED: Warehouse Maintenance: The Bin fields are now accessible in a non-multibin environment. This also fixes the issue where Bin data would get cleared out if entered in GP.
FIXED: Warehouse Maintenance: The Location/Warehouse business object cache is now cleared when loaded, which allows for changes in GP to show properly. NOTE: This business object is still cached for other users and would require a log out to see any changes made.
FIXED: Application: Some Grid Layouts had the potential to save even when there were no actual layout changes, they should now only save if something has changed.
FIXED: Tip Of The Day: The application status in the bottom left will no longer mention the Tip Of The Day if you had unchecked "Show tips on startup".
FIXED: Manual Attachments: The Manual Attachments auto-filter row will no longer throw a "Specified cast is not valid." exception.
FIXED: Create Return: Required UDFs will now be respected. (Introduced: 5.3.2)
FIXED: Create Return: When disabled, the "Return Greater than Invoice Line" security will properly prevent the return creation, if the qty is greater than the sales line. (Introduced: 5.3.2)
FIXED: Case Tracker Details: Adding comments through the comment button will no longer result in an "Unable to cast object" error. (Introduced: 5.3.4)
FIXED: Configurator: Manufacturing BOM: The Backflush Item checkbox will no longer be editable when the configurator's type is not set to Manufacturing. (Extended Module: Configurator)
FIXED: Configurator: When using nested configurations through the Configurator attribute control type, the price of Dynamic Configured Items will no longer add twice to the configurator price total. (Extended Module: Configurator)
FIXED: Configurator: When using nested configurations through the Configurator attribute control type, the Allow Manual Prices checkbox will now correctly allow for entering manual prices on nested configuration options. (Extended Module: Configurator)
FIXED: Configuration: Fixed a stack overflow error caused when configurations were nested within themselves.
FIXED: Shopify: Order Update Export: Orders which were imported from Shopify but do not have External ID specified on the sales document itself will no longer encounter "Integration Link not found" errors. (Extended Module: Shopify Integration) (Introduced: 5.3.0)
FIXED: Magento: Order Update Export: Orders which were imported from Magento but do not have External ID specified on the sales document itself will no longer encounter "Integration Link not found" errors. (Extended Module: Magento Integration) (Introduced: 5.3.0)
FIXED: Magento: Order Invoiced Export: Orders which were imported from Magento but do not have External ID specified on the sales document itself will no longer encounter "Integration Link not found" errors. (Extended Module: Magento Integration) (Introduced: 5.3.0)
FIXED: WooCommerce: Order Update Export: Orders which were imported from WooCommerce but do not have External ID specified on the sales document itself will no longer encounter "Integration Link not found" errors. (Extended Module: WooCommerce Integration) (Introduced: 5.3.0)


Version 5.3.4
Release Date 6/9/2023


BREAKING CHANGE: Sales Entry: Attach Sales Line to Manufacturing Order plugin: The plugin is now part of the Manufacturing DLL instead of core SalesPad.
BREAKING CHANGE: REMOVED: Setting: PayFabric: Transaction URL - The Transaction URL setting is no longer available. This setting was only used for PayFabric V2 accounts. Users who are still using PayFabric V2 should either upgrade to V3 or contact Cavallo.
BREAKING CHANGE: Equipment Management Additional Properties: This tab is now called Equipment User Fields and its security has been reset. Please re-enable it in the Security Editor and review its new sub-securities.

ADDED: Settings: Cash Receipt Default Checkbook ID From Currency Mapping - Determines which checkbook ID is automatically selected based on the cash receipt's currency. This setting only works for Cash and Check types Cash Receipts and only if the environment is multicurrency.
ADDED: Settings: Credit Card Mapping By Currency - Cash Receipts Only - Create mappings for PayFabric Credit Card Brands to GP Cards for specific currencies. This mapping only applies to cash receipts and only if the environment is multicurrency. Supported Types: AmericanExpress, Discover, MasterCard, Visa, DinersClub, JCB and (unspecified). (Cards with an unspecified card type are typically gift cards.)

FIXED: Manufacturing BOM Entry: Quantity in base unit of measure (QTYBSUOM) on the manufacturing BOM line is now set correctly when build unit of measure is changed. (Extended Module: Manufacturing)
ADDED: Manufacturing: Added final post update custom procedure (spcp) support to sppUpdateMO, sppUpdateRouting, sppUpdateManufacturingBOM, sppUpdateManufacturingBOMLine, sppUpdatePendingManufacturingBOM, and sppUpdatePendingManufacturingBOMLine stored procedures. (Extended Module: Manufacturing)
ADDED: Security: Equipment User Fields: Allow Layout Customization - Enables access to Layout Customization. Defaults to 'False'.
ADDED: Security: Equipment User Fields: Custom Caption - Overrides the default user field tab display text. Defaults to ''.
ADDED: Security: Equipment User Fields: Read Only - Disables editing user fields. Defaults to 'False'.
ADDED: Setting: EDI: EDI 945 Replace Empty Shipping Headers - When enabled and an EDI 945 is received that creates a shipping header, any empty shipping headers on the sales document will either be overwritten or deleted. This functionality can be tweaked with a spcpReplaceEmptyShippingHeaders custom stored procedure. Defaults to 'False'. (Extended Module: SalesPad EDI)
ADDED: Setting: Pacejet - Scripts: Post Convert Sales Document To Shipment Script - A C# script to run after converting a sales document to a Pacejet shipment, but before the Process Shipment or Get Rates plugin sends the shipment to Pacejet. (Extended Module: Pacejet)
ADDED: Setting: Pacejet - Scripts: Post Writeback Quote To Sales Document Script - A C# script to run after writing quote details back to a sales document, but before Get Rates or Quote Confirms Sync saves the sales document. (Extended Module: Pacejet)
ADDED: Setting: Pacejet - Scripts: Post Writeback Shipment To Sales Document Script - A C# script to run after writing shipment details back to a sales document, but before Process Shipment or Shipment Confirms Sync saves the sales document and other business objects. (Extended Module: Pacejet)
ADDED: Setting: Pacejet - Shipment Export - Sales Documents: Ship To Address Mapping - Define the mappings to be used when exporting a sales document's ship to address. Defaults to a mapping equivalent to previous versions except that the Pacejet Ship To Address's Company Name field now maps to the sales document's Ship To Name field instead of the sales document's Customer Name field. (Extended Module: Pacejet)
ADDED: Setting: Pacejet - Shipment Import - Sales Documents: Sales Document Update Mapping - Define the mappings to be used when updating a sales document after a Pacejet shipment has been completed. Defaults to a mapping equivalent to previous versions except that Pacejet Ship To Address's Company Name field now writes back to the sales document's Ship To Name field. (Extended Module: Pacejet)

UPDATED: Settings: Payment Check Book: Users can now select Checkbook IDs from a dropdown when making changes to this setting.
UPDATED: Shopify: The Product Export and Inventory Level Export now report accurate results for how many items attempted to export, successfully exported, and failed to export. (Extended Module: Shopify Integration)
UPDATED: Magento: The Product Export, Product Image Export, and Inventory Level Export now report accurate results for how many items attempted to export, successfully exported, and failed to export. (Extended Module: Magento Integration)
UPDATED: WooCommerce: The Product Export and Inventory Level Export now report accurate results for how many items attempted to export, successfully exported, and failed to export. (Extended Module: WooCommerce Integration)
UPDATED: Purchase Receipt Entry: Purchase Receipt Entry will now be properly themed.
UPDATED: Receiving Serial UDFs: This tab no longer requires a beta license and is now available alongside other purchasing and user field functionality.
UPDATED: Settings: Pacejet: Pacejet settings are now divided into multiple categories to make it clearer which settings apply to exporting a shipment to Pacejet and which settings apply to importing a shipment back from Pacejet. (Extended Module: Pacejet)
UPDATED: Case Tracker: All the Case Tracker forms are now properly themed. This fixed some icon/bar issues also. (Extended Module: Case Tracker)
UPDATED: Case Tracker Maintenance: This screen is no longer shown as Modal and is now a normal tab.
UPDATED: Counter Sales: The form is now properly themed.
UPDATED: Payments: The form is now properly themed.
UPDATED: Purchase Order EDI 850: Updated the purchase order 850 outbound plugin to include various fields required by SPS. (Extended Module: SalesPadEDI)

FIXED: Magento: Inventory Level Export: If the Inventory Level Export Location Matching setting is empty or misconfigured, there will now be a clear error message stating this instead of displaying an object reference error. (Extended Module: Magento Integration)
FIXED: Sales Line Package Editor: When adding package components to a previously empty kit/package item that was initially saved without components, there will no longer be a “Duplicate LNITMSEQ error” when saving.
FIXED: Sales Line Configurator: Reopening the configurator plugin for a line with a restricted or optional attribute in the middle of the list will no longer cause the rest of the attributes to load incorrectly.
FIXED: Purchase Order: Non functional currency purchase orders where a line's unit cost was zero but its extended cost was manually set in GP will no longer be recalculated upon saving if changes were made to the line.
FIXED: Purchase Advisor: Average Lead Time will now be displayed properly.
FIXED: Purchase Receipt Line Items: Qty Shipped will now round the user’s input based on the item's quantity decimal places.
FIXED: Receipt Transaction Serial Lot Receiving: Qty Shipped will now round the user’s input based on the item's quantity decimal places.
FIXED: Purchase Receipt Entry: The Dynamics GP button will no longer always be disabled.
FIXED: Purchase Receipt Properties: The Receipt Num field will now be themed properly and be readable for dark themes.
FIXED: License Plate Maintenance: Delete License Plate button is now visible and appropriately enabled based on the Can Delete License Plates security. (Introduced: 5.2.21)
FIXED: Manufacturing BOM Entry: The BOM components grid will not freeze or get wiped out when adjusting the BOM component position by drag and drop. (Extended Module: Manufacturing)
FIXED: Manufacturing BOM Entry: The BOM note is now updated when the BOM number is changed.
FIXED: Manufacturing BOM Entry: When the BOM number is changed, users will get a save prompt if the BOM note has been updated.
FIXED: Manufacturing BOM Entry: When the BOM number is changed, BOM note updates will be saved correctly when the save occurs.
FIXED: Sales Documents: Having the Sales Document Quick Save setting enabled will not sometimes result in fields failing to save.
FIXED: Search Screens: The ESC key will now properly focus the first search field when the grid is focused. NOTE: If a search screen is a Modal Popup, the ESC key will close the form. (Introduced: 4.6.4.0)
FIXED: Sales Line Package Editor: When using a non-inventory item as a temporary package, security needs to be enabled: Temporarily Convert Non Packages.
FIXED: EDI 850: Inbound 850 documents will properly import. (Introduced: 5.3.3)
FIXED: EDI 810 Invoice: The fields mapped on the business object mapping will now be populated on the XML correctly. (Introduced: 5.2.45)

Version 5.3.3
Release Date 5/29/2023


BREAKING CHANGE: Sales Document Mass Update: The Ship To Address Code field now respects the Customer Address Lookup Fields setting, which removed a few columns by default.

ADDED: Setting: Binary Stream MEM: Enable Customer AR Filtering - Set to true to filter the Customer Aging section of the Customer A/R tab to the current facility. Defaults to 'False'. Note that this filtering existed prior to this setting being added. (Extended Module: Binary Stream MEM)
ADDED: Security: Case Tracker Entry - Can Edit UDFs When Historical - Allows a user to edit UDFs when a Case is historical. This includes Case Detail UDFs via the dockable line plugin. (Default: True)
ADDED: Security: Case Tracker Entry - Can Change Status When Historical - Allows a user to change the status of a Case when historical. NOTE: Changing a status could reopen a Case. (Default: True)
ADDED: Security: Case Tracker Details - Can Uncheck Historical - If set to 'true', the user will be able to uncheck the Historical flag for a Case Detail. (Default: True)
ADDED: Sales Document Properties: The Bill To Address Code can now be placed in the layout.
ADDED: Sales Document Mass Update: The Bill To Address Code can now be placed in the layout and works similar to the Ship To Address Code. It will only populate and work if all the documents are for the same customer.
ADDED: Security: Package Editor: Zero Price Of Components: When enabled, the price for added components will be zero. (Default: false)
ADDED: Setting: SalesLineItem Audit Supplemental Fields: Select additional sales line item fields that will be included in the audit information whenever a sales line item update or deletion is audited. Fields included this way will be truncated to 25 characters. Warning: selecting too many fields will substantially increase the size of the audit.

REMOVED: Avalara Address Validation: Validate Address Modal: There is no longer a memo field in the Suggested Address section.
REMOVED: SmartyStreets Address Validation: Validate Address Modal: There is no longer a memo field in the Suggested Address section. (Extended Module: SmartyStreets)
REMOVED: Sales Document Mass Update: The Equipment fields are no longer available for the layout.

UPDATED: Binary Stream MEM: The stored procedure sppGetMEMCustomerAR now has custom procedure support for spcpGetMEMCustomerAR. (Extended Module: Binary Stream MEM)
UPDATED: Licensing: Licenses now auto-update each day as part of the login process. This allows for new licenses and updated expiration dates to appear in the app without needing to click the 'Update License' button.
UPDATED: Setting: Address Tools: Address Validation Use Country Code - This setting's description now clarifies that only Avalara and SmartyStreets address validation respect this setting. Other address validators always use Country Code.
UPDATED: Avalara Address Validation: Validate Address Modal: There is now a 'Reset Suggestion' button which will set the suggested address back to Avalara's recommendation.
UPDATED: Avalara Address Validation: Validate Address Modal: Fields which are different between the original address and suggested address now have green text instead of red text.
UPDATED: Pacejet Address Validation: Validate Address Modal: There is now a 'Reset Suggestion' button which will set the suggested address back to Pacejet's recommendation. (Extended Module: Pacejet)
UPDATED: Pacejet Address Validation: Validate Address Modal: The fields in the Original Address section can now be selected and copied from. (Extended Module: Pacejet)
UPDATED: SmartyStreets Address Validation: Validate Address Modal: There is now a 'Reset Suggestion' button which will set the suggested address back to SmartyStreet's recommendation. (Extended Module: SmartyStreets)
UPDATED: SmartyStreets Address Validation: Validate Address Modal: The Classification field now appears in the modal. The Use Suggestion button will update the customer address's or sales document's Classification to whatever is selected in the Suggested Address section's Classification field. (Extended Module: SmartyStreets)
UPDATED: SmartyStreets Address Validation: Validate Address Modal: Fields which are different between the original address and suggested address now have green text instead of red text. (Extended Module: SmartyStreets)
UPDATED: UPS Address Validation: Validate Address Modal: The 'Reset Suggestion' button is now near the top of the modal instead of near the bottom. (Extended Module: UPS Validation)
UPDATED: UPS Address Validation: Validate Address Modal: The Classification field now appears in the modal. The Use Suggestion button will update the customer address's or sales document's Classification to whatever is selected in the Suggested Address section's Classification field. (Extended Module: UPS Validation)
UPDATED: UPS Address Validation: Validate Address Modal: Fields which are different between the original address and suggested address will now have green text instead of red text. (Extended Module: UPS Validation)
UPDATED: Settings: Customer Card Address Lookup Fields is now called "Customer Address Lookup Fields" and is now respected on the Sales Document Mass Update screen, Sales Document Address tab, and Sales Document Properties, for the Ship To and Bill To address code fields. This is now in the Sales category of settings.
UPDATED: Sales Document Addresses: Changing the Bill To address code will now update the Bill To Email address on the document.
UPDATED: Application: Better error handling around some hard crashes. The application might still crash, but an error message should be displayed instead of needing to look in the Event Viewer.
UPDATED: Shipping Labels: The Business Object Mapping for shipping labels has been updated to include recently added fields by SPS. (Extended Module: SalesPad EDI)
UPDATED: EDI 850: Inbound 850 documents that would result in zero line items on the Sales Document will no longer create a Sales Document.

FIXED: Avalara Address Validation: Validate Address Modal: Having the Address Validation Use Country Code setting disabled will no longer result in the suggested country field being empty.
FIXED: Avalara Address Validation: Validate Address Modal: The Use Original button will now flag the customer address or sales document as validated. Previously, clicking the Use Original button would result in the Validate Address modal appearing again on the next save.
FIXED: Pacejet Address Validation: Validate Address Modal: The Classification field is now hidden if USPS is selected as the Address Validation Method. Previously, the Classification field would always be blank and the blank value would overwrite any existing Classification. (Extended Module: Pacejet)
FIXED: SmartyStreets Address Validation: Validate Address Modal: Having the Address Validation Use Country Code setting disabled will no longer result in the suggested country field being empty. (Extended Module: SmartyStreets)
FIXED: SmartyStreets Address Validation: Validate Address Modal: SmartyStreets no longer respects the 'AvaTax Capitalize Suggested Addresses' setting. (Extended Module: SmartyStreets)
FIXED: UPS Address Validation: Changing a sales document's or customer address's classification to something other than UPS's suggested classification will now show the Validate Address modal instead of automatically changing the classification back to UPS's suggestion. (Extended Module: UPS Validation)
FIXED: Inventory Adjustment: Users will not get a 'EConnect error executing taIVTransactionLotInsert: The Lot is expired - expiration date must be supplied (8678)' error when submitting a negative (out) inventory adjustment for an expired lot.
FIXED: Pacejet: Shipments will not be shared among Case Tracker reorder documents. (Extended Module: Pacejet)
FIXED: Sales Document Properties: Right-clicking the address fields should no longer cause the control popup menu.
FIXED: Convert Prospect to Customer: Adds various checks to confirm that the Customer Number doesn't exist yet on conversion. This prevents existing customer information from being overwritten.
FIXED: Convert Prospect to Customer: The e.Cancel for the On Convert Script will now properly stop the conversion.
FIXED: Assembly Monitor: The BOM Transaction Status will now properly be displayed.
FIXED: Assembly Entry: The Sales Document Link and the sub-BOM grid coloring is now themed more appropriately.
FIXED: EDI 850: Inbound 850 documents that would result in zero line items will no longer result in an object reference error when creating the Cross Dock packaging information.
FIXED: Interaction Entry: The ENTER key will no longer trigger the OK button and cause the interaction to save. Most notable when entering notes. (Introduced: 5.2.43)
FIXED: Purchase Line Items: Changing quantity on non inventory items on new purchase lines will no longer occasionally cause a Divide by Zero error.

Version 5.3.2
Release Date 5/15/2023


BREAKING CHANGE: Settings: PayFabric: The Allow Credit setting no longer controls both the Credit and the New Credit button on the PayFabric payment tab. You will need to update the Allow New Credit button to give users access to the New Credit button.

ADDED: Security: Customer Overview: Can Change Tax Registration Number - Allows a user to change the Tax Registration Number field. (Default: True)
ADDED: Security: Customer Overview: Can Change Combine Split Documents - Allows a user to change the Combine Split Documents field. (Default: True)
ADDED: Security: Customer Overview: Can Change Ship Complete - Allows a user to change the Ship Complete field. (Default: True)
ADDED: Security: Customer A/R: Can Edit Tax Exempt 1 & 2 - Allow users to edit the Tax Exempt 1 & 2 fields. (Default: True)
ADDED: Security: Customer Card: Can Edit Customer - Allows a user to edit a Customer. (Default: True)
ADDED: Customer Card: The On Load script now has a ReadOnly property on the args variable that can be set on the args.
ADDED: Shopify Integration: Order/Fulfillment Export: "Capture Payment Upon Completing Fulfillment" Setting: When this setting is enabled, if an order is both authorized and completely fulfilled after export, the authorization will be captured in Shopify.
ADDED: Shopify Integration: Captured Payment Mapping: Setting for configuring the mapping between the Shopify capture transaction and the corresponding GP payment.
ADDED: Shopify Integration: Payment Financial Status Filter: Filter setting to determine which Shopify financial statuses will result in a payment being created upon order import.
ADDED: Security: Sales Document Address: Copy Additional Fields When Adding Or Updating - When enabled, The Sales Document Warehouse, Sales Rep, Sales Territory and Shipping Method will be copied when using the Add or Update buttons. (Default: False)
ADDED: Settings: PayFabric: Allow New Credit: Controls which security groups/users have access to the New Credit button on the PayFabric payment tab. This button is only accessible on Return type documents.

UPDATED: Settings: Preserve Sales Document Resources: This setting no longer affects GP Attachments. These attachments will always be preserved regardless of this setting's state. The description of this setting has been updated to reflect these changes.
UPDATED: Shopify: The 'Order Export' is now known as the 'Order Update Export'. (Extended Module: Shopify Integration)
UPDATED: Shopify: The 'Voided Order Export' is now known as the 'Order Voided Export'. (Extended Module: Shopify Integration)
UPDATED: Shopify: The 'Inventory Export' is now known as the 'Inventory Level Export'. (Extended Module: Shopify Integration)
UPDATED: Shopify: The import and export tabs are now more logically ordered. (Extended Module: Shopify Integration)
UPDATED: Magento: The 'Order Export' is now known as the 'Order Update Export'. (Extended Module: Magento Integration)
UPDATED: Magento: The 'Invoice Export' is now known as the 'Order Invoiced Export'. (Extended Module: Magento Integration)
UPDATED: Magento: The 'Voided Order Export' is now known as the 'Order Voided Export'. (Extended Module: Magento Integration)
UPDATED: Magento: The 'Inventory Export' is now known as the 'Product Export'. (Extended Module: Magento Integration)
UPDATED: Magento: The 'Inventory Image Export' is now known as the 'Product Export'. (Extended Module: Magento Integration)
UPDATED: Magento: The import and export tabs are now more logically ordered. (Extended Module: Magento Integration)
UPDATED: WooCommerce: The 'Order Export' is now known as the 'Order Update Export'. (Extended Module: WooCommerce Integration)
UPDATED: WooCommerce: The 'Voided Order Export' is now known as the 'Order Voided Export'. (Extended Module: WooCommerce Integration)
UPDATED: Sales Document Address: When using the Add button, the Tax Schedule, Don't Email, Don't Text and Address Validated fields will carry over to the new address.
UPDATED: Send Email: The Send/Close/Cancel buttons are now larger.
UPDATED: Create Returns: The form is now themed.
UPDATED: Choose Sales Document ID: The form is now themed, and there is now an OK/Cancel button. NOTE: Double clicking the grid still works as before.
UPDATED: Application: On some modal forms, the OK/Close/Cancel buttons are slightly larger to match the recent Messenger changes.

FIXED: Receipt Transaction Entry: Serial Lot Receiving Plugin: Non-tracked items keep N/A in the serial field so users can insert more than once, and autogenerate is disabled for non-tracked items.
FIXED: Distribution BOM: Assembly Entry - Serial Lot: Serial Lot Type now correctly saves on a new Assembly Serial Lot (BM10400) instead of only saving the Serial Lot Num for that field.
FIXED: Item Maintenance: Item Purchasing Options (IV00106 table) will now be updated upon changing an item's Unit Of Measure Schedule.
FIXED: Purchase Order Entry: Line Items: Qty Committed and Qty Uncommitted now calculate and display correctly for SopToPop linked, non-base UofM PO lines.
FIXED: Purchase Line Items: Increasing the quantity of a non-base UofM line item that is linked to a Sales Document will no longer result in a prompt about decreasing the quantity below the linked sales line quantity.
FIXED: Sales Document Resources: Sales Document GP Attachments will now be visible in GP after the document is moved to history or voided. Previously these attachments would only be visible within SalesPad.
FIXED: Counter Sales: There will no longer be a divide by zero error when the price on a sales line is zero and there is also a Markdown Amount.
FIXED: Search Screens: Having the sub security at a ridiculously large Date Range Month Limit will no longer result in a "Months value must be between +/-120000" or similar error.
FIXED: Sales Document Address: Changing individual fields will properly roll to sales line addresses that have the same address code. (Introduced: 5.2.11)
FIXED: Sales Document Address: When the setting Force Rolldown Address Fields is enabled, changing individual fields will properly roll to sales line addresses that have the same address code. (Introduced: 5.2.11)
FIXED: In-Transit Transfers (ShipCenter): When closing an In-Transit Transfer shipment, an error relating to null Shipping_Weight or null Shipping_Cost no longer occurs regardless of whether the user chooses to save on close prompt or not. NOTE: This is a modification to a SQL stored procedure in SalesPad Desktop that affects ShipCenter: sppUpdateServiceTransfer.
FIXED: Sales Shipment (Invoice Screen): There were a few potential null references when pressing the Create Shipment button. (NOTE: This had an attempted fix in 5.2.34)
FIXED: Import Manager: The Item Master Note field will now properly import. (Introduced: 5.2.18)
FIXED: Interaction Entry: The Email User Task Info will now properly email the assigned user. (Introduced: 4.6.43)
FIXED: Smarty Streets Address Validation: Resolved an Object Reference error and an "Additional text encountered after finished reading JSON content: ]." error. (Extended Module: Smarty Streets)
FIXED: New Resource: When using the new WXI themes there will no longer be a null reference error when trying to add resources. (Introduced: 5.3.1)
FIXED: Settings: Cash Receipt Post Transaction Script: Moved the location of where this script is triggered because certain fields on Cash Receipt couldn't be changed in the script as they were overwritten later in the Cash Receipt saving process.

Version 5.3.1
Release Date 5/1/2023


BREAKING CHANGE: FIXED: Automation Component Schedules: Schedules that do not have the "enabled" field set to "true" will no longer run. To make sure a Component is enabled, open the Component Schedule Editor and check the "enabled" checkbox.

ADDED: WooCommerce Integration: Voided Order Export Component: New component allows for voided WooCommerce orders in SalesPad to be exported to cancel the orders in WooCommerce.
ADDED: Application: Various new theme palettes are now available. NOTE: Some themes may not redraw properly and could require the application to be relaunched.
ADDED: Security: EDI Processing - Can Retrieve Files: Disables the Retrieve button. Best Practice: Disable this when using the EDI Service or when one user runs processing manually to prevent accidental duplicate document retrieval.
ADDED: Security: EDI Processing - Can Start or Stop EDI Processing: Allows a user to Start or Stop the EDI Processing. Best Practice: Disable this when using the EDI Service or when one user runs processing manually to prevent accidental duplicate document retrieval.

UPDATED: Database Update: The green rectangle is now the Cavallo icon.
UPDATED: Application: Most dark themes will change the Cavallo icon in the upper corner to the blue icon.
UPDATED: Universal Search: Removed from beta, so this screen is now available in the core application.
UPDATED: Sales Document Workflow: New workflow rules will now default to being enabled.
UPDATED: Automation Component Tab: The tab will show both the enabled component schedule and any "run after" configuration that is enabled.
UPDATED: Sales Entry: The icon for the copy form has been updated.
UPDATED: PayFabric: Added support for DinersClub and JCB cards.

FIXED: Sop To Pop: When splitting a document with multiple lines linked to the same PO line that has been partially received, the PO line will now have the correct committed and uncommitted quantities.
FIXED: Shopify Integration: Concurrency errors resulting from multiple components running at the same time have been minimized and will result in a meaningful error message when they do occur.
FIXED: Ecommerce Licensing: Unlicensed Ecommerce Integration AA components will no longer fail silently and will now record a meaningful error message.
FIXED: User Fields: Adding boolean UDFs to a layout will now properly display the control text. NOTE: You can set the TextVisible property to true as a workaround.
FIXED: Application: A potential memory leak for User Field tabs has been resolved.
FIXED: Report Designer: The Icon has been updated and the form will no longer show as a separate toolbar application.
FIXED: Business Object Workflow: When forwarding, users can no longer quickly press the Forward button again to forward the document a second time when the queue is supposed to be read `only.
FIXED: Messenger Input: The space bar will no longer validate the OK button when typing input values. (Introduced: 5.3.0)
FIXED: Sales Line Item Search: Duplicate sales lines will no longer appear in sales line item searches, or be returned when querying the spvSalesLineItemSearch_Base view. (Introduced: 5.3.0)

Version 5.3.0
Release Date 4/17/2023



BREAKING CHANGE: Equipment Properties: Saved UDF layouts will be reset.
ADDED: Security: Equipment Properties: Allow Screen Layout Customization - Turns on the ability to customize the layout. (Default: false)
ADDED: Settings: Can Delete Sales Document Linked To External Document - The list of Groups/Users that can delete sales documents that are linked to an external document, such as an ecommerce order. (Default: (NONE))
ADDED: Magento: Voided Order Export: There is now a Voided Order Export component which cancels Magento orders whose sales documents were voided. This component is not compatible with split or transferred sales documents. (Extended Module: Magento Integration)
ADDED: Magento: Setting: Voided Order Export: Number of Days to Look Back - Specify the number of days to look back from today to export voided orders. For example, set to 30 to export voided orders only from the last 30 days. Set to zero to export voided orders from any time. Defaults to '30'. (Extended Module: Magento Integration)
ADDED: Magento: Setting: Voided Order Export: Number of Voided Orders per Export Page - Specify the number of voided orders in each page of the voided order export. Defaults to '50'. (Extended Module: Magento Integration)
ADDED: Magento Integration - Invoice Export: Invoices for split orders may now be exported back to Magento. If the "Capture Payment" setting is enabled, Magento will determine how much of the total authorized amount will be captured for each split invoice; this will tend to match the price for the quantity on the invoice.
ADDED: Magento Integration - Order/Fulfillment Export: Fulfillment for split orders may now be exported back to Magento. The spAASalesLineExportLink table is used to record the qty exported for each sales line. The "Sales Line Matching" setting may be used to configure the matching between SalesPad and Magento Sales Lines.
ADDED: Sales Line Item: External_ID column, used to identify the corresponding sales line in external systems (Magento, Shopify, etc.)
ADDED: Settings: Can Delete Sales Document Linked To External Document - The list of Groups/Users that can delete sales documents that are linked to an external document, such as an ecommerce order. (Default: (NONE))
ADDED: Shopify: Voided Order Export: There is now a Voided Order Export component which cancels Shopify orders whose sales documents were voided. This component is not compatible with split or transferred sales documents. (Extended Module: Shopify Integration)
ADDED: Shopify: Setting: Voided Order Export: Number of Days to Look Back - Specify the number of days to look back from today to export voided orders. For example, set to 30 to export voided orders only from the last 30 days. Set to zero to export voided orders from any time. Defaults to '30'. (Extended Module: Shopify Integration)
ADDED: Shopify: Setting: Voided Order Export: Number of Voided Orders per Export Page - Specify the number of voided orders in each page of the voided order export. Defaults to '50'. (Extended Module: Shopify Integration)
ADDED: Shopify: Setting: Voided Order Export - Assignment: Order Cancel Options Assignment Mapping - Define the mappings to be used when canceling an order. Defaults to refunding the sales document's total, restocking items, and sending a cancellation receipt to the customer. (Extended Module: Shopify Integration)
ADDED: Sales Fulfillment: There is now an sppPickLots_Modified stored procedure that adds support for FEFO (first expiration, first out) and LEFO (last expiration, first out) valuation methods when autofulfilling lot-tracked items. The user will need to change the name of this procedure to spcpPickLots in order to see the expected changes.

REMOVED: Shopify: Order Export: The setting 'Roll Back Order Export Transaction On Error' no longer exists. SQL transactions in the Order Export will no longer roll back to ensure that the database has accurate data on which fulfillments have exported to Shopify. (Extended Module: Shopify Integration)

UPDATED: Application: DevExpress 22.2.5.
UPDATED: Shopify: Order Export: Splitting a sales document will no longer prevent exporting fulfillments and tracking numbers to Shopify. (Extended Module: Shopify Integration)
UPDATED: WooCommerce: Order Export: Splitting a sales document will no longer prevent exporting fulfillments and tracking numbers to WooCommerce. (Extended Module: WooCommerce Integration)
UPDATED: Application: The base Messenger boxes are now themed. This includes message prompts, prompts to save, etc.
UPDATED: Equipment Maintenance: The screen is now themed properly.
UPDATED: Equipment Contract: The tab is now themed properly.
UPDATED: Equipment Troubleshooting: The tab is now themed properly.
UPDATED: Equipment Warranty: The tab is now themed properly.
UPDATED: User Field Editor: This module is now accessible for users who are licensed for ShipCenter but not User Fields. Users who are not licensed for User Fields can only enable up to 5 User Fields.
UPDATED: Sales Documents: Splitting: If a sales document has a shipping header and packages but no items in any packages, the shipping header and packages will be copied to each split document. This behavior can be modified with a spcpTransferPackageInfo_ShouldCopyEmptyPackageInfo custom stored procedure.
UPDATED: Sales Documents: Splitting: The sppTransferPackageInfo stored procedure, which is used to copy shipping headers, packages, and package details to split documents, now has custom stored procedure support.

FIXED: Equipment Properties: Customizing the layout for Equipment will now work as expected.
FIXED: Binary Stream MEM: MEM facility user information, such as the facility ID, will now get reset after logging out of one GP company and into another. (Extended Module: BinaryStreamMEM)
FIXED: Settings: Square Application Secret (Production): This setting now has a new editor that will allow the user to reset the secret to SalesPad's default value.
FIXED: Purchase Order Entry: Deleting a purchase line with a status of New will now properly remove the comments from POP10550.
FIXED: Licensing: The spLicenseRecord table will no longer have duplicate rows.
FIXED: EDI Service: When installing the service to one company, then logging into another company, the service for the new company will properly point to the new company. WORKAROUND NOTE: Relaunch SalesPad after the first install.
FIXED: Automation Agent Service: When installing the service to one company, then logging into another company, the service for the new company will properly point to the new company. WORKAROUND NOTE: Relaunch SalesPad after the first install.
FIXED: Remote Library Service: When installing the service to one company, then logging into another company, the service for the new company will properly point to the new company. WORKAROUND NOTE: Relaunch SalesPad after the first install.
FIXED: Magento Integration: Settings: Settings that require an API lookup no longer throw the error "Unable to resolve service for type... while attempting to activate..." This includes Inventory Export → Item Price Level Mapping and Product Mapping. (Extended Module: Integration.Magento2) (Introduced: 5.2.41)
FIXED: Transfer To Invoice: Sales tax will no longer double when transferring to invoice when: Security "Use Order Number As Invoice Number" is enabled, and leveraging the Setting "Non-Recalculating Tax Schedule" or " Doc IDs To Skip Tax Calculation". NOTE: This can be fixed via a SQL stored procedure.
FIXED: PayLink: PayLink information will now be retrieved properly via the Remote Library when the PayLink document is created. Previously, this would result in an HTTP 413.1 'Request Entity Too Large' error for sales documents with more than thirty sales line items. (Extended Module: Remote Library)

Version 5.2.45
Release Date 3/30/2023


ADDED: Sales Document Entry: There is now an RFQ Links tab that can be enabled in security. (Extended Module: RFQ)
ADDED: Purchase Order Entry: There is now an RFQ Links tab that can be enabled in security. (Extended Module: RFQ)
ADDED: Security: RFQ Links: Can Remove Sales Document Links - Allows a user to remove a Sales Document from an RFQ. (Default: false) (Extended Module: RFQ)
ADDED: Security: RFQ Links: Can Remove Purchase Order Links - Allows a user to remove a Purchase Order from an RFQ. (Default: false) (Extended Module: RFQ)
ADDED: Security: Activity Locks: Can Delete Locks - When disabled, the user will not be able to delete any locks. NOTE: This overrides the 'User Can Only Delete Their Locks' security.
ADDED: Security: Activity Locks: View Only Active Users Locks - When enabled, the user can only see their activity locks.
ADDED: Security: Activity Locks: Can Clear Unused Batches - When enabled, the user can clear unused batches.
ADDED: Setting: Key2Act Customers With Access To All Service Calls - Configure which customers should be able to have their sales documents assigned to any Service Call instead of only the Service Calls that are configured for that customer. * for all. Blank for none. (Extended Module: Key2Act)
ADDED: Sales Document EDI 753 Request For Routing Instruction: Adds a sales document workflow plugin that generates and sends the EDI 753 - Request for Routing Instructions. (Extended Module: SalesPadEDI)

UPDATED: RFQ: When creating an RFQ there is now a Purchase Order audit indicating where the Purchase Order originated from.
UPDATED: RFQ: When removing a Sales Document or Purchase Order link, there is a corresponding audit.
UPDATED: Create RFQ From Sales Doc: There is now an audit on the Sales Document when the RFQ is created.
UPDATED: Vendor Special Costing: Users will no longer be able to edit the Quantity Start, Begin Date or the Customer Num field. Users will now need to delete the record and recreate if they need to change any of these fields. This was done to address an issue where extra records were being created when editing any of these fields.
UPDATED: EDI 945 Inbound: When processing EDI 945 documents, the unit of measure will now be validated before sales document fulfillment. If the EDI 945 unit of measure does not exist in GP after being cross-referenced, it will fall back to the unit of measure on the sales line instead. (Extended Module: SalesPadEDI)
UPDATED: Shopify: The Order Import and Order Export no longer use any deprecated APIs. (Extended Module: Shopify Integration)
UPDATED: Activity Locks: Multi-select is now enabled so that users can more easily remove multiple locks. The button now states “Clear Selected Lock(s)”.
UPDATED: Activity Locks: The Clear All My Locks button is now available if you can clear other users’ locks.
UPDATED: Activity Locks: If you can view other locks, but lack security to clear them, other users’ locks will now show with italicized font.
UPDATED: Note Shortcut Maintenance: The character limit is now varchar(max) instead of varchar(255). NOTE: This was a change to the table and stored procedure.

FIXED: Vendor Special Costing: Fixed multiple issues around duplicate primary key errors.
FIXED: Vendor Special Costing: When attempting to determine special cost and multiple cost records are found, SalesPad will now look at the record with the most recent Begin Date. Previously the cost would come from the first record that was found.
FIXED: Settings: The audit editors will no longer be able to right-click and customize the bar menu.
FIXED: EDI Scheduler: The EDI 846 scheduler introduced in version 5.2.20 no longer requires a Beta license to be configured. (Extended Module: SalesPadEDI)
FIXED: MEM: Purchase order types which don't have Document IDs set up can be assigned to any MEM facility that the user can access. (Extended Module: Binary Stream MEM)
FIXED: Magento Integration: Settings: Order Import - Matching: Customer Bill To Matching - Fixed Parent ID for defaulted Priority 1 Address matching, and now uses City/State/Zip sibling rows. (This can be manually fixed in older versions by deleting and recreating the rows.) (Extended Module: Integration.Magento2)
FIXED: Magento Integration: Settings: Order Import - Matching: Customer Ship To Matching - Fixed Parent ID for defaulted Priority 1 Address matching, and now uses City/State/Zip sibling rows. (This can be manually fixed in older versions by deleting and recreating the rows.) (Extended Module: Integration.Magento2)
FIXED: Sales Document EDI 856 - Advanced Ship Notice: Kit components will now correctly pack when the same Kit is added multiple times to an order as separate line items. (Extended Module: SalesPadEDI)
FIXED: Customer Card: The Combine Split Docs checkbox and the Language field will now properly save. (Introduced: 5.2.9)
FIXED: Customer Contact: The Comment field will now properly show comments if they were longer than 4000 characters. NOTE: This was a SQL view change.
FIXED: Customer Contact Addresses: The comment column will now only show a few lines of the comments instead of causing the grid row to be overly tall when it is in the grid.
FIXED: Send Email: The email field dropdowns will no longer clear the values when opened.
FIXED: Send Email: The Sales Document Billing email addresses will be properly added to the email dropdowns.
FIXED: Send Email: Emails set via the On Load Email Script will now be added to the corresponding dropdowns.
FIXED: Key2Act Sales Search - The Database Update and User Field Editor will now work correctly when Sales Document UDFs are mapped to the GP UDFs through the Map To field. (Extended Module: Key2Act)

Version 5.2.44
Release Date 3/16/2023


ADDED: Scripting: There is now a wider range of assemblies available for script hooks.
ADDED: System Information: There is now a Scripting Assemblies tab, showing what assemblies scripting hooks have access to.
ADDED: Security: Sales Document EDI 940: Review Batch - When forwarding through workflow, sales documents will be sent to this batch if EDI transaction fails. (Extended Module: SalesPadEDI)
ADDED: Security: Sales Document EDI 940 By Warehouse: Review Batch - When forwarding through workflow, sales documents will be sent to this batch if EDI transaction fails. (Extended Module: SalesPadEDI)
ADDED: Security: Purchase Order EDI 850: Review Batch - When forwarding through workflow, purchase orders will be sent to this batch if EDI transaction fails. (Extended Module: SalesPadEDI)
ADDED: Security: Sales Document EDI 810 - Invoice: Review Batch - When forwarding through workflow, sales documents will be sent to this batch if EDI transaction fails. (Extended Module: SalesPadEDI)
ADDED: Security: Sales Document EDI Order Acknowledgement: Review Batch - When forwarding through workflow, sales documents will be sent to this batch if EDI transaction fails. (Extended Module: SalesPadEDI)
ADDED: Security: Sales Document EDI Advance Ship Notice: Review Batch - When forwarding through workflow, sales documents will be sent to this batch if EDI transaction fails. (Extended Module: SalesPadEDI)
ADDED: Security: Sales Document EDI 870 - Order Status Report: Review Batch - When forwarding through workflow, sales documents will be sent to this batch if EDI transaction fails. (Extended Module: SalesPadEDI)
ADDED: EDI Service: There is now a Start and Stop button for the service.
ADDED: Security: Sales Document Packages: Copy Package Script - C# Script that runs when the "Copy" Package button is clicked, before each newly copied package is saved.
ADDED: License Plate Template Setup: Freight Class has been added as a column.
ADDED: Security: Sales Document Packages: New Package On Load Script - C# Script that runs when the "New" Package button is clicked.

REMOVED: Automation Agent Service: This DLL has been combined into the Automation Agent DLL, and is no longer used.
REMOVED: EDI Service: The Local System Account is no longer an option, a Windows User account is required. This is due to certain Windows User limitations for the Local System Account.
REMOVED: Remote Library Service: The Local System Account is no longer an option, a Windows User account is required. This is due to certain Windows User limitations for the Local System Account.

UPDATED: System Information: UI updates and theming.
UPDATED: Automation Service: The form is now themed.
UPDATED: EDI Service: The form is now themed.
UPDATED: Remote Library Service: The form is now themed.
UPDATED: EDI Business Object Mapping: The form is now themed. (Extended Module: EDI)
UPDATED: EDI Data Cross Reference: The form is now themed. (Extended Module: EDI)
UPDATED: EDI Default Carrier Information: The form is now themed. (Extended Module: EDI)
UPDATED: EDI Processing: The form is now themed. (Extended Module: EDI)
UPDATED: EDI Scheduler: The form is now themed. (Extended Module: EDI)
UPDATED: EDI Server Connections: The form is now themed. (Extended Module: EDI)

FIXED: Quick Reports: Scripts for PivotGrid Quick Reports will properly compile.
FIXED: Quick Reports: Toggling between Grid and Pivot Grid viewers will properly disable/enable fields on the Search Fields tab.
FIXED: Application: Several entities now utilize SQL transactions to prevent partial saves. This affects customers, vendors, prospects, opportunities, and several other entities.
FIXED: Sales Document Notes: The Internal Notes and Named Notes will now more consistently write the corresponding audit entries. This includes historical documents and editing notes but not saving the Sales Document scenarios.
FIXED: Sales Document Entry: If a Named Note has malformed XML formatting, the Sales Document will now open properly. The named notes error will be in the audit entry, notes will then show the full note text in the Internal Notes tab.
FIXED: Purchase Order Entry: The currency drop down will now work properly if the corresponding setting is enabled. (Introduced: 5.1.6)
FIXED: Vendor Workflow: Setting values through a Run Script will now properly update the Vendor Card and not create a prompt to save that would revert changes.
FIXED: License Plate Template Setup: Multiple templates will no longer be created if a newly created template row has been saved but then edited and saved again.

Version 5.2.43
Release Date 3/7/2023


ADDED: Setting: Pacejet - Sales Documents: Export Packages To Pacejet: If set to 'True', Pacejet plugins will send packages from Sales Document Entry's Shipment tab to Pacejet, like in SalesPad version 5.2.5 and above. If set to 'False', Pacejet plugins will only create a single blank default package for the Pacejet shipment, like in SalesPad version 5.2.4 and below. Defaults to 'True'.
ADDED: Expression Editor: Added the 'Object_Method_Value' custom function to the list of functions in the Expression Editor. The function allows calling methods on objects, such as the IsTopPackageLine method on the SalesLineItem business object.
ADDED: Settings: Added versioning to scripts in Settings. Any changes to a setting script followed by a save to the settings will result in a new version being created for the script. Versions can be accessed from a drop down from within the script's editor.
ADDED: Security Editor: Versions of scripts can now be accessed from within the script editor of any security script. Previously, the only way to access versions was from the Security Script Manager screen.

UPDATED: Settings: Pacejet: Pacejet settings are now divided into categories to more clearly convey which settings are only used by sales documents and which settings are shared between sales documents and in-transit transfers.
UPDATED: Magento Integration: Settings: Order Import - Assignment: Sales Line Assignment Mapping - Updated the default 'Item_Number' mapping to account for package items. If an item is a package item, the item number will not get overwritten by the SalesDataOrderItemInterface.Sku value. (Extended Module: Integration.Magento2)
UPDATED: Shopify Integration: Settings: Order Import - Assignment: Sales Line Assignment Mapping - Updated the default 'Item_Number' mapping to account for package items. If an item is a package item, the item number will not get overwritten by the LineItem.SKU value. (Extended Module: Integration.Shopify)
UPDATED: WooCommerce Integration: Settings: Order Import - Assignment: Sales Line Assignment Mapping - Updated the default 'Item_Number' mapping to account for package items. If an item is a package item, the item number will not get overwritten by the OrderLineItem.sku value. (Extended Module: Integration.WooCommerce)
UPDATED: WooCommerce Integration: Settings: Product Export - Assignment: Product Mapping - The default mapping has been updated to set the Item Master list price to the 'regular_price' field instead of the 'price' field. (Extended Module: Integration.WooCommerce)
UPDATED: Interaction Entry: The form is now themed properly.
UPDATED: Purchasing Advisor: The screen is now themed properly.
UPDATED: Backordered Items Report: The screen is now themed properly.
UPDATED: Sales Monitor: The checkboxes for batches will persist when switching between companies that may have different batch names or different batches checked. The registry entry is now based on the company database name.

FIXED: Interactions: The Interaction Entry Pre Save script will now properly cancel the saving of changes made to an existing interaction, not just new interactions.
FIXED: Interactions: When the Interaction Entry Pre Save script cancels a new interaction, the User Task email will no longer be sent.
FIXED: System Log: Extra system logs will no longer be created whenever a few specific audit types are saved and the SQL Parameters Mismatch and Enabled System Logging settings are enabled.
FIXED: EDI Processing: When manually fixing a failed 850, a turnaround object will now be saved and linked to the newly created sales document. (Extended Module: SalesPad EDI)
FIXED: In-Transit Transfers: Creating an In-Transit Transfer will not overwrite other open In-Transit Transfers.
FIXED: EDI: The EDI Professional license now gives access to all EDI Essentials features. (Extended Module: SalesPad EDI)
FIXED: Magento Integration: Order Import: Fixed the 'Item exists as an inventoried item. Non-Inventory item cannot be set to 1.' error when importing package items. (Extended Module: Integration.Magento2)
FIXED: Shopify Integration: Order Import: Fixed the 'Item exists as an inventoried item. Non-Inventory item cannot be set to 1.' error when importing package items. (Extended Module: Integration.Shopify)
FIXED: WooCommerce Integration: Order Import: Fixed the 'Item exists as an inventoried item. Non-Inventory item cannot be set to 1.' error when importing package items. (Extended Module: Integration.WooCommerce)
FIXED: Opportunity Interactions: A link to the Opportunity will now show in the drop down.
FIXED: Sales Document Entry: When copying a document, the Exchange Date will be cleared properly, preventing older exchange rates being used.

Version 5.2.42
Release Date 2/17/2023


ADDED: Security: Purchase Order Generation: Include Vendor Email To - Include the Vendor Address Email To field when emailing.
ADDED: Security: Purchase Order Generation: Include Vendor Email CC - Include the Vendor Address Email CC field when emailing.
ADDED: Security: Purchase Order Generation: Include Vendor Email BCC - Include the Vendor Address Email BCC field when emailing
ADDED: Security: Customer Contact Addresses: Save Customer Letter Folder - The location where the document will be saved before it is opened. Current Template Folder, Prompt for Folder, or Temp Folder. This functionality was changed in 4.6.4.25 when we removed Microsoft Office Interop dependencies. (Default: Current Folder)
ADDED: EDI 945 Inbound: Over-fulfillment attempts of non-tracked, lot-tracked, and serial-tracked items will now be audited to the sales document audit. (Extended Module: SalesPadEDI)
ADDED: Quick Reports: There is now a Fixed Column option that can be set to Left or Right, which will fix a column position when scrolling left/right. NOTE: Named bands and grouping columns may have unexpected results. Reset the Grid Layout to see changes.

UPDATED: Group Pricing: The screen is now themed properly. This includes the popup for the Import/Export screens; the Export popup is used in various other places also and will now retain its size and position.

FIXED: Update Email From Customer: The plugin will now properly run via Automation Agent.
FIXED: Purchase Line Item: Double clicking in the comment field Auto-Filter row will no longer attempt to create a comment, which would result in an "Index was outside the bounds of the array" error.
FIXED: Vendor Item Setup: The Auto Filter Row will no longer throw an Object Reference error.
FIXED: Routing Entry: Both script hooks will now properly compile. (Extended Module: Manufacturing)
FIXED: Customer Contact Addresses: There will no longer be an object reference error if the Auto Filter row is selected when creating a customer letter.
FIXED: EDI 945 Inbound: After processing a 945 document, lot-tracked and serial-tracked items on the sales document will get fulfilled when 'Auto-Assign Lot Numbers' and 'Auto-Assign Serial Numbers' options are disabled in Dynamics GP. (Extended Module: SalesPadEDI)
FIXED: User Field Editor: The multi-select option will be properly disabled/unchecked if the UDF is changed to something that is not text.
FIXED: User Field Editor: Import: Alternating between clicking the 'Toggle Selection' button and manually toggling checkboxes in the 'Selected' column will not sometimes result in a row not updating correctly.

Version 5.2.41
Release Date 2/6/2023


BREAKING CHANGE: Shopify: Order Export: Tracking numbers are now exported to Shopify differently than before. The Order Export will look at packages and shipping headers to determine which tracking numbers belong to which sales line items and will send that information to Shopify. If a sales document has no packages, the export will send an arbitrary tracking number from that sales document instead. This may result in not all tracking numbers being sent to Shopify if a sales document has more than one tracking number and one of them is not assigned to any sales line items via packages or shipping headers. (Extended Module: Shopify Integration)

ADDED: Magento Integration: Settings: Order Import: Roll Back Order Import Transaction On Error - When enabled, the transaction encompassing the order import will be rolled back when an error occurs. This prevents data from a partially completed import from being saved to the database. (Extended Module: Integration.Magento2)
ADDED: Magento Integration: Settings: Order Export: Roll Back Order Export Transaction On Error - When enabled, the transaction encompassing the order export will be rolled back when an error occurs. This prevents data from a partially completed export from being saved to the database. (Extended Module: Integration.Magento2)
ADDED: Shopify Integration: Settings: Order Import: Roll Back Order Import Transaction On Error - When enabled, the transaction encompassing the order import will be rolled back when an error occurs. This prevents data from a partially completed import from being saved to the database. (Extended Module: Integration.Shopify)
ADDED: Shopify Integration: Settings: Order Export: Roll Back Order Export Transaction On Error - When enabled, the transaction encompassing the order export will be rolled back when an error occurs. This prevents data from a partially completed export from being saved to the database. (Extended Module: Integration.Shopify)
ADDED: WooCommerce Integration: Settings: Order Import: Roll Back Order Import Transaction On Error - When enabled, the transaction encompassing the order import will be rolled back when an error occurs. This prevents data from a partially completed import from being saved to the database. (Extended Module: Integration.WooCommerce)
ADDED: WooCommerce Integration: Settings: Order Export: Roll Back Order Export Transaction On Error - When enabled, the transaction encompassing the order export will be rolled back when an error occurs. This prevents data from a partially completed export from being saved to the database. (Extended Module: Integration.WooCommerce)
ADDED: MSM Fundraising Integration: Settings: Order Import: Roll Back Order Import Transaction On Error - When enabled, the transaction encompassing the order import will be rolled back when an error occurs. This prevents data from a partially completed import from being saved to the database. (Extended Module: Integration.MSMFundraising)
ADDED: Shopify: Setting: Order Export: Notify Customers - If set to 'True', Shopify will send an email to each order's customer when the Order Export creates or updates fulfillments. Defaults to 'True'. (Extended Module: Shopify Integration)
ADDED: Item Maintenance: Flat Fee item type is now an option when creating a new item.
ADDED: Interactions: Contact_Key column stores the Address Code or Contact ID value of the chosen contact person/name.
ADDED: Interactions: Contact Key field appears in the Interaction Entry form and will show either "Address Code" or "Contact ID" based on selected Key (i.e. Customer or Prospect).
ADDED: Interactions: Contact Key column can be shown in the Interactions grid wherever it lives (Customers, Vendors, Sales Documents, Opportunities, Prospects, Contacts, Case Tracker), which will show one of the three captions based on the parent BO at the time: "Address Code", "Contact ID", "Address Code/Contact ID".

UPDATED: License Plates: When manually packing the UofM will now be UPPER case on the License Plate details. This is mainly to help with EDI case sensitivity needing to be upper case.
UPDATED: License Plating: Changes made to license plates will now be audited to spLicensePlateAudit.
UPDATED: Application: Newtonsoft.Json was upgraded to 13.0.2.
UPDATED: Interactions: Saving interactions in SalesPad Desktop now save the Address Code or Contact ID to the Contact Key column, which the Interaction Entry form will parse out upon loading. Also handles old or SalesPad Mobile interactions and converts them to modern interactions that will use the Contact Key within SalesPad Desktop.

REMOVED: Automation Agent: Script Platform: Removed the 'Roll Back SQL Transaction On Error' setting. From now on the scripting component will not be wrapped in a SQL transaction and each script will need to handle transaction begin/commit/rollback individually. (Extended Module: Automation Agent) (Introduced: 5.2.30)

FIXED: Receipt Transaction Entry: Serial/Lot Receiving Plugin - This plugin will now properly be read-only when the Receipt Card itself is read-only.
FIXED: Automation Agent: SQL transactions will not get locked up when tasks, such as Batch Forward, are being processed.
FIXED: Sales Entry: Items that are marked to not allow backorders and the corresponding setting is set to SellBalance, will no longer reduce the quantity for the sales line if it is marked as Dropship. (NOTE: This is a modification to a SQL stored procedure: spptaSopLineIvcInsert_SalesPad)
FIXED: Shopify: The Shopify integration no longer calls APIs which will be unsupported starting on April 1, 2023. (Extended Module: Shopify Integration)
FIXED: Batch Forward: The batch forward will no longer recalculate all batches for the document ID being forward. We're now checking for which batches documents moved to, including split documents and only recalculating those. This can help alleviate/minimize the amount of traffic/deadlocks on the SY00500. (This includes Automation Agent Batch Forward).
FIXED: Sales: Key2Act Sales Document Dock - Sales Line cost codes are no longer cleared when opening the Job Number dropdown but not changing the selection. Also, if the selection is changed and a non-supported job number is selected or the prompt to clear cost codes is denied, the job number will revert the change and sales line cost codes will no longer be cleared. (Extended Module: Key2Act)
FIXED: Sales Document: The audit trail for copying a sales document will no longer follow to other documents in the document chain (ex: Splits or Transfer to Order/Invoice)
FIXED: Customer: There will now be an error thrown if a Customer is saved and there is no Customer_Num generated from the stored procedures.
FIXED: Customer Address: There will now be an error thrown if the address has a blank Customer Num or Address Code, preventing bad records in SQL.

Version 5.2.40
Release Date 1/20/2023


ADDED: Purchasing: Key2Act Purchase Line Dock - This plugin allows the selection of a Key2Act Job or Service Call and other Key2Act-related fields. Docks to the line items grid for easy access. (Extended Module: Key2Act)
ADDED: Purchasing: Key2Act Purchase Line Monitor - This screen allows visibility of Key2Act purchasing information. With proper security, users can also move purchase orders between batches. (Extended Module: Key2Act)
ADDED: Sales: Key2Act Sales Search - This screen allows finding and launching Sales Documents assigned to a Key2Act Job or Service Call. (Extended Module: Key2Act)
ADDED: Receiving: Key2Act Receipt Line Search - This screen allows finding and launching Receipt Lines assigned to a Key2Act Job or Service Call. (Extended Module: Key2Act)
ADDED: Receiving: Key2Act Receiving - This tab allows viewing the selected Purchase Line's Key2Act Job or Service Call and other Key2Act related fields. (Extended Module: Key2Act)
ADDED: Shopify Product Export: Page Size Setting - Allows setting the maximum number of products SalesPad will attempt to update or create with each call to the Shopify API.
ADDED: Quick Reports: Setting: Cache File Quick Report Scripts - If true, the scripting within quick reports stored on a file system will be cached on execution. Note: Scripts for Quick Reports stored in the database are always cached. Defaults to 'false'.

UPDATED: Purchasing: Attach PO To Sales Line - Added visibility into Key2Act information. The Key2Act Prevent Double Billing When Linking setting will prevent linking a purchase line to a sales line when both contain Key2Act information. (Extended Module: Key2Act)
UPDATED: Sales: Attach Sales Line To PO - Added visibility into Key2Act information. The Key2Act Prevent Double Billing When Linking setting will prevent linking a sales line to a purchase line when both contain Key2Act information. (Extended Module: Key2Act)
UPDATED: Sales Documents: Splitting and invoicing will audit shipping headers, packages, and package details which are copied from the source sales document to the new sales document.
UPDATED: Quick Reports: Scripts - Database Quick Report scripting will now cache based on the report’s ID and which button or script is firing. Saving a Quick Report via the editor will refresh these cache entries for the current user.
UPDATED: Quick Reports: Scripts - Quick Report scripting will now use the cached framework assemblies, significantly improving performance.
UPDATED: Quick Reports: Scripts - Quick Report scripting will now have access to the Universal Script setting.
UPDATED: Quick Reports: Scripts - Quick Report scripting will now have access to using compiler pre-directives for custom namespaces, and more default namespaces have been added to match security scripting namespaces.
UPDATED: Split Sales Document: Improved error handling during sales document splitting. If the resulting sales documents cannot be saved after splitting, the error message is displayed to the user and forwarding is canceled.
UPDATED: Remote Library: If the Remote Library is used to forward and split sales documents, and forwarding fails for any reason, the workflow failure message is now returned to the calling application, such as Inventory Manager or SalesPad+.

FIXED: Sales Documents: Splitting and partially invoicing will only copy shipping headers to sales documents which have packed line items.
FIXED: Receiving: Error handling now prevents receiving a quantity that has more decimal places than is configured for that item’s quantity decimal places.
FIXED: Receiving: The blue warning text is now themed properly.
FIXED: Quick Reports: Trying to drag a row into the auto-filter row or other invalid areas will no longer result in an object reference error.
FIXED: Application: Resolved an issue when the application is checking for running plugins that could result in an exception being thrown: "Collection was modified; enumeration operation may not execute". This most likely could happen when forwarding a large number of documents in workflow that would hit Smart Printing.
FIXED: Case Tracker Detail Search: The Status field will now populate properly with the Case Status.
FIXED: Create Return: Returning a serial tracked item that has the same Unit of Measure equivalence to the Base Unit of Measure will now properly show the serials.
FIXED: Quick Reports: Scripts - The OnDragDrop script will now compile and execute correctly, and its parameters now match the OnRunScript parameters.
FIXED: Sales Monitor: When Key2Act tables are in the database, there will no longer be a "String or binary data would be truncated error". This can be fixed with a stored procedure change.

Version 5.2.39
Release Date 1/3/23


ADDED: Opportunity Mass Update: The screen allows users to mass update CRM opportunities.
ADDED: Sales: Setting: Set Package Component Price To Zero - When enabled, if a kit is automatically converted to a package (the kit description contains the package indicator) the component prices will be zeroed. NOTE: The Kit Exploder has a similar sub-security.
ADDED: Setting: Can Pack Non-Inventory Items: When enabled, Sales Lines that are marked as Non-Inventory can be packed. NOTE: This excludes the top level Non-Inventory exploded kit item.

UPDATED: Shipments: When trying to pack an item individually there is now a prompt if a zero qty is attempted to be packed.
UPDATED: Shipments: When trying to pack an item individually the Quantity Ordered and Quantity To Pack fields are now rounded properly.

FIXED: Blue Moon Operations Core: When saving a Sales Document there will no longer be an "Object reference not set to an instance of an object." error when there is not a Ship To address code set. (Introduced: 4.6.4.25)
FIXED: Automation Agent AR Statement: Customer addresses with multiple email addresses in a single field will now properly email those addresses.
FIXED: Sales Batch Processing: Closing the screen after forwarding a large batch of documents will no longer throw an Object reference error.
FIXED: Group Pricing: When a qty range would error out it was improperly saying "date range" and it will now say "qty range".
FIXED: Group Pricing: For items that allow multiple decimal quantities, the start quantity is no longer limited to 1 and can now be less than 1, but still must be greater than zero. (Example: Start Quantity -> .0001) (NOTE: Running a Database Update for an older build of SalesPad will truncate the values for the Qty Start and Qty End fields in the spGroupPricingItemDetail table.)
FIXED: Sop To Pop Links: A sales line's quantity fulfilled will now be set to zero when a link to a drop ship purchase order is created via the Purchase button on the Sales Entry screen. (Introduced in 5.0.3)

Version 5.2.38
Release Date 12/09/22


ADDED: Sales Document Workflow Setup: Security: Pre Import Script - C# Script that executes before imported workflow queues are saved. Defaults to ''.
ADDED: Shipping: GetShippingHeaderNums: Gets list of open shipping headers for a given sales document to weed out any that have been applied to an invoice. Now adds up only those open ones for the sales document instead of all of them that are related.
ADDED: Automation Agent AR Statement: Security - Get Customer List Script: C# script hook that allows for a custom list of customers. NOTE: This bypasses the Payment Terms setting.
ADDED: Automation Agent AR Statement: Setting - Customer AR Statement Report: Custom AR Statement Report. Blank will use the base Customer AR Statement report.
ADDED: Automation Agent AR Statement: Setting - Invoice Report: Custom Invoice Report. Blank will use the base Invoice report.
ADDED: Automation Agent AR Statement: Setting - Return Report: Custom Return Report. Blank will use the base Return report.
ADDED: Automation Agent AR Statement: Setting - Include Invoice Reports: When disabled, Invoice reports will not be appended to the AR Statement pdf. (Default: True)
ADDED: Automation Agent AR Statement: Setting - Include Return Reports: When disabled, Return reports will not be appended to the AR Statement pdf. (Default: False)
ADDED: Automation Agent AR Statement: Setting - Test Email To Address: When populated, all e-mails will be sent to this email address. Primarily used for testing purposes. Can be a comma delimited list of emails.
ADDED: Automation Agent AR Statement: Setting - Include Cc Email Address: When enabled, The corresponding customer address Cc email address will be Cc'ed accordingly. (Default: False)
ADDED: Automation Agent AR Statement: Setting - Include Bcc Email Address: When enabled, The corresponding customer address Bcc email address will be Bcc'ed accordingly. (Default: False)
ADDED: Sales Document: There is now a "P-PD", Partially Paid, status, typically visible in Sales Monitor but may be visible in other places.

UPDATED: Sales Transfers: Inventory Transfers created will now respect the Setting - Inventory Transfer Batch Posts To GL. (This can also apply to any other process that might generate an Inventory Transfer)
UPDATED: EDI: 860 and 870 transactions are now available in EDI Essentials. (Extended Module: SalesPad EDI)
UPDATED: Automation Agent AR Statement: The Customer Payment Terms setting now allows for multiple payment terms.
UPDATED: Automation Agent AR Statement: Email audits will now be properly written.
UPDATED: Automation Agent AR Statement: The Email and Email To fields will both be used when sending emails.
UPDATED: Sales Document: There is a SQL performance improvement with the spvSalesDocumentStatus/spvSalesDocumentStatusHistory views.

FIXED: Purchase Order Entry: Changing the cost on a multicurrency purchase order should no longer result in a subtotal error when the new unit cost exactly matched the previous costs converted currency cost.
FIXED: Purchase Order Entry: Lines that have a status of Closed will no longer attempt to save, which would result in an eConnect error "Invalid PO Status (POLNESTA), you cannot open a closed line" (Code: 9195).
FIXED: EDI 850: When processing EDI 850 documents with items that have contract pricing and there are EDI errors, the resulting sales document will automatically get voided instead of becoming orphaned.
FIXED: Receiving: Receiving on multiple rows against the same purchase line will now update the Received quantity of matching rows as they are being received. This will fix a scenario that was allowing over receiving, even if the Allow Over Receiving security was false.
FIXED: Sales Documents: Item restrictions being enabled to run on document save will not cause splitting, invoicing, or voiding a sales document to occasionally halt partway.
FIXED: Splitting: Assembly links will now properly split if the sales document had not been closed/reopened after running the Create Assembly plugin. (Introduced: 5.2.34)
FIXED: Lock Screen: When using Windows Authentication and the System User has a password set, there will no longer be a "Wrong Password" message when trying to unlock the screen.
FIXED: Security: The Copy All, right-click sub-security option, will no longer enable modules that were not enabled and will only copy the corresponding sub-security.
FIXED: Email Audit: The Attachments field in spEmailAudit is now NVARCHAR(MAX) to match the spExtendedEmailAudit and will prevent truncation.
FIXED: Sales Document Inventory Lookup: Hitting ENTER when selecting an Alternate Item will no longer add the item twice to the sales line.
FIXED: Sales Document Line Items: Applying a row filter will now properly refresh the focused line viewer data for the newly focused row.
FIXED: Automation Agent AR Statement: Invoices that are included will no longer rely on the Outstanding Balance setting, which would limit visibility of some documents.
FIXED: Automation Agent AR Statement: The email template subject will properly replace keywords now.
FIXED: Automation Agent AR Statement: If one customer AR statement errors out, the job will now continue to other customers.
FIXED: Activity Locks: When clearing a lock on a document created in Dynamics GP, the Dynamics GP session will no longer be cleared by removing it from the tempdb..DEX_SESSION table.
FIXED: Import Manager: The Customer Item import will now update the mapped fields only instead of clearing out non-mapped fields.
FIXED: Sales Document Time In Queue: Data will now show properly. (Introduced: 5.2.29)

Version 5.2.37
Release Date 11/11/22


BREAKING CHANGE: Shopify: Each integration to a Shopify website now consumes a Shopify license. These license assignments can be managed in the Ecommerce License Manager module and auto-activated with the Auto-Activate Ecommerce Licenses setting. If you integrate to multiple Shopify websites, please contact Cavallo before updating to this version. (Extended Module: Shopify)
BREAKING CHANGE: Magento: Each integration to a Magento website now consumes a Magento license. These license assignments can be managed in the Ecommerce License Manager module and auto-activated with the Auto-Activate Ecommerce Licenses setting. If you integrate to multiple Magento websites, please contact Cavallo before updating to this version. (Extended Module: Magento)
BREAKING CHANGE: WooCommerce: Each integration to a WooCommerce website now consumes a WooCommerce license. These license assignments can be managed in the Ecommerce License Manager module and auto-activated with the Auto-Activate Ecommerce Licenses setting. If you integrate to multiple WooCommerce websites, please contact Cavallo before updating to this version. (Extended Module: WooCommerce)

ADDED: Ecommerce Integrations: There is now a Ecommerce License Manager module for viewing, adding, removing, enabling, and disabling Ecommerce license assignments. (Extended Module: Integration)
ADDED: Setting: Ecommerce: Auto-Activate Ecommerce Licenses - If set to 'True', when running an Ecommerce integration Automation Agent will allocate an Ecommerce license to it. Defaults to 'True'. (Extended Module: Integration)
ADDED: Security: Sales Line Resource Plugin: Max File Size - The maximum resource size in megabytes (MB). Maximum file size cannot exceed 120 megabytes.

UPDATED: Interaction Resources: Plain text is now supported for drag and drop, similar to other resources. NOTE: Outlook email drag and drop worked properly.
UPDATED: Resources: There will now be a log message if downloading/opening a resource would throw an exception.

FIXED: Shopify: Product Export: The product export will not fail with an error stating "Failed to upload bulk mutation variables to Shopify. Details: Malformed multipart body." (Extended Module: Shopify)
FIXED: Customer Contract Pricing: The sub-tabs will now refresh properly and don't require the customer card refresh button to be pressed. (Introduced: 5.1.7)
FIXED: Payfabric Capture: The plugin will now properly send the document to the corresponding Security Fail batch.
FIXED: Payfabric Capture: The Payfabric Post Transaction Script will now properly be called after the capture has been successful, instead of on a failure.
FIXED: Sales Document Manual Split: When splitting sales line items in a non-base unit of measure, quantity fulfilled is now handled correctly and will not become negative. Applies to non-tracked, lot-tracked, and serial-tracked items.
FIXED: Sales Line Resources: Sales line resources will now get transferred to the resulting sales document when quotes are transferred to orders.
FIXED: Resources: Dragging an Outlook email will now properly attach as a .msg file, instead of plain text.

FIXED: Sales Document Manual Split: When splitting sales line items in a non-base unit of measure, quantity fulfilled is now handled correctly and will not become negative. Applies to non-tracked, lot-tracked, and serial-tracked items.

Version 5.2.36
Release Date 10/28/22


ADDED: Setting: Can Delete Sales Document Linked To Purchase Order - The list of Groups/Users that can delete sales documents or individual sales lines that are linked to a purchase order. This is a User/Group setting and applies to Sales Entry, Customer Overview, and Sales Document/Line Mass Update. (Default: *)
ADDED: Settings: PayLink Auth Token Request Script - A C# script that executes before a PayLink authorization token is requested.

UPDATED: Cross/UpSell Maintenance: The form is now themed properly. The New/Edit details popup will also remember size/location.

FIXED: Sales Line Availability: Clicking into a blank column will no longer result in an Object Reference error.
FIXED: Opportunity Search: Clicking a blank Sales Rep/Sales Territory will no longer open a blank form.
FIXED: Application: The app will not error or freeze after logging in due to a "Some or all identity references could not be translated" error for computers which can't run named pipes with the "Everyone" identity. (Introduced: 5.2.5)
FIXED: Analytics Cloud Module: Sales document and customer links now work on computers which can't run named pipes with the "Everyone" identity. (Extended Module: Analytics Cloud)
FIXED: Security Script Manager: Resolved a caching issue that was causing slow performance when saving scripts.
FIXED: Security Editor: Saving changes to a security group will now only save the changed securities instead of always saving all of the securities within the group.
FIXED: Application: The majority of the fields that have dropdowns will no longer allow scrolling while the mouse is hovering over the field (The actual dropdowns will still be scrollable). This was disabled due to values being accidentally changed and bypassing certain prompts. (ex: Sales Document Warehouse prompt to roll down)
FIXED: Retrieve PayLink: Retrieving a PayLink manually from the Sales Entry screen will now properly update the Payments field.

Version 5.2.35
Release Date 10/14/22


ADDED: Settings: PayFabric: PayFabric Token Request Script - A C# script that executes before a PayFabric token is requested
ADDED: Settings: PayFabric: Credit Card Mapping By Sales Doc ID - Create mappings for PayFabric Credit Card to GP Cards for specific Sales Doc IDs. If no mapping is found for the current document's Sales Doc ID, the GP Card from the Setting: 'Credit Card Type Mappings' will be used. Supported Types: AmericanExpress, Discover, MasterCard, Visa, and (unspecified). Cards with an unspecified card type are typically gift cards
ADDED: Application: Support for Dynamics GP 18.5. NOTE: This was the build that was tested, older versions may still work properly.

FIXED: Automation Agent:  Long running Automation Agent jobs will no longer cause a blocking process in SQL. There are patch dlls for 5.2.32, 5.2.33, and 5.2.34. (Introduced: 5.2.30/.31)
FIXED: Counter Sales: Sales lines should no longer disappear seemingly randomly during entry.
FIXED: Sales Document Entry: The multicurrency dropdown will now properly work without needing to save the document once.
FIXED: Case Tracker:  Columns that link to sales documents but are blank will no longer open a blank sales document.  This change could fix other hyperlinks in grids that have blank data, in some scenarios.
FIXED: Purchase Order Entry: Subsequent saves of a Purchase Order that has a Workflow Queue name greater than 15 characters will no longer be truncated.  NOTE: This is an update to a SQL stored procedure, sppUpdatePurchaseOrder.
FIXED: PayFabric: Successful transactions will no longer display an empty prompt screen. This issue was only present when using certain gateways.

Version 5.2.34
Release Date 09/30/22


ADDED: Security: Sales Document Payments: Enable Cash/Check Payment - Determines whether the Cash/Check payments tab is visible. (Default: true)
ADDED: Security: Sales Document Mass Update: Disable Selected Documents Checkbox - Forces the Selected Documents checkbox to be checked and uneditable. (Default: false)
ADDED: Security: Sales Batch Processing: Disable Selected Documents Checkbox - Forces the Selected Documents checkbox to be checked and uneditable. (Default: false)
ADDED: Security: Sales Documents (Search): Disable Selected Documents Checkbox - Forces the Selected Documents checkbox to be checked and uneditable. (Default: false)
ADDED: Security: Sales Line Mass Update: Disable Selected Lines Checkbox - Forces the Selected Lines checkbox to be checked and uneditable. (Default: false)
ADDED: Setting: KwikTag: Filter By Company Name - If set to 'True', KwikTag grids will only show documents which belong to this GP company. Defaults to 'True'. (Extended Module: KwikTag)
ADDED: Setting: Non Inventory Suffix When Converting Line Item: Suffix added to Non-Inventory items when using the right-click Convert Item option from the Sales Line or Purchase Line.  Most users will probably want to just blank this setting out so that the suffix is not added. This can also be trimmed through an Item Master Pre-Save Script. (Default: *****)
ADDED: EDI Scheduler: Added the ability to set starting date and time when previewing an EDI schedule. (Extended Module: SalesPadEDI)
ADDED: Security: Purchased Line Editor: Remove Zero Qty Links - If set to 'True', decreasing a link's quantity to 0 will remove the link. Defaults to 'False'.
ADDED: Credit Card Device: PAX A920 has been added to the list of supported devices.

UPDATED: Sales Shipment (Invoice Screen): The screen is now themed properly.
UPDATED: Settings: Square - Sandbox: Square Application ID - The OAuth Application ID for SalesPad in Square. Requires Square Developer account. Used when a Currency ID match is not found in the 'Square Sandbox Account Via Currency ID' setting.
UPDATED: Settings: Square - Sandbox: Square Application Secret - The OAuth Application Secret for SalesPad in Square. Requires Square Developer account. Used when a Currency ID match is not found in the 'Square Sandbox Account Via Currency ID' setting.
UPDATED: Settings: Square - Production: Square Application ID - The OAuth Application ID for SalesPad in Square. Should not be modified unless instructed by Cavallo. Used when a Currency ID match is not found in the 'Square Production Account Via Currency ID' setting. (Default: sq0idp-jCzty32DHpjd7ObOvFm49Q)
UPDATED: Settings: Square - Production: Square Application Secret - The OAuth Application Secret for SalesPad in Square. Should not be modified unless instructed by Cavallo. Used when a Currency ID match is not found in the 'Square Production Account Via Currency ID' setting. (Default: ********)
UPDATED: System Information: The Feature Licenses tab is now available for users who have Core as their primary license. This tab shows each license and its expiration date.
UPDATED: Purchased Line Editor: A purchase line item's quantity will not increase if it has enough uncommitted quantity to cover the quantity increase on the sales line item and link.
UPDATED: EDI: The inbound document save error handling will now have a stack trace in certain scenarios.
UPDATED: PayFabric Batch Capture: Multiple authorization captures will now appear in the message log, also the original authorization and capture amount will be displayed.
UPDATED: PayFabric Capture/Batch Capture (plugin): The Preauth Hold Code that would be removed, will now only be removed if the On Account/Remaining balance is zero.

FIXED: EDI 850: When not using the EDI Dropship Address Code setting, 850s that are marked as Dropship that do not find an address code will now have better error handling.
FIXED: KwikTag: Having an apostrophe in the KwikTag Site ID setting will not cause KwikTag document grids to fail to load data. (Extended Module: KwikTag)
FIXED: Setting: KwikTag: Use Windows Authentication - This setting is no longer missing a category and description. (Extended Module: KwikTag)
FIXED: Transfer To Invoice: The Order Date (ORDRDATE) will now properly be transferred to the invoice when there is a Payment on the order.  (NOTE: This is a SQL stored procedure change: spptaCreateSopPaymentInsertRecord_SalesPad)
FIXED: Sales Fulfillment: Kits that have discontinued items and are in a non-multibin and are non-tracked will now properly fulfill.  (NOTE: This is a fix to a stored procedure: spptaSopLineIvcInsertComponent_SalesPad)
FIXED: Sales Shipment (Invoice Screen): There were a few potential null references when pressing the Create Shipment button.  
FIXED: Sales Shipment (Invoice Screen): The CalcPreviewText will no longer cause a null reference error when double clicking in the grid.
FIXED: Sales Shipment (Invoice Screen): The Print button will now be disabled when the Sales Document Entry → Disable Sales Document Printing for Customer On Hold is enabled and the customer is on hold.
FIXED: Sales Monitor: Removed the extra whitespace between the tabs and the grid.
FIXED: Sales Line Items: Value Option udfs, that are non-multiselect, can now be cleared using the backspace or Ctrl+Delete.  Also, there is now a "blank" option in the drop down.  NOTE: The current workaround is to use the spacebar.
FIXED: Customer Address Card: The address validated flag will no longer become reset during certain actions, which would cause duplicate address validation checks.
FIXED: Sales Document Address:  The Address Validated flag will now probably reset when using the Delete key.
FIXED: EDI Scheduler: When the schedule frequency type is set to 'Daily', the initial job run time will not start a day in the future. (Extended Module: SalesPadEDI)
FIXED: Sales Fulfillment Plugin: Toggling the Show Lines check box will now properly refresh the available to pick grid.
FIXED: PayFabric: Transaction Entry: The Web Entry page will not show Level 2 Information and Level 3 Information when the EMV page is enabled. (Introduced: 5.1.1)
FIXED: Sales Documents: When splitting or partially invoicing a sales document which has assembly links, each link will move to the sales document which has the sales line item it is linked to instead of moving to an arbitrary split document.  Note that this may result in the link being on multiple sales documents if the link's sales line item is split, or the link being deleted if the line has no quantity on any sales document.
FIXED: Purchased Line Editor: If a purchase line item is linked to multiple sales line items, changing the quantity on one of the links will change the purchase line item's quantity ordered by the same amount instead of setting the purchase line item's quantity ordered to the modified link's quantity.
FIXED: About: The About screen will show the primary license's Expiration Date instead of the first license to expire.
FIXED: Purchased Line Editor: Editing lines which use non-base UofMs will correctly update quantities on the sales line item, purchase line item, and link.
FIXED: PayFabric Capture/Batch Capture (plugin): Better handling of multiple authorizations to prevent double charges from zero dollar authorizations.  The highest authorized amount will now be captured first, and if the zero authorization is not needed, it will be skipped.
FIXED: PayFabric Capture (plugin): Better auditing for multiple authorizations, including the original authorization and capture amount will be audited.
FIXED: PayFabric Capture (plugin): There could be multiple prompts for the same authorization when run directly from Sales Entry. (Introduced: 5.2.33)
FIXED: PayFabric Batch Capture (plugin): The plugin will now properly audit.  This includes if there are multiple authorizations on the document.
FIXED: Item Master Resources: Resources deleted through GP will no longer load for the Item.

Version 5.2.33
Release Date 09/12/22


BREAKING CHANGE: EDI: EDI Mapping scripts are now cached when they are first compiled.  So, any script changes will now require the EDI Service to be restarted, or if manually running the EDI processor using the Start button, that session will need to be logged out of SalesPad.  Other users should also log out if there are EDI plugins being used in workflow.  (NOTE: During EDI testing the current logged in session does NOT need to log out if script changes are made.)

ADDED: Security: Sales Document Payments - Default On Account When Capturing PayFabric Authorizations: When capturing an authorization the default value will be the On Account, instead of the current authorization amount. NOTE: If the Auth is more than the On Account and Over Charging is not allowed, we'll default to the On Account.
ADDED: Setting: Sending Emails: Can Sign In When Sending Email - If set to 'True', when sending an email with a setup which uses OAuth and there isn't a valid access token available, the app will ask the user to sign in. If set to 'False', users can only manage OAuth sign-ins from SMTP configuration screens. Defaults to 'True'.
ADDED: Email: Gmail email can now be sent using Google OAuth instead of a password.  To enable this, set the OAuth Service Provider for the Sales Email Confirmation email or a SMTP Setup email to Google.
ADDED: Email: Outlook email can now be sent using Microsoft OAuth instead of a password.  To enable this, set the OAuth Service Provider for the Sales Email Confirmation email or a SMTP Setup email to Microsoft.
ADDED: Setting: Sales Email Confirmation: SMTP OAuth Service Provider - OAuth service used to obtain access tokens for authentication against the email server. If set to 'None', the SMTP setup will use basic authentication like in earlier builds. If set to 'Google' or 'Microsoft', the SMTP setup will use OAuth with the selected service provider. Note that the email server must support that OAuth service provider; e.g. using smtp.gmail.com with Microsoft OAuth will not work. Defaults to 'None'.
ADDED: Setting: Sales Email Confirmation: SMTP over SSL or TLS Startup Method - If SSL or TLS is enabled and MailKit is being used as the SMTP client, this setting determines how the client starts encryption. Defaults to 'Auto'.
ADDED: Setting: Sending Emails: Basic Authentication SMTP Client Implementation - The library to use when sending email using basic authentication. When sending email using OAuth, MailKit will be used regardless of this setting's value. Defaults to 'System.Net.Mail'.
ADDED: SMTP Setup: SMTP setups now have a field called OAuth Service Provider. If set to 'None', the SMTP setup will use basic authentication like in earlier builds. If set to 'Google' or 'Microsoft', the SMTP setup will use OAuth with the selected service provider. Note that the email server must support that OAuth service provider; e.g. using smtp.gmail.com with Microsoft OAuth will not work.
ADDED: SMTP Setup: SMTP setups now have a field called SSL/TLS Startup Method. If SSL or TLS is enabled and MailKit is being used as the SMTP client, this field determines how the client starts encryption.
ADDED: Setting: Lock Screen Timer - The amount of time in minutes before the Lock Screen will popup. Zero will disable the lockout screen.  NOTE: Using Windows Credentials will not require a password on the lock screen.

UPDATED: Payfabric Authorization Plugin:  When run manually from the Sales Document, there will be a prompt telling the user what happened.
UPDATED: Payfabric Capture Plugin:  When run manually from the Sales Document, there will be a prompt telling the user what happened.
UPDATED: Payfabric Charge Plugin:  When run manually from the Sales Document, there will be a prompt telling the user what happened.
UPDATED: EDI: EDI Mapping Scripts are now cached, which will cut back on the number of temp files being generated and generally improve performance when processing EDI documents.
UPDATED: EDI: Data Cross Reference: The Partners grid is now sorted by default instead of potentially being in a random order. (Extended Module: SalesPad EDI)
UPDATED: Setting: Sales Email Confirmation: Email Server User - This setting now has an ellipsis button which users can use to obtain an email address and access token from Google or Microsoft. Note that for the app to use that access token, the user must set the SMTP OAuth Service Provider setting to the service provider which he or she signed in with.
UPDATED: SMTP Setup: The Add/Edit SMTP Setup modal now has a Sign In button which uses can use to obtain an email address and access token from Google or Microsoft.
UPDATED: SMTP Setup: The Add/Edit SMTP Setup modal now has a Sign Out button which removes the access token associated with the SMTP Setup's email address and OAuth service provider.
UPDATED: EDI Scripts: Scripts for outbound EDI documents now have a CancelEventArgs parameter which can be used to cancel the outbound EDI via scripting.  (Ext Module: SalesPad EDI)

FIXED: Payfabric Authorization Plugin:  When run manually from the Sales Document, the payment hyperlink will be updated.
FIXED: Payfabric Capture Plugin:  When run manually from the Sales Document, the payment hyperlink will be updated.
FIXED: Payfabric Charge Plugin:  When run manually from the Sales Document, the payment hyperlink will be updated.
FIXED: Sales document Payments: When capturing an authorization and the document total has increased, we now properly allow the capture to happen.  (NOTE: We still respect the Allow Overcharge setting to prevent over charging based on the document total)
FIXED: EDI Sales Document Order Acknowledgement: There will no longer be a "Create Window Handle" error when using the plugin in workflow over an extended time period.  This may also solve some EDI Processor/EDI Service crashing issues.
FIXED: Lock Screen: The lock screen button will now properly show up with settings permissions.
FIXED: EDI 855 - Order Acknowledgement: Rounded quantities and prices will be highlighted as changed once again. This is a rollback of a change put in 5.2.26. (Extended Module: SalesPadEDI) (Introduced: 5.2.26)


Version 5.2.32

Release Date 08/26/22

ADDED: WooCommerce Integration: Product Export: Added the ability to update existing items and create new items in WooCommerce. (Extended Module: Integration.WooCommerce)

ADDED: WooCommerce Integration: Settings: Product Export: Product Export Filter - Define the criteria for which GP items should be exported to WooCommerce. If left blank, all active items will be exported. This setting has no default value. (Extended Module: Integration.WooCommerce)

ADDED: WooCommerce Integration: Settings: Product Export: Product Item Master Matching - This setting will be used to try and match every WooCommerce item to a GP Item. If a match is found, the GP item will be used to update the WooCommerce product. (Extended Module: Integration.WooCommerce)

ADDED: WooCommerce Integration: Settings: Product Export: Product Mapping - Assign the WooCommerce product fields from the GP item master. (Extended Module: Integration.WooCommerce)

ADDED: WooCommerce Integration: Settings: Product Export: Product Pre Export Script - A C# script that runs before a product is exported. (Extended Module: Integration.WooCommerce)

ADDED: WooCommerce Integration: Settings: Product Export: Product Post Export Script - A C# script that runs after a product is successfully exported. (Extended Module: Integration.WooCommerce)

ADDED: WooCommerce Integration: Settings: Product Export: Product Item Master Matching Script - A C# script that can be used to match a GP item based on the WooCommerce product. This runs after an evaluation has been made with the Product Item Master Matching setting. (Extended Module: Integration.WooCommerce)

ADDED: WooCommerce Integration: Settings: Product Export: Number Of Products Per Export Page - Specify the number of products in each page of the Inventory Export. (Max: 100) (Extended Module: Integration.WooCommerce)


UPDATED: Sales Document Entry: When using the Sales Document Notes -> Override Queue Access for Notes and Comments security, if the document has an activity lock there is now a prompt to cancel the closing as to not lose any changes and allow for the document to become unlocked by the other user.

UPDATED: License Plate Detail: When adding license plate details the form is now resizable and will remember its size/location.


FIXED: License Plate Detail: When adding license plate details for dropship lot/serial tracked items, the serial/lot field is no longer a required field.

FIXED: Item Inventory: The Hide Empty Bins checkbox will now properly hide empty bins.  (Introduced: 5.2.25)

FIXED: Sales Entry: When an address is validated and it fails to validate, the Longitude/Latitude fields will not be cleared.

FIXED: Sales Document Address: The Longitude/Latitude will no longer be formatted as currency.

FIXED: Sales Document Entry: When using the Sales Document Notes -> Override Queue Access for Notes and Comments security, the save that happens on closing will now properly only save Notes/Comments.

FIXED: Sales Document Entry: There will no longer be an address validation attempt in certain read-only scenarios when closing/saving a sales document.

FIXED: Sales Document Entry: Transferring to invoice will no longer result in a null reference if the document was part of a consolidated shipment and the license plate details are empty. This is a SQL stored procedure update. (Introduced: 5.2.31)

FIXED: Sales Document Notes: Named Notes will now be editable on historical documents if the Batch is marked as read-only in workflow setup and the corresponding security/settings are enabled.

FIXED: Sales Document Manual Split: Fixed eConnect error 8298 'You can not change the extended quantity of a kit item' when splitting a sales document more than once.

FIXED: Automation Agent: Various components will no longer leave SQL transactions open. (Extended Module: Automation Agent) (Introduced: 5.2.30)

FIXED: Workflow: Smart printing and other printing actions will not sometimes fail with a "ExecuteReader requires the command to have a transaction when the connection assigned to the command is in a pending local transaction" error.



Version 5.2.31 

Release Date 08/05/22

ADDED: Automation Agent: Customer Quick Report Email: Added customer audit and customer email audit. (Extended Module: Automation Agent)

ADDED: Security: Customer Address Card: Available Shipping Methods - Semicolon delimited list of the shipping methods that are available to the security group. All shipping methods are available when this security is blank.

ADDED: Security: New Customer: Available Shipping Methods - Semicolon delimited list of the shipping methods that are available to the security group. All shipping methods are available when this security is blank.

UPDATED: Application: The spAuditLogHistory table field sizes for Sales Doc Type and AuditText now properly match the spAuditLog table.

UPDATED: Attach PO to Sales Line: Redesigned the form and is better themed.

UPDATED: Attach Sales Line to PO: Redesigned the form and is better themed.

FIXED: KwikTag: Trying to upload a file to a KwikTag site which uses 'https' will not give an "Error uploading document: The provided URI scheme 'https' is invalid; expected 'http'" error. (Extended Module: KwikTag)

FIXED: Attach PO to Sales Line:  Dropship purchase lines or PO lines that were received using a Shipment/Invoice will no longer be allowed to over attach a quantity to a line.

FIXED: Attach Sales Line to PO: Dropship purchase lines or PO lines that were received using a Shipment/Invoice will no longer be allowed to over attach a quantity to a line.

FIXED: Transfer To Invoice: License Plate information will properly transfer to invoice. This may have caused some issues with EDI 856 documents not sending details on Invoices. NOTE: This is a SQL Stored Procedure change which can be fixed without an upgrade.(Introduced: 5.2.27)



Version 5.2.30 

Release Date 07/22/22

BREAKING CHANGE: REMOVED: Remote Library: Removed an endpoint which was only used by the original AutomationAgent standalone app.  If this results in "cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher" errors, migrate to the AutomationAgent extension module. (Extended Module: Remote Library)

ADDED: Square: Security: Allow Deposits On Orders - In conjunction with the Allow Payments On Orders setting, users can now be limited to only allowing payments, deposits or both.  NOTE: If both are disabled payments can still be taken but are defaulted to deposits, this scenario should be avoided.  (Default: *)

ADDED: Automation Agent: Setting: Email Errors - If set to 'True' and the 'Email Errors From' and 'Email Errors To' settings are correctly filled out, Automation Agent will send an email for each error that reaches the Action Center. Defaults to 'False'.

ADDED: Automation Agent: Setting: Email Errors From - The email address which Automation Agent will use to send automation errors. The email address must be accessible by the SMTP Setup screen row which belongs to the system user who's running Automation Agent. If that system user doesn't have a SMTP Setup row, the email address must be accessible by the Sales Email Confirmation settings instead. Defaults to nothing.

ADDED: Automation Agent: Setting: Email Errors To - The email address which Automation Agent will send automation errors to. Defaults to nothing.

ADDED: Automation Agent: Setting: Error Email Outgoing Name - The outgoing name which Automation Agent will use when sending automation errors. If blank, the mail server will use a default value based on the sender's email address. Defaults to 'Automation Agent'.

UPDATED: Sales Document Entry: Slight speed improvements around rolling down Shipping Method or Warehouse to the sales line items when determining what Tax Schedule to set.

UPDATED: Sales Document Entry: When changing the Ship To Address and the Shipping Method would change the Use Shipping Method When Selecting Default Tax Schedule setting is now respected for figuring out the Tax Schedule (Pickup vs Delivery shipments tax schedule based on Warehouse vs Address respectively).

UPDATED: Licensing: 'Attach Sales Line to Manufacturing Order' and 'Sales Document Manufacturing Orders' are now part of the CPQ Configure license.

UPDATED: Pacejet: Errors which stop the Process Shipment and Get Rates plugins are now audited to the sales document or in-transit transfer which the plugin is being run for. (Extended Module: Pacejet)

UPDATED: Business Object Mapping: Selecting Trading Partners for EDI Transactions will now be done through a popup window that allows users to select all, select none and also search for Trading Partners to choose from. (Extended Module: SalesPad EDI)

UPDATED: System User Card: The System User Card securities popups have been updated to allow for searching.

UPDATED: EDI Service: This service no longer requires and consumes a user seat when installed as a Windows service. (Extended Module: SalesPad EDI)

UPDATED: PayFabric: Voiding a transaction now creates audit logs to the document to indicate that the PayFabric transaction has been deleted and also creates an audit if there are no payments found that are associated with the PayFabric transaction that was voided. The Process Log entry that is associated with voiding has been reworked to better display failures and successes.

UPDATED: Automation Agent: Email Platform: If the system user who's running Automation Agent doesn't have a row in the SMTP Setup screen, the SMTP information in the Sales Email Confirmation settings will be used for sending email instead.

FIXED: Purchase Order Entry: The Purchase line Tax Amount will now get properly zeroed out when switching between a Taxable and Non-Taxable scenario.  NOTE: This can be fixed with an updated SQL Stored Procedure: spptaPoHdr_SalesPad.

FIXED: Purchase Line Distribution Entry: The plugin will only prompt to save if the purchase order is new so that it doesn't prompt to save after each run of the plugin when making changes. (Introduced: 5.2.19)

FIXED: PayFabric: Pre-Auth holds will no longer be removed when attempting to void a transaction and the void process fails for any reason.

FIXED: PayFabric Charge Plugin: This plugin will no longer throw an exception when using certain gateways.

FIXED: Quick Reports: Purchase Order links will no longer launch GP and instead will open the PO in SalesPad (Introduced: 5.2.27)

FIXED: Purchase Order Monitor: Data will now load when SalesPad is in French or Spanish localization.

FIXED: Multi-Run Script: Users can now add multiple multi-run scripts to the toolbar. Previously the same script would get added multiple times.

FIXED: Sales Document Entry: Changing the Ship To address will now properly update the Sales Lines Shipping Method from the address. (Introduced: 5.2.11)

FIXED: Document Combiner: Documents will be found when the system is localized.

FIXED: Application: Various localization issues when loading data or comparing values.  (Vendor Item Setup, Equipment Management Item History, Receipt Transaction Purchase Line Selector, Receipt Purchase Order Selection, Square, Case Tracker Reorders/Returns, Integrations, and Remote Library)



Version 5.2.29 

Release Date 06/24/22
ADDED: Case Tracker Entry: Security - Can Change Workflow Queue: Allows a user to change the workflow queue.
ADDED: Magento Integration: Settings: Order Import: Enable Order Import Trace - If enabled, customer and customer address matching information will be logged during order import. This setting should be enabled for troubleshooting purposes only. (Default: False)
ADDED: Shopify Integration: Settings: Order Import: Enable Order Import Trace - If enabled, customer and customer address matching information will be logged during order import. This setting should be enabled for troubleshooting purposes only. (Default: False)
ADDED: WooCommerce Integration: Settings: Order Import: Enable Order Import Trace - If enabled, customer and customer address matching information will be logged during order import. This setting should be enabled for troubleshooting purposes only. (Default: False)
ADDED: Customer Reports: Reports that are based on the Customer dataset will now have access to the SalesRep dataset.
ADDED: Settings - Show Hidden Report Datasets: When enabled, Datasets outside of the main dataset will be visible again.  The main use is for reports that may have mapped fields to these datasets, and allow for mapping changes or re-mapping.  (NOTE: Mapped fields to the now hidden datasets will still pull data as expected)
ADDED: Automation Agent: Magento2: Added the 'Invoice Export' component to the Magento2 platform which allows transferring Magento orders to invoices. (Extended Module: Integration.Magento2)
ADDED: Automation Agent: Magento2: Settings: Order Import - Assignment: Sales Document PayFabric Mapping - Define the mappings to be used when creating a PayFabric transaction. (Extended Module: Integration.Magento2)
ADDED: Automation Agent: Magento2: Settings: Invoice Export: Export Queue - Queue that contains invoices ready to be exported to Magento. (Extended Module: Integration.Magento2)
ADDED: Automation Agent: Magento2: Settings: Invoice Export: Export Failure Queue - In the event of an unsuccessful export, the document will be placed into this queue. (Extended Module: Integration.Magento2)
ADDED: Automation Agent: Magento2: Settings: Invoice Export: Number Of Invoices Per Export Page - Specify the number of invoices in each page of the invoice export. (Default: 50) (Extended Module: Integration.Magento2)
ADDED: Automation Agent: Magento2: Settings: Invoice Export: Invoice Notify - Notify customer of invoice update. (Default: False) (Extended Module: Integration.Magento2)
ADDED: Automation Agent: Magento2: Settings: Invoice Export: Capture Payment - Capture payment authorization if one exists on the Magento order. (Default: False) (Extended Module: Integration.Magento2)

REMOVED: RMA Report: Various calculated fields and a bad dataset was removed from the base report.
REMOVED: Inventory Transfer Report: Various calculated fields and a bad dataset was removed from the base report.
REMOVED: Inventory Adjustment Report: Various calculated fields and a bad dataset was removed from the base report.
REMOVED: In-transit Transfer Report: Various calculated fields and a bad dataset was removed from the base report.
REMOVED: Purchase Receipt Return: A bad dataset was removed from the base report.

UPDATED: Licensing: Various inventory modules such as In-Transit Transfer Entry and Inventory Adjustment are now available in the base CRM package.
UPDATED: Licensing: Several reporting modules are now accessible to licensing configurations which use a Workflow and Profit Manager license without a CRM license.
UPDATED: Square Integration: Migrated the Square hosted payment page from SqPaymentForm to Web Payments SDK. The SqPaymentForm library is deprecated as of May 13, 2021, and will only receive critical security updates from now on.
UPDATED: Setting: Square - Sandbox: Square Payment Page URL - Default value changed from https://square.salespad.dev/ (SqPaymentForm) to https://square.cavallo.dev/ (Web Payments SDK).
UPDATED: Setting: Square - Production: Square Payment Page URL - Default value changed from https://square.salespad.dev/ (SqPaymentForm) to https://square.cavallo.dev/ (Web Payments SDK).
UPDATED: Printed Reports: The dataset will show a friendly name for most reports.
UPDATED: Printed Reports: Most reports will no longer show the sub-datasets as outer datasets.  Example: SalesLineItems will only show as nested under the SalesDocument, instead of showing outside of the SalesDocument dataset.  NOTE: Any mappings that would use the outer datasets will still populate with data, but changing/updating mappings may need to be remapped, or enable the new setting to show the outer mappings.
UPDATED: Settings/Security: Some editors that allowed picking fields and udfs have been updated to have a popup menu for easier selecting of values.

FIXED: Customer Special Pricing: The End Date autofilter row will no longer throw an object reference error.
FIXED: Customer Special Pricing: You can no longer set an End Date that is before the Begin Date.
FIXED: Purchase Order EDI 850: When using a UofM Data Cross reference it will no longer round.  This is a rollback of a change put in 5.2.26. (Extended Module: SalesPadEDI)  (Introduced: 5.2.26)
FIXED: Item Inventory: Clicking an item number hyperlink that opens up the inventory lookup will no longer result in an Object reference error targeting gvInvByLoc_CustomColumnDisplayText.  (Introduced: 5.2.25)
FIXED: Quick Report: The reports tab will now show an indicator if more buttons are hidden when the splitter is too far to the left.
FIXED: Item Inventory: There will no longer be an ArgumentOutOfRangeException if the Location Quantities security is blank.  It will now properly zero out all quantities. (Introduced: 5.2.25)
FIXED: Group Pricing: When using the Item Class Match Field, the UofM can now be properly selected.
FIXED: Sales Monitor: Both Cost fields will now properly account for Qty Canceled line items.  (NOTE: This is a SQL stored procedure fix.  Any spcpSalesMonitor will need updated to account for this change)
FIXED: Shopify: Order Import: Non-inventory line item unit prices now round based on the sales document's currency instead of always rounding to the nearest whole number.  This can be worked around in older builds with the Sales Line Assignment Mapping setting. (Extended Module: Shopify)
FIXED: Shopify: Order Import: Line items with discounts will import with the correct Unit Price and Extended Price instead of negating the discount by adding the discount to the Unit Price.  This can be worked around in older builds with the Sales Line Assignment Mapping setting. (Extended Module: Shopify)
FIXED: Sales Document Payment: The cash/check amount field will now properly populate if it was the last tab remembered. (Introduced: 5.2.0)
FIXED: CounterSales Sales Document Payment: The cash/check amount field will now properly update after taking a partial payment.
FIXED: Sales Document Properties: The On Validating script will no longer fire multiple times during certain scenarios.  Most noticeable would be when changing a value on a field and directly pressing the forward button.
FIXED: Sales Document Properties: The On Validating script will no longer fire upon opening a sales document and the script references the Customer PO or Sales Doc Num fields.
FIXED: Sales Document Properties: The On Validating script will now fire in the correct sequence for the Ship To Address Code field.
FIXED: Sales Document Properties: The Ship To Address Code hyper link will be properly themed.
FIXED: Customer Reports: The datasets will be properly nested under the Customer dataset
FIXED: Settings: Opening some editors and making no changes will no longer cause a prompt to save.


Version 5.2.28 

Release Date 05/27/22
BREAKING CHANGE:  Sales Fulfillment Plugin: The Show Inventory In License Plates was removed. (see new security)
BREAKING CHANGE: Item Inventory: The Qty In License Plate column is not shown by default and requires sub-security enabled. (NOTE: This column is only used for standalone license plates, not shipments tied to sales documents)

ADDED: Sales Fulfillment Plugin: Security -> Prompt For Inventory In License Plates - Options for prompting/denying/allowing the user to fulfill from inventory that is tied to a License Plate. (Default: Allow Silent)
ADDED: Sales Document Line Items: Security -> License Plate Quantity Warning On Quantity Fulfilled - When enabled, focusing the Quantity Fulfilled field will add a warning message if the item's quantity available is tied to a license plate.
ADDED: License Plate Detail Search: Search for license plates details. (Note: This is not used for shipments tied to sales document, only for stand alone license plates)
ADDED: Item Inventory: Security -> Show Quantity In License Plate Column -  If set to true, the Qty In License Plate column will be available. (Default: false)
ADDED: Item Inventory: The Qty In License Plate column now has a hyperlink that will launch the License Plate Detail Search for the item, allowing to see the corresponding license plate details.
ADDED: Function: The spfGetQuantityInLicensePlates now has an "spcf" call so the function can be overridden.
ADDED: EDI Data Cross Reference: New trading partners can now be added through an Excel import. (Extended Module: SalesPadEDI)
ADDED: EDI Data Cross Reference: New currencies, payment terms, shipping methods, status codes, and uofms can now be added through an Excel import. (Extended Module: SalesPadEDI)
ADDED: EDI Data Cross Reference: A new button, "Import Into Selected", has been added to allow users to add new addresses, items, uofms, currencies, payment terms, shipping methods, status codes, or item export fields to all selected trading partners at the same time using an Excel import. (Extended Module: SalesPadEDI)
ADDED: Setting: Sales: Enable Partial Refunds On Open Orders - When enabled, issuing a credit against sales document deposit will create a GL journal entry reduction instead of being removed and reapplied at a lower price. Additionally, the original bank deposit receipt will not get voided; instead, a new receipt with a negative amount will be created. (Default: True)
ADDED: Sales Document Mass Update: Added a Customer Address grid lookup control for mass update of ShipTo Address fields on selected documents and their lines.  (All selected documents must have one distinct customer in order for lookup to populate.)
ADDED: Remote Library: GET /RunScriptGET endpoint now available. Runs the same script as POST /RunScript (Settings: Remote Library Run Script), only is a GET request and does not accept a body, therefore the 'contentStream' parameter in the script hook will be null.

REMOVED: Inventory Business Objects: The Qty_In_License_Plates field was removed from InventoryByLoc, InventoryLotNum, InventoryMultiBin, InventoryQuantityMaster, and Inventory SerialNum.
REMOVED: Sales Line Item: The "L" indicator and corresponding "L = Qty Avail on License Plate" tooltip.  (see added security warning).

UPDATED: EDI 855 - Order Acknowledgement: There is now an additional option when accepting or rejecting the order. The existing options have also been renamed to better reflect what they mean. The three options are now "Accept With Changes", "Accept All", and "Reject All". (Extended Module; SalesPadEDI)
UPDATED: Sales Document Line Items: A sales line item that is linked to an In-Transit Transfer will now allow the fields, normally locked down, to be editable if the In-Transit Transfer is posted or deleted.  (Introduced: 5.2.12)
UPDATED: Configurator Restrictions: Users can now restrict options of a multi drop down attribute based on options selected within that attribute. (Extended Module: Configurator)

FIXED: Sales Documents: Shipment: The 'Recalculate Weight' button will update the shipping header's weight. (Introduced: 5.0.2)
FIXED: Sales Documents: Shipment: The 'Recalculate Weight' will not discard recent changes to the shipping header. (Introduced: 5.0.2)
FIXED: Interaction Entry: The form should no longer disappear when interacting with it in certain scenarios.
FIXED: Receiving: The splitter position should now restore properly.
FIXED: Receiving: The screen should redraw better during various screen resizing actions.
FIXED: Application: Various speed improvements: Printing various forms, namely the picking ticket; The Inventory Lookup, Inventory and serial/Lot Numbers tabs.  (NOTE: The views can be adjusted to set the Qty_In_License_Plates field to zero with similar effect)
FIXED: Sales Document Entry: There will no longer be a prompt to save for the times printed field after printing.  This could also happen when forwarding through workflow and having the print dialog checkbox checked in workflow setup. (Introduced: 5.2.17)
FIXED: Sales Document EDI 810 - Invoice: The payment term discount amount now respects the payment term's "Calculate Discount On" configuration. (Extended Module: SalesPadEDI)
FIXED: Manufacturing Detail Report: Manufacturing BOM lines were not being displayed correctly on the core report. This has been fixed. (Extended Module: Manufacturing)
FIXED: Manufacturing Detail Report: The RoutingSequence data source will now be populated with data. (Extended Module: Manufacturing)
FIXED: ITT Generation: When running the plugin manually, the In-Transit Transfer link will now properly show without needing to close/reopen the document.
FIXED: Security: All the splitters will now save positions properly.
FIXED: Receiving Serial Item UDF Tab: UDFs entered upon receiving will no longer overwrite existing values for all serials on the same receipt transaction line.


Version 5.2.27 

Release Date 05/13/22
ADDED: Consolidated Shipment EDI 856 Plugin: Message now displays to user if they try sending an EDI 856 on a shipment with no items.
ADDED: Setting: EDI Send Errors To Cavallo - When enabled, EDI errors will be sent to Cavallo's error logging system.  Prior to this setting all errors were being sent by default.  (Default: false) (Extended Module: SalesPadEDI)
ADDED: Setting: 9 Digit Zip Code Address Suggestions Cause Address Validation Failure - If false, when submitting an address to the FedEx Address Validation service check the FedEx Address Validation response's suggested zip code and if the suggested zip code is a 9 digit zip code where the first 5 digits are equal to the provided address code then do not flag the address as invalid. (Default: False)
ADDED: Setting: Address Validation Abbreviation Custom Mappings - Mappings used to determine what abbreviations may be applied to addresses returned from the FedEx Address Validation response. These mappings will be used to determine whether a suggested address returned by the FedEx Address Validation is invalid or not.

UPDATED: Sales Document Shipment: Loading tab will now select an ASN to start with based on 3, ordered criteria. Shipment has items and not sent, shipment has items, and shipment not sent.
UPDATED: Setting: PayFabric: Credit Card Type Mappings: PayFabric cards which don't specify a card type can now be mapped to a GP card by using a mapping such as "(unspecified):Gift_Card".  This can also be achieved in older versions and this version by using an empty string instead of (unspecified).  For example, "VISA:VI; :Gift_Card" maps the Visa card type from PayFabric to a credit card named VI in GP, and blank card types from PayFabric to a credit card named Gift_Card in GP.
UPDATED: Setting: PayFabric: Credit Card Type Mappings: This setting's default value is now "AmericanExpress:AMEX; Discover:DC; MasterCard:MC; Visa:VI; (unspecified):Gift_Card".
UPDATED: Store Setup: Credit Card Mappings: PayFabric cards which don't specify a card type can now be mapped to a GP card by using a mapping such as "(unspecified):Gift Card".  Unlike the Credit Card Type Mappings setting, mapping with an expression such as ":Gift_Card" is not supported.
UPDATED: System Info: The extended modules and custom modules lists now show more accurate lists of modules.

FIXED: Customer Address Card: The delete key will now also cause the Address Validated checkbox to become unchecked if a user is editing the Address 1, Address 2, Address 3, City, State, Zip Code, Country, Country Code, or Classification value.
FIXED: User Field Editor: There will no longer be an Object Reference error when updating tables in various scenarios. (Introduced: 5.2.12)
FIXED: User Field Editor: If the Integrations module is in place, there will no longer be an error on the spvInventoryLocation view when updating Location UDFs. (Introduced: 5.2.15)
FIXED: Sales Document Entry: Transferring to invoice will no longer result in a null reference if the document was part of a consolidated shipment and the license plate details are empty. This is a SQL stored procedure update. (Introduced: 5.2.18)
FIXED: Vendor Card: Notes will no longer cause a prompt to save if they have leading/trailing blank lines.
FIXED: EDI Labels: The EDI Label request will now send address information copied from the 850. (Extended Module: SalesPadEDI)



Version 5.2.26 

Release Date 04/29/22
ADDED: Sales Line Cross/UpSell: Added quantity and unit of measure to the sales document audit.
ADDED: Sales Monitor: Freight and Subtotal are now available columns.  
ADDED: Settings: AvaTax Zero Taxes on Failure - When disabled, if the tax calculation fails the previous tax amount will be used instead of zeroing out taxes. (Default: True)
ADDED: EDI 860: Added the framework for processing an EDI 860 Order Changes file. (Extended Modules: SalesPadEDI)
ADDED: Workflow Rule: EDI ~ 860 Order Changes: Evaluates true if there are unapplied changes to the order from receiving an 860. (Extended Modules: SalesPadEDI)
ADDED: Setting: EDI 860 Auto-Forward: When enabled, Sales Documents will be Auto-Forwarded through workflow after receiving changes through an 860. (Extended Modules: SalesPadEDI)
ADDED: Setting: EDI 860 Automatically Cancel Orders: When enabled and an EDI 860 is received that wants to cancel the order, the order will automatically be voided. (Extended Module: SalesPadEDI)
ADDED: Setting: EDI 860 Automatically Create Sales Lines: When enabled and an EDI 860 is received that wants to add a sales line, the sales line will automatically be created. (Extended Module: SalesPadEDI)
ADDED: Setting: EDI 860 Automatically Delete Sales Lines: When enabled and an EDI 860 is received that wants to delete a sales line, the sales line will automatically be deleted. (Extended Module: SalesPadEDI)
ADDED: Setting: EDI 860 Sales Document Fields To Automatically Change: List of sales document fields to automatically apply changes to when receiving an EDI 860. (Extended Module: SalesPadEDI)
ADDED: Setting: EDI 860 Sales Line Item Fields To Automatically Change: List of sales line item fields to automatically apply changes to when receiving an EDI 860. (Extended Module: SalesPadEDI)
ADDED: Setting: EDI 860 Cross Dock Sales Line Fields To Automatically Change: List of cross dock sales line fields to automatically apply changes to when receiving an EDI 860. (Extended Module: SalesPadEDI)
ADDED: Remote Library: POST RunScript endpoint now available.  Corresponds with Settings: Remote Library Run Script.
ADDED: Remote Library: Settings: Remote Library Run Script: A C# Script which can be run via the Remote Library REST 'RunScript' endpoint.
ADDED: Sales Document Entry: Three new tabs have been added to allow users to manually review changes requested by an EDI 860 (order change) file. (Extended Module: SalesPadEDI)

UPDATED: Application: DevExpress 21.2.7.
UPDATED: Default Carrier Information: This module will no longer require every shipping method to have a unique combination of Carrier Alpha Code, Carrier Trans Method Code, and Service Level Code. (Extended Module: SalesPad EDI)
UPDATED: Case Tracker AR Transactions: Posted AR transactions will now show for the linked transactions.
UPDATED: Case Tracker AR Transactions: The delete button will now have a prompt explaining that only the link to the AR transaction will be deleted.
UPDATED: AvaTax: If the tax call is considered a failure there will now be a critical log messenger that pops up.
UPDATED: Remote Library: This service no longer requires and consumes a user seat when installed as a Windows service. (Extended Module: Remote Library)

FIXED: Search Clause: Adding an "in" statement, "exists" statement, or "is null" statement before any other search clause statements will no longer cause an exception to be thrown.
FIXED: Funnel: When the setting Enabled Multicurrency Formatting is enabled there will no longer be an Object Reference error.
FIXED: Sales Document Mass Update:  Changing fields and using the Update Documents will no longer throw various errors. (Introduced: 5.2.25)
FIXED: Sales Document Entry: Deleting a document with a drop ship backordered sales line will no longer drive Qty Backordered negative for the warehouse inventory.  This can be fixed by modifying the spptaSopVoidDocument_SalesPad stored procedure.
FIXED: Sales Document Entry: Deleting a sales line that is both drop ship and backordered will no longer drive the warehouse Qty Backordered negative.  This can be fixed by modifying the spptaSopLineDelete_SalesPad stored procedure.
FIXED: Sales Document Time In Queue: Workflow forwarding with a spcpEvalWfRules custom procedure present will no longer incorrectly create a record at the Next Queue when the workflow rules routes into a different queue instead.
FIXED: Sales Line Cross/UpSell: Sales line quantity will not get updated when adding an upsell item. Users will get an informational prompt if unit of measure is updated. (Introduced: 5.2.17)
FIXED: Manufacturing BOM Mass Update: When using the Setting Save Engineering BOM As Pending Approval there will no longer be a "Procedure or function sppUpdatePendingManufacturingBOMLine has too many arguments specified." error.  This can be fixed via a SQL procedure change to sppUpdateManufacturingBOMLine.
FIXED: Manufacturing BOM Mass Update:  If there is an error during the update, activity locks will properly be unlocked.
FIXED: Manufacturing BOM Mass Approval: The approved pending BOM will have it's activity lock removed.
FIXED: Manufacturing BOM Line UDF:  When blanking out udfs, the values will be saved as blanks instead of nulls.
FIXED: Purchase Order Entry: The activity lock banner will now properly show who has the PO locked.  (Introduced: 5.1.6)
FIXED: Shopify: Order Import: Inactive customers will not be assigned to sales documents even if a matching setting matches an inactive customer. (Extended Module: Shopify)
FIXED: Magento: Order Import: Inactive customers will not be assigned to sales documents even if a matching setting matches an inactive customer. (Extended Module: Magento)
FIXED: Magento Integration: Inventory Export: Fixed the '404 Not Found: The requested URL was not found on this server' error when exporting existing products with item numbers that contain special characters, such as /, @, %, etc.
FIXED: Sales Document EDI Order Acknowledgement: UofM will no longer always be marked as changed if you do not have a LineItems UofM business object mapping set up for the 855 document. (Extended Module: SalesPadEDI)
FIXED: Search Clause: Adding an "in" statement, "exists" statement, or "is null" statement before any other search clause statements will no longer cause an exception to be thrown.
FIXED: Purchase Order EDI 850: When using a UofM Data Cross reference that does a division conversion, the sales lines quantity will now be properly rounded based on the item's Item Master quantity decimal place. (Extended Module: SalesPadEDI)



Version 5.2.25 

Release Date 04/15/22
BREAKING CHANGE: Item Inventory: The grid layouts will be reset.  We are now using a display text to convert quantities between different UofMs, and the footer fields were saved as part of the layout.

ADDED: Automation Agent Setting: Shopify: Number of Days to Look Back - Specify the number of days to look back from today to import orders.  For example, set to 30 to import orders only from the last 30 days.  Set to zero to import orders from any time.  Defaults to zero.  (Extended Module: Shopify)
ADDED: Settings: PayLink Pre Transaction Script: A C# script that executes before a PayLink transaction is processed.
ADDED: Multi Run Scripts: Added a new plugin for Sales Document, Customer, Vendor, Purchase Order and Assembly Entry that adds the ability to create multiple run scripts for each of these objects. These run scripts can be setup as separate buttons on the business object's entry screens or they can be added as plugins that get hit when the object is being pushed through workflow. All existing run scripts are unaffected by these changes.
ADDED: Magento Integration: Setting: Order Import: Number of Days to Look Back: Specify the number of days to look back from today to import orders.  For example, set to 30 to import orders only from the last 30 days.  Set to zero to import orders from any time. (Default 0) (Extended Module: Integration.Magento2)
ADDED: Magento Integration: All Models have an 'AdditionalJsonData' dictionary property which will contain all data not matching to class members.  This can be used to access custom Magento2 API data in scripting. (Extended Module: Integration.Magento2)

UPDATED: Manufacturing BOM Line Mass Update: Better messaging when trying to open non-make items.
UPDATED: Item Properties: The busy message is more granular and there is one less database hit.
UPDATED: Assembly Entry: The toolbar is now properly themed.
UPDATED: Magento Integration: Magento bug in certain 2.x versions which causes paging to continue to return the last page indefinitely is now being handled. (Extended Module: Integration.Magento2)

FIXED: Shopify: Order Import: If a user manually adds the Processed Order Tag to an order in Shopify and the Order Import runs within a minute afterwards, that order won't import into SalesPad. (Extended Module: Shopify)
FIXED: Sales Line Replacement Plugin: There will no longer be an Item Audit entry when adding Alternate Items and having this plugin set to Auto Run.
FIXED: Manufacturing BOM Entry: There will no longer be a "Column ParentID does not belong to table ManufacturingBOMLine" where there are blank BOM numbers in BM010115/BM010415.  
FIXED: Manufacturing BOM Entry: There was potential for bad Item Engineering Data to load on new BOMs.
FIXED: Distribution BOM Entry: A blank Item Number in BM00111 will no longer load that data on new BOMs.
FIXED: Distribution BOM:  Resources will no longer attempt a load when the BOM number is blank.
FIXED: Item Inventory: When doing a bin transfer there could be a rounding issue for large decimal places.
FIXED: Receiving Serial Item UDF Tab: UDFs entered upon receiving will no longer overwrite existing values for all serials on the same receipt transaction line.
FIXED: Sales Entry: When tabbing through fields there will no longer be a pause and the "Updating Line Items..." busy message won't show.  Similarly, when changing a header field, it will be faster and the busy message will not show.  (Caveat: having an On Validating script will still show this message and may still be slow).
FIXED: Sales Document EDI Order Acknowledgement: UofM will no longer always be marked as changed if you do not have a LineItems UofM business object mapping set up for the 855 document. (Extended Module: SalesPadEDI)
FIXED: Purchase Order EDI 850: When using a UofM Data Cross reference that does a division conversion, the sales lines quantity will now be properly rounded based on the item's Item Master quantity decimal place. (Extended Module: SalesPadEDI)
FIXED: Assembly Entry: BOM UDFs with the same name as Assembly UDFs will now be copied from the BOM to the Assembly when the Assembly is created.


Version 5.2.24 

Release Date 04/01/22

ADDED: Settings: Square - General: Square Logging: When true, additional actions will be logged to the sales document audit. This setting should be enabled for troubleshooting purposes only. (Default: False) (Extended Module: Square)

UPDATED: Import Manager: Updated error reporting in the import manager to provide context for any reported errors thrown by the econnect save process.
UPDATED: Purchase Order EDI 850: This plugin now writes more audits to the purchase order to match the audits which similar EDI plugins write to sales documents. (Extended Module: SalesPad EDI)
UPDATED: EDI: If communicating with SPS Commerce fails due to a network error, the app will retry the operation up to 3 times. (Extended Module: SalesPad EDI)
UPDATED: Sales Document Entry: When attempting to save a document with items on it that are backordered but not allowed to be backordered, the resulting error message will now display the item number of the line that is causing the error.

FIXED: Receiving: When receiving a Lot Tracked item on a dropship purchase order and updating a UDF, there will no longer be an error "Error converting data type numeric to numeric" on the sppUpdatePurchaseReceipt stored procedure.  (This is a SQL procedure update)
FIXED: Item Maintenance: The default ABC Code will now be properly set to 1 instead of 0.
FIXED: Import Manager: Sales Document Import: Fixed maximum line number check so new sales documents or existing sales documents without any line items no longer throw an exception when imported via the import manager.
FIXED: Import Manager: Sales Document Import: Add default line item properties when importing a sales document with line items via the import manager.
FIXED: Application: A debug.log file will no longer be generated in the installation folder upon running SalesPad.
FIXED: User Field Editor: The Enable Spell Checker field is aligned properly. (Introduced: 5.2.17)
FIXED: Deep Links: If two or more Windows users are running SalesPad on the same computer, deep links will not fail to open and will not open for the wrong user.
FIXED: Analytics Cloud Module: If two or more Windows users are running SalesPad on the same computer, deep links will not fail to open and will not open for the wrong user. (Extended Module: Analytics Cloud)
FIXED: Sales Document EDI 810 - Invoice: The setting 'EDI Stop Workflow Forward If EDI Plugin Encounters Processing Errors' will be respected when uploading a file to SPS Commerce fails. (Extended Module: SalesPad EDI)
FIXED: Sales Document EDI 855 - Order Acknowledgement: The setting 'EDI Stop Workflow Forward If EDI Plugin Encounters Processing Errors' will be respected when uploading a file to SPS Commerce fails. (Extended Module: SalesPad EDI)
FIXED: Sales Document EDI 856 - Advanced Ship Notice: The setting 'EDI Stop Workflow Forward If EDI Plugin Encounters Processing Errors' will be respected when uploading a file to SPS Commerce fails. (Extended Module: SalesPad EDI)
FIXED: Sales Document EDI 870 - Order Status Report: The setting 'EDI Stop Workflow Forward If EDI Plugin Encounters Processing Errors' will be respected when uploading a file to SPS Commerce fails. (Extended Module: SalesPad EDI)
FIXED: EDI Plugins: If uploading a file to SPS Commerce fails, the resulting sales document or purchase order audit will state that there was an error instead of claiming that the file was sent successfully. (Extended Module: SalesPad EDI)
FIXED: Application: Various code improvements around SQL commands and SQL connections that may not have been disposed in a timely fashion.



Version 5.2.23 

Release Date 03/18/22

ADDED: In-Transit Transfer Entry: Added plugins to get rates and create shipments through Pacejet. (Extended Module: Pacejet)
ADDED: In-Transit Transfer Entry: Added a Pacejet Shipment tab. (Extended Module: Pacejet)
ADDED: Automation Agent: Pacejet Platform: Added components to update shipments on in-transit transfers. (Extended Module: Pacejet)
ADDED: In-Transit Transfer Entry: Added a Packages tab. This is purely informational and has no effect on processing the in-transit transfer.
ADDED: Security: Dispatch Driver Board: Add Appointments to Routes - If set to 'True', appointments created on the Driver Board will be added to a route matching the appointment's date and driver.  Defaults to 'True'. (Extended Module: Dispatch)
ADDED: Security: Dispatch Vehicle Board: Add Appointments to Routes - If set to 'True', appointments created on the Vehicle Board will be added to a route matching the appointment's date and vehicle.  Defaults to 'True'. (Extended Module: Dispatch)
ADDED: Setting: Calendar Route Name Expression: When generating a new route from adding an appointment to a calendar, this expression is used to create the name for the new route.  Defaults to an expression which matches how the Schedule Driver and Schedule Vehicle sales document plugins set route names in previous versions. (Extended Module: Dispatch)

UPDATED: Sales Document Workflow Setup: Workflow Rule Setup - Adds a checked list editor to the Evaluate When field so that queues can be selected in addition to being manually entered.
UPDATED: Sales Document Workflow Setup: Workflow Rule Setup - Adds validation on OK to ensure that workflow rules have a value for the Evaluate When in Queue field and that all conditions for the rule have a selected Condition ID.
UPDATED: Smart Printing: The 'Allow Background Smart Printing' setting is now ignored when SalesPad is running as a service. This includes Automation Agent, Remote Library, and EDI services.
UPDATED: Application: On most read only grids, you can press Ctrl + CR to copy the data from the entire row.  Ctrl + C will copy individual cells for single rows selected.  If multiple rows are selected then Ctrl + C will copy all the selected rows data.
UPDATED: Sales Documents: Split Sales Document: When splitting a sales document by warehouse, shipping method, drop ship, shipping address, or a custom field, canceled line items will respect that split criteria instead of staying on the first sales document.
UPDATED: Sales Documents: Split Sales Document: When splitting by Backorder Quantities, if a sales document is fully backordered and also has canceled quantities, the sales document will not split.
UPDATED: Sales Documents: Split Sales Document: Qty Canceled is now a column in the Split Line Items grid.  It is hidden by default.
UPDATED: Sales Monitor: The procedure and UI have been updated to include Key2Act fields if the SalesPad Key2Act extended module is installed. (Extended Module: Key2Act)
FIXED: Sales Document Workflow Setup: Workflow Rule Setup - Changing the Condition ID will now immediately update the Description and Sample Parameters without needing to click off the field.
FIXED: Sales Document Workflow Setup: Workflow Rule Setup - Changing the Condition ID will now update the Parameters field to be blank if the condition does not use parameters.
FIXED: Sales Document Workflow Setup: Workflow Rule Setup - When the selected Condition ID does not have parameters, the Parameters field will now be read-only.
FIXED: Sales Document Workflow Setup: Workflow Rule Setup - The Sample Parameters field will no longer allow cursor entry despite being read-only.
FIXED: Dispatch Calendars: If an appointment is configured to use recurrence, each occurrence of the appointment is now saved.  Note that the range of recurrence cannot be set to "No end date" because the occurrences are saved as individual appointments.  (Extended Module: Dispatch)
FIXED: Dispatch Calendars: When trying to add an appointment which doesn't have a resource (driver or vehicle) selected, an error message will appear explaining that a resource must be selected.  (Extended Module: Dispatch)
FIXED: Sales Documents: Split Sales Document: Partially canceled line items will not duplicate across multiple sales documents when splitting a sales document into 3 or more sales documents.
FIXED: Sales Documents: Transfer to Invoice: When transferring a partially canceled line item, the line item on the invoice will have 0 Qty Canceled since its canceled quantity is still on the original order.
FIXED: Resources: When the 'Save Resources as GP Attachments' setting is enabled, emailing SalesPad resources will not double the file extension.
FIXED: Sales Document EDI Order Acknowledgement: Font color will now be black if the background color of a cell is turned to yellow. (Extended Module: SalesPad EDI)
FIXED: Sales Document EDI Order Acknowledgement: Data Cross Reference UofM conversions are now being used when calculated whether or not the Quantity has changed since import. (Extended Module: SalesPad EDI)
FIXED: EDI 855 - Order Acknowledgement: UofMs will no longer be marked as changed if they were converted by a data cross reference. (Extended Module: SalesPad EDI)
FIXED: EDI 855 - Order Acknowledgement: After using this plugin, some fields on the sales document header were no longer editable. This has been fixed: (Extended Module: SalesPad EDI)
FIXED: EDI 940 - Warehouse Shipping Order: After using this plugin, some fields on the sales document header were no longer editable. This has been fixed: (Extended Module: SalesPad EDI)
FIXED: EDI 855 - Order Acknowledgement: Setting the radio button to Reject and then back to Accept will now clear all line's override status.




Version 5.2.22

Release Date 3/4/22

ADDED: Setting: PayLink: PayLink Order Credit Card Payment Type - The payment type to use for PayLink credit card payments for sales document orders.  Defaults to 'Credit Card Payment'.

UPDATED: Inventory Manager Integration: Settings and messages now refer to DataCollection as Inventory Manager.

UPDATED: Automation Agent: The Transfer To Invoice job will now retry documents that run into deadlocks using the corresponding retry setting.

UPDATED: Automation Agent: The Transfer To Invoice job will now respect the Milliseconds To Wait setting between transferring documents.

UPDATED: Automation Agent: Some unhandled exceptions will now include the stack trace to help track down the errors.

UPDATED: Sales Monitor: The procedure and UI have been updated to include Key2Act fields if the SalesPad Key2Act extended module is installed. (Extended Module: Key2Act)

UPDATED: EDI 855 - Order Acknowledgement Plugin: Updated Override Status dropdown to include Code Description for visibility along with Code.

FIXED: Automation Agent Action Center: The Other Details link will now properly open the details. (Introduced: 5.2.14)

FIXED: Sales Line Mass Update: The Customer search field will no longer bypass the batch restrictions.

FIXED: Sales Line Mass Update: The Doc Date will no longer be editable in the grid.

FIXED: Emailing functionality in SalesPad no longer throws errors upon emails configured to send reports as HTML.

FIXED: Setting: EConnect XML Output Path: Saving sales documents will now output the EConnect XML even if the XML is blank, has malformed tags, or missing elements.  These XML errors when writing the file were preventing the intended sales document save from processing correctly.

FIXED: Application: Updated various sql objects with missing NOLOCK hints to help resolve potential deadlock issues: sppPoCommitments_Disconnect, sppPOCommitments_Reconnect, sppRemoveExcessLineFulfillments, sppUpdateSopToPop, spvPricingTrace, and sppAvataxPostSave (Logic rewrite).

FIXED: Application: Un-tabbing a form that has a read only rich text UDF will no longer error out in a "Error creating window handle" error.

FIXED: Sales Document EDI Order Acknowledgement: Font color will now be black if the background color of a cell is turned to yellow. (Extended Module: SalesPad EDI)

FIXED: Sales Document EDI Order Acknowledgement: Data Cross Reference UofM conversions are now being used when calculated whether or not the Quantity has changed since import. (Extended Module: SalesPad EDI)

Version 5.2.21

Release Date 2/18/22

BREAKING CHANGE: Automation Agent: Customer Quick Report Email: Settings: Email Template - Replaced 'Email Subject Line' and 'Email Body Template File' settings with the new 'Email Template' setting that allows users to specify the email template that will be used for email subject and body. (Extended Module: Automation Agent)

ADDED: Security Setting: Pacejet Process Shipment: Milliseconds To Wait Before Reloading Shipment - After creating a shipment in Pacejet, this plugin tries to reload the shipment from Pacejet to confirm that Pacejet added the shipment to its Shipping Workbench. Reloading the shipment too soon after creating it does not work because Pacejet requires some time to process the new shipment. This plugin handles failed reloads by retrying in 1 second. This setting specifies an amount of milliseconds to wait before the first reload attempt. Defaults to 400 milliseconds. (Extended Module: Pacejet)

ADDED: Automation Agent: AR Statement platform is now licensed under the SUB Automation Agent Core license.

ADDED: Sales Fulfillment: Added 'Qty in selling uofm' checkbox that allows users to display fulfillment quantity in base or selling unit of measure.

ADDED: Sales Fulfillment: Added missing layout to the plugin.

ADDED: Automation Agent: Customer Quick Report Email: If the printed report name and ID are set in the Quick Report Editor, quick reports will be emailed as printed reports instead of Excel spreadsheets. (Extended Module: Automation Agent)

ADDED: Automation Agent: Customer Quick Report Email: Settings: Email Field - Customer address email field that contains the email address to which the email will be sent. (Default: Email) (Extended Module: Automation Agent)

ADDED: Automation Agent: Customer Quick Report Email: Settings: Email CC Field - Customer address email field that contains the email address to which the carbon copy (CC) email will be sent. (Extended Module: Automation Agent)

ADDED: Automation Agent: Customer Quick Report Email: Settings: Email BCC Field - Customer address email field that contains the email address to which the blind carbon copy (BCC) email will be sent. (Extended Module: Automation Agent)

ADDED: Automation Agent: Customer Quick Report Email: Settings: Contact Matching - Specifies the customer address matching logic to be used when the automation runs. (Extended Module: Automation Agent)

ADDED: Item Quick Report: Security - AutoRun - When disabled, the quick report will no longer auto run.  It will require a manual refresh. (Default: true)

ADDED: Customer Note: Security - Can Edit Comment 1/Comment 2 - When disabled the  user will no longer be able to edit the Comment 1 or Comment 2 fields.  (Default: true)

UPDATED: Automation Agent: Reverted Automation Agent subscription licensing changes. (Extended Module: AutomationAgent) (Introduced: 5.2.17)

UPDATED: Automation Agent: Customer Quick Report Email: Settings: Contact Email Address Type - Updated the setting category to 'Filters'. (Extended Module: Automation Agent)

UPDATED: Subscription Licensing: Separated EDI subscription license into EDI Essentials and EDI Professional.

UPDATED: Subscription Licensing: The following plugins are now licensed under the EDI Essentials license: 810 Invoice, 850 Purchase Order, 855 Purchase Order Acknowledgment, 856 Ship Notice/Manifest, Data Cross Reference, and Business Object Mapping. The trading partner count is limited to 10 trading partners.

UPDATED: Subscription Licensing: The following plugins are now licensed under the EDI Professional license: 846 Inventory Inquiry/Advice, 940 Warehouse Shipping Order, 945 Warehouse Shipping Advice, and Consolidated Shipments. The trading partner count is unlimited.

UPDATED: Customer Note: The note field and the comment fields will allow text copying when the fields are read only.

UPDATED: Blocked Items Report: The form is now themed properly.

UPDATED: Matrix Class Maintenance:  The form is now themed properly.

UPDATED: Barcode Maintenance: The form is now themed properly.

UPDATED: License Plate Maintenance: The form is now themed properly.

UPDATED: Item Inventory: The hyperlinks have a more consistent blue theme.

UPDATED: Item Sales Options: The form is now themed properly.

UPDATED: Warehouse Maintenance: The form is now themed properly.

UPDATED: Warehouse In-Transit Transfers: The form is now themed properly.

UPDATED: Warehouse Inventory: The form is now themed properly.

FIXED: Print Form: Clicking the Send To Resources will now properly send the report to resources.

FIXED: Pacejet Process Shipment: "Failed to create shipment" errors will not appear when Pacejet automatically adds non-error messages to a shipment on creation. (Introduced: 5.2.9) (Extended Module: Pacejet)

FIXED: Automation Agent: Pacejet: Setting: Use Strong Transaction Matching: If this setting is set to 'False', shipments will not fail to import with the error "Failed to find sales document linked to Pacejet shipment". If a shipment legitimately cannot be matched to a sales document, the error "Failed to load sales document" will be used instead. (Extended Module: Pacejet Automation Agent)

FIXED: In-Transit Transfer Entry: Existing fulfillment will now get removed when the item number on the in-transit transfer line is updated.

FIXED: Splitting: Sales line item resources which have "Transfers" checked will copy to the split sales documents.

FIXED: Sales Documents: Line Items: Resources: Resources will successfully load for sales documents which have a period in their sales document number.

FIXED: Subscription Licensing: The Sales Document Payments screen is now part of the Customer and Order Management Essentials package.

FIXED: Sales Document Line Items: The Show Insert After button, from the Insert button right-click menu, will now properly make the Insert After button visible.  (Introduced: 5.1.4)

FIXED: Sales Document Line Items: Inactive salesperson is now displayed on the sales line grid correctly.

FIXED: Sales Fulfillment: The 'Show all lines' checkbox is now displayed correctly and is not partially hidden by the grid.

FIXED: Spell Checker: Grid fields will now respect the Setting - Ignore Upper Case Words. (Introduced: 5.2.17)

FIXED: Spell Checker: Grid fields will now properly show spell checking underline when leaving and re-entering the field. (Introduced: 5.2.17)

FIXED: Inventory Lookup: The Item Quick Report will no longer run when the form loads, instead it will run when the tab is selected.

FIXED:  Customer Note: Notes can no longer be added when the customer is marked as read only.


Version 5.2.20

Release Date 2/4/22

ADDED: EDI Data Cross Reference: Added export related columns to the Items tab to control how inventory is reported on the EDI 846. (Extended Module: SalesPadEDI)

ADDED: EDI Data Cross Reference: Added the “Item Export Fields” tab that allows customization of the Excel file generated during the EDI 846 process. (Extended Module: SalesPadEDI)

ADDED: EDI Scheduler: The EDI 846 can now be configured to send automatically. (Extended Module: SalesPadEDI)

ADDED: EDI Business Object Mapping: Added a new column that controls the filename of the outputted file. (Extended Module: SalesPadEDI)

ADDED: Setting: Scheduled EDI 846 Spreadsheet Save Extension: When set, a spreadsheet with the inventory data and with the specified file extension will also be saved when a scheduled 846 is sent. (Extended Module: SalesPadEDI)

ADDED: EDI Data Cross Reference: For the Items tab, added a right-click menu to copy values from the selected row to other items on the same trading partner, or to the same item on other trading partners. (Extended Module: SalesPadEDI)

ADDED: Credit Card Device: PayFabric PAX A60 and A80 devices have been added to the list of supported devices.

ADDED: Magento Integration: Inventory Level Export. Export quantities from one or more GP warehouses, as they map to Magento sources.

ADDED: Manufacturing: MO Report and MO Detail Report can now be printed from the workflow. (Extended Module: Manufacturing)

ADDED: Tip of the Day: A new form that opens when first opening SalesPad. It will contain a new tip each time a user logs into SalesPad. If the user wants access to the screen after they've closed it, it can be accessed from the Help menu. Users can choose to no longer see the tip screen when SalesPad is opened by deselecting a checkbox on the form.

ADDED: Settings: Expand and Collapse Category buttons.

ADDED: Automation Agent Settings: Expand and Collapse Category buttons.

REMOVED: Magento Integration: Setting: Inventory Level Filter (Replaced with new Inventory Level Export component)

REMOVED: Magento Integration: Setting: Inventory Level Mapping (Replaced with new Inventory Level Export component)

UPDATED: Cash Receipts:  The Amount to Apply column is no longer limited to 9,999.

UPDATED: Subscription Licensing: Assembly Report, Assembly Resources, BOM Resources, and Sales Document Assemblies are now part of the Customer and Order Management Enterprise package.

FIXED: Sales Document Workflow Setup: Workflow Rule Setup - Changing a workflow rule condition and immediately clicking OK will now retain changes.

Version 5.2.19

Release Date 1/21/22

BREAKING CHANGE: Shopify Order Export / Magento Order Export: Magento and Shopify Order Imports now create a link in a SQL table to tie the line to the imported GP Sales Line. This link is referenced when exporting the matching fulfillment quantity during the Order Export. Previously the Order Export would lookup the Item Master using the Setting: Item Master Matching.

ADDED: Magento Order Export: Setting: Sales Line Matching: Define the mappings for matching a Sales Line to a Magento Line. This can be used to match a Sales Line from the Magento Line, before the default link matching is considered.

ADDED: Shopify Order Export: Setting: Sales Line Matching: Define the mappings for matching a Sales Line to a Shopify Line. This can be used to match a Sales Line from the Shopify Line, before the default link matching is considered.

ADDED: Quick Reports: Columns: Summary Type of "Custom" now includes a "DistinctCount" option which displays a summary value of the number of distinct values in the column.

ADDED: EDI 855 Order Acknowledgement: The plugin now supports sending the IP (Accept - Price Changed) and IQ (Accept - Quantity Changed) item status codes. (Extended Module: SalesPadEDI)

ADDED: EDI 855 Order Acknowledgement: The plugin now allows item status codes to be overwritten. (Extended Module: SalesPadEDI)

ADDED: EDI Cross Reference: The '855 Status Codes' column has been added to restrict which item status codes can be sent per trading partner. (Extended Module: SalesPadEDI)

UPDATED: Import Manager: Removed erroneous business objects from the import manager table dropdown list.

UPDATED: Sales Batch Processing:  There is now a busy message while the search is being performed.

UPDATED: EDI 855 Order Acknowledgement: The plugin now shows what item status code the system calculated for each line item. (Extended Module: SalesPadEDI)
UPDATED: In-Transit Transfer Links: Deleting linked lines, or sales documents with linked lines, will now remove the In-Transit Transfer Links from the linking table.
UPDATED: In-Transit Transfer Links: Sales lines split onto separate documents will now have their links updated to the new document numbers.
UPDATED: In-Transit Transfer Links: Splitting a sales line into multiple lines will now preserve and update the In-Transit Transfer Links. If a resulting split line has a linked quantity of 0, it will be deleted accordingly.
FIXED: Sales Document Service Transfers: Break Link will no longer throw a locking error when attempting to break a link to a historical service transfer.

FIXED: Sales Batch Processing: Hitting ENTER multiple times will no longer result in multiple database hits if a query has not finished.

FIXED: Attach PO to Sales Line: There will no longer be a divide by zero error if the purchase line UofM Factor is zero.

FIXED: Attach PO to Sales Line: The Purchase Order Pre Save Script will now fire if the plugins requires a document save.

FIXED: Detach PO Line from Sales Order: The Purchase Order Pre Save Script will now run if the plugin requires a document save.

FIXED: Detach PO Line from Sales Order: There will no longer be a divide by zero error if the purchase line UofM Factor is zero.

FIXED: Purchase Line Distribution Entry: The Purchase Order Pre Save Script will now fire if the plugin requires a document save and properly refresh the screen.

FIXED: Purchase Line Distribution Entry: Resolved a potential, minor memory leak.

FIXED: Purchase Order Shipping Weight: The Purchase Order Pre Save Script will now run if the plugin requires a document save.

FIXED: Sales Line Distribution Entry: If the plugins forces a save and the Sales Document Pre Save script updates fields, the screen will properly refresh to reflect those changes.

FIXED: Blanket Order Release: Will no longer bypass certain save conditions from a normal save.

FIXED: Split Sales Document: Users will not get the 'This Sales Document already exists in history' error when splitting sales documents.

Version 5.2.18

Release Date 1/7/22

BREAKING CHANGE: Import Manager: ItemRestrictionsCustomer import definition now uses IRCustomer as the prefix for its ID field instead of using IRGCustomer as the prefix of its ID field.

BREAKING CHANGE: Import Manager: ItemRestrictionsDetail import definition now uses IRDetail as the prefix for its SQL ID field instead of using IRGDetail as the prefix of its SQL ID field.

BREAKING CHANGE: Import Manager: SalesLineItem import definition now requires SDLINE as a prefix for its import properties.

BREAKING CHANGE: ShipCenter Auto Complete: Created a sales document plugin to automatically finalize a shipment through the ShipCenter service. Using the ShipCenter.dll now requires the ShipCenter service to be version 1.2.0.34 or higher. (Extended Module: ShipCenter)

BREAKING CHANGE: Bin Transfers: There is now security to allow free-typing Bins that defaults to false.  See corresponding release notes for forms/security.

BREAKING CHANGE: Consolidated Shipments: When transferring a sales document that is packed in a consolidated shipment, the packages on the consolidated shipment will no longer attempt to transfer to the new document.

ADDED: Import Manager: Added the ability to import Cross/UpSell definitions. This functionality supports the mapping of definition-level (AltSellDef) fields and line-level (AltSellLine) fields.

ADDED: Import Manager: Security: Pre Import Script - C# Script that executes before the Import Manager records are validated and imported.

ADDED: Import Manager: Security: Pre Load Existing Object Script - C# Script that executes before the import manager determines if an import record already exists in the SalesPad environment.

ADDED: Inventory Bin Transfers: Security - Can Create Bin: When enabled, you can free type a bin name. (Default: False)

ADDED: Item Inventory: Security - Can Create Bin: When enabled, you can free type a bin name when using the right-click bin transfer functionality. (Default: False)

ADDED: Warehouse Inventory: Security - Can Create Bin:, When enabled, you can free type a bin name when using the right-click bin transfer functionality. (Default: False)

REMOVED: Automation Agent: Settings - Run Jobs Concurrently was removed.  This setting would cause problems with jobs overlapping and other bizarre issues.

UPDATED: Setting: Analytics Cloud: Analytics Cloud URL: This setting now defaults to https://ac.cavallo.com/.  (Extended Module: Analytics Cloud)

UPDATED: Setting: Analytics Cloud: User Specific Browser Cache: This setting now defaults to 'True'.  (Extended Module: Analytics Cloud)

UPDATED: Import Manager: Added logic to determine whether an import manager object is lockable and whether a lock can be acquired on the import manager object before attempting an import.

UPDATED: Subscription Licensing: Case Tracker modules are now part of the Returns Tracker package.

UPDATED: Subscription Licensing: RMA modules are now part of the Customer and Order Management Professional package.

UPDATED: Import Manager: Added duplicate values configuration option to the Import Manager.

UPDATED: Import Manager: Added validation prompt to alert users if duplicate records are found in the imported file.

UPDATED: Import Manager: Refactored structure of the Import Manager to improve maintainability and easily support addition of custom import manager items.

UPDATED: Import Manager: Added support for importing Sales Documents through the Import Manager.

UPDATED: Inventory Bin Transfers: The form is now themed properly.

UPDATED: Quick Reports: Updateable Quick Reports will now send NULL to the update procedure instead of 01/01/0001 when a date field is cleared.  This keeps SQL from throwing a SQLDateTime Overflow exception.

FIXED: Sales Line Comment:  The Enter key will no longer close the popup. (Introduced: 5.2.17)

FIXED: Sales Line Excel Import: Updated the Sales Line Excel Import plugin for compatibility with the new Import Manager changes.

FIXED: Purchase Line Excel Import: Updated the Purchase Line Excel Import plugin for compatibility with the new Import Manager changes.

FIXED: Import Manager: Selecting the AutoFilter row no longer throws an exception on the Import Manager configuration screen.

FIXED: Consolidated Shipments Search By Line:  Adding sales line UDFs to the grid will no longer result in a column type mismatch or FormatException errors.  (Introduced: 5.1.5) 

FIXED: Magento/Shopify Integration: Blank queries are no longer running when matching external entities to internal entities.

FIXED: Inventory Bin Transfers:  Right-clicking the search area will no longer allow customizing the layout.

FIXED: Sales Document Shipments: When transferring or splitting a sales document with enough line items that saving will be broken up due to the "Sales Lines Save Grouping" setting, packages on the previous document will no longer have all of its quantities removed.

FIXED: Sales Document Shipments: When splitting a sales document, the packages on that document will now be distributed among the split documents correctly.

FIXED: Sales Document Shipments: When transferring or splitting a sales document containing a kit item, whether the kit itself or its components are packed, the package lines will correctly be copied over to the new document.


Version 5.2.17
Release Date 12/10/21

BREAKING CHANGE: Settings: Address Query Countries To Validate: The NONE value option functionality has changed. (see the corresponding release note for this release)
BREAKING CHANGE: Application: User fields that were set in the Spell Check Fields setting will need setup from the User Field Editor screen.
BREAKING CHANGE: Settings: The Ignore Upper Case Words setting may get reset.

REMOVED: Sales Document Mass Update: The Address and Blind Ship columns are no longer a grid column due to loading optimizations.
REMOVED: Setting: Spell Check Fields.

ADDED: Setting: Enable Spell Checking: When enabled, various fields will now have Spell Checking capabilities. NOTE: User Defined Fields have individual setup. Only enabled for English language.
ADDED: Send Email: The spell checker is now enabled for the email template body and subject.
ADDED: Email Template Editor: The spell checker is now enabled for the email template body and subject.
ADDED: System User Notes: The spell checker is now enabled for the fields.
ADDED: Shopify: Product Export: Support to export to Shopify Product Tags field.
ADDED: Shopify: Order Import: Setting: Financial Status Filter - Specify one or more financial statuses which a Shopify order must have in order to be imported.
ADDED: Opportunity Workflow Monitor: Added opportunity queue funnel chart.
ADDED: Opportunity Workflow Monitor: Added the ability to filter opportunities by different fields, such as sales territory or salesperson.
ADDED: Opportunity Monitor: Added opportunity status funnel chart.
ADDED: Opportunity Monitor: Added sales territory dropdown that allows users to filter opportunities by the sales territory.
ADDED: AvaTax Commit Tax Plugin: Security - Send To Batch On Fail: The batch to send the document to if the AvaTax Commit Tax call results in error messages.
ADDED: Customer Item Number: Short Name and Item Generic Descriptions can be edited now.
ADDED: Email Template Editor: Added Document Loop Start and Document Loop End merge fields for Purchase Order and Sales Document templates. Used for bulk e-mailing only and allows for header level fields for each Purchase Order/Sales Document to display in a block of text.
ADDED: Purchase Order Search: Email button added to allow users to bulk email all selected Purchase Orders.
ADDED: Setting: Release Purchase Order Upon Emailing Vendor: Specify whether or not to set a purchase order's status to Released upon emailing the vendor from the Purchase Order Search screen. (Default: true)

UPDATED: Subscription Licensing: Distribution BOM modules are now part of the Customer and Order Management Enterprise package.
UPDATED: Automation Agent: Subscription license has been changed from Essentials to AutomationAgent Core.
UPDATED: Subscription Licensing: Resources are no longer licensed.
UPDATED: Subscription Licensing: Quick Reports are no longer licensed.
UPDATED: Sales Batch Processing: Loading time has been improved by implementing Load Columns.
UPDATED: Sales Document Mass Update: Loading time has been improved by implementing Load Columns.
UPDATED: Spell Checker: The spell checker is no longer field specific (except user fields). NOTE: Only certain fields are setup to spell check.
UPDATED: Spell Checker: Disabled the extra prompt when a spell check has completed. (Introduced: 5.2.9)
UPDATED: Spell Checker: Disabled the extra prompt "Do you want to check the rest of the Item?". (Introduced: 5.2.9)
UPDATED: Line Comment: The line comment popup was redesigned.
UPDATED: Line User Fields: The popup for Rich Text Memo user fields will not display the field name or the corresponding screen label.
UPDATED: Purchase Order Search: Purchase Order Search grid is now capable of selecting multiple Purchase Orders.

FIXED: Bulk Emailing: Manually changing the email subject will now properly send the new changes and not default back to the settings or template only. (Introduced: 4.6.4.8)
FIXED: Sales Line Cross/UpSell: Sales line quantity and unit of measure will now get updated correctly when adding upsell items.
FIXED: User Fields: When using the Is Multi Select for an Item Option UDF, the Read-only aspect of the UDF will now disable the X button accordingly.
FIXED: Automation Agent: Fixed an issue where subsequent lookups within Automation Agent tiered editors would not return search results from the database.
FIXED: Sales Line Availability Plugin: Having a data filter script that filters out inactive warehouses will no longer cause the 'Column does not belong to table' error when the plugin is opened.
FIXED: Purchase Order Receipts: The receipts tab will no longer load all receipts that are not linked to a PO when first creating a Purchase Order.
FIXED: National Item Substitutions Maintenance: The Item and Sub Item fields will no longer truncate the field to 25 characters. (This can be fixed in SQL by updating the table and the stored procedure accordingly to 31 characters).
FIXED: Kit Component: When importing the Item Number and Kit Number will now respect the 31 character length for Item Numbers. (This is a SQL stored procedure change only).
FIXED: Purchase Receipt Distributions: Distributions may not have matched correctly when the item character length was greater than 25 characters. (This can be fixed in SQL by updating the table and the stored procedure accordingly to 31 characters).
FIXED: Note Shortcut Maintenance: The Note Text will no longer have newline characters removed when saving.
FIXED: Business Object Workflow Emailing: Images in email templates will now send properly. This includes the System User Avatar also.
FIXED: Consolidated Shipments: Clicking a Sales Doc Number in the Search By Line grid will not give a "Column 'Source' does not belong to table" error. (Introduced: 5.1.5)
FIXED: Consolidated Shipments: Adding a column to the Search By Line grid will not result in the new column temporarily not displaying any data.
FIXED: Sales Documents: When saving a new sales document, having a spv3SalesLineItem view which was not updated after creating, enabling, or disabling a Sales Line Item user field will not cause an "Input array is longer than the number of columns in this table" error. (Introduced: 5.1.4)
FIXED: Payment Plugin (Payfabric): Speed improvements while having the Security - 'Enable Manual Card Selection' enabled. (Introduced: 4.6.4.20)
FIXED: User Field Editor: Adding a new UDF for the first selected business object will now properly show the udf without the need to switch between business objects. (Introduced: 5.1.5)
FIXED: KwikTag: KwikTag resources which have CData tagged fields will not fail to load. (Extended Module: KwikTag)
FIXED: Avalara Address/Smarty Streets Validation: The Address Query Countries To Validate setting will now properly ignore countries not defined in the setting. The NONE option will now properly validate blank country/country codes. NOTE: This setting relies on the Address Validation Use Country Code when checking for Country Code versus Country.
FIXED: Application: Various bugs and inconsistencies around spell checking fields in grids and user field forms. Including Rich Text Memo UDFs that would cause the application to lock up.
FIXED: Sales Document Line Items: The comment field popup will no longer be editable on read-only documents. This resolved an issue where editing the sales line comment then printing would show the new comment, but not actually save the new comment.
FIXED: Emailing: When emailing a historical document and multiple reports there will no longer be an "Document does not exist" error. The times printed will be properly updated.

Version 5.2.16
Release Date 11/12/21

ADDED: Automation Agent: Magento2: Added the 'Inventory Image Export' component to the Magento2 platform which allows exporting item images separately from the rest of the inventory. (Extended Module: Integration.Magento2)
ADDED: Automation Agent: Magento2: Settings: Export Images During Inventory Export - Disable this setting to prevent exporting images during inventory export. This will speed up inventory export considerably. NOTE: This setting only applies to the Inventory Export component. (Default: True) (Extended Module: Integration.Magento2)
ADDED: Automation Agent: Magento2: Settings: Product Image Pre Export Script - A C# script that runs before a product image is exported. NOTE: This setting only applies to the Inventory Image Export component. (Extended Module: Integration.Magento2)
ADDED: Automation Agent: Magento2: Settings: Product Image Post Export Script - A C# script that runs after a product image is successfully exported. NOTE: This setting only applies to the Inventory Image Export component. (Extended Module: Integration.Magento2)

UPDATED: Remote Library: Added a method to the remote library service that will allow In-Transit Transfers to be forwarded in workflow.
UPDATED: Remote Library: Added logic to populate Address UDFs for ShipCenter Shipping Source.
UPDATED: Remote Library: Added support to update a sales document shipping method via a Remote Library call.
UPDATED: Remote Library: Added support to update an In-Transit Transfer shipping method via a Remote Library call.
UPDATED: Remote Library: Added support to update the shipment header shipping method via a Remote Library call.
UPDATED: Application: Changed the application name throughout the application from 'SalesPad Desktop' to just 'SalesPad'.
UPDATED: Application: Changed the company name in the About window to Cavallo Solutions.
UPDATED: Installer: Removed the 'Desktop' suffix from the application name. Updated the end-user license agreement (EULA).
UPDATED: Application: GP version was added for the October 2021 (18.4) release.
UPDATED: Application: The base URL for documentation links has been updated to www.cavallo.com.
UPDATED: Purchase Order Generation: When the primary vendor has multiple emails separated by a semicolon, emails will be sent to each valid email address.
UPDATED: Purchase Order Generation: Some audits will now have "PO Generation" source added to the audit.
UPDATED: Purchase Order Generations: Certain errors will now use a Log Messenger opposed to the normal Messenger. This will help prevent multiple clickable messages when bulk forwarding documents that hit the plugin.

FIXED: Remote Library: Finalizing an In-Transit Transfer shipment via the Remote Library service will now appropriately lock and unlock the In-Transit Transfer.
FIXED: Customer A/R: Scheduled payments are now excluded from customer aging amounts and customer balance.
FIXED: Licensing: The "Workflow and Profit Engine Professional" license now grants access to modules which require the "Workflow and Profit Engine Essential" license.
FIXED: Purchase Order Generation: Some minor tweaks that fix potential memory leak issues.
FIXED: Purchase Order Generation: The Email Attachments security will now properly work for multiple reports if the names are separated by a semi-colon or a comma. (Work around is to manually change the semicolon to a comma).
FIXED: EDI 855 Outbound: When a LineItemAcknowledgement is sent, business object and unit of measure cross-reference mappings are now respected for the ItemScheduleQty field instead of always defaulting to the sales line quantity or quantity backordered. (Extended Module: SalesPadEDI) (Introduced: 4.6.4.20)

Version 5.2.15
Release Date 10/29/21

ADDED: Magento Integration: Added integration to Magento. (Extended Module: Magento2)
ADDED: Security: Pacejet Process Shipment: Failed Reload Queue - The queue that sales documents whose shipments could not be reloaded from Pacejet after exporting to Pacejet will be moved to when running this plugin via workflow. Defaults to nothing. (Extended Module: Pacejet)
ADDED: Automation Agent Setting: Pacejet: Use Strong Transaction Matching - If set to 'True', the shipment confirms sync will only write shipment details back to SalesPad if a sales document matches the shipment's Transaction Id and External Transaction Id. If set to 'False', the shipment confirms sync will also try to match Pacejet shipments to sales documents by extracting a sales doc number and sales doc type from the shipment's External Transaction Id, which could result in writing to the wrong sales document if the Pacejet location has multiple ERP integrations. Defaults to 'True'. (Extended Module: Pacejet Automation Agent)
ADDED: Security: Sales Batch Processing: Enable Historical Mode - When enabled only historical documents will be loaded. This can be used to process documents that have already been posted. NOTE: Pushing these documents through workflow will not actually change the batch, but will still run the plugin used. Not all plugins or functions will work properly.
ADDED: Security: Security Editor: Enable Reload Security And Scripts Button - When enabled, a Reload Security Button will be available in the Security Editor's toolbar. When pressed, all securities will be reloaded and all scripts will be recompiled. NOTE: This reload ONLY affects the current user. (Default: False)
ADDED: Security: Security Script Manager: Enable Recompile Scripts Button - When enabled, a Recompile Scripts button will be available in the Security Script Manager's tool bar. NOTE: This recompile ONLY affects the current user. (Default: False)

REMOVED: Security Script Manager: The Generate List button is no longer visible. (Introduced: 5.1.3)

UPDATED: Application: The desktop icon has now been updated.
UPDATED: Application: The splash screen has now been updated.
UPDATED: Login: The SalesPad logo on the login screen has now been updated.
UPDATED: Setting: Inventory Adjustments: Set New Batch To Post To Ledger Flag - Default value changed from false to true. (Introduced: 4.4.1.14)
UPDATED: Settings: Inventory Transfer: Inventory Transfer Batch Posts To GL - Default value changed from false to true. (Introduced: 4.6.1.11)
UPDATED: Remote Library: Added additional methods to perform various actions while taking a new username for the intent of identifying which user in which application performed actions via the remote library.
UPDATED: Remote Library Shipping Source: Added support to acquire locks for In Transit Transfers.
UPDATED: Remote Library Shipping Source: Added support to unlock In Transit Transfers.
UPDATED: Remote Library Shipping Source: Added support to retrieve a document count for In Transit Transfers.
UPDATED: Remote Library Shipping Source: Added support to retrieve documents for In Transit Transfers.
UPDATED: Remote Library Shipping Source: Added support to update an In Transit Transfer with data from a ShipCenter shipment.
UPDATED: Remote Library Shipping Source: Added support to update an In Transit Transfer when a ShipCenter shipment has been voided.
UPDATED: Remote Library Shipping Source: Added support to write an audit to an In Transit Transfer.
UPDATED: Remote Library Shipping Source: Added support to write an audit to a Sales Document.
UPDATED: Remote Library Shipping Source: Added support to retrieve all unfulfilled lines of an In Transit Transfer.
UPDATED: Remote Library Shipping Source: Added support to retrieve all unfulfilled lines of a Sales Document.
UPDATED: Pacejet: Automation Agent: Automation Agent will not load shipments, quotes, and void confirms which have unresolved errors in the Action Center. (Extended Module: Pacejet Automation Agent)
UPDATED: Quick Reports: Quick Report Description is now displayed in a banner at the top of the Quick Report. This can be used for instructions or information about the Quick Report. The banner is collapsible and will recall it's last position across sessions (per user).

FIXED: Sales Documents: When splitting or partially invoicing a sales document, a package will only copy to a new sales document if the package has any items which are on the new sales document.
FIXED: Sales Documents: When splitting or partially invoicing a sales document, if the source sales document stays open, its Shipment tab information will be updated to remove packages and items which were moved to other sales documents.
FIXED: EDI 945 Inbound: After processing a 945 document, the sales document is now reloaded to get the latest changes, if any, from the 945 script. (Extended Module: SalesPadEDI)
FIXED: Remote Library: When processing a ShipCenter shipment finalization, Sales Line UDF changes are now written back to the sales document line items or in-transit transfer lines.
FIXED: Counter Sales: Square transactions will refresh when changing sales documents.
FIXED: Setting: Enable Cash And Check Payments On Orders - Payment entry now consistently respects this setting.
FIXED: Setting: Enable Cash And Check Payments On Orders - Cash and check payments can be deleted from orders when this setting is set to 'False'.
FIXED: Remote Library Shipping Source: Fixed bug that would cause Sales Documents with kit component line items to crash loading of the Sales Document.
FIXED: Quick Reports: 'CommandText property has not been initialized' error will not occur anymore when running a quick report with a blank query.
FIXED: Pacejet Process Shipment: This plugin will not give "Failed to reload shipment" errors unless reloading the shipment fails multiple times, and if all of the attempts fail the plugin will still write shipment transaction Ids back to SalesPad. (Introduced: 5.2.9) (Extended Module: Pacejet)

Version 5.2.14
Release Date 10/01/21

ADDED: Automation Agent: Added new AR Statement platform for emailing customers and adding to resources.
ADDED: Pricing Trace: Added the Price Sheet ID and Promo Sheet ID columns to the Pricing Trace Details grid. These fields will only be populated if Extended Pricing is enabled.
ADDED: Security: Quick Reports: Can Export - When enabled, users can export database quick reports as *.sprept files. Defaults to false.
ADDED: Security: Quick Reports: Can Import - When enabled, users can import *.sprept files into the database as quick reports. Defaults to false.
ADDED: Quick Reports: When creating a new quick report, selecting a template is now optional. If a template is not selected, SalesPad will create a blank report.

REMOVED: Settings: Show Status Bar: This setting has been removed.

UPDATED: Setting: Pacejet: Prevent Deleting Shipped Sales Documents: Now allow deleting returns that share a master number with a document that has a Pacejet shipment.
UPDATED: Pacejet: Returns can no longer be sent to Pacejet. This functionality did not work previously; trying to create a shipment for a return with line items would give a "Cannot ship sales document because it is not fully fulfilled" error. (Extended Module: Pacejet)
UPDATED: Automation Agent: Script: The script within this platform will now have the ScriptComponent parameter added, exposing properties and functionality of the component being ran. In particular, this allows for developers to write better error handling into the Action Center within the script.
UPDATED: Automation Agent: All toolstrips on all forms and formlets in this module will now be themed properly. (Extended Module: Automation Agent)
UPDATED: Item Maintenance: Item Maintenance and all tabs within have been updated with new visual UI elements. This screen will now look much better in most themes.
UPDATED: Application: Status bar message updates will now appear much smoother and will work properly with any theme.
UPDATED: Case Tracker Entry: Comments will be updated in the comments control as you type in the Comment grid field.
UPDATED: Sales Document Service Transfers: Open and historical sales documents will now display any linked service transfers, open or historical.
UPDATED: In-Transit Transfer Links: Open or historical service transfers will now display any linked sales documents, open or historical.

FIXED: Configurator: Manual Price will now allow values greater than 9999. (Extended Module: Configurator)
FIXED: Configurator: Users can now enter a manual price without needing to add a note as well. (Extended Module: Configurator)
FIXED: Automation Agent: Prevent null reference exception if a build of SalesPad adds any automation agent job components that are not available for use in any other build of SalesPad.
FIXED: Receiving: Blanking out the Qty To Receive will now properly flag that row to not be received. The work around is to use 0 instead of blanking the value. (Introduced: 5.2.8)
FIXED: Sales Document Plugin: Attach Sales Line To PO: Plugin will no longer stop documents from progressing when used in the workflow.
FIXED: Sales Document Plugin: Attach Sales Line To MO: Plugin will no longer stop documents from progressing when used in the workflow.
FIXED: Print Document: Clicking the 'Print To...' button will not cause a 'The given path's format is not supported' error when the printer name has invalid file name characters, such as the colon. In addition, the correct printer will now be selected on the following Windows Print dialog.
FIXED: Customer Special Pricing: Alternating rows in each grid will now look correct when using any theme.
FIXED: Case Tracker Entry: Comments will no longer lose new lines after closing/opening the screen.
FIXED: Case Tracker Entry: Comments will no longer not save when editing different lines and closing/opening the screen.
FIXED: Sales Document Entry: Sales document total will now get recalculated after freight, misc. charges, discount, or discount percent value is changed and ENTER key is pressed. (Introduced: 5.1.4)

Version 5.2.13
Release Date 9/17/21

UPDATED: Email Templates: When an email template has an error it will now use the Log Messenger and also write to the System Log table if the Enable System Logging setting is enabled. This also prevents multiple prompts in the event of multiple errors.

FIXED: Sales Document Holds: The grid will now save the layout and also the orange triangle options are available.
FIXED: Sales Line Items: The focused line viewer (inventory information) will now properly save the grid layout for Unit Cost and Standard Cost. The Show Cost sub-security must be enabled for these columns to be available.
FIXED: Application: The @Dimension_Units parameter in the sppUpdateItemMaster stored procedure now defaults to 0 instead of NULL to prevent the 'Cannot insert the value NULL into column Dimension_Units, table dbo.spItemMaster; column does not allow nulls' error.

Version 5.2.12
Release Date 9/8/21

ADDED: User Fields: UserFieldAudit table created to track UDF changes.
ADDED: User Field Editor: Added 'View Audit' link to view UserFieldAudits.
ADDED: User Field Editor: Added Description field to UDFs for internal notes about UDF.
ADDED: User Field Editor: Added ToolTip field to UDF to display hint to user.
ADDED: User Field Editor: Added Created/Updated On/By fields.
ADDED: User Field Editor: Added Label, Description, and ToolTip columns to UserFields grid (not visible by default) to allow for filtering the list.
ADDED: Import Manager: Import definitions and their field mappings can now be imported and exported.

REMOVED: User Fields: SystemLog entry is no longer created during new UDF creation, in favor of the new UserFieldAudits.

UPDATED: Database Update: The sppRefreshviews stored procedure will now show the "dbo" schema to help distinguish between "gpweb" views in the event that a view errors out.
UPDATED: In-Transit Transfer Entry: The sppUpdateServiceTransfer and sppUpdateServiceTransferLine stored procedures now have a check to prevent saving in-transit transfers if the order document ID is null or empty.
UPDATED: Import Manager: Service Transfer: Running a Service Transfer import will now prompt for whether or not over allocations are allowed for the entire import file. The prompt will only display if the In-Transit Transfer Entry's Prompt For Over Allocation sub-security is set to true. When false, there will not be a confirmation prompt and over allocations will not be allowed by the import.
UPDATED: Import Manager: Service Transfer Line: Running a Service Transfer Line import will now prompt for whether or not over allocations are allowed for the entire import file. The prompt will only display if the In-Transit Transfer Entry's Prompt For Over Allocation sub-security is set to true. When false, there will not be a confirmation prompt and over allocations will not be allowed by the import.
UPDATED: Assign Equipment To Customer: When equipment is assigned but security does not allow for re-assignment the message will no longer say "Equipment is inactive and cannot be assigned" and will now say "The equipment is already assigned and security does not allow re-assigning.".

FIXED: Receiving Serial Entry: When entering serial numbers we will now only check for un-posted serials during validation.
FIXED: Receiving Serial Entry: The serial number entered is now properly trimmed of whitespace, this was only a visual problem in the event of a message box.
FIXED: Application: When upgrading SQL there will no longer be an error "Cannot find either column "dbo" or the user-defined function or aggregate" in various areas. This can be fixed by updating the corresponding SQL functions (spf), typically "spfInventoryAvail".
FIXED: Database Update: The sppRefreshviews stored procedure will no longer result in a "The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION." error when a view errors out.
FIXED: Receiving: In-Transit Transfer receipts with a zero cost will no longer create empty journal entries that cannot be posted.
FIXED: In-Transit Transfer Entry: Existing in-transit transfer lines with a blank order document ID will not get loaded for new in-transit transfers.
FIXED: Automation Agent: When attempting a large batch transfer, there is now an additional check to verify that the document is still in the correct batch before doing the transfer.
FIXED: Funnel: The Bill Transportation To and Account Number fields in FedEx Ship Manager will now get set correctly when processing sales documents that have the bill transportation to user field set to Recipient, Third Party, or Collect.
FIXED: Application: There will no longer be an "Object reference" error around the ForceLinkCreate method. Main areas this could happen were Sales Entry or Purchase Order Entry.
FIXED: Application: There will no longer be an ArgumentOutOfRangeException error around the UpdateNotification (Purchase Order) or SetLockStatus (Sales Entry) methods. These could occur when closing the forms.
FIXED: Application: There will no longer be a "Stack empty." error that originated from a Stack.Peek or Stack.Pop on the BusyObj.Dispose() method.
FIXED: Import Manager: Service Transfer: Importing Service Transfer Lines during the Service Transfer import will now correctly default various fields from the header and from the item if they are not provided in the import definition.

Version 5.2.11
Release Date 8/23/21

ADDED: Security: Sales Fulfillment: Allow Barcode Scanner Input - Allows users access to the input scanner field that will automatically fulfill serial/lots based on the scanner input. (Default: False)
ADDED: Sales Fulfillment: Added a new text field that users can scan barcode information into to automatically fulfill lines. This field only works for serial or lot tracked items and does not work for Return documents. This text field is disabled by default.
ADDED: Bulk Transfer to Invoice: There are now more sales document audit points when the transfer to invoice would fail. This applies to: Desktop Bulk Transfers, Automation Agent, and Remote Library.
ADDED: Setting: Force Rolldown Address Fields: When enabled, the Ship To address fields will always roll down to every line item. When disabled, unique line level addresses are not overwritten. (Default: False)
ADDED: Item Attribute Class Editor: Added a Restricted Search Attribute column that prevents search results from appearing unless they are in the Dropdown Value Options column for that attribute when doing a blank search.
ADDED: Sales Document Update Email From Customer Plugin: This plugin can be used to update blank email addresses from the corresponding Shipping/Billing address. There is also a security to "Always Update", which will always pull the current email addresses.

UPDATED: Automation Agent Transfer to Invoice: The Sales Document audit will be more verbose when there are different exceptions being thrown. This applies to the Remote Library endpoint also.
UPDATED: Import Manager: Service Transfer: Running a Service Transfer import will now prompt for whether or not over allocations are allowed for the entire import file.
UPDATED: Import Manager: Service Transfer Line: Running a Service Transfer Line import will now prompt for whether or not over allocations are allowed for the entire import file.

FIXED: Automation Agent Transfer to Invoice: If a transfer to invoice would fail documents should no longer be deleted during the process.
FIXED: Automation Agent Transfer to Invoice: When a document fails to transfer, there is more consistency on handling the document to the failed batch. This applies to the Remote Library endpoint also. NOTE: If a document is read-only or locked by another user, the document will NOT be moved to a failure batch.
FIXED: Sales Document Properties: Changing the Ship To Address code will properly roll the address to the lines. NOTE: We still check for unique address information, so if addresses are not updating properly the new setting may need enabled. (Introduced: 5.1.4)
FIXED: Sales Document Properties: Changing the Ship To Address code will now behave the same way as the Sales Document Address tab and update the same set of fields along with performing the same prompts.
FIXED: Sales Document Addresses and Sales Document Properties: Some performance improvements when changing the Ship To Address for documents that have a large number of line items.
FIXED: Vendor VRM: Resolved an object reference error when adding notes and the Settings -> Spell Check Fields is not set to "Vendor Card - VRM Notes". The work around would be to set this setting accordingly.
FIXED: Sales Document Email Template: The Deposits, On Order Amount, Exchange Rate, Funct Deposits, Funct On Order Amount will now properly round based on currency.
FIXED: Sales Document Email Template: The Trade Discount Pct field will properly round to two decimal places.
FIXED: Sales Document Entry: Resolved an error related to Configurator and a missing spvConfigOptionExtension view when saving a document that has a configurator item, but the Configurator dll is not being used.
FIXED: Vendor Search: Vendor Address UDFs will now show properly and data will not be jumbled. There also will no longer be data mismatch errors in certain scenarios.
FIXED: Item Attribute Search: Occasionally users would receive an 'Index was out of range' error when moving focus away from this tab and coming back to it. This has been fixed.
FIXED: Import Manager: Service Transfer: Importing Service Transfer Lines during the Service Transfer import will now correctly default various fields from the header and from the item if they are not provided in the import definition.

Version 5.2.10
Release Date 8/6/21

ADDED: Shopify: Added Shopify Integration.

UPDATED: Application: Licensing has been updated to support a subscription model.
UPDATED: Sales Monitor: Users can now copy data from any cell in the sales document grid by clicking on the cell and using the Ctrl+C shortcut.
UPDATED: Funnel: Microsoft SQL Server is now used instead of Microsoft Access to send shipment data to UPS WorldShip and FedEx Ship Manager to prevent the 'Unspecified error' from the Access Database Driver.

FIXED: Pacejet: Shipments will only be shared between sales documents with the same master number if none of the related sales documents were split or partially invoiced. (Extended Module: Pacejet)
FIXED: In-transit Transfer Receiving: The toolstrip will now be themed properly. (BETA)

Version 5.2.9
Release Date 7/23/21

BREAKING CHANGE: EDI Data Cross Reference: The Customer/Vendor Num has been renamed to Customer Num, and a new Vendor Num field has been created. Any Vendor IDs that were previously stored in Customer/Vendor Num should be moved to the new Vendor Num field.

ADDED: Security: Sales Document Mass Update: Security: Sales Document Types Allowed To Allocate - Can now be set to Orders and/or Invoices to control what documents can allocate/unallocate. (Default: ORDER)
ADDED: Security: Pacejet Get Rates: Failed Export Queue - The queue that sales documents which fail to export to Pacejet will be moved to when running this plugin via workflow. Defaults to nothing. (Extended Module: Pacejet)
ADDED: Security: Pacejet Process Shipment: Failed Export Queue - The queue that sales documents which fail to export to Pacejet will be moved to when running this plugin via workflow. Defaults to nothing. (Extended Module: Pacejet)
ADDED: Sales Document EDI 940 By Warehouse - 940 Sales Document plugin that uses the Sales Document's warehouse to lookup the 940 Cross Reference.
ADDED: Quick Reports: Quick report categories can now be renamed by selecting the category and clicking the Rename button.
ADDED: Security: Receiving: Default Shipment Receipt Workflow Queue - The default Workflow Queue where new Shipment Receipts will be placed. If no value is provided, the Default Batch security value will be used to populate the new Shipment Receipt Workflow Queue. (Default: "SALESPAD RC")
ADDED: Security: Receiving: Default Shipment Invoice Receipt Workflow Queue - The default Workflow Queue where new Shipment Invoice Receipts will be placed. If no value is provided, the Default Batch security value will be used to populate the new Shipment Invoice Receipt Workflow Queue. (Default: "SALESPAD RC")
ADDED: Workflow Setup: In-Transit Transfers can now have workflows created/assigned to them.
ADDED: In-Transit Transfer Monitor: A screen for viewing In-Transit Transfer workflows.
ADDED: Email Template Editor: Users can now make Email Templates for In-Transit Transfers.
ADDED: Configurator: Attributes: Added a new field called Allow Manual Price which will allow users to set a Manual Price in the Sales Line Configurator when they are choosing options for this attribute. (Extended Module: Configurator)
ADDED: Sales Line Configurator: Added a Manual Price column to the Option selection dropdown for Single and Multi dropdown type Attributes. This column allows users to override the Option's price and make a new price that is specific for a sale line. (Extended Module: Configurator)
ADDED: Sales Line Configurator: Added a Notes column to the Option selection drop down for Single and Multi drop down type Attributes. This column allows users to add notes to the Option that is specific for a sales line. (Extended Module: Configurator)
ADDED: Sales Document Line Item: The manual price and notes column for Configured lines will be carried over when copying and pasting a configured line. (Extended Module: Configurator)
ADDED: Sales Monitor: Grid shows loading indication when refreshing data. (5.2.8.32)

UPDATED: Application: DevExpress has been upgraded to version 21.1.4.
UPDATED: Active Support: The form is now themed properly.
UPDATED: Active Support: The "Send To SalesPad" button now reads "Send to Cavallo".
UPDATED: EDI Mapping: Added 'ShipmentHeader' as a 945 script parameter.
UPDATED: Customer Card: The address fields will now have error text showing if the address marked as Primary or Primary Ship To are invalid.
UPDATED: In-Transit Transfer Entry: The toolstrip is now themed properly.

FIXED: Sales Entry: The RMA, Exchange, and Receipt Transactions will now be visible again when applicable. (Introduced: 5.1.4)
FIXED: Print Form: Choosing a printer in the grid and directly clicking the Quick Print will now properly send the report to the newly selected printer. Workaround here is to tab out of the field before clicking Quick Print.
FIXED: Store Setup: Resolved a null reference on the Square Locations editor.
FIXED: Sales Document Mass Update: When attempting to allocate/unallocate Invoices, there will now be a message stating that there is a security that needs set. Also, improved messaging when attempting to allocate/unallocate other document types.
FIXED: Customer Card: When creating a new sales document and there are pending customer changes the Customer Card Pre-Save script will now fire properly.
FIXED: Customer Card: When changing the Customer Class there will no longer be an infinite loop of prompts if the Shipping Method would need updated on the Ship To Address.
FIXED: Customer Card: When changing the Customer Class the Shipping Method will now properly update the Primary address Shipping Method. GP keeps these two Shipping Methods in sync.
FIXED: Customer Card: Made some speed improvements around customers that have a large number of addresses.
FIXED: Customer Card: There was a scenario where if a field had "ADDR" in the name you could lose any pending changes when closing the customer card without hitting save first.
FIXED: Cross/UpSell Maintenance: Resequencing now works as intended.
FIXED: Dockable Plugins: If a dockable plugin is undocked it will now remember it's last position and size when it's launched again.
FIXED: Dockable Plugins: Icons will now show properly.
FIXED: Dockable Plugins: If a dockable plugin is undocked to a different monitor and that monitor is not available the next time it launches then the plugin will still be visible on the current main monitor.
FIXED: Pacejet Process Shipment: After creating a shipment in Pacejet, this plugin will reload the shipment and report any post-creation errors to the user and the sales document's audit log.
FIXED: Pacejet Get Rates: If this plugin fails to create a quote in Pacejet and is running via workflow, the sales document will not forward to the next queue.
FIXED: Pacejet Process Shipment: If this plugin fails to create a shipment in Pacejet and is running via workflow, the sales document will not forward to the next queue.
FIXED: Kit Exploder: Resolved an issue when exploding kits that was not properly updating the Sop To Mop links.
FIXED: Resources: Resolved an issue that prevented dragging Outlook attachments into the resource grid in an x64 bit build.
FIXED: Receiving: New receipts are now placed in the first applicable workflow 2.0 queue if appropriately configured.
FIXED: Receipt Entry: New receipts are now placed in the first applicable workflow 2.0 queue if appropriately configured.
FIXED: Assembly Entry: New assemblies are now placed in the first applicable workflow 2.0 queue if appropriately configured.
FIXED: Customer CRM : Can Delete Own Tasks - Resolved an issue where a user could delete their own interactions if Can Delete Own Tasks was set to false.
FIXED: In-Transit Transfer Entry: Prevent a save prompt when sometimes opening and immediately closing In-Transit Transfer Entry.
FIXED: Sales Line Configurator: Users will no longer receive a multithreading error when attempting to create multiple sales lines by using the Add and Add & Close buttons. (Extended Module: Configurator)
FIXED: Print Form: The Auto Send To Resources security will now properly check the corresponding checkbox in the grid when picking a report. (Introduced: 5.2.7)

Version 5.2.8
Release Date 6/28/21

BREAKING CHANGE: Sales Line Mass Update: The Search By section customized layouts will be reset.

ADDED: Automation Lookup: When an automation instance's platform module isn't installed, it will be labeled as such in the grid, and an error message will be shown when attempting to open it.
ADDED: Sales Line Mass Update: There are now two splitters and one is collapsible. Splitter positions are now saved/remembered.
ADDED: Application: There is an alternative sppUpdateDW supplied, sppUpdateDW_IgnoreNonInvDescription (see documentation for use cases: https://support.salespad.com/article/1961-sales-analysis-report ).
ADDED: Import Manager – Adds an import definition for CrossUpSell relationships.
ADDED: Security: Sales Document Entry: On Closing Script – C# script the executes when a Sales Entry tab attempts closing.
ADDED: Security: Sales Document Line Items: Allow Field Edit Script - C# script that executes when attempting to edit a field in the Sales Document Line Items grid.
ADDED: Security: Smart Printing: Pre Generate Report Script - C# script that executes before a SmartPrinting report is generated and printed.
ADDED: Security: Case Tracker Reorders/Returns: Can Create New Documents While Locked Or Historical - If true, allow the user to create new documents while Case Tracker Case is historical or locked by another user. Defaults to false.
ADDED: Security: Case Tracker Reorders/Returns: Can Link Existing Documents While Locked Or Historical - If true, allow the user to link existing documents while Case Tracker case is historical or locked by another user. Defaults to false.
ADDED: Automation Instances: Added a description field to Automation Instances.
ADDED: Setting: Opportunity Pre-Convert Script: A script that will be triggered when converting an opportunity to a quote.

REMOVED: Sales Line Mass Update: There was a "State" search field that when added to the layout was then called "Sales Doc ID". Neither of which would search properly and can be used with the custom search option.

UPDATED: Sales Line Mass Update: The group collapsible button was replaced with a collapsible splitter.
UPDATED: Application: The application name when connecting to SQL server will now include the logged in SalesPad user.
UPDATED: Receipt Transaction Entry: Serial/Lot Receiving Plugin – C# script that triggers when the plugin attempts to launch.
UPDATED: Receipt Transaction Entry: Serial/Lot Receiving Plugin – Changing the selected Receipt Line in the upper left grid will now automatically open the relevant UDFs tab in the lower half of the plugin.
UPDATED: Receipt Transaction Entry: Serial/Lot Receiving Plugin – Entering a Serial Number and clicking the Insert button will now automatically select the newly inserted serial in the upper right grid.
UPDATED: Receipt Transaction Entry: Serial/Lot Receiving Plugin – Entering a Serial Number and clicking the Insert button will now automatically clear the Serial Number field.
UPDATED: Receipt Transaction Entry: Serial/Lot Receiving Plugin - This plugin can now be launched for historical receipts to provide read only visibility of received serial/lots for that receipt.
UPDATED: Receiving: Receiving Items - Performing a search will now have a confirmation prompt indicating that unsaved data will be cleared.
UPDATED: Receiving: Receiving In Transit Items - Performing a search will now have a confirmation prompt indicating that unsaved data will be cleared.
UPDATED: Sales Entry: Sales Document Line Items - Line level plugins now have access to all of the selected lines.
UPDATED: Workflow Queues – Adds User Defined Fields to workflow queues.
UPDATED: Sales Document Workflow Setup – Adds Workflow Queue User Defined Fields to the grid.
UPDATED: Case Tracker Entry: Reorders/Returns Tab - Adds the ability to create and link Orders to the current Case Tracker.
UPDATED: Case Tracker Entry: Reorders/Returns Tab - Using the Add button to create a new order will now copy the same named UDFs from the Case to the created Sales Document.
UPDATED: Case Tracker Entry: Reorders/Returns Tab – Sales Documents grid now provides visibility of the Sales Doc ID and Source for each document as read only columns.
UPDATED: Case Tracker Entry: Reorders/Returns Tab – Adds a checkbox for Only Display Open Documents to allow filtering the Sales Documents grid to only documents with a source of Open.

FIXED: Resources: When editing a resource that contains a tag that no longer exists in the tag table, users will no longer receive an error message.
FIXED: Sales Document Payments: Deposits: Creating a deposit on a non-functional currency document will now properly set the Receiving Exchange Rate in CM20300.
FIXED: Sales Line Mass Update: Double-clicking the grid will no longer result in a "Sales_Person_ID" error, instead it will open the sales document.
FIXED: Automation Lookup: Attempting to load automation instances when their platform module isn't installed will no longer cause an error. (Introduced in 5.2.6)
FIXED: Purchase Receipt Line Items: Unit cost on non-functional currency documents will no longer get updated incorrectly when forwarding a receipt through workflow.
FIXED: User Defined Fields – Quick Report UDFs that can be edited in grids will no longer have selection issues or prevent selection when only a single option is available.
FIXED: Login Prompt – Cancelling out of the login prompt will now properly close the application.
FIXED: Equipment Search - The Qty Allocated field will now correctly indicate if the serial has been sold.
FIXED: Equipment Card - Equipment UDFs now respect the User Field Read Only setting.
FIXED: Equipment Card: Additional Properties Tab - Now respects edit permissions set for UDFs in the User Field Editor.
FIXED: In-Transit Transfer Entry: In-Transit Transfer Fulfillment Plugin - Fulfillment validation now occurs after Pre Save scripting.
FIXED: In-Transit Transfer Entry: In-Transit Transfer Fulfillment - Removing a fulfillment will no longer throw a null exception error.
FIXED: Inventory Adjustment Entry: ExpressPoint Inventory Adjustment Allocation Plugin - Resolves an issue with this window occasionally throwing null ref errors.
FIXED: Receipt Transaction Entry: Serial/Lot Receiving Plugin – Entering a Serial Number and clicking the Insert button will no longer clear UDFs entered for previous serial items.
FIXED: Receiving - Lines that have already been successfully submitted will no longer automatically reattempt submission on subsequent saves.
FIXED: Sales Document Entry - Historical or Voided documents will no longer always display the Ship Complete flag as false.
FIXED: Sales Document Search - The Ship Complete field on historical Sales Documents is now loaded properly.
FIXED: Sales Document Entry: Sales Fulfillment - Fulfillments will no longer be able to be added or removed on read only documents when the Pickable Sites security is set to anything other than '*'.
FIXED: Purchase Order Unlocking - NOLOCKs were added to sppPurchaseOrderUnlock to prevent deadlock issues around SY01500 and POP10100.
FIXED: Assembly Unlocking - NOLOCKs were added to sppAssemblyUnlock to prevent deadlock issues around SY01500.
FIXED: Manufacturing - The "sppGetNextMONumber" SQL procedure will now properly return the next unique number without a race condition.
FIXED: Request For Quote - The "sppGetNextRFQNumber" SQL procedure will now properly return the next unique number without a race condition.
FIXED: EDI - The "sppGetNextEDINumber" SQL procedure will now properly return the next unique number without a race condition.
FIXED: Customer - The "sppGetNextCustomerID" SQL procedure will now properly return the next unique number without a race condition.
FIXED: In Transit Transfer - The "sppGetNextInTransitTransferNumber" SQL procedure will now properly return the next unique number without a race condition.
FIXED: Inventory Transaction - The "sppGetNextInventoryTransactionNumber" SQL procedure will now properly return the next unique number without a race condition.
FIXED: General - The "sppGetNextNumber" SQL procedure will now properly return the next unique number without a race condition.
FIXED: Receipt - The "sppGetNextReceiptID" SQL procedure will now properly return the next unique number without a race condition.
FIXED: Vendor - The "sppGetNextVendorID" SQL procedure will now properly return the next unique number without a race condition.
FIXED: Opportunity - The "sppGetNextOpportunityNumber" SQL procedure will now properly return the next unique number without a race condition.
FIXED: Prospect - The "sppGetNextProspectNumber" SQL procedure will now properly return the next unique number without a race condition.
FIXED: Receiving - Generating a unique serial number will now properly return the next unique number without a race condition.
FIXED: Sales Document Entry: Sales Fulfillment Plugin - Removing serial or non-tracked fulfillments will no longer table scan, avoiding potentially causing SQL deadlocks on table IV00112.
FIXED: In Transit Transfer Entry: Sales Fulfillment Plugin - Removing serial fulfillments will no longer table scan, avoiding potentially causing SQL deadlocks on table IV00112.
FIXED: Receipt Transaction Entry: Serial/Lot Receiving Plugin - Removing serial fulfillments will no longer table scan, avoiding potentially causing SQL deadlocks on table IV00112.
FIXED: Inventory Adjustment Entry: Allocation Plugin - Removing serial or non-tracked allocations will no longer table scan, avoiding potentially causing SQL deadlocks on table IV00112.
FIXED: Receipt Entry - Saving a receipt will now properly include the receipt number generation in the SQL transaction.
FIXED: Inventory Adjustment Entry - Saving an inventory adjustment will now properly be wrapped in a SQL transaction.
FIXED: Case Tracker Entry: Properties Tab – This formlet will now properly display the category headers.
FIXED: Case Tracker Entry: Reorders/Returns Tab – This tab will now properly launch voided documents and will display a message if the document cannot be loaded.
FIXED: Case Tracker Entry: Reorders/Returns Tab – Creating a new Sales Document via the Add button will now properly set the Created By field on the document to the current user.

Version 5.2.7
Release Date 6/11/21

ADDED: Setting: Square_API_Retries - Square Integration calls now use this number of retry attempts and exponential backoff in the event of certain error responses.
ADDED: Sales Monitor: The Forward Documents popup, when right-clicking in the grid, now has access to more Sales Document columns, including UDFs.
ADDED: Sales Monitor: The Forward Documents popup window size will be remembered.
ADDED: Security: Sales Document Manual Split: Post Split Script - C# script that executes after the newly created documents are split.

UPDATED: Sales Monitor: The Forward Documents popup now uses the LoadColumns method, which should load the popup faster now.

FIXED: Bulk Email: When bulk emailing, the "Proceed" button will correctly bring up the e-mailing dialog. (Introduced: 5.2.5)
FIXED: Sales Line Item: The focused line viewer details will now properly refresh when flipping between units of measures. (Introduced: 5.1.6)
FIXED: Receipt Transaction Entry: There will no longer be an "Object Reference" error when opening the screen. This could happen if the UDF tab was the last tab selected on a prior transaction. (Introduced: 4.6.4.10)
FIXED: Counter Sales: The focused line viewer is now better sized and there is also a splitter in the event that more room is needed. (Introduced: 5.1.4)
FIXED: Consolidated Shipments: Carrier Alpha Code now correctly syncs with Shipping Method when editing the Shipping Method field.
FIXED: Sales Monitor: The Forward Documents popup will no longer do an extra Sales Document Load if there is no Pre Forward Script enabled.

Version 5.2.6
Release Date 5/30/21

ADDED: Setting: Sales Document Serialization: Determines the type of serialization used during Sales Document saving. Deep Copy is newer and faster and was introduced in 5.1.4. (Default: Deep Copy)
ADDED: Workflow Rule: There is now an "EDI ~ 856 NOT SENT" rule available. This can be used to catch EDI specific documents that may not have sent the 856 document properly. (Extended Module: EDI)

FIXED: Payfabric Payments: Having a blank Queue Access List security will no longer make the payment screen read-only. The workaround is to use an asterisk in this security. (Introduced: 5.2.1)
FIXED: Print Form: Selecting the first report, or selecting multiple reports, will now properly send the report(s) to the printer. (Introduced: 5.2.5)
FIXED: Print Form: Resolved a scenario where the information bar would show blank text.
FIXED: Application: Resolved an exception "Invisible or disabled control cannot be activated" that originates from the BaseForm.WndProc method.
FIXED: Application: Resolved an exception "Operation could destabilize the runtime." that originates from the ExceptionHandler.StackFrameToString. (Introduced: 5.1.4)
FIXED: Application: Resolved a freezing issue that occurred when using the Item Replacements plugin. (Introduced: 5.1.4)
FIXED: Application: Resolved an "Unable to cast" exception that originates from the StatusMessage.
FIXED: Sales Line Replacement Plugin: Optimized this plugin to not generate UI elements twice.
FIXED: Item Replacements: When using Item Replacements, the Item Master Workflow will no longer trigger, and the times in queue should no longer update unexpectedly. (Introduced: 4.6.4.25)
FIXED: Consolidated Shipments: The EDI 856 ASN can now be sent when the documents associated with the consolidated shipment are historical. (Extended Module: SalesPadEDI)
FIXED: Applications: Updated references for System.Windows.Forms that could help with occasional application crashes.
FIXED: Sales Document Resources: Resaving a GP resource will no longer duplicate the extensions. This requires the "Save Resources as GP Attachments" setting to be enabled.
FIXED: Sales Line Resources Plugin: The file name link now works properly and is themed accordingly. The grid layout will now also save and has the orange triangle options.
FIXED: Customer Card: Editing a Rich Text Memo UDF in the Customer Overview area will now properly save.
FIXED: Receiving: Processing an order that is sorted by the "To Receive" column will no longer result in a crash to the application. (Introduced: 4.6.4.13)

Version 5.2.5
Release Date 5/14/21

ADDED: Inventory Transaction Search: There are now options to search by posting status: Okay, Unposted, Posted, Posted with Error.
ADDED: Inventory Transaction Entry: Historical transactions can now be viewed as read-only. This includes the allocation plugin (NOTE: Some fields are not available on historical transactions).
ADDED: Security: Item Class Editor: Can Edit Drop Down Value Options - When enabled, users can edit the Drop Down Value Options column.
ADDED: Item Class Editor: Added a new column called Drop Down Value Options which allows users to create a static semicolon-delimited list that will be used as the attribute's drop-down options. This feature requires security access to edit.

UPDATED: Sales Batch Processing: If the "Sales Batches Allowed" security is set to * (all access) and you free type a single batch name (or partial name), the search will now do a "like" operator on the batch search field. (Introduced: 5.1.4 There was a fix in this build that prevented searching for batches that end-user may not have security access to.)
UPDATED: Print/Email Form: The print and email reports form has been redesigned. The form can now be resized and has a splitter. Buttons have been moved around to be more consistent with the application.
UPDATED: Pacejet: The Process Shipment and Get Rates plugins will send package information to Pacejet when creating a shipment or quote. This allows users to pack a sales document outside of Pacejet. (Extended Module: Pacejet)

FIXED: Purchase Order Line Items: The ENTER key will now create new line items properly. (Introduced: 5.1.6)
FIXED: Sales Monitor: There will no longer be an Object Reference error when switching to different tabs upon first loading the screen. (Introduced: 4.6.4.18)
FIXED: Purchase Order Entry: The PO will no longer show as locked by the end-user when going to the print form and returning to the PO. (Introduced: 5.1.7)
FIXED: Purchase Order Entry: Resolved an object reference error when launching some plugins from the Purchase Order Entry screen when purchasing from the Sales Entry screen. When the Purchase Order Entry screen is a Popup screen. (NOTE: Opening or re-opening the Purchase order normally does not result in the error)
FIXED: Application: Resolved an issue where the EnableToolStripButton could result in an Object Reference error.
FIXED: Inventory Transaction Entry: Trying to print an In-Transit Transfer report will no longer result in an object reference error.
FIXED: Inventory Adjustment Allocation: Resolved a potential memory leak for this plugin.
FIXED: Sales Document Packages and Consolidated Shipments Packaging: Reduce initial loading time when loading many shipping labels.
FIXED: Pacejet: Kit items will display and use their components instead of the kit header. This was changed for consistency with how sales document packing normally works within SalesPad products. (Extended Module: Pacejet)
FIXED: Assign Workflow To Business Object: Fixed an issue when assigning some objects to workflow, and using certain date formatting.

Version 5.2.4
Release Date 4/30/21

BREAKING CHANGE: Sales Document Mass Update: The Send To Batch function no longer uses the same popup that Sales Monitor uses. The multi-select functionality from the Sales Document Mass Update screen is now used for documents to move.

REMOVED: Move Documents to Batch: Security - Allow All Batches. This had the potential to load too many documents at a time.

ADDED: Move Documents to Batch: Security - Can Create Batch: Enables the editability of the batch choices. (Default: false)
ADDED: Move Documents to Batch: There are now more Sales Document columns available, including User Defined Fields.
ADDED: Sales Document Mass Update: Security - Can Create Batch: Enables the editability of the batch choices. (Default: false)
ADDED: Sales Line Item: The On Row Paste script now has access to the original line item values.
ADDED: Settings: Changes to application settings are now logged to the spSystemLog table and are visible on the System Log Search screen.
ADDED: Application: SalesPad username is now part of the application name when calling the APP_NAME() function on the SQL Server.
ADDED: Setting: Sales Entry: Shipping Method Tracking Number Mappings: When opening a tracking number hyperlink, if the document's shipping method is linked to a carrier by this setting then the hyperlink will go to that carrier's website. Otherwise, the hyperlink will go to either a carrier's website or to the Tracking Catch All Link based on the tracking number. This setting has no default value.
ADDED: Security: Square Transaction Search - Search all Square Transactions.
ADDED: Setting: Square Check Access Token -Click this button to check the status of the Square token.
ADDED: Setting: Square Sandbox Account Via Currency ID: Define Square account credentials per GP customer currency ID to be used depending on the customer's currency ID. If no match is found for the customer's currency ID, Square - Sandbox: Square Application Access Token will be used instead.
ADDED: Setting: Square Production Account Via Currency ID - Define Square account credentials per GP customer currency ID to be used depending on the customer's currency ID. If no match is found for the customer's currency ID, Square - Production: Square Application Access Token will be used instead.
ADDED: Customer Notes: Revisions can now be tracked. (This does not include the comment fields) NOTE: The setting Track Note Revisions may need to be changed.
ADDED: Vendor Notes: Revisions can now be tracked. (This does not include the comment fields) NOTE: The setting Track Note Revisions may need to be changed.

UPDATED: Setting: Track Note Revision - The default value is now set to "*" which means new SalesPad installs will default to all Note Revision tracking. Existing SalesPad installs will need to select options accordingly.
UPDATED: Customer Card: There will no longer be a "Cannot insert value NULL into column 'Telesales_Frequency'" error when saving a customer. NOTE: This can be fixed by updating sppUpdateCustomer to default the Telesales_Fequency parameter to -1.
UPDATED: Setting: Square Production Payment Page URL: Updated Default URL to https://square.salespad.dev/
UPDATED: Setting: Square Sandbox Payment Page URL: Updated Default URL to https://square.salespad.dev/
UPDATED: Customer Square Transactions - Added column [Time Since Authorization] which shows the time since the authorization was created.
UPDATED: Move Documents to Batch: Improved loading speed by using the LoadColumns functionality.
UPDATED: Sales Document Mass Update/Sales Monitor: The grids will now refresh after a Send To Batch action.

FIXED: Sales Line Items: When pasting line items from a different customer document, then changing certain fields (i.e. Warehouse), will no longer revert some fields to the original line values (i.e. Ship To address information). There was a similar issue with the On Row Paste script that could revert values.
FIXED: In-Transit Transfer Entry: When the Transfer From Qty is zero, there will no longer be a prompt for over allocations.
FIXED: Application: Various grids that use a Group By on a column will now properly load and use the Group By when re-opening. (Example: Customer Sales Documents tab).
FIXED: Dispatch: Deleting a route will no longer recreate the route. This is a SQL stored procedure change to sppUpdateDispatchRoute. (Extended module)
FIXED: Sales Documents: When clicking on a tracking number, this product will not automatically assume that the sales document's shipping method having "FedEx" in its name means that the tracking number is from FedEx. If this functionality is desired, it can be restored with the 'Shipping Method Tracking Number Mappings' setting.
FIXED: Sales Documents: Invoicing: When clicking the 'Invoice' button, if you click 'No' on the 'Save Changes to SalesDocument' prompt the first time and then 'Yes' when that prompt appears a second time, the fulfilled lot numbers and serial numbers on the order will still carry over to the invoice correctly instead of being replaced or deleted.
FIXED: Send To Batch: Resolved a potential for document locks to get stuck if there is an error when sending documents to a batch.

Version 5.2.3
Release Date 4/16/21

ADDED: Application: All grids that have the orange triangle will now have a Show Footer option.
ADDED: System Information: A tab is now present on the System Information screen that contains miscellaneous module information.
ADDED: Square Integration: Square API and .NET SDK versions are now displayed on the System Information screen.
ADDED: Setting: Spell Check Fields: Use this setting to specify which fields to use spell check with. Spell check only applies while SalesPad Desktop is in English.
ADDED: Setting: Ignore Upper Case Words: Use this setting to have the spell checker ignore or not ignore all upper case words. Spell check only applies while SalesPad Desktop is in English.
ADDED: Security: Opportunity Card: Can Forward - Allows a user access to the forward button for workflow. (Default: True)
ADDED: Security: Prospect Card: Can Forward - Allows a user access to the forward button for workflow. (Default: True)
ADDED: Security: Assembly Entry: Can Forward - Allows a user access to the forward button for workflow. (Default: True)
ADDED: Security: Equipment Maintenance: Can Forward - Allows a user access to the forward button for workflow. (Default: True)
ADDED: Security: Inventory Adjustment: Can Forward - Allows a user access to the forward button for workflow. (Default: True)
ADDED: Security: Item Maintenance: Can Forward - Allows a user access to the forward button for workflow. (Default: True)
ADDED: Security: Purchase Order Entry: Can Forward - Allows a user access to the forward button for workflow. (Default: True)
ADDED: Security: Vendor Card: Can Forward - Allows a user access to the forward button for workflow. (Default: True)
ADDED: Security: Customer Card: Can Forward - Allows a user access to the forward button for workflow. (Default: True)

UPDATED: Square Payments: Square will now work with 64-bit SalesPad Desktop.
UPDATED: Customer Card: It's now possible to script the "val_Message" field through an On Load script and no longer get a prompt to save. This can be used to add additional messages to the banner.
UPDATED: Sales Document Entry: It's now possible to script the "val_Message" field through an On Load script and no longer get a prompt to save. This can be used to add additional messages to the banner.
UPDATED: Purchase Order Entry: It's now possible to script the "val_Message" field through an On Load script and no longer get a prompt to save. This can be used to add additional messages to the banner.
UPDATED: In-Transit Transfer Entry: New lines will copy UDFs from Item Master.

FIXED: Square Integration: The Square Integration module now correctly requires a license.
FIXED: Sales Document Shipment: Advanced Package Generation: Creating packages without templates will no longer throw a null reference exception.
FIXED: Sales Document Shipment: Advanced Package Generation: Creating packages with unsaved lines will now prompt for saving.
FIXED: Sales Document: Users will no longer receive a 'Cannot construct data type date error when saving order' error when saving a Sales Document with an EOM type payment term with Add Days set to a value greater than there are days in a month.
FIXED: Sales Document: Users will no longer receive a 'Cannot construct data type date error when saving order' error when saving a Sales Document with a payment term that uses Next Month as its Discount and the Set Date is greater than next months last date (For example: Set Date is set to "31" but next month only has 30 days). If this scenario happens, the last day of the next month will be used instead.

Version 5.2.2
Release Date 4/2/21

ADDED: System Information: Item tracking information is now available on the System Information screen.
ADDED: Security: Customer Overview: Can Change Customer Discounts - Allows a user to change customer discounts. (Default: True)
ADDED: Assembly Workflow: Email Templates and Email Template Subjects are now supported.
ADDED: Opportunity Workflow: Email Templates and Email Template Subjects are now supported.
ADDED: Prospect Workflow: Email Templates and Email Template Subjects are now supported.
ADDED: Purchase Receipt Workflow: Email Templates and Email Template Subjects are now supported.
ADDED: Vendor Workflow: Email Templates and Email Template Subjects are now supported.
ADDED: Opportunity: Emailing from an Opportunity now has access to templates.
ADDED: Purchase Receipt: Emailing from a Purchase Receipt now has access to templates.

UPDATED: Automation Agent: Automation Agent will now check the batch status before transferring to Invoice.

FIXED: Log Viewer: Pressing ENTER will now trigger the OK button.
FIXED: Application: Certain pop-ups forms now respect the ENTER key and will trigger the OK button. Certain forms that potentially have multi-line entry fields (ie. Script Editor) will not respect the ENTER key OK button.
FIXED: Email Template Editor: This form should now load faster.
FIXED: Localization: Users will no longer get the 'Input string was not in a correct format' error when using SalesPad in Spanish and saving new sales documents or transferring orders to invoices.
FIXED: Receipt Line Items: Line unit cost for non-functional currency receipts will now load and save correctly.
FIXED: Receipt audit should now properly populate for Shipment and Shipment Invoice types when using workflow.
FIXED: Sales Entry: The Sales Account Index and Cost of Sales Account Index will now be set properly for component line items of kits. (Non-Package kits) NOTE: This is a modification to the spptaSopLineIvcInsertComponent_SalesPad stored procedure and was an eConnect bug.
FIXED: Sales Entry: The GP button will now show properly. (Introduced: 5.1.4)
FIXED: Customer: The note index for the customer will no longer get updated when removing notes and then adding new notes.
FIXED: Sales Batch Processing: The refresh interval now works properly when opening the form. (Introduced: 5.1.4)
FIXED: Sales Documents: Payments: Square: Charging a new wallet will not give a "Cannot insert the value NULL into column 'Cardholder_Name', table '[company database].dbo.spSalesDocumentCreditCardPayment'; column does not allow nulls" error. The workaround is to modify that column to allow nulls.
FIXED: Sales Document Properties: The Security: Validate Customer PO will no longer prompt when opening a sales document. (Introduced: 5.1.4)
FIXED: Sales Document Properties: The Security: Validate Customer PO will no longer look at documents with the same master number.
FIXED: Login: Logging in with a previous version of SalesPad will now correctly respect the setting Limit Login For Prior Versions without needing access to the Database Update Security if set to 'false'.

Version 5.2.1
Release Date 3/19/21

ADDED: Automation Agent Setting: 'Automation Agent User Name' SalesPad user used to run the Automation Agent service.
ADDED: Inventory Analysis: Security - Populate Item List: When enabled, the Item List Drop down will be pre-populated. Disable this for performance improvements. (Default: True)
ADDED: Inventory Analysis: Security - Populate Item Generic Description List: When enabled, the Generic Description List Drop down will be pre-populated. Disable this for performance improvements. (Default: True)
ADDED: Security: Sales Document Payments: Allow Payments on Restricted Queues - This setting will allow taking payments on a document that has been marked as read-only due to being in a restricted queue.

UPDATED: Business Object Mapping: The Shipping Label schema has been updated to support specifying a Packing Medium. (Extended Module: SalesPadEDI)
UPDATED: Business Object Workflow Monitors: Monitors will now sort by the Workflow Queue sequence number.
UPDATED: Inventory Analysis: The Item List drop down now uses the cached list of items, which can improve initial loading issues for this screen.

FIXED: Funnel: FedEx: Additional handling charges are now written back correctly when there are multiple packages in a shipment.
FIXED: In-Transit Transfer: After printing, changes to the line level data will now save on the first save and not require multiple saves.
FIXED: Sales Inventory Lookup: The ESC key will close the form.
FIXED: Application: Various pop-up forms will now close when the ESC key. Not all forms will respect this.
FIXED: Sales Promotions: The Customer Search popup, when assigning customers, will now have the grid properly themed. NOTE: The grid layout may need reset.
FIXED: Send Email: Typing spaces into the CC field no longer causes the email to fail to send.
FIXED: Assembly Search: The New button is now available based on security access.
FIXED: Assembly Entry: There was potential to load bad data from BM10300 (Assembly Line) if there were blank TRX_ID/Assembly Doc Num values. This would have resulted in wrong assembly lines being applied to any new Assembly being created.
FIXED: Assembly Entry: There was potential to load bad data from BM10200 (Assembly) if there were blank TRX_ID/Assembly Doc Num values. This potentially could result in some issues around allocations on first saves.
FIXED: Assembly Entry: There was a potential to load bad data for Sales Line Assembly Links and Assembly Resources.
FIXED: Manufacturing Entry: Resolved a few scenarios where there could be a divide by zero error based on UofM setup. These changes could be applied to the following views: spvManufacturingBOMLine_base, spvManufacturingBOMLineHistory_base, and spvManufacturingBOMLineSearch_base.
FIXED: Sales Document Payment: Users can no longer Void, Credit, Charge PayFabric payments on Historical documents.
FIXED: Sales Document Payment: Users can no longer take payments on Historical documents.

Version 5.2.0
Release Date 2/26/21

BREAKING CHANGE: Sales Document Mass Update: The Sales Document Properties - On Validating Script will no longer work from the Sales Document Mass Update screen. This was not the original intent for this script hook and would cause some fields to clear out unexpectedly.

ADDED: Customer Quick Report Emailing via Automation Agent: A new email platform option is now available in the Automation Agent module. This platform option allows a quick report to be sent on a per-customer basis and generates a spreadsheet attachment of the quick report to be emailed.
ADDED: Sales Analysis: Added a new panel to the screen that allows users to save and quickly switch between layouts. These layouts are stored per user in the database and can be placed in categories for easy management. Previously, layouts had to be saved to files and then imported each time.
ADDED: Sales Analysis: Some default layouts have been added. These include Customer Activity Report, Top Customers, and Top Selling Items.
ADDED: Square Integration: Added Square Credit Card Processing to SalesPad. For more information, please contact your Sales Representative.
ADDED: Store Setup: A Square tab as added. This tab allows users to setup Square Locations and specify any Credit Card Mappings for specific Store/Drawers.
ADDED: Customer Square Wallet: A new tab on the customer card that is used to create new wallets for the customer in Square.
ADDED: Customer Square Transactions: A new tab on the customer card that displays the history of Square transactions for the customer. Displays both Sales Documents and Cash Receipt transactions.
ADDED: Security: Sales Document Payments: Enable Square Payments - Determines whether the Square payments tab is visible. (Default: False)
ADDED: Security: Cash Receipts: Credit Card Payment Options - Payment options a user is allowed to select from. (Defaults: PayFabric)
ADDED: Square Device Maintenance: A new screen that allows Square users to setup terminal devices that can be used to process credit cards.
ADDED: Square Authorization Plugin: A workflow plugin that can be used to automate making Authorizations on a document using Square.
ADDED: Square Capture Plugin: A workflow plugin that can be used to automate capturing authorizations on a document using Square.
ADDED: Square Charge Plugin: A workflow plugin that can be used to automate charging credit cards on a document using Square.
ADDED: Workflow Rule: Square Auth Present - Check if this document or any related documents have a PayFabric Authorization.
ADDED: Workflow Rule: Has Square Auth - Check if the current document has a Square Authorization. Does not check related documents.
ADDED: Workflow Rule: Square Payment Exists - Check if there are Square captures or charges on the document.
ADDED: Square Batch Authorization: New Sales Batch Processing plugin that allows users to create authorization for multiple documents in a batch.
ADDED: Square Batch Capture: New Sales Batch Processing plugin that allows users to batch capture authorizations for multiple documents in a batch.
ADDED: Square Batch Charge: New Sales Batch Processing plugin that allows users to create charge transactions for multiple documents in a batch.

REMOVED: Sales Analysis: The Reset Layout button has been removed.

UPDATED: Sales Analysis: The Save Layout and Load Layout buttons have been removed and are now replaced with functionality within the new Layouts panel. Any previously saved layout file can be imported using the new Layouts panel.
UPDATED: Application: DevExpress has been upgraded to 20.1.7.
UPDATED: Sales Analysis: The toolstrip will now be themed properly.
UPDATED: Application: Installing SalesPad Desktop will now prompt for installing the prerequisite C++ Redistributable package from Microsoft.
UPDATED: Sales Person: The default dashboard on the sales person card now starts with a 1 month date range instead of 1 year.
UPDATED: Sales Document Payments: The last focused tab is now remembered when closing and reopening the screen.

FIXED: Application: The main form starting position will now correctly reset to the default position if the previous location is not available.
FIXED: Sales Document Notes: The controls will no longer float out of view on the control due to a DPI issue. The workaround is to remove the DPIAwareness from the SalesPad.exe.config file. (Introduced: 5.1.3)
FIXED: Database Update: Resolved a scenario where the database update could get stuck in an infinite loop causing SalesPad to hang. This specific scenario was related to an "spcp", and the work around was to rename the "spcp" with a leading underscore.
FIXED: Sales Document Locking: Usernames that exceed 15 characters will no longer leave orphaned locks on sales documents.
FIXED: Themes: SalesPad Desktop will not crash on launch when its theme is set to 'SalesPad Desktop Green' and the display scale of the current monitor is greater than 150%. Instead, SalesPad Desktop will automatically switch its theme to 'Basic'.
FIXED: AvaTax: Sales Tax Query Handler: When splitting a sales document for the 2nd+ time, the split document will recalculate its taxes as long as the setting 'AvaTax Sales Line Item Fields To Check' has any columns selected.
FIXED: Pacejet: If the 'Application URL' setting uses HTTP, SalesPad will run Pacejet's website in HTTP mode when using the 'Get Rates' and 'Process Shipment' plugins. This addresses an issue where Pacejet's 'Scale Weight' button may give a 'There was an error with the scale web service' message when running Pacejet in HTTPS mode. (Extended Module: Pacejet)

Version 5.1.7
Release Date 2/12/21

ADDED: Sales Document Assemblies: Refresh button.
ADDED: Sales Document Audit: Refresh button.
ADDED: Sales Document Manufacturing Orders: Refresh button.
ADDED: Sales Document Purchases: Refresh button.
ADDED: Sales Document Service Transfers: Refresh button.
ADDED: Security: Choose Purchase Plan: Security: Can Group Like Items - When disabled the Group Like Items check box is disabled. (Default: True)
ADDED: Automation Agent: Batch Forward: Setting: Misc: Verbose Logging: If set to 'True', batch forwarding will log additional information to the Audit tab. Defaults to 'False'.

UPDATED: Choose Purchase Plan: General icon and better theme updates.
UPDATED: Choose Purchase Plan: There are now splitters that will be remembered and the form will remember the window size when resized.
UPDATED: Customer AR Overview: Fields are now properly themed.
UPDATED: Customer Child Accounts: The Toolbars are now themed properly.
UPDATED: Customer Contract Pricing: The Toolbars are now themed properly.
UPDATED: Customer Default Doc Items: The Toolbars are now themed properly.
UPDATED: Customer Holds: The Toolbars are now themed properly.
UPDATED: Customer Holds: Moved buttons around.
UPDATED: Customer Item Numbers: The Toolbars are now themed properly.
UPDATED: Customer Item Numbers: Moved buttons around.
UPDATED: Customer Item Number Maintenance: The popup form is now properly themed.
UPDATED: Customer CRM: The splitter is now themed properly.
UPDATED: Customer Saved Attributes: The Toolbars are now themed properly.
UPDATED: Customer Special Pricing: The Toolbars are now themed properly.
UPDATED: Customer Default Item Reps: The Toolbars are now themed properly.
UPDATED: Customer Recurring Sales: The Toolbars are now themed properly.
UPDATED: Sales Document Assemblies: The Toolbars are now themed properly.
UPDATED: Sales Document Audit: The Toolbars are now themed properly.
UPDATED: Sales Document Audit: The Toolbars are now themed properly and the grid fills the tab.
UPDATED: Sales Document Manufacturing Orders: The Toolbars are now themed properly.
UPDATED: Sales Document Shipments: The Toolbars are now themed properly.
UPDATED: Sales Document Purchases: The Toolbars are now themed properly.
UPDATED: Sales Document Properties: The Equipment Serial hyperlink is properly themed.
UPDATED: Sales Document Service Transfers: The Toolbars are now themed properly.
UPDATED: Sales Document Tracking Numbers: The Toolbars are now themed properly.
UPDATED: Sales Document Case Tracker Entries: The Toolbars are now themed properly. (Extended Module)
UPDATED: Sales Document EDI Processing Log: The Toolbars are now themed properly. (Extended Module)
UPDATED: Sales Documents: Invoicing: Changing the 'Ship Qty' on a line is now faster.

FIXED: Shipping Review: Refreshing will not give an 'Object reference' error when there are no sales documents to show. (Introduced: 5.1.6)
FIXED: Sales Document Entry: Various plugins that had custom text will now have their buttons display properly. Example: Run Script and Shipping Weight plugins. (Introduced: 5.1.4)
FIXED: Automation Agent: Forwarding a PO using Automation Agent will now unlock the PO when forwarding is complete.
FIXED: Sales Documents: Locked sales documents will state which user locked the document. (Introduced: 5.1.6)
FIXED: Sales Documents: Notes: The 'Can Freely Edit' security setting no longer affects comments. (Introduced: 5.0.6)
FIXED: Sales Documents: Notes: The 'Can Freely Edit On Historical Document' security setting no longer affects comments.
FIXED: Sales Documents: Notes: The 'Override Queue Access for Notes and Comments' security setting no longer allows users to edit notes and comments on documents which are read only for reasons other than being in a queue outside of the 'Queue Access List', being historical, or being void.
FIXED: Purchase Orders: Users can no longer edit purchase line item quantities to be less than the sales line items they are linked to.
FIXED: Automation Agent: Batch Forward: If forwarding a sales document fails due to a SQL error, Automation Agent will log the error to the Action Center instead of ignoring it.

Version 5.1.6
Release Date 2/3/21

BREAKING CHANGE: Vendor Card: Existing Vendor On Load scripts may require changes because of how the buttons on the form were changed.

ADDED: Purchase Line Items: There is now focused row warehouse information similar to the Sales Line Items.
ADDED: Purchase Line User Fields Dock: Purchase Line dockable plugin for user fields.
ADDED: Security: Purchase Order Generation: Dropship PO Address Source - Source to use when determining a Dropship PO's address information. (Default: Customer_Address)
ADDED: Settings: Layout Customization Type: Specify the layouts type to load for the Purchase Line User Fields Dock plugin. (Default: (ALL))

UPDATED: Application: The customization popup form toolbar is now properly themed where applicable.
UPDATED: Customer Case Tracker Entries: The toolbar is now properly themed.
UPDATED: Purchase Line Items: The toolbar is now properly themed.
UPDATED: Purchase Order Entry: The toolbars, hyperlinks, and certain fields are now properly themed. (NOTE: Changing themes requires the form to be reloaded.)
UPDATED: Purchase Order Links: The toolbar is now properly themed.
UPDATED: Purchase Order Notes: The toolbar is now properly themed.
UPDATED: Vendar Card: The toolbars, hyperlinks, and certain fields are now properly themed. (NOTE: Changing themes requires the form to be reloaded.)
UPDATED: Vendor Contact Addresses: The toolbar is now properly themed.
UPDATED: Vendor Item History: The toolbar is now properly themed.
UPDATED: Vendor Item History: The toolbar is now properly themed.
UPDATED: Vendor Item Setup: The toolbar is now properly themed.
UPDATED: Vendor Special Costing: The toolbar is now properly themed.
UPDATED: Vendor VRM: The toolbar is now properly themed.

FIXED: Customer Overview: Customized layouts should now work as they did prior to 5.1.0. (Introduced: 5.1.0)
FIXED: Application: The installer will no longer add extra unneeded XML files to the installation folder.
FIXED: Automation Agent Service: Application date will be tied to the date on the machine, rather than the date the service was installed. (Extended Module: AutomationAgentService)
FIXED: Business Object Workflow: Inventory Transaction: In some scenarios, transactions would not be assigned to the correct workflow.
FIXED: Business Object Workflow: Inventory Transaction: The 'Time in Queue' record for new transactions will now be created properly.
FIXED: Consolidated Shipments: Scan to Shipment: Reimplemented the playback of the error sound to prevent delays. (Introduced: 5.0.1)
FIXED: Customer Address Card: Changes made by the Pre Save and Post Validation scripts were not updating values properly. This has been corrected. (Introduced: 4.6.4.31)
FIXED: Customer Overview: Resizing the different grouped areas in the layout should be easier now.
FIXED: EDI Service: Application date will be tied to the date on the machine, rather than the date the service was installed. (Extended Module: SalesPadEDI)
FIXED: Equipment Monitor: Equipments in workflows will now show up correctly on this screen.
FIXED: Remote Library Service: Application date will be tied to the date on the machine, rather than the date the service was installed. (Extended Module: RemoteLibrary)
FIXED: Sales Batch Processing: The transfer button will properly be captioned based on security access. (Introduced: 5.1.4)
FIXED: Sales Batch Processing: The screen will no longer crash, with an "Index was out of range." error, if the refresh interval was blanked out. The work around fix is to delete the registry entry. (Introduced: 5.1.4)
FIXED: Sales Batch Processing: Users can no longer free type in the refresh interval editor. (Introduced: 5.1.4)
FIXED: Sales Document Entry: The securities, Disable Sales Document Printing For Customer On Hold and the Print Queue Access List are now properly respected. (Introduced: 5.1.4)
FIXED: Sales Document Entry: When editing a line item and tabbing through fields, while the Enable Functional Currency View setting is enabled, the focus will no longer jump the header fields. (Introduced: 5.1.4)
FIXED: Sales Monitor: Send to Batch will now create a 'Time in Queue' record showing where the document came from, where it is going, and when it arrived there.
FIXED: Shipping Review: Changes to the automatic refresh interval will now take place immediately. (Introduced: 5.1.1)
FIXED: User Field Editor: Closing the screen will no longer hard crash the application. (Introduced: 5.1.5)
FIXED: User Field Editor: When closing the screen the form will no longer be hidden behind the application. (Introduced: 5.1.5)
FIXED: Workflow Setup: Assign to Business Object: Having an apostrophe in one of the displayed fields will no longer result in an 'Incorrect syntax' error when trying to assign that business object to a workflow.
FIXED: Workflow Setup: Assign to Business Object: The 'Entered Queue' field will display its values correctly.

Version 5.1.5
Release Date 1/15/21

ADDED: Import Manager: There is now a splitter.
ADDED: Inventory Analysis: The time range is now remembered in the registry.
ADDED:ADDED: Remote Library: Support for ShipCenter endpoints. (ShipCenter: 1.2.0.31)
ADDED: Pacejet: There are now two extended modules for integrating with Pacejet. SalesPad.Module.Pacejet introduces two sales document plugins for creating shipments and quotes in Pacejet. SalesPad.Module.Pacejet.AutomationAgent introduces three automation agent tasks for syncing shipment and quote information from Pacejet to SalesPad.
ADDED: Settings: Customer Contact Options: Address Classification List: The semicolon delimited list of values for address classifications. Defaults to 'Residential; Commercial'.
ADDED: Settings: Dispatch Calendar Options: Recurring Route Stop Appointment Status: The appointment status to use for route stops that belong to a Recurring route and not any One Time routes. This item has no default value. (Extended Module: Dispatch)
ADDED: Setting: Dispatch Calendar Options: Recurring Route Stop Appointment Type: The appointment type to use for route stops that belong to a Recurring route and not any One Time routes. This item has no default value. (Extended Module: Dispatch)
ADDED: Setting: Dispatch Calendar Options: Show Recurring Route Stops: If set to 'True', routes that use the 'Recurring' type will display all recurrences of all of their route stops. Defaults to 'False'. (Extended Module: Dispatch)

UPDATED: Contacts: There is now a 'Classification' field for specifying whether an address corresponds to a residential, commercial, or other type of address. This field is hidden by default.
UPDATED: Currency: Currency information from the 'Currency Setup' screen in Dynamics GP is now cached. This means that the currency information loads faster, but changes to currency setup in Dynamics GP will not be reflected until logging out and back into SalesPad.
UPDATED: Import Manager: The Toolbars are now themed properly.
UPDATED: Inventory Analysis: The Toolbars are now themed properly.
UPDATED: Inventory Transfers: The Toolbars are now themed properly.
UPDATED: Item Maintenance: There is now a 'Dimension Units' field for specifying units for each item's height, length, and width. This field is hidden by default.
UPDATED: Layout Maintenance: The Toolbars are now themed properly.
UPDATED: Note Shortcut Maintenance: The Toolbars are now themed properly.
UPDATED: Package Template Setup: The Toolbars are now themed properly.
UPDATED: Payment Processor Setup: The Toolbars are now themed properly.
UPDATED: Purchase Order: The "sppPurchaseOrder_Connector_PostUpdate" SQL procedure will now be called when creating a purchase order from a sales document.
UPDATED: Quick Report Editor: The Toolbars are now themed properly.
UPDATED: Quick Reports: The Toolbars are now themed properly.
UPDATED: Receiving: The Toolbars are now themed properly.
UPDATED: Registry Maintenance: The Toolbars are now themed properly.
UPDATED: Resource Migrator: The Toolbars are now themed properly.
UPDATED: SMTP Setup: The Toolbars are now themed properly.
UPDATED: Sales Document Setup: The Toolbars are now themed properly.
UPDATED: Sales Document Setup: The Toolbars are now themed properly.
UPDATED: Sales Document Workflow Rule Setup: The Enable button is now in the Toolbar.
UPDATED: Sales Document Workflow Rule Setup: The Toolbars are now themed properly.
UPDATED: Sales Document Workflow Setup: The Toolbars are now themed properly.
UPDATED: Sales Documents: Addresses: There is now a 'Classification' field for specifying whether the sales document's ship to address corresponds to a residential, commercial, or other type of address. This field is hidden by default.
UPDATED: Sales Documents: Shipment: Tracking numbers in the 'Tracking' column can now be clicked on to open the tracking number in a web browser.
UPDATED: Sales Documents: Tracking Numbers: Tracking numbers can now be clicked on to open the tracking number in a web browser.
UPDATED: Sales Transfers: The Toolbars are now themed properly.
UPDATED: SalesPad Today: The Toolbars are now themed properly.
UPDATED: Smart Printing Maintenance: The Toolbars are now themed properly.
UPDATED: User Field Editor: The Toolbars are now themed properly.
UPDATED: Workflow Monitors: All Workflow Monitor Toolbars are now themed properly.
UPDATED: Workflow Setup: The Toolbars are now themed properly.

FIXED: Application: Some forms that have not yet been fully themed will have the text on some buttons show as black for better readability.
FIXED: Application: The yellow information bar throughout the application will now show the text as black for all themes for better readability.
FIXED: AvaTax: Void Deleted Documents: Deleting documents will now properly void the transaction record in Avalara's records.
FIXED: Cross/UpSell: Fixed padding on UI for a cleaner look. Removed the ability to customize the layout.
FIXED: Cross/UpSell: Plugin icons will correctly appear.
FIXED: Customer: When the 'Default Customer Email Address' setting is set, there is no longer a null reference exception when emailing a customer that does not have that address specified. (Introduced: 4.6.2.1)
FIXED: PayFabric: Deposits on orders that have been transferred to invoice can no longer be partially credited.
FIXED: Quick Report Editor: When the monitor DPI is higher than 100%, opening the Quick Report Editor will no longer error out.
FIXED: Receipt Entry: Receipt lines will no longer duplicate on historical receipts if Landed Cost was used.
FIXED: Receipt Transaction Line Selector: Receipt lines will no longer duplicate if Landed Cost was used on the Receipt.
FIXED: Sales Batch Processing: Selecting a batch with an ' in its name will not give an "Incorrect syntax" error.
FIXED: Sales Document Resources: Downloading a resource with the extension in the filename will no longer duplicate the extension in the resulting file.
FIXED: Smart Printing Maintenance: The layout is no longer customizable.
FIXED: Workflow Rules: The layout is no longer customizable.

Choose files or drag and drop files
Was this article helpful?
Yes
No
  1. SalesPad Support

  2. Posted
  3. Updated

Comments