Acctivate Version 12
Version 12.1
Android Inventory Counts, Business Activity Manager, Customer Transactions tab, Store Custom Reports in the Acctivate database, and update Inventory Adjustment, Balance Adjustment, Issue, and Transfer data entry grids.
12.1 sp1
Version 12.1 sp1 was made generally available on August 24, 2023 (Build 6526)
⭐ = Features and improvements
Configuration
- Fix an issue where default reports were not assigned for sales, inventory, and purchasing forms after creating a new Acctivate company.
Create Company
- Fix the error "Execute with results failed for Database..." that would occur when creating an Acctivate company in an empty database that had been previously created.
- Fix an issue where creating a new Acctivate company for QuickBooks Desktop would result in an "Out of memory RAM..." error message.
Customer
- Fix the error "Incorrect syntax near the keyword 'ORDER'." that would occur when opening the Customer List as a user that has the "View Invoices" permission set to "Not Allowed".
General
- When attempting to save an address that has one or more lines that are too long, a message will be displayed indicating which address lines exceed the line length. After dismissing the message box, the Edit Address Info will appear so that the address can be corrected.
Installation
- Fix the error "Error running database update: Error running post-upgrade script" that would occur when updating Acctivate to version 12.1 from a version prior to 11.0.
Inventory
- Fix an issue where selecting a blank location in the From location field of the the Enter Inventory Transfer window would result in the field error "Unable to cast object of type 'System.DBNull' to type 'System.String'."
Inventory Adjustment
- Fix an issue where posting a Balance Adjustment of a lot/serial numbered product that doesn't use Actual cost method would be blocked with the message "Product...cannot have a lot number because it does not use Actual costing.", even though a lot number was not selected.
Inventory Transfer
- Fix an issue where the To Location field in the Enter Transfers window would show "System.Data.DataRowView" rather than the selected location.
Landed Cost
- Improve the speed of the LotSerialInventory data view and post Landed Cost and Receipt transactions in batches rather than keeping a SQL transaction open until the entire session has posted. These changes prevent large Landed Cost and Receipt transactions from impacting other workstations during posting.
Lookup
- Make a change to the Lookup window that should prevent the error "Cannot find column..." that could occasionally occur.
- Fix the error "Invalid column name 'Assembly Product'." that could occur when opening the "Choose Inventory Transaction" window from the Enter Landed Cost window.
Mobile
- ⭐ In Acctivate for Windows Mobile, when opening and submitting an existing assembly session for a lot or serial controlled assembly product, the "Save assemblies?" screen will now allow entering in a lot or serial number for the assembly product.
- Fix an issue in the Android Count module where products that were added to a count sheet then deleted from the count sheet still appeared in the count sheet on desktop after the count was submitted.
Product
- Fix the error "Invalid column name 'GUIDSalesperson'" that would occur on the Product Transactions tab for users with "Restrict Access by Salesperson" permission.
- Add an index to tbPicklistDetailLot that speeds up the LotSerialInventory view when there are picklists.
Reports
- Fix an issue where standard reports may be slow to load. Also, disable the "Verify on First Refresh" report option in Crystal Reports and set the default printer for standard reports to "No printer".
- Fix an issue where report filters added to standard reports would be deleted after an upgrade.
- Fix an issue where the standard reports in a newly created Acctivate company would be missing their report selection prompts.
Sales Order
- Prevent the error "Application uses a value of the wrong type for the current operation." that might occur when invoicing a sales order with an address line longer than 41 characters. If a shipment is being created with the invoice, and if the address is too long, a message will appear explaining that the address must be corrected on the sales order before the invoice and shipment can be created."
- Fix an issue where non-standard lines ("N" line type) on a sales order would be deleted when a shipping charge was added in the Create Invoice window.
- Fix the error "Closing delimiter not found for the string..." that would occur when creating an invoice for a sales order that has a single quote in the Order Number field and the sales option "Use Order Number as Invoice Number" is enabled.
Sales Order Import
- In the Sales Order import, remove UTF8 BOF (Beginning Of File) characters that may appear next to the first column heading. This fixes an issue where the exclusion or inclusion of these characters, due to how the source file was created, may require re-mapping if the Sales Order Import template was or was not expecting them.
Synchronization
- Fix the error "Column 'DiscountAmount' does not belong to table." that would occur in QuickBooks Online companies when syncing an invoice with a line level discount.
- Fix an issue where the Billing and Shipping addresses for an invoice could be switched after a sync with QuickBooks Online.
12.1
Version 12.1 was made generally available on July 13, 2023 (Build 6518)
Business Activity
- ⭐ When copying a Business Activity, you will now have the option to copy the Time and Materials entries from the original Activity to the new Activity.
- ⭐ Add the Business Activity Manager.
- Fix an issue where deleting a Material line from a Business Activity and then adding a new Material line would cause a loop of errors that would require closing Acctivate.
- Fix an issue that prevented the Business Activity form from printing if there were no Related Items.
Configuration
- ⭐ New Acctivate companies with Acctivate Mobile will have "Picked" configured as the default workflow status for a submitted sales order.
- ⭐ Move the report configuration out of the Configuration Manager and into a standalone Report Catalog window which is accessible by selecting Manage Reports in the the Acctivate File menu.
Custom Fields
- ⭐ Add support for the keyboard shortcuts Ctrl+C and Ctrl+V to copy and paste into the Custom Field's Name field.
Customer
- ⭐ Add a Transactions tab to the Customer List which includes all open customer activity, orders, accounts receivable transactions, and product history. The Transactions tab includes the ability to hide/show certain columns and perform advanced filtering.
Data Presentation
- ⭐ When opening the List windows, the Timeline will load separately in the background. This allows readily available information to be viewed without having to wait for the Timeline to complete loading.
- ⭐ In the Transactions tab of the Customer and Product List, when scrolling horizontally, the left most columns that are frozen will be given a shaded edge to better illustrate that other columns are scrolling behind the fixed columns.
Database Maintenance
- Make changes and increase the timeout period of the database verify step to prevent a SQL timeout from occurring.
- When sending or closing an email message window which was created from a report preview, the email will be saved to the document window from which the preview was generated, if it supports saving emails. E.g., previewing a report from the Enter Sales Order window and then emailing from the report preview will save the email message to the Enter Sales Order window's Email tab. If the preview was generated from a window that does not support saving emails, e.g., the Report Catalog, and the message is sent or the window is closed, the user will be asked if they want to save the email. To save, you must choose which document to link it to, or cancel the save which closes the window.
Installation
- ⭐ New installations of Acctivate will install Microsoft SQL Server 2022 Express.
- ⭐ Install Crystal Reports runtime 13.0 sp33.
Inventory
- ⭐ Add Not Allowed, View Only, or Maintain user permissions for each type of inventory transaction.
- ⭐ Improve the layout and presentation of the Transaction List window.
- Fix an issue where the error message that would displayed when posting an inventory transaction that would cause a lot/serial number to go into the negative would include all lot/serial lines. Now it only shows the lot/serial numbers that caused the error.
- When selecting a lot/serial number in an inventory transaction, the location will default to the product's primary location if the lot/serial number is stocked in it. Otherwise, the location will default to the last location that the lot/serial number was added into.
Inventory Adjustment
- ⭐ Update the Enter Inventory Adjustment window's data entry grid to a single line grid with configurable columns.
- ⭐ Update the Enter Inventory Balance Adjustment window's data entry grid to a single line grid with configurable columns.
Inventory Assembly
- ⭐ Add "Assembly Workflow Status" as a filter to the Transactions list window.
- ⭐ Split assembly transactions will now have the parent assembly session displayed in the Transactions list window.
Inventory Issue
- ⭐ Update the Enter Inventory Issue window's data entry grid to a single line grid with configurable columns.
Inventory Transfer
- ⭐ Update the Enter Inventory Transfer window's data entry grid to a single line grid with configurable columns.
Lookup
- ⭐ The lookup window that opens when using the Landed Cost window's Load Items button will now display the assembly workflow status of Assembly transactions.
Mobile
- ⭐ Add Inventory Counts module to the Acctivate Android app.
- Fix an issue where an inventory receipt for a purchase order may appear blank or have missing lines on Acctivate mobile if the product had been renamed after it was added to the related purchase order.
- Fix the error "Nullable object must have a value." that may occur when trying to update printer assignment in the Acctivate Mobile web service page.
Notes
- ⭐ Add a "Create Note" action to the Purchase Order Manager and Sales Order Manager windows. The entered note will apply to all selected orders.
Payment
- ⭐ Allow voiding payments entered in Acctivate if the payment has not been included in a QuickBooks Online deposit.
Product
- ⭐ Convert the Product List Transaction tab's filters to lists.
- ⭐ On Product Lists Transactions tab, show some quantities as dashes when they're not applicable due to the transaction type or status.
- Remove the mobile option "Ship Complete Lots" option from the Edit Product window. The options was legacy and replaced by the Mobile Order Picking option "Pick full lot quantity".
- Fix an issue where the LotSerialInventory database view would not show a location if the last transaction to add the lot/serial number was a credit memo.
- Fix an issue where the Product List's Transactions tab may list a WIP session multiple times.
Purchasing
- Fix an issue where PO lines for products that are not inventoried, and therefore cannot be received on a purchase order, would show an outstanding quantity in various places in Acctivate after the PO was invoiced in full. Now, PO lines that can't be received will show an outstanding quantity that represents the quantity that has yet to be invoiced on a PO.
- In the Purchase Order Manager window, PO lines that can't be received will not be considered when calculating the Percent Received value. This fixes an issue where an PO may not show as fully received even though all the inventoried products have been received.
- Add a database index to prevent a query timeout from occurring when voiding a Purchase Invoice.
Reports
- ⭐ Custom Reports are now stored in the Acctivate database. When Acctivate is upgraded, the CustomReports folder will be renamed to CustomReports_Legacy and will no longer be used.
- ⭐ When previewing a report from a window associated with only one record, such as the Enter Sales Order window, the Group Tree in the report preview window will be collapsed. Other reports, which may include multiple groups, will continue to preview with the Group Tree displayed by default. In both instance, the Group Tree can be toggled to show or hide as necessary for the current preview.
- ⭐ When checking a report out of Acctivate using the "Check out report" button, the report will be saved with the SQL Server and database connection info.
- Fix an issue where custom fields set up in the Configuration Manager were not available as a Selection Prompt for reports.
- Add Alternate Customer ID, Marketing Code, and Web address data fields to the QuickBooks Edition of the Customer Information report.
Sales Order
- ⭐ When a new invoice with a valid contact email is created in Acctivate and synchronized to a QuickBooks Online company integrated with QuickBooks Merchant Services (QBMS), the invoice link generated by QBMS will be stored in the Acctivate database. This allows creating message templates with the "Invoice Link" field so that customers can pay their invoice online.
- ⭐ When canceling orders using the Sales Order Manager, you will now be given the opportunity to enter a "Reason for lot business". The selected reason and description will be applied to all the selected orders.
- ⭐ In the Sales List, change some of the filter criteria entry boxes to lookups/dropdowns.
- When resetting the scheduled quantities on an order in a Shipped workflow status, the workflow status will be updated to the default workflow status for the Scheduled action in the Order Options section of Configuration Manager.
- Fix the error "Run-time error '3001'" that would occur when using the Tab key to move out of the discount field and into the Tax field in the Enter Sales Order window.
- Fix an issue where a sales order may display the wrong tax category for a customer if the customer's location was assigned a tax category that is no longer active. Now, the sales order will default to the customer locations' tax category even if it's not active. Instead, the customer should be updated to have an active tax category.
Sales Tax
- ⭐ Add an option in the Avalara configuration window to enable logging of Avalara calls.
- ⭐ Add support for Avalara's AvaTax REST API.
Synchronization
- Fix an issue where Acctivate invoice discounts weren't syncing to QuickBooks Online.
User Interface
- ⭐ Update all Acctivate windows to only show the Save and Undo icons when the window is in Edit mode.
- ⭐ Support using the left and right keyboard buttons to change the What's New slides. Pressing escape (Esc) on the keyboard will close the What's New window.
Web Store
- Fix the error "Could not sync customer to QuickBooks; it couldn't be found in the Acctivate Database" that would occur when creating customer during the web store sync.
Version 12.0
QuickBooks Online integration, Purchase Order Manager, Product List Transactions tab, Picklist improvements, Microsoft 365 email integration
12.0 sp3
Version 12.0 sp3 was made generally available on June 7, 2023 (Build 6477)
Create Company
- Fix an issue where using the tab key in a grid in the Create Company wizard would change the selected field, but the selected field would not be editable unless clicked in.
Customer
- When entering a new contact in the Edit Customer window, the Contact ID will now be required. If a Contact ID is entered before a name, the Contact ID will populate the Name field and vice-a-versa. Also, include an on-screen tip for how to add a contact if none exist for the customer.
- In the right hand sidebar of the Customer List, change the sorting for the Recent Invoices so that the three most recent invoices, based on invoice date, are shown. Also, show the invoice date rather than the due date.
Import
- ⭐ In the import utilities, the preview of the data to be imported will only be refreshed if the source file's file path or worksheet has been changed, or if the "First row of spreadsheet contains field names" option has been changed. This prevents the source file from being re-loaded each time a column is mapped.
- Fix an issue where QuickBooks Online UK companies did not have the option to map a purchase tax code in the Product Import window.
- Fix an issue in VAT companies where the Ship To Tax Code would not be assigned to the Ship To location when creating a a customer using the Customer Import. Also fix the alignment of the Tax Code label in the Edit Customer window.
Installation
- Provide a user friendly message when error code 0x80070020 is encountered during an install. Error code 0x80070020 is a sharing violation that may be caused by install files in the Update folder being in use by someone else. Waiting for the files to no longer be in use, or restarting may resolve the error.
- Change the message that is displayed when CLR Functions are not found in the database. The message will now say "The database must be updated in order to continue." rather than the incorrect message "A new version of Acctivate has been installed and the database must be updated."
Inventory
- Fix the error "Failed to convert parameter value from a Tuple`2 to a Guid." that may occur when posting inventory transactions.
Landed Cost
- Fix an issue where a run-time error may occur when setting the Tax Code in the Enter Landed Cost window of a VAT-tax QuickBooks Online company.
Login
- Fix an inaccurate message that would appear when a system administrator would attempt to log into Acctivate with an incorrect password after installing an update that requires a database verify. Rather than the message telling the user that their password was incorrect, it would tell the user that they must login as an admin user. Now, the correct message will be displayed.
Lookup
- ⭐ Display the availability of kit products in the Product Lookup window. Kit availability is calculated as the total number of kits that can be made based on the availability of components used in the kit.
Mobile
- When picking Picklists using Android Mobile, Picklists are marked as being picked by another user, but still in the status of "Ready to Pick" will display in the list of Picklist available to pick. This addresses a workflow where one user may print a picklist from the Desktop version of Acctivate for another user to pick on mobile.
- Fix error "Receipt session could not be posted due to exception: System.NullReferenceException: Object reference not set to an instance of an object." that would occur when posting an inventory receipt using Acctivate Mobile.
- Fix a bug where transfer detail notes entered in the Android Acctivate Mobile app would not get saved when the transfer was submitted.
Payment
- Fix an issue where the Unapplied field at the bottom of the Enter Payment window would not show after saving a payment with an unapplied amount.
- Fix the error "The source contains no DataRows." that would occur when processing a payment using Authorize.net in the Enter Payment window without apply the payment to any invoices.
- Fix an issue where the "A/R Account" field would unnecessary show when opening the Enter Payment window for the first time.
- In QuickBooks Online companies, the Payment Method field in the Enter Payment window will be locked if the payment has been included in a QuickBooks Online Deposit.
Product
- ⭐ Display the availability of kit products in the Inventory tab of the Product List. Kit availability is calculated as the total number of kits that can be made based on the availability of components used in the kit.
- Adding a kit as a component of itself will be blocked in the Edit Product window and in the Product Components Import. If a kit is detected as a component of itself in the Product Components import, that component row will not be imported in and it will be logged in the import exception file.
- Change the LotSerialInventory data view to filter on posted transactions. This improves the speed of queries using the LotSerialInventory view, preventing timeouts from occurring.
Purchasing
- Prevent purchase invoices from being created with a date that falls in a QuickBooks closed accounting period.
- Fix an issue where voiding a purchase invoice may result in an "Execution Timeout Expired..." error.
- When creating a Special Order PO, the purchase unit will now default to the sales order unit. This fixes an issue where Special Order POs would use the sales order's price unit.
Sales Order
- ⭐ Display the availability of kit products in the warehouse dropdown and substitutions window of the Enter Sales Order window. Kit availability is calculated as the total number of kits that can be made based on the availability of components used in the kit.
- ⭐ Allow users to change the workflow status of a sales order/quote/credit memo in the Enter Sales Order/Quote/Credit Memo and Order Manager windows when the "Change Workflow Status" permission is set to "Yes" but "Customer Order/Quote/Credit Memo" is set to "No".
- Fix a bug where lot/serial records on a credit memo would not have their warehouse location updated when the credit memo line's warehouse changed. Now, if the credit memo line's warehouse changes after lot/serial records have been entered then the locations will be updated to the primary warehouse location for the new warehouse. Also, update the informational message that appears when attempting to create an invoice or credit with too many or too few lot/serial records selected.
- Fix the error "Sort order cannot be applied." that would occur when opening the Enter Lots window of the Enter Sales Order window after sorting lot numbers by the Specification field on the Lots tab of the Edit Product window.
Sales Tax
- Fix an issue where inactive tax rates were being included in Tax Categories of QuickBooks Online companies.
Shipping
- Fix an issue where verbose logs were not saved when orders were exported to ShipStation. Now, when the verbose log option for the ShipStation integration is enabled, the export request and response files will be saved in the ShipWorkstation log directory.
- Fix an issue where switching between cartons in the Package Shipments window would cause the last entered weight to be copied to the other cartons viewed before saving.
Synchronization
- ⭐ If a payment's related customer or invoice hasn't synchronized with QuickBooks Online yet, then the payment will be unable to sync. The sync log message that explains this scenario has been improved.
- ⭐ In QuickBooks Online, if the vendor or amount of an Acctivate-created bill changes a sync warning will be logged and the vendor bill will be changed back so that it matches Acctivate.
- ⭐ Support current versions of Reckon accounting software by changing the supported version of the Reckon and Intuit SDKs to version 6.0 or greater.
- When creating invoices from the Sales Order Manager in a QuickBooks Online company, a single cost of goods sold journal will be created at the end of the invoice creation process rather than after each invoice. This improves the speed of invoicing multiple orders at once.
- In companies connected to QuickBooks Online, customers with a balance cannot be made inactive; they will be reactivated automatically when saving. If the customer does not have a balance and is made inactive in Acctivate, the Customer name will update to match the Customer display name in QuickBooks Online; e.g., "Some customer (deleted)".
- Add an index to tbINVTransationDetail to speed up the journal creation process to help prevent the journal sync error "Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding." Also, increase the journal creation timeout period in QuickBooks Online companies.
- Fix the QuickBooks Online sync error "Column 'GUIDCustomer' is read only." that would occur when the customer on a payment was changed in QuickBooks Online. Now, changes to the payment's customer or any other payment field will sync back to Acctivate.
- In QuickBooks Online companies, Tax Categories include the active tax rates. Now, if there are duplicate tax rates from QuickBooks Online's Automated Sales Tax engine, the other duplicate(s) will be made inactive and the most recently created tax rate will be used in Acctivate's Tax Category.
- Fix an issue where a new customer created in QuickBooks may get deleted from QuickBooks by sync instead of the customer being created in Acctivate.
- Fix the sync error "Column 'CustID' does not belong to table." that may occur when syncing customers with QuickBooks Online.
- Fix an issue where the Bill To and Ship To addresses were reversed on Acctivate invoices synchronized to QuickBooks Online.
- Truncate any credit card name longer than 50 characters that syncs from QuickBooks Online. This fixes the error "Cannot set column '~CCName'. The value violates the MaxLength limit of this column."
User Interface
- Fix an issue where right-clicking in the Enter Sales Order window's grid and selecting Restore Settings would not restore the grid columns to their original settings. This also fixes an issue where certain column positions may not be remembered.
Web Store
- ⭐ If an error occurs when the web store sync is set to auto-sync on an interval, the web store sync will now retry at the next scheduled sync time.
- ⭐ When an order contains a product with product options, Shift4Shop sends the product and product options as a single line item with the primary product and options delimited by a pipe character. An option, "Split product options into one detail per product", has been added to the Shift4Shop integration which separates the options to their own order detail lines.
- When exporting shipments to eBay, a shipment will not be exported if none of the shipment's items have a WebOrderLineID. The WebOrderLineID is the eBay line identifier and sending lines that did not originate from eBay may result in the order being marked as sold but not Shipped.
- Remove legacy web store options from the Shopify and BigCommerce web store connectors. Notably, The invoiced quantities, or packaged quantities if Packaging Manager is used, will be the quantities sent to Shopify. Other options which are not supported have been removed.
- Improve the query used to retrieve shipment information for web store sync. Also, increase the timeout period to five minutes. These changes should help prevent the error "Execution Timeout Expired." that could occur during web store shipment exports. Also, fix an issue where the inventory export timestamp may not get updated if the shipment portion of the web store sync fails. Previously, a failed shipment export could cause the web store sync to unnecessarily re-sync some product's availability.
- An Acctivate product's GUIDProduct will be stored in the tbImportSKU table as a secondary lookup other than SKU for a BigCommerce Product/Variant ID. If a Product ID is renamed in Acctivate and the SKU in Big Commerce has not been updated to match yet, the GUIDProduct will be used as a secondary look up to find the inventory availability.
- Fix an issue where changing the customer on sales order that was imported from a web store would cause the GUIDTemplate and WebCustomerID in tbOrders to be overwritten with the new customer's values from tbCustomerInfo.
12.0 sp2
Version 12.0 sp2 was made generally available on April 27, 2023 (Build 6469)
Business Activity
- Fix an issue where entering a Product ID in the Material tab of the Enter Business Activity window would cause the window to flash repeatedly before, preventing additional user input until the flashing stopped.
- Fix an issue where Acctivate would close with "Run-time error '94': Invalid Use of null" when the Product ID field on the Material tab of the Enter Business Activity window was set to a blank value.
Configuration
- Remove the minimize and maximize buttons from the Configuration Manager window.
- Remove the Ship To Tax Category default for new customers from the Configuration Manager in VAT companies since it is not used.
- Increase email fields up to 253 characters for QuickBooks Desktop and 100 characters for QuickBooks Online.
Create Company
- Fix a bug in the QuickBooks Desktop Create Company wizard where returning back to the Create Acctivate Company screen would not re-sync information from QuickBooks, such as GL accounts added after the Create Company wizard had been started.
- Fix an issue in the QuickBooks Desktop Create Company sync where credit memos that have been applied to invoices in QuickBooks would not be imported into Acctivate applied to their linked invoices.
- Fix an issue where Create Company import would fail with the error "Object reference not set to an instance of an object." during the Creating branches step if an Accounts Receivable account does not exist in QuickBooks Online. Instead, a message box will be displayed with the required action to take in order to continue with the import.
- Fix an issue where products imported from QuickBooks Online during the Create Company import did not have their tax code assigned.
- In the QuickBooks Online create company, set the Product Class grid's max column lengths to match the database fields column length. This prevents an exception error and data being truncated due to the entered data being too long.
- Fix a bug where non-inventoried, service, and bundle products created from the QuickBooks Online create company import would have the cost method of "Average", which was invalid. Instead, these item types will be imported with the cost method of "None".
- Fix a bug where service products in QuickBooks Online would be created in Acctivate as non-inventoried item types rather than Labor item types during the create company import.
- When creating a Production Acctivate Company, regardless of the the "Import items from QuickBooks" option's setting, inventoried items will be deactivated and their on hand quantities set to zero. Any other items types that are selected for deactivation will also be deactivated. This fixes an issue where items that are not imported from Acctivate would remain as active in QuickBooks Online for Production Acctivate companies.
- Fix an issue where all VAT tax codes where treated as taxable in QuickBooks Online. If a tax code has a 0% rate, or all the tax codes in a group are 0%, then the tax code or group will be considered non-taxable.
- Fix the error "The given key was not present in the dictionary." that would occur when performing create company against a non-US QuickBooks Online company.
Customer
- Fix error "Row handle referred to a deleted row or a row marked for deletion." that would occur when saving a customer after deleting a customer contract.
Data Presentation
- Fix an issue where list custom fields may show in the List windows as "AcctivateUI.CustomFieldInfo" rather than the custom field's list value.
- Fix an issue where the Gmail or Microsoft Office 365 email refresh token would be cleared if a change was made to the user.
Installation
- ⭐ The last screen of the Acctivate installer will display a reminder message about installing the Acctivate Mobile update if an Acctivate Mobile web service URL exists in the web service section of the Configuration Manager.
Inventory Issue
- Fix error "Column 'Quantity' is read only." that would occur when posting a draft Inventory Issue transaction in the Transaction List.
Landed Cost
- Improve the speed of posting Landed Cost sessions from a workstation and make changes that prevent Acctivate from locking up while voiding inventory sessions.
License
- Fix an issue where the Acctivate installer may return "Invalid License Signature in Acctivate Database" if the Acctivate license contains an apostrophe.
Mobile
- Fix the error "Invalid Input: Quantity exceeds quantity to be picked." that would occur in the Acctivate Android Order Picking module when picking a lot/serial product that was sold in a unit other than the stocking unit.
- Fix an issue where Acctivate Mobile may crash when a Zebra Android device that doesn't support the GS1 Data Matrix symbology scans a GS1 Data Matrix symbol.
Payment
- When entering a payment in the Enter Payment window for a customer that does not have a default branch, and more than one accounts receivable account exists, the AR Account drop down will be visible so that the payment can be associated with the correct AR account. This fixes an issue where some payments were not associated with an A/R account until they have been synchronized to QuickBooks.
- When using Authorize.net to process a payment that is applied to more than one invoice then the list of invoices, the amount applied, and payment discounts given will be itemized in the Authorize.net Transaction Detail report.
- When opening the Enter Payment window, if not active A/R accounts are found display a user friendly message rather than the exception error "InvalidArgument=Value of '0' is not valid for 'SelectedIndex'. Parameter name: SelectedIndex".
- In QuickBooks Online Acctivate companies, increase the Name on Card and Name on Account fields for payments to be 50 characters.
Product
- Hide the list price from the Product List and Sales Info card if the user's Product Price permission is set to Not Allowed.
- Fix an issue where the Unit of Measure card in the Product List may not show the table of unit factors for the product if there is only one related unit.
Purchasing
- ⭐ Modify the Sales Order field of the Purchase Order Manager so that it shows the related sales order number for Special Order and Drop Ship purchase orders. If more than one related sales order exists for a Special Order, then the Sales Order field will display the count of related order; e.g., "3 Orders".
- ⭐ In the Purchase Order Manager, remove the Ship Name, Ship Attention, and Ship Address columns from the Open, Entered, Request For Quote, Pending Approval, and Special Order buttons. Also, remove the Sales Order column from all but the Special Order and Drop Ship buttons.
- Fix an issue where the Requested By field in the Purchase Order Manager window always appeared blank.
Reports
- Fix a permission issue with the standard report directory that prevented report thumbnail previews from appearing in the Reports window in Acctivate.
Sales Order
- Fix an issue where lot or serial numbers created from a credit memo could not be selected in sales or inventory transactions.
- Fix an issue where the Customer Timeline may not reflect changes to an invoice balance after a payment had been applied.
- Fix the error "Cannot resolve the collation conflict between "Latin1_General_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation." that would occur due to different SQL collation settings between the company database and the temporary database used in the lot query.
- Fix issue where all QuickBooks Desktop tax items and tax group may appear in the Enter Sales Order window. Only tax groups and tax items that are not in a tax group should appear.
- Ensure that exceptions that occur during invoicing are displayed in the exceptions error window rather than a message box.
Shipping
- ⭐ When exporting orders to ShipStation, if the ship to address line 1 in Acctivate matches the Ship Attention field, then the Company field in ShipStation will be left blank. If address line 1 is different than the Ship Attention field, then address line 1 will be sent as the Company. Also, add default Ship Attention mappings to web stores that did not already have one.
- If a shipment for an EDI sales order has not yet been exported in an 856 transaction file then the user will not be prompted with the "Re-Export EDI Advance Ship Notice (ASN)?" message.
- If a sales order is completed, the workflow status will remain as Completed when the sales order's related shipment has its status is set to Shipped.
- Fix an issue where Acctivate would crash with a "Run-time error '91'" error if the Inner Pack field label was clicked in the Package Shipments window.
- When packaging products using the Product text box of the Packaging Manager window, display a message window when all items have been packaged.
- Fix various issues relating to the creation and packaging of shipments including a "Division by zero" error that would occur when creating shipments containing kits, items being duplicated in a carton when editing and saving a shipment, "Key is not unique in collection" error that would occur when packing items that were split on a picklist, and address scenarios that could result in incorrect quantities appearing in the Packaging Manager. Also, improve the Package Shipment experience by removing unnecessary prompts relating to inner/outer pack and weight and change the shipment's status to Packaged when all items have been packed.
- Fix an issue where typing a carton number in the Carton drop-down of the Package Shipments window would not result in that carton being displayed. Instead, the carton that is being viewed will be refreshed as each key-press occurs.
- When creating shipments from the Enter Sales Order window, Acctivate will first check to see if an open shipment already exist. If so, that shipment will be opened. If no open shipment exists, a new shipment will be created.
- Revert created shipments and packages if a SQL Timeout occurs during the package creation process. This prevent duplicate packages from being created after a SQL Timeout.
Synchronization
- ⭐ Improve the QuickBooks Online sync log information by removing the exception stack trace part of the message and including information about which record is encountering the error.
- When syncing data with QuickBooks, all control characters except CR and LF will be replaced with a space. This prevents one of the causes of the sync error "There has been an internal error when processing the request".
- Add support for changes in QuickBooks Online to certain header fields of an Acctivate-created invoice. Changes to an invoices sales tax amount will result in a sync warning, but the invoice in Acctivate will be updated. Change to the Terms code, Due date, QuickBooks Online Class, and Tax category (QuickBooks Online tax rate) in QuickBooks Online will not log a sync warning, but will update the invoice in Acctivate. Changes to line items, the invoice customer, and invoice date in QuickBooks Online will result in a sync warning and those changes will be reverted so that the invoice in QuickBooks Online matches Acctivate.
- Fix the sync error "GUIDCustomer System.Data.ReadOnlyException: Column 'GUIDCustomer' is read only." that would occur when the customer is changed on an invoice in QuickBooks Online.
- Fix the QuickBooks Online sync error "Amount is not equal to UnitPrice * Qty" that would occur when an invoice line discount was given in Acctivate. Now, Acctivate will compute the Rate on the invoice line as the invoice line amount divided by the invoiced qty.
- Fix the Purchase Invoice sync error "All items need a tax rate. Please add one where it's missing." that would occur in VAT QuickBooks Online companies.
- Fix the customer sync error "Details: Invalid Number..." that may occur in VAT QuickBooks Online companies.
- QuickBooks Online only allows tracking numbers up to 31 characters. If the tracking number entered in Acctivate is longer than 31 characters then only the first 31 characters will sent to QuickBooks Online. This fixes the QuickBooks Online Invoice sync error "String length specified does not match the supported length. Min:0 Max:31 supported."
- Implement a change to prevent multiple workstation from performing a QuickBooks Online background sync at the same time. If a new workstation has assumed the background sync role, a message will be logged and the other background sync will be stopped.
- In QuickBooks Online companies, increase the length of the PO Invoice number field to 21 characters to match QuickBooks Online. This fixes the PO Invoice sync error "Cannot set column 'InvoiceNumber'. The value violates the MaxLength limit of this column".
User Interface
- ⭐ When logging into Acctivate for the first time after a new install, the main Acctivate window, Business Alerts, Sales Order Manager, Purchase Order Manager, Business Activity Manager, Service Scheduling, and Report Preview windows will open maximized. Any changes to those window sizes will be retained and used upon subsequent logins.
Web Store
- Shopify requires that shipped quantities be integers. If the shipped quantity is a decimal number (e.g., 12.5), the quantity will be rounded up in the Shopify shipment export. This resolves the error "{'errors':{'quantity':'expected Float to be a Integer'}}".
- Fix Native web store sync error "System.InvalidCastException: Operator '<>' is not defined for string " and type 'DBNull'." that could occur if the imported web order does not have a WebOrderNumber mapped and the Export Shipments option is enabled.
- Fix the exception error "System.Data.DeletedRowInaccessibleException: Deleted row information cannot be accessed through the row." that could occur when exporting shipments to a web store.
12.0 sp1
Version 12.0 sp1 was made generally available on March 14, 2023 (Build 6455)
Create Company
- Fix the error "Acctivate error (91:0x5B) Object variable or With block variable not set" that would occur during the customer import portion of the Create Company process. The error is caused customer ship to addresses that have no "name" (i.e., Location ID). Instead, those locations will be ignore during the import.
Custom Fields
- Fix a bug where control characters such as Ctrl+C (copy) and Ctrl+V (paste) wouldn't work in numeric custom fields. If a non-numeric value is pasted into a numeric custom field, the value will be cleared when saving the related record.
Customer
- Fix an issue where QuickBooks Desktop Acctivate companies could receive the error "Could not get Intuit access token: HTTP 400: {"error":"invalid_request"}" when opening a customer.
Data Presentation
- Fix issue where deleted product warehouses would continue to show in the Inventory tab of the Product List.
- Fix an issue where the Transactions List would cause Acctivate to not respond when viewing a transaction with a large number of detail lines. Also, fix an issue where the "Draft" text may be hidden behind transaction lines.
EDI
- Prevent errors from occurring when opening the Process EDI window by ensuring that EDI partner mailbox paths are constructed and formatted properly when used by Acctivate.
- Fix an issue where the Connect button for Microsoft 365 in the user section of the Configuration Manager could incorrectly be displayed as "Disconnect" even though the user's Microsoft 365 account had not been connected.
General
- Attempt to prevent the the error "Cannot access the Acctivate data directory. Your system administrator must add permissions…" that may occur when launching Acctivate when an antivirus program is scanning the AcctivateData directory. To test that the workstation has access to the AcctivateData directory, a temporary file is created in the AcctivateData folder and then deleted by the workstation. If the file is being scanned by an antivirus program the delete may fail, causing the error. Instead, Acctivate will retry the deletion three times before reporting an error.
Installation
- When performing an Acctivate installation, a different message will be shown if the AcctivateData directory is not accessible versus an Acct.ini file not being present in the AcctivateData directory. This fixes an issue where an ambiguous message was displayed when the installer could not complete.
- Fix an issue where the /layout command line option would upgrade Acctivate rather than generate an offline copy of the Acctivate installation files.
Inventory
- Fix the color theme of the Void Inventory Session window to match the theme used throughout Acctivate.
Mobile
- When transferring lot/serial products using the Android Transfer module, the lot/serial number's total transfer quantity will be compared against the lot/serial number's quantity on hand to prevent over selecting of a lot/serial number.
- When picking lot/serial products using the Android Order Picking module, the lot/serial number's total transfer quantity will be compared against the lot/serial number's quantity on hand to prevent over selecting of a lot/serial number.
- In Android Sales Order picking, when attempting to over pick an order line, a warning sound will occur and a message stating that the quantity picked cannot exceed the quantity to pick. The qty will then revert to the quantity picked.
- In the Acctivate app for Android, on screen messages that auto hide will now stay visible on screen for six seconds, however tapping the message will dismiss it sooner. Previously, these messages would stay on screen for only one second which was too brief in most cases.
- Make changes to the audible feedback in the Acctivate Android app so that they are more consistent. Warning messages, such as the message "The quantity ordered of product 'SomeProduct' has already been fulfilled", will play three ascending tones. Error messages, such as "Product not found", will play a harsher sound. If the error is related to missing or invalid barcode information, the error sound will play and the barcode info screen will display in an attempt to give more context to the error.
- Fix "Invalid value for Sql parameter" error that would occur when using the product lookup in Acctivate on Windows Mobile devices.
- Fix an issue where it wasn't possible to enter a decimal point in some of the weight and quantity fields of order picking, picklist picking, inventory receipts, and inventory transfers on Acctivate Mobile for Android.
- In Android Sales Order picking, if a lot/serial barcode is scanned while in the Add/Edit Lot # window and the line has its full qty already picked, the scanned lot/serial number is added and the qty is changed to zero. Previously, these zero qty lot/serial lines would get added to the order. Now, when the Add/Edit Lot # window is closed the zero qty lot/serial numbers will not be added.
Payment
- When processing an Authorize.net payment for multiple invoices, the invoice numbers will be transmitted with a quantity of one and the invoice's total amount will be sent as the Unit Price/Item Total, rather than sending $1 as a placeholder amount.
- When creating a payment from the Enter Sales Order window, the cursor will start in the Payment Amount field of the Enter Payment window. When typing or looking up a customer, the cursor will move to the Payment Amount field after the customer is found.
- Fix an issue in QuickBooks Online Acctivate companies where payments created in a model company would get deleted.
Product
- ⭐ Create a new data view, ProductUnitFactor, which includes the unit factor relationship between a product's stocking unit and its primary sales, purchasing, and packaging units.
- Fix "Sort order cannot be applied" error that would occur when viewing the Lot/Serial tab of the Edit Product window.
- Increase the performance of product related queries by removing the Unit, UnitFactor, FactorBasis, Basis fields from the Product view for the product's sales, purchasing, and packaging units. These fields were added in 12.0, but resulted in a decrease of the Product view's performance. Also, add the NOEXPAND table hint to the ProductWarehouseSummary data view, where necessary, to ensure its indexed views are used to maximize the data view's performance.
- Add an index to increase the performance of the LotSerialInventory data view to and prevent time outs when viewing the lot/serial tab of the Edit Product window and Product List.
Sales Order
- Fix the error "Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record." that may occur when viewing an invoice in the Customer Invoice / Credit memo window.
- Fix an issue where the Tax field in the Customer Invoice / Credit Memo would appear blank.
- When cancelling a quote, the workflow status will be set to Cancelled. This prevents the error "Cannot set workflow status on Quotes."
- Fix issue where lot or serial numbers could not be viewed and selected in the Enter Credit memo window.
Sales Tax
- In QuickBooks Online US Acctivate companies, only sync the Tax and Non tax codes. This prevents the sync error "Valid line TaxCodes for US should be TAX or NON." that would occur when an unsupported tax code was made available in Acctivate.
Shipping
- ShipStation requires the qty to ship be an integer, therefore scheduled sales order quantities that include decimal will be rounded up to the nearest integer. This fixes an issue where the error "The request is invalid. Could not convert string to integer" would be returned when orders are sent to ShipStation.
Synchronization
- Disable the QuickBooks Online background sync for Model companies.
- Fix an issue where applying a payment to a journal in QuickBooks Online would cause the journal to have double its amount in Acctivate. Also, support has been added to sync charges from QuickBooks online during the background sync.
- Increase the max length of tbCharge.RefNumber to 21, to match QuickBooks Online's Journal no. field length. This resolves the QuickBooks Online sync error "Cannot set column 'RefNumber'. The value violates the MaxLength limit of this column."
- Support syncing customer refund checks from QuickBooks Online to Acctivate.
- Fix a problem where payments in a QuickBooks Online Acctivate company may have been re-synced from Acctivate to QuickBooks Online after upgrading to version 12.0. Instead, Acctivate will perform a one time sync of payments from QuickBooks Online to Acctivate to ensure all payments have the most up to date information in Acctivate.
- Don't attempt to sync $0 payments that aren't linked to any other transaction in a QuickBooks Online Acctivate companies. This resolves the QuickBooks Online sync error "Business Validation Error: Enter a transaction amount to continue."
- Add support for syncing QuickBooks Online check transactions that are related to a customer. This fixes the sync warning "A payment line for payment 0adddc33-9248-4a95-95e8-a2f8c652c89b is linked to an unsupported transaction type Check".
- Increase the max length of tbActivityLog.Reference to 500 characters. This prevents the error "String or binary data would be truncated in table 'Acctivate$AdvancedQuickBooks Online.dbo.tbActivityLog', column 'Reference'." that would occur when saving a customer ID that is over 200 characters in length in QuickBooks Online Acctivate companies.
- When the invoice date of an Acctivate invoice is changed in QuickBooks Online, the sync will display a warning message that the date has changed and the invoice date will be reverted back to match the Acctivate invoice date. This fixes an issue where the sync error "System.NullReferenceException: Object reference not set to an instance of an object." would be returned instead of the warning.
Web Store
- If none of the order lines in a shipment are associated with BigCommerce order lines, then the shipment information will not be sent to BigCommerce; instead, a message will be logged. This avoids BigCommerce rejecting the shipment with the error "BigCommerce returned HTTP Status 400: Bad Request. The required field 'items' was not supplied."
- When syncing with WooCommerce, if the web server returns a 5xx http status then the sync will pause ten seconds and retry again, up to four more times. This prevents the sync from abruptly ending due to intermittent web server issues.
- When a "502 Bad Gateway cloudflare" error is returned by WooCommerce the sync will pause ten seconds and retry again, up to four more times. This prevents the sync from abruptly ending due to intermittent web server issues.
- Fix an issue which caused the order fulfillment lines sent to Shopify to be empty, which Shopify interprets as the entire order being fulfilled. Now, only the fulfilled items and quantities will be sent to Shopify.
- In BigCommerce V2 web stores, if the web store option "Export Carrier when exporting shipments" is enabled, a shipment's carrier will be exported as tracking_carrier to BigCommerce instead of shipping_provider. tracking_carrier supports a multitude of carriers, whereas shipping_provider only supports shipping service providers.
- When the web store sync looks for orders pending redaction, it will not consider open Business Activities related to the customer but not related to the sales order. I.e., Acctivate will redact sales orders that have their directly related records completed (i.e., the order has no open invoice, Business Activities, Shipments, etc.), but if a customer has open Business Activities not related to the order, it will not prevent the completed order from being redacted. Redaction will occur in batches of up to 100 after each web store sync.
- Fix a bug where the web store sync error "HTTP Status 400: Bad Request" returned by WooCommerce wasn't being treated as a warning as intended. This error is commonly due to the Web Order Number field on the Sales Order not corresponding to a WooCommerce Order ID. Instead, the warning "WooCommerce reported invalid order id: xxxx (Subdocument 'shipment')" will be returned and the sync will continue.
12.0
Version 12.0 was made generally available on January 30, 2023 (Build 6444)
Business Activity
- ⭐ Add support for multiple forms/reports for Business Activities. Reports assigned the Document Type "Business Activity Form" will be available to print from the Activities List, Enter Business Activity window, or Reports → Business Activity → Forms.
Configuration
- ⭐ Allow editing the Branch ID of an existing Branch.
- ⭐ Copy warehouse GL accounts when copying an existing warehouse in the Create Company wizard or in the Configuration Manager.
Create Company
- ⭐ As part of the Create Company process, the Acctivate GUIDProduct will be recorded with the QuickBooks Item name in the table [tmpQBProd].
- Fix an issue where choosing the Create Company option "Preserve Item Hierarchy when generating Acctivate Product IDs" while also importing in sales orders from QuickBooks would cause the orders to be imported with non-standard lines rather than linking to the related Acctivate product.
Customer
- In the CYMA edition of Acctivate, block changing the accounts receivable account of a Branch if there are customers or invoices that use that Branch. If customers should be using a new A/R account, then a new Branch can be created.
Data Presentation
- ⭐ Add the ability to print inventory transactions from the Transactions List.
- In the Product List filter window, rather than show filter values by their short code, display the filter value's description.
- Display the full transaction type description rather than the abbreviated transaction code in the Transaction list filter window. For example, the Transaction Type filter will now show "Receipt" rather than "R".
Database Maintenance
- Fix issue where the Database Maintenance window would close with the error "Run-time error '6': Overflow" when maximizing the Backup/Restore window within a maximized Database Maintenance window.
- Improve the speed of a database update by batching insert scripts into groups of 100 to minimize the number of database calls that need to be made.
- ⭐ Add support for sending email using Microsoft 365's REST API.
- Fix an issue where the save/undo buttons weren't enabled when using the Insert Field button to insert a field into a message template.
General
- ⭐ Add "Close All" function to the Window menu in Acctivate. When selected, all open windows in Acctivate will be closed.
- ⭐ If Acctivate's data directory permission check fails due to an error Acctivate will attempt to show more information on why the permission check failed.
Import
- ⭐ Add the ability to import in a location's position using the Warehouse Locations import. A position is the footprint in the warehouse the extends vertically and is occupied by multiple locations.
- ⭐ In the Customer section of a customer import and the Order section of a web store import, allow mapping either a salesperson's name or salesperson ID for the Salesperson field.
- ⭐ Add a "Skip import validation step" option to the data imports. When unchecked (default), a data validation step will occur which allows reviewing errors and editing certain data fields prior to import. When checked, the data validation step will be skipped, however invalid data will still be rejected and the user will be given the opportunity to save failed import data in a spreadsheet for re-importing.
- In the Ship To section of a customer import and the Detail section of a web store import, allow mapping either a warehouse description or warehouse ID for the Warehouse field.
- When an Inventory Receipt import template has the option "Post transactions" enabled and the receipt can't be posted due to duplicate serial numbers, a user friendly message will be displayed which includes information about the Product ID and duplicate serial numbers and the receipt session will not be created.
- If a product is serial numbered, but doesn't use the Actual cost method, the Balanced Adjustment import would incorrectly give an error that the "Quantity must be 1, 0, or -1 for serial numbered products". Now, the import will not give the error, however a Balance Adjustment for a serial numbered product must be for the total on hand quantity as of the transaction date; only the value can be changed. This matches the behavior of the Enter Balance Adjustment window.
- If a product is being created by the Product import and the item type is Inventoried or Special Order Only, require that a warehouse be provided.
- When updating a product's bill of materials using the Product import, the validation that occurs now mimics the validation that occurs within the Edit Product window. This fixes an issue where the Product Import may unnecessarily block the updating of a product's bill of materials with the message "Assembly Type: Cannot change assembly type because the product is referenced by a sales order."
- Fix the scenario that caused the error "InventoryControlType: Control Type is required" by removing the check for a mapped Control Type when using the import to update other fields of an existing product.
- If a product is lot numbered, but doesn't use the Actual cost method, the Balanced Adjustment import would incorrectly give the error "LotNumber: Lot/Serial number is required." Now, the import will not give the error since a Balance Adjustment for a lot numbered product must be for the total on hand quantity. For products configured this way, the quantity or lot number fields should either not be mapped or, if they are mapped, should not contain any values. Only the unit cost or value can be changed for these types of products.
- When importing inventory transfers, the stocking unit will be used if a unit is not mapped. When importing in inventory receipts, the stocking unit will be used if a PO number isn't mapped. If a PO number is mapped, the unit from the purchase order line will be used.
- Fix a bug where the new customer Branch default set in the Configuration Manager was not being used when creating new customers using the customer import.
- When importing a Balance Adjustment, block items that are not inventoried from being added to the transaction. If a product that is not inventoried is included in the import source file, the error "The product's Item Type must be Inventoried or Special Order Only." will be returned.
- Rename Pager and Pager Description to Other and Other Description in the customer and sales order imports.
- Prevent non-inventoried products from being imported with a List Price Type of Average Cost + Percent (C%) or Average Cost + Amount (C$).
- When updating a product's bill of materials using the Product import, the validation that occurs now mimics the validation that occurs within the Edit Product window. This fixes an issue where the Product Import may unnecessarily block the updating of a product's bill of materials with the message "Cannot change assembly type because the product has inventory transactions."
- When performing a product import the Control Type will be validated. This fixes an issue where products that aren't inventoried could be created with a Lot Numbered, Serial Numbered, or Numbered when invoiced Control Type.
- When using the Product import to update a product's item type, check to see if the product has existing transactions before allowing the change.
- When attempting to update a product's control type using the Product import, you will no longer be blocked from making the change due to the product being a component as long as the product does not have transactions and the new control type is valid.
Inventory
- ⭐ Use indexed data views to improve the performance of the ProductWarehouseSummary data view.
- Modify the UnpostedTransferLotSummary database view to filter out posted transfers transactions.
- Include Draft Inventory Transfer transactions in the LotSerialInventoryWithoutLastReceipt data view.
- Modify the LotSerialInventory data view so that intra-warehouse transfers aren't considered when determining the last posted transaction date that added quantity to the lot/serial number (i.e., LotSerialInventory.TransactionDate).
Inventory Accounting
- ⭐ When Prior Period Adjustment transactions are created, use the related receipt transaction's GUIDPODetail and PONumber. Also set the original receipt's GUIDINVTransactionDetail as the adjustment's GUIDAssociatedITD.
Inventory Assembly
- ⭐ Improve certain assembly messages by including the affected assembly transaction number.
- Fix "Object variable or With block variable not set Error" that would occur when opening the Enter Assemblies when the Windows Region settings are set to a region which has a number format where the decimal character is a comma instead of a period.
- Fix error "There are fewer columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement." that would occur when opening the Enter Assemblies when the Windows Region settings are set to a region which has a number format where the decimal character is a comma instead of a period.
Inventory Count
- When a count session is generated and multiple location control is enabled, the count session will now include lot/serial numbers that have zero on hand if it has locations that have non-zero on hand. The "Include Empty Warehouse Locations" count option will include all locations used by that lot/serial number if checked and only those with non-zero on hand if unchecked. This allow correcting bin locations with incorrect on hand quantities.
Inventory Receipt
- ⭐ Add support for multiple forms/reports for Inventory Receipts. Reports assigned the Document Type "Inventory Receipt Form" will be available to print from a Posted or Draft Inventory Receipt.
- ⭐ Allow printing the Put Away List for Inventory Receipt form for a Draft or Posted Inventory Receipt. The Put Away list can be printed from the Enter Inventory Receipts window.
Inventory Transfer
- ⭐ Create a new database view, UnpostedTransferLotLocationSummary, which includes unposted transfer records for lot/serial controlled products. The data view also includes the From warehouse location.
- Fix a bug where the UnpostedTransferLocationSummary database view would use the product's primary location rather than the unposted transfer's From location.
- Modify the Available calculation for the LotSerialLocationSummary data view. The availability for lot/serial locations is calculated by getting the quantity on hand, subtracting the quantity on open order lot/serial lines are not on an open picklist, subtracting quantities on open picklists, subtracting quantities on unposted assemblies, and subtracting quantities on unposted transfers.
- Modify the UnpostedTransferSummary database view to ignore transfer detail lines that are not associated with a transfer session.
Mobile
- ⭐ Add support for the mobile picking option "New line for each lot number scan" when Picklists are enabled. The option can be enabled in the Mobile Order Picking section of the Configuration Manager.
- ⭐ Add support for parsing GS1 encoded Data Matrix symbols on Android devices. This fixes an issue where the application identifiers were not parsed and the encoded data was interpreted as a single string of text.
- Fix error "Could not get product information InvalidCastException" that would occur in Windows Mobile when adding a product to the an order in the Order Entry module.
Product
- ⭐ Add the default Sales, Purchasing, and Packaging factor units and factor basis type (e.g., Standard, Product Specific, etc.) to the Product data view.
- ⭐ Add a Transactions tab to the Product List which includes all open, sales, purchasing, and posted inventory transactions. The Transactions tab includes the ability to hide/show certain columns and perform advanced filtering.
- ⭐ In the Edit Product window, sort the Price Category field alphanumerically.
- Return a user friendly message explaining that a lot/serial number already exists if an existing lot/serial number is being renamed to an existing lot/serial number.
- Change the query used to populate the Lots (or Serial #'s) tab of the Edit Product window to match the query used to populate the Lot/Serial tab of the Product List.
- Fix "Object variable or With block variable not set" error that would happen when creating a new FIFO product, opening additional windows, then clicking on the FIFO tab of the Edit Product window before saving the product.
- If a location has zero quantity available and on hand, then the location will not be shown in the Locations card found on the Product List's Inventory tab. However, the primary location will always be displayed.
Purchasing
- ⭐ Add the Purchase Order Manager.
- When multiple purchase invoices are created for a PO line that has inventory receipts in a closed period, first try and delete any previously prior period adjustments and create a new prior period adjustment for the sum of all prior period adjustments. If prior period adjustments can't be deleted, then a new prior period adjustment will be created for the adjustment amount of the invoice being created.
- Prevent a Purchase Order from being reverted to the Entered status if the Entered status is not enabled in the Configuration Manager.
- Block a user from reopening a Purchase Order if they do not have permission to issue POs and the default PO status is the Issued status.
- Fix issue where Acctivate may crash when Avalara address validation is configured and an invalid address is entered in the Enter Purchase Order window.
- Modify the Vendor and PO list window timelines to use the posted date for receipt and landed cost transactions. This fixes an issue where the session's created date was used rather than the posted date.
Reports
- ⭐ Add catch weights to customer facing sales order forms (Order, Pack List, Invoice). The total line weights are suppressed and could be un-suppressed if necessary.
- ⭐ Improve the Put Away List for Inventory Receipts report. If multi-location tracking is enabled then the report is sorted by the warehouse location sort order. Otherwise, the report is sorted by the receipt line location.
- Fix bug where the "Print Pack Lists for Picklists" button in the Picklist window would cause the Picklist to print. Now, the Pack List form for a Picklist is used.
- If lot/serial numbers have been pre-selected for an order, show the lot/serial warehouse location. If only some, or none, of the lot/serial numbers have been selected then show the location from the sales order line as a reference for the picker.
Sales Order
- ⭐ Allow filtering on a sales order's Marketing Code in the Sales Order Manager window.
- ⭐ Add a "Shipment Due Date" field to the Sales Order Manager which corresponds to the Promised Ship date if set; otherwise, it's the customer's Requested Ship date.
- ⭐ Add the Last Shipment Date field to the Sales Order Manager window as an optional column.
- ⭐ Add the Web Order Number field to the Sales Order Manager window as an optional column.
- ⭐ Add the individual ship to and sold to address lines to the Sales Order Manager as optional columns.
- ⭐ Add a Line Count field to the Sales Order Manager window as an optional column. Line Count represents the number of order lines (excluding components).
- ⭐ Include non-inventoried products in Picklists. Non-inventoried products are tangible products that still need to be picked, but their inventory and locations are not tracked in Acctivate.
- ⭐ Add the Amount Paid and Payment Method fields to the Sales Order Manager window as optional columns.
- ⭐ Add the Total Amount field to the Sales Order Manager window as an optional column.
- ⭐ Add an option to control the priority of which locations are selected when creating a Picklist. "Highest available first", the default, maintains the existing behavior of selecting locations with the most availability first in order to minimize the number of locations visited. Alternatively, the option "Lowest available first"", will prioritize locations with the lowest availability, allowing you to deplete secondary/overflow locations first. When multiple locations have the same availability, the location selected will be based on the location sort order (in the Locations section of the Configuration Manager) and then by location name.
- ⭐ Allow clicking the Create Invoice button in the Enter Sales Order window while in edit mode. When clicked, the user will be asked if they want to save any changes and create the invoice. Once in the Create Invoice window, the Available Credits button will show the number of credits after any have been selected and applied to this invoice.
- Remove the minimize button from the Enter Lot/Serial window and Component window of the Enter Sales Order window since it is a modal window and you must close it in order to work with other windows. This also prevents an issue where Acctivate would crash when minimizing the lot/serial window. The window can still be maximized and restored.
- Fix an issue where a product's sales order pop-up note may not pop-up when the Product ID is typed into an order detail line rather than being added by using the Lookup window.
- When preparing shipments from an order, invoiced quantities that have not been packaged will be excluded from the quantities added to the shipment. Also, if a kit's components have already been packaged, then the parent kit item will not be included any packages created later.
- When changing a sales order's line type to Special Order (S), the line's outstanding quantity will be backordered and the warehouse will be changed to the special order warehouse associated with the order's branch, if one exists. When changing from an "S" line to a "P" line, the warehouse will be changed back to the Branch's warehouse and the line will be re-scheduled.
- When Picklists are enabled, the Enter Sales Order window's lot/serial location will not be pre-filled. When you create a Picklist, the Picklist will assign the location(s) to be picked from. If you assign a location on the lot/serial line, the Picklist will use the location provided.
- Make a correction to the message displayed when trying to update a sales order to an invalid workflow status; e.g., changing a Booked order to Ready to Pick.
- Improve the warning message that would appear when invoicing a line with no scheduled quantities. Instead of "Order A1234T has no billable lines.", the message now states "Order A1234T has no lines with a scheduled quantity." Also, this warning is no longer logged to the Acctivate Exception log.
- Increase the width of the On Hand and Available columns in the Lot/Serial selection window of the Enter Sales Order window.
- Fix label and appearance issues in the Generate Serial #s window. Also, when the Generate Serial #s window is opened it will now open centered over the Enter Lot or Serial #s window.
- Fix a bug where the Print Invoices window did not pass the invoice number range entered by a user to the report. Also fix a bug where using the "Print unprinted invoices" option may include more invoices than it should.
- Add support for typing a Tax Category in the Enter Payment window to find a match. Once a typed character results in no match, the Tax Category list will display so that a selection can be made.
- When cancelling sales order or quotes using the Sales Order Manager, change the workflow status to "Cancelled" to match the behavior that occurs when canceling a sales order from the Enter Sales Order window.
Sales Order Import
- Fix a bug where the Import Sales Order utility would freeze during the sales order import step if both a source file field and default value was mapped. Now, the import will complete and the mapped field will be used if a value exists in the file, otherwise the default value will be used.
Shipping
- When using the Package Shipment function in the Package Shipments window, kit items will be packaged rather than the components. This fixes an issue where the kit item and components would be packaged, resulting in the message "This shipment contains one or more items with shipped quantities greater than the quantity ordered.
- Fix the error "Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record." that would occur when using the Packaging Shipment button in the Package Shipments window when the shipment was created from a Picklist containing kit components.
- Fix "Object variable or With block variable not set" error that would occur when creating and packaging a shipment created from a Picklist containing kit components.
Synchronization
- ⭐ Add support for integrating Acctivate with QuickBooks Online Plus and Advanced plans in the US and non-US regions.
- ⭐ In order to construct the recommended address format in QuickBooks Online companies, the Company name field in QuickBooks Online will sync to Acctivate's Company field and address line 1 if address line 1 in Acctivate matches the Company name. If the customer doesn't have a Company name defined, then the customer's Display name will be used as address line 1 if address line 1 in Acctivate matches the customer's Display name. If Address line 1 in Acctivate doesn't match the Company or Display name in QuickBooks Online, then updates to the Company/Display name field in QuickBooks Online will not be synchronized to Address line 1 in Acctivate. Edits to Address 1 in Acctivate will never sync back to QuickBooks Online. The customer's street address 1 and 2 in QuickBooks Online will by synchronized to address 2 and 3 in Acctivate (and updates in Acctivate will sync back to QuickBooks Online with these mappings as well).
- Fix "Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record." error that would occur during the payment portion of the QuickBooks sync.
- Fix an issue that prevented changes to payments in QuickBooks Desktop from syncing back to Acctivate.
User Interface
- ⭐ Increase the height of the Sales Order and Purchase Order manager rows to match the height of the sales order and purchase order grid rows. The horizontal grid lines that separate rows have been removed as well.
- Center various pop-up windows over the window it was opened from or over the main Acctivate window. This fixes an issue where a pop-up window may open on a different monitor in multi-monitor environments.
Web Store
- Add UpdatedDate and UpdatedBy fields to tbINVRegister to record the last updated date of an inventory session and the user who performed the update. A new field, LastINVUpdatedDate, was added to the ProductAvailabilityByTemplate and ProductKitSummary views. LastINVUpdateDate is the most recent updated date from unposted assembly components and inventory transfer sessions. The LastModifiedDate from ProductAvailabilityByTemplate is used to determine which products have been updated since the last web store sync. LastModifiedDate is the most recent of LastTransactionDate, LastVoidedDate, and LastINVUpdatedDate. These changes should result in a more accurate inventory availability export to web stores.
- When the web store option "Provide confirmation before importing sales orders" is enabled, customer records will not be created until the related sales orders have actually been imported in. This fixes a bug where the customer would be created even if the import hasn't been confirmed.
- Downgrade the WooCommerce error "woocommerce_rest_shop_order_invalid_id" from a 400 Bad Request to a logged warning. This error is probably due to the Web Order Number field on the Sales Order not corresponding to a WooCommerce Order ID.
- When importing guest customers from a web store, the web order's Sold To Name will be used as the customer's Company Name, if provided. This fixes a bug where the Company Name in the Edit Customer window would always be set to the order's Customer ID.
- Fix the error "The specified key 'customer_email' does not exist in the ExpandoObject" that would occur when running a Shopify sync.