Acctivate Version 14
Improved Purchase Invoice entry window; new User Settings window and improved user management for system admins; autocomplete Product IDs in the Sales, Purchasing, and Inventory Transaction windows; add functions to the lists accessed from the left menu; new edit windows for managing customer Contacts and Product IDs; new edit windows for managing Product Alternate IDs, Prices, Vendors, and Warehouses; default forms and print options for inventory transactions; support for referencing customers, jobs/sub-customers, and Projects to an Inventory Issues; support for using QuickBooks Online Projects in sales transactions and Inventory Issues.
14 SP2
Version 14 Service Pack 2 is available as a preview.
⭐ = Features and improvements
Attachments
- Simplify the reconnection process to Microsoft OneDrive or SharePoint if the Microsoft access token could not be refreshed automatically due to scenarios such as password changes or multi-factor authentication policies. If the token couldn't be refreshed, a popup will appear in Acctivate with instructs for an Acctivate administrator to reconnect their Microsoft account. The admin user just needs to click Reconnect in the File Storage section of the Configuration Manager. The popup message will only be displayed once a day until the account is reconnected or disconnected.
Data Presentation
- In lists accessed from the left menu, performing an action on a record previously caused the list to reload and select the first record. Now, after a refresh, the previously selected record will remain selected, provided it still matches any active filters.
General
- Fix an issue where using Save & New (Ctrl+N) in windows for creating or editing list details, such as in the Products list, would not clear fields that support autocomplete.
Inventory
- ⭐ In the Action menu of the Transactions list, the "Delete transaction" and "Split transaction" actions are now disabled when an inventory session contains only one transaction.
- Acctivate will no longer log an unnecessary exception message when a user attempts to add a product to an inventory transaction in a warehouse where the product is not stocked.
- Fix the error "Session...is not an unposted...session." which would occur when closing the Enter Transaction window before the posted transaction report had loaded. Now, the Enter Transaction window can't be closed until the entire posting process is completed.
- Fix the error "This row has been removed from a table and does not have any data. BeginEdit() will allow creation of new data in this row." that would occur when deleting the only transaction in an inventory session from the inventory data entry windows.
Purchasing
- In the CYMA edition of Acctivate, fix an unhandled exception that would occur when attempting to open the Enter Purchase Invoice window for a PO.
- Fix the error “Data is Null. This method or property cannot be called on Null values.” that occurred when entering a Purchase Invoice with the same invoice number as an existing bill for the same vendor already entered directly in QuickBooks.
Reports
- Fix the error "Incorrect syntax near the keyword 'FROM'." that would occur when attempting to print from the Package Shipments window a carton label which was set up without the Carton Number selection prompt.
Shipping
- Fix an "Object variable or With block variable not set" error that would occur when packaging shipments from a picklist which included kit components.
- Fix an issue where shipments created from a picklist with kit components could incorrectly associate those components with other products in the Shipment window. Shipments created from a picklist now include the Kit item itself, allowing you to package either the kit or its components correctly.
Synchronization
- Fix the sync error "Deleted row information cannot be accessed through the row." that could occur during a sync with QuickBooks Online after a customer had been deleted and a sub-customer had been added or changed, even if the sub-customer wasn't related to the deleted customer.
- Workaround a scenario where QuickBooks Online may generate a journal number during sync that has already been used. In an attempt to prevent the journal from being created with a duplicate number, Acctivate will increment the QuickBooks Online generated journal number by one and compare it to the journal number managed in the Company Number section of the Configuration Manager. The higher of the two journals numbers will be used for the journal which will be resubmitted to QuickBooks Online, even if it results in a duplicate journal number.
- Increase the maximum supported journal number length to 21 characters in companies integrated with QuickBooks Online. This length matches QuickBooks Online's supported limit and prevents the sync error "Cannot set column 'RefNumber'. The value violates the MaxLength limit of this column." from occurring.
Web Store
- When the web store import creates customers and no Ship To Location ID is provided, Acctivate will now use the default Ship To Location ID defined in the Customer Options section of the Configuration Manager. During upgrade to this version, any existing locations with a blank Location ID will be assigned the default Ship To Location ID. If necessary, a number will be appended to make each Location ID unique.
- Limit the number of product and variant IDs requested from WooCommerce to prevent the sync error "The requested URL's length exceeds the capacity limit for this server." The SKU list is now capped at 100 for WooCommerce 3.0+, and 3 for earlier versions.
14 SP1
Version 14 Service Pack 1 was made generally available on August 6, 2025 (Build 6929)
Configuration
- ⭐ Add support for creating Salespersons in Acctivate companies linked to QuickBooks Online. Salespersons created in Acctivate can be used within Acctivate, but will not sync to QuickBooks Online.
- ⭐ Add a default Tax Exemption Reason to the Customer Options section of the Configuration Manager in QuickBooks Online companies with Automated Sales Tax enabled. The selected reason in this field will be automatically assigned to customers when they are created as non-taxable or changed to non-taxable status.
Create Company
- Fix the "The given key was not present in the dictionary." error that could occur when running Create Company against a VAT edition QuickBooks Online company with Tax Codes for only sales or only purchases.
Custom Fields
- Fix an issue where a Custom Field in the Configuration Manager could be saved with a name containing invalid characters. While invalid characters could not be typed directly into the Name field, they could be pasted in. Now, users cannot save a custom field unless the name contains only letters, numbers, or underscores.
- Display a user-friendly message when attempting to save a custom field in the Configuration Manager without completing required fields. This fixes an issue where exception errors would previously appear in this scenario.
Customer
- In QuickBooks Online companies, a customer will be blocked from being made inactive if it's linked to an open sales transaction, an unposted Inventory Issue, or an open Business Activity as a primary reference (in companies licensed for Service Billing). Similarly, users will be blocked from adding an inactive customer to a sales transaction, Inventory Issue, or a Business Activity as a primary related item. In the event a customer is on a sales order as an inactive customer, a user will be prompted to make the customer active when using the Create Invoice action.
- Work around re-connection issues relating to customer queries by opening a database connection when needed and then closing it after. If a network related connection error happens, the connection pool will be cleared and Acctivate will try again.
Database Maintenance
- Change Acctivate's database verify function to always refresh data views that contain "SELECT *" in its query. This resolves an issue where a view may not get updated later if an error was encountered during the upgrade process.
Inventory Assembly
- Fixed an issue in the Enter Assemblies window where the footer could obscure the vertical scroll bar and the last row of the components grid.
- Fix an issue where printing a form for a draft transaction from the Transactions list used the transaction's posted form instead of its draft form.
Inventory Count
- Fix an issue where Count sheets could not be organized by the warehouse location when multiple locations were not enabled. If multiple locations are not enabled, the product's single warehouse location can be added into the Enter Count window's grid using the Options menu.
Inventory Issue
- Fix the error "Could not find customer by GUID, GUIDCustomer: ." that could occur when adding a customer name that is 32 digits long to an Inventory Issue transaction.
Mobile
- Fix an issue where scanning a barcode in the Sales Order Picking module of Acctivate Android would not increment the picked quantity on the device.
Notes
- Fix an issue where multiple confirmation and save messages were returned when saving a note created from any of the Manager windows (i.e., Business Activity Manager, Inventory Manager, Purchase Order Manager, and Sales Order Manager).
Product
- Fix an issue where "List - Percent" and "List + Amount" Price Types were not available in the Edit Price window opened from the Products list in Acctivate companies that didn't have multi-currency enabled.
- Fix an issue where typing a Product ID and pressing Enter before the autocomplete suggestions could refresh could result in the wrong product being selected. Now, when you press Enter, the value typed in the Product ID field will be submitted.
- Prevent an OutOfMemoryException error that could occur due to large or high-resolution product images saved in Acctivate.
- Improve the performance of the queries executed when viewing lot and serial numbers by location in the Lots tab of the Products list.
Purchasing
- ⭐ When multicurrency is enabled, the Enter Purchase Order and Enter Purchase Invoice window will the vendor's currency code next to the Total amount. In VAT editions, the Purchase Tax Code can be added as an optional column in the Enter Purchase Invoice window. Also in the Enter Purchase Invoice window, add the "Prices incl tax" toggle.
- ⭐ When creating Drop Ship or Special Order POs, the purchase unit must match the sales order unit. If multiple vendor records exist for the preferred vendor, Acctivate will now attempt to select the record with the lowest price that matches the sales order unit.
- Fix an issue where Purchase Order prices were not refreshed after changing the Purchase Order's Vendor.
- Resolved an issue where tabbing through the checkbox field in the Create Reorders, Create Drop Ship/Special Order, or Create Assembly windows would automatically check the box. Now, tabbing into the checkbox field no longer selects it. Instead use the spacebar or mouse cursor to check or uncheck the box.
- Fix an issue where the visibility of optional columns in the Enter Purchase Invoice window weren't remembered.
- Fix an exception error that could occur when opening a PO which has negative, null, or missing line numbers.
- When creating a purchase invoice, if the invoice number has already been used for another PO, the user will be prompted to confirm whether they want to continue with the entered number. If the user chooses to proceed, Acctivate will sync the invoice to QuickBooks Online, even if the number duplicates an existing bill number.
- Fix an issue in the Enter Purchase Invoice window of VAT editions where changing the unit cost or amount of a Purchase Invoice line would cause VAT tax to be changed to 0.00.
Reports
- Fix an issue where customized assembly, transfer, and count forms may not be found by their respective Edit Transaction window after upgrading to version 14. Now, when upgrading from a version prior to 14 to a version after 14 (e.g., 14 sp1 or later) the custom forms will be properly updated and available to use.
- Fix the error "A boolean is required here." that would occur when generating the Inventory Detail Journal and Inventory Detail Journal By Account reports, due to a change in a fields data type. To resolve the error and maintain backwards compatibility, the data views used by the report were reverted to their original data type.
Sales Order
- ⭐ Add support for generating Picklists based on warehouse zones in addition to the standard method of creating one Picklist per warehouse.
- Fix an issue where the weight and length values on a sales order for products that are not variable weight and/or variable length would have their values overwritten when a picklist is marked as Pick Completed.
- In QuickBooks Online companies, if a customer has been made inactive the system now offers to reactivate them before voiding an invoice or credit memo, avoiding the sync error "Customer assigned to this transaction has been deleted. Before you can modify this transaction, you must restore them."
- Fix an issue where it was possible to edit or add a Drop Ship or Special Order line to an order that already contained such a line, then click the Create POs action button without saving first. This caused the newly added line to be excluded from the Create POs window. Now, users are prompted to save changes before opening the Create POs window.
- Fix an issue where creating a credit for a catch weight priced product would result in a positive credit amount rather than the negative amount showed on the Enter Credit Memo window.
- Improve the speed of the Picklist window's Lot/Serial dropdown by using the same query that is used by the Enter Sales Order window.
- In the CYMA edition of Acctivate, fix the error "Invalid column name 'GUIDTemplate'" which could occur when opening the Sales List.
Shipping
- ⭐ When sending sales orders to Pacejet for shipping, the Acctivate Warehouse ID from the order will be used as the Ship From Location Code/Facility in Pacejet.
- ⭐ When exporting sales orders to Pacejet, Acctivate combines the carrier and carrier service into a single value (e.g., "Carrier-Carrier Service") and sends it as the Ship Code Cross Reference. If a matching carrier-service combination is set up in Pacejet’s Ship Code Cross Reference, Pacejet will automatically apply the correct carrier service from the Acctivate order to the shipment.
- ⭐ If a custom product field named "CommodityName" exists, its value will be exported as the Pacejet Commodity Name when sending sales order details.
- ⭐ When sending orders to 3G Pacejet, the Reference 2 field from the Enter Sales Order window is sent as the Billing Account. This account manages the customer’s carrier billing information. Reference 2 from the Edit Customer window is automatically copied to the sales order, and the Billing Account is used by Pacejet when Third Party Billing is selected in Freight Terms.
- Fix an issue where shipments voided in Pacejet would not void the shipment in Acctivate.
- Fix an issue where ship quotes from Descartes Pacejet Shipping were not being imported into Acctivate sales orders.
Synchronization
- ⭐ When creating or editing a customer, the Customer Name will be checked against vendor, employee, and other names lists. In Acctivate companies integrated with QuickBooks Desktop, names entered as “First Last” are checked against existing customer names formatted as “Last, First”, which QuickBooks Desktop treats as equivalent.
- Resolved an issue with QuickBooks Online invoice sync where the error "The name supplied already exists. : Id=..." could occur when Acctivate attempted to create a new Product based on income and COGS account mappings. For example, when a Product Class is used on an invoice for the first time, Acctivate creates a corresponding Product in QuickBooks Online. This error indicated a name conflict with an existing Product. Now, if the names match and the income accounts are the same, Acctivate will reuse the existing Product (via ListID). Otherwise, the error message will clearly indicate the conflicting name.
- Fix the error "Could not find CreditMemo with ID..." or "Could not find Invoice with ID..." that could occur when a sales invoice or credit memo has been deleted from QuickBooks Online and is then voided in Acctivate. This error occurred because the Acctivate sync attempted to delete an invoice or credit memo that no longer existed in QuickBooks Online.
- Acctivate will now log a sync warning instead of an error when Acctivate cannot revert a change in QuickBooks due to the transaction being in a closed period. This occurs when a user edits an Acctivate-created transaction directly in QuickBooks. While Acctivate normally reverts certain changes to keep data consistent, it cannot do so for transactions in a closed period. In this case, a warning is logged instead of a sync error. The warning will remain visible in the log for a short period of time after the last successful, error-free sync for the affected section.
- Addressed the QuickBooks Online sync error: "This number has already been used. DocNumber=... is assigned to TxnType=Invoice with TxnId=...". This error occurred when an Acctivate-created invoice had the same number as an existing invoice in QuickBooks Online.
- Change how connections are created and used during sync to prevent connections from becoming broken and unrecoverable. If an exception is encountered, it will be handled so as not to crash Acctivate.
User Interface
- ⭐ Added support for using Ctrl+D to delete the current record in edit windows opened from list views (e.g., Edit Price window from the Products list). Also in these windows, show the keyboard shortcuts as a tooltip.
Web Store
- ⭐ Add a "Default discount product" mapping to the Order Import section of the Shopify web store integration, located under the Service section in Configuration Manager. This allows order-level discounts to be imported as line items on sales orders using the specified product. The designated discount product should be set up as a non-taxable Other Charge item.
- Fix an issue where the Shopify web store integration failed to import the discounted line amount. The post-discount amount from Shopify is now imported into the Acctivate line amount field.
- Fix an issue affecting web stores that sync using order number ranges (instead of date ranges) and only download one order at a time. When importing a range of orders (e.g., "100-105") via the "More Options" view in the Web Store Sync window, these connectors were only downloading the first order in the range and then stopping.
- Fix an issue where certain web store connectors, ones which download one customer at a time, downloaded customers but did not import them into Acctivate.
- Fix the error "Column 'TemplateID' does not belong to table.", which occurred when using the Query button in the Configure Web Store window to retrieve an order using the legacy Shopify connector.
- Improve the performance of the ProductAvailabilityByTemplate data view to prevent a SQL timeout from occurring during the inventory availability export portion of the web store sync.
- Fix the error "Must declare the scalar variable '@GUIDParent'..." that could occur when importing Customer:Sub-customer/job customers from a web store.
14
Version 14 was made generally available on June 6, 2025 (Build 6914)
Attachments
- ⭐ Add support for accessing the Attachments window from the Customers, Sales, Invoices, Products, Purchasing, and Activities list.
Business Activity
- ⭐ Add the ability to create Notes from the Activities list.
Configuration
- ⭐ Add a User Settings window which can be accessed from the File menu and allows users to manage their user's email settings and other preferences. Improve the layout of the Manage User section of the Configuration Manager and add support for giving full access or no access to entire permission sections.
- ⭐ Update the Configuration Manager's page labels to use Acctivate's blue color.
Customer
- ⭐ Add a Product IDs tab to the Customer list which can be used for viewing customer specific Product ID.
- ⭐ Add support for syncing QuickBooks Online Projects for use on Sales documents, Payments, and Inventory Issues.
- ⭐ Add a window for creating and editing Customer Contacts, accessible from the Create menu of the Customer window.
- ⭐ Add the Price Check button to the toolbar of the Customer list.
- ⭐ Improve the sequence and organization of the Create menu in the Customer window and Edit Customer window.
- ⭐ Add a window for creating and editing Customer Product IDs, accessible from the Create menu of the Customer list.
- Fix an issue where the "view more" link under the Bill To information in the Customers list did not show additional billing contact information.
Data Presentation
- ⭐ In the various list windows, create separate buttons for printing the default form and selecting additional forms from a menu.
- Update the Sales and Purchasing list so that the status field in the upper right matches its corresponding Enter Sales Order or Enter Purchase Order window's status.
- In the various lists, increase the timeout period for queries to be three minutes rather than the default 30 seconds. This fixes an issue where queries that return a lot of records could timeout before completing.
- Fixed an issue in various list windows where Acctivate could crash with a “System.ArgumentException: '-17 is not a valid value for property Height'” error. This occurred when the horizontal scrollbar was moved all the way to the right, causing columns to slide behind a locked column on the left, and the window was then minimized.
Database Maintenance
- Fix an issue where Acctivate's Database Verify may not free up memory after it completes.
Import
- Extend the length of tbImportSourceFile.FileName from 150 to 260 characters. This prevents Acctivate from crashing with the error "Run-time error '-2147217887 (80040e21)': Multiple-step operation generated errors. Check each status value." which would occur when saving an import template with a source file name and path that was longer than 150 characters.
Installation
- System administrators will no longer be able to rename the Logon ID "SYS" since it is required by Acctivate. Renaming it could cause the error: "Error running database update: Column 'GUIDAccess' is constrained to be unique. Value '3E74C107-FA2E-459B-B168-5C65CEF903D5' is already present." during a database update.
Inventory
- ⭐ Add all available inventory transaction functions to the Transactions list.
- ⭐ Improve the speed of deleting large unposted inventory transactions by removing the transaction header, detail information, and Business Activity link records in bulk instead of one at a time.
- ⭐ Add keyboard shortcuts for the Edit, Print, Delete Session, and Create Business Activity actions in the Transactions list window and Enter Transactions windows.
- ⭐ Change the captions in the Enter Transaction windows to be black.
- Fix an issue where Receipts and Landed Costs may still be posted when an exception is encountered during the posting process.
- Fix an issue where inventory transaction windows that were open in edit mode weren't closed when using the Close All option from the Window menu or when opening the Configuration Manager.
Inventory Assembly
- In the Create Assemblies window, fix an issue where the user would asked if they want to save when clicking Create Assemblies. Instead, if a user click Create Assemblies, any changes will be saved and only a single confirmation window will appear asking the user wishes to continue. This change also fixes an issue where the assembly creation process would continue even if the user clicked "No" when asked if they want to Save.
Inventory Issue
- ⭐ Allow referencing a Customer, Job/Sub-Customer, or Project on an Inventory Issue to support the P&L by Job or Project reports in QuickBooks.
Inventory Trace
- Modify the query used by Track & Trace to keep track of which lot or serial number records have already been checked to prevent the query from getting stuck in an endless loop.
Landed Cost
- Fix the error "Invalid column name 'Allocation'." that would occur when typing text into the "Look for" field of a Landed Cost transaction in the Transactions list.
Lookup
- ⭐ Add support for autocompleting the Product ID field in Sales, Purchasing, and Inventory entry grids, showing best matches as you type.
Product
- ⭐ Add an optional "On Hand" column to the Inventory view of the Product window’s Transactions tab which displays the running On Hand total per transaction.
- ⭐ Add a window for creating and editing Product Vendor information, accessible from the Create menu in both the Product and Vendor lists.
- ⭐ Add all remaining functions to the Product window, including a copy button, print labels button, an Action menu for changing product statuses, and support for adding attachments. Also add the ability to create product details from the Create menu, such as Alternate Product IDs, Product Prices, Substitutions, Product Vendors, and Warehouses.
- ⭐ Move the field labels of the Edit Substitutions window to be above their fields to allow for more descriptive labeling.
- ⭐ Add a window for creating and editing Product Prices, accessible from the Create menu of the Product window.
- ⭐ Add a window for creating and editing Alternate Product IDs, accessible from the Create menu of the Product window.
- ⭐ Add a new Product Warehouse window which and is accessible from the Create menu in the Product window. This window allows stocking a product in a warehouse or editing warehouse information for an existing product warehouse.
- ⭐ Add support for autocompleting the Substitution ID field of the Product Substitution window.
- Trim leading and trailing whitespace from Alternate IDs that are imported or created from the Add/Edit Alt Product IDs window.
- Fix an issue where the Vendor Name wasn't searched when using the Look for box in the Purchasing button of the Product window's Transactions tab.
- Remove columns from tbProduct and the Product data view which were never implemented. The fields removed were PriceByCategory, TaxByCategory, TaxInPrice, AllowOverride, AllowZero, CommissionType, CommPct, CommAmt, Discountable.
- Fix an issue where the Product Timeline may appear to show a blank value for the GL expense account of an Inventory Issue. The Timeline was displaying the GL account description, which may be blank. Instead, the GL account name will always be used to ensure a value is displayed.
- Fixed an issue where clicking the Assembly product link in the Name column of the Open button on the Transactions tab opened the component product instead of the parent assembly.
- Change the Vendors tab of the Products list to use Vendor as a column name, rather than Vendor ID.
Purchasing
- ⭐ Create a new and improved Enter Purchase Invoice window that provides a simpler user interface for entering vendor bills.
- ⭐ Add all available purchasing functions to the Purchasing list.
- ⭐ In the Create Drop Ship, Create Special Order, and Create Assemblies window, only apply the Create action to the rows that are checked off and visible. I.e., if rows are hidden due to the filtering text in Find search box then they are excluded. When opening the Create Drop Ship, Create Special Order, or Create Assemblies window from a Sales Order, the sales order number will prepopulated into the Find search box so that only rows associated with the order are displayed. Also, when opening these window from the Purchasing or Inventory menu, the Find search box will be unfurled rather than requiring the user to click the magnifying glass.
- ⭐ In the footer Detail tab of the Enter Purchase Order window, only fields which are not selected to be shown in the grid will be displayed. Also, the description field no longer extends the entire width of the Detail tab so that it doesn't get pushed down below the detail quantities on the right side of the tab. This allows more of the product description to be shown.
- Fix an issue where GL accounts created in QuickBooks with an apostrophe would cause the error "Incorrect syntax near..." after selecting the account when adding an expense in the Enter Purchase Invoice window.
- Fix the error "Incorrect syntax near '}'." that would occur when creating a Drop Ship PO in the CYMA Edition.
- Fix an issue in the CYMA edition of Acctivate where the PO Price and PO Amount fields may appear blank in the Create Drop Ship and Create Special Order windows.
- Fix an issue where tabbing through the grid of the Create Drop Ship, Create Special Order, and Create Assemblies window could cause the cursor to jump to the Find panel rather than the next editable field in the grid.
Reports
- ⭐ Add a configuration page for managing default inventory transaction forms and their default Print Options.
Sales Order
- ⭐ Add the ability to copy a Sales Order as a new Sales Order or Sales Quote from the Sales list.
- ⭐ Add all available sales functions to the Sales list.
- In the right side of the Sales list, display the customer and customer job/sub-customer or Project as different links.
Synchronization
- When Acctivate syncs journal entries to QuickBooks Online, it will no longer assign the journal number directly. Instead, QuickBooks Online will generate the journal number automatically. Acctivate will check that number against the journal number format defined in the Company Numbers settings. If the QuickBooks journal number matches the expected format, Acctivate will accept it and update the Next number in the sequence. If the number doesn’t match the expected format, Acctivate will overwrite it with the correct journal number based on your configuration.
- Increase the length of tbEmployee columns to match the max lengths supported by QuickBooks Online. Salutation was increased to 16 characters while FirstName, MiddleName, and LastName were increased to 100 characters. This prevents a sync error like "Cannot set column 'FirstName'. The value violates the MaxLength limit of this column."
Web Store
- ⭐ Create a new WooCommerce web store connector which is configured in the Services section of the Configuration Manager and uses WooCommerce's current APIs. The WooCommerce template in the Web Store Template window is considered legacy, as it uses deprecated APIs.
- ⭐ Create a new Shopify web store connector which is configured in the Services section of the Configuration Manager and uses Shopify's latest APIs. The Shopify template in the Web Store Template window is considered legacy, as it uses APIs which Shopify is deprecating.
- ⭐ In the ShipStation, Shopify, and WooCommerce web store integration configured in the Service section of the Configuration Manager, add an option to import sales tax into the footer of the sales order and associate it with the customer's default tax category or add tax as a line item.