New
Expense Once
We are pleased to announce the addition of a new connector to Zynk, allowing integration with Expense Once (
https://www.expenseonce.com/). Currently the module allows transactional information to be exported from Expense Once, and for transactions to be notified back to Expense Once, marking those that have been successfully processed so they no longer appear in subsequent exports, or for marking those which failed to process, and optionally providing a message with the cause for the failure.
Magento V2
Import Special Prices - Added a task to allow special prices to be imported into Magento V2.
Sage Business Cloud
Export Statuses - Added a task to allow statuses to be exported from Sage Business Cloud, these are the statuses that can be used in the Status filter on the Export Sales Invoices task.
Updated
Amazon Vendor Central
Updated the SFTP host and port used by the process according to a change by Amazon.
ConnectWise
Export GL Batch - Added support for exporting customer/company/billingContact as a related record (References To Fetch).
Magento V2
Export Shipments - Added the option to Export Orders, which will include the related order information against each shipment.
Import Credit Memos - Added support for refunding orders/invoices on Magento, which is the recommended process via the Magento API documentation -
https://devdocs.magento.com/guides/v2.4/rest/tutorials/orders/order-issue-refund.html.
Import Tasks - Improved how any errors on import/update are handled, meaninf that any errors thrown by Magento make it back to Zynk, rather than resulting in generic "Failed to parse response" error.
Sage 200
Export Stock Items/Export Inventory - Added bin priority to the location information that can be exported by the tasks.
Import Despatch Notes - Added InvoiceDate to the DespatchNote object, allowing the sales invoice date to be specified in instances where Zynk is completing the sales order in Sage (i.e. printing the invoice).
Import/Update Sales Orders - Added InvoiceDate to the SalesOrder object, allowing the sales invoice date to be specified in instances where Zynk is completing the sales order in Sage (i.e. printing the invoice).
Print Invoice - Added Invoice Date property to the task, allowing the sales invoice date to be specified.
Send Integration Report
Now supports a file pattern being specified in the input file, e.g. sage_50_import_invoices*_fail.xml.
The generated report will now show the source file that the report entry was generated from.
Sage Business Cloud
Added support for 'Accountant' users, making it possible to connect as a user who has access to multiple businesses.
Export Sales Invoices - Added support for filtering by Status (see new Export Statuses task in Sage Business Cloud module).
Zynk
All Tasks - Updated the Resume logic, so that, rather than being captured in the Last Result of a Task, there is instead a boolean (true/false) property to represent this. Meaning that in instances where a failure occurs and a Workflow is resuming, the actual last result code is not lost.
Logging - Improved how internal logging is managed from within Zynk. Added a fall back to the logging so that where errors would previously interrupt the Workflow run, it will now continue and fall back to writing logs to a text file in the Logs directory.
Mappings - Added a search box to the UI which filters down the values contained in the mapping, making maintenance of mappings simpler.
Start Workflow - Only Workflows that are within the "My Workflows" directory can be run.
Fixed
HTTP Task
Fixed an issue where empty Input would cause the task to fail with the error "Parameter name: data".
Magento V2
Export Tasks - Ignore "Cannot deserialize the current json array" errors where empty arrays are returned in the data.
Import Customers - Uploading a customer containing an address ID which no longer exists would result in a "Failed to parse response" error. Improved how any import errors are logged.
Sage 50
Connection - Show V27 Sage 50 companies in the Company drop down.
Import Transactions - Previously grouping based on the PaymentReference (Ex Ref), even though this is a value at the nominal analysis (transaction split) level. Now performs grouping based on the same rules applied by the Sage 50 batch entry screen.
Sage 200
Export Stock Records (V2) - Potential issue with the same records being exported in instances where a price is updated on a product which doesn't belong to the standard or the RRP price bands.
Import Price Bands - Resolved the "Error processing price list with name 'XXX': String was not recognized as a valid Boolean." error that was occurring when adding/setting new prices.
Import Sales/Purchase Orders - If auto creating a product with no unit price, would result in a "Index (zero based) must be greater than or equal to zero and less than the size of the argument list", will now log a warning in Zynk but create the product with no price.
Import/Update Sales Orders - Now allow sales orders/returns which only contain additional charges to be automatically invoiced/printed/completed. Previously such orders would not be processed as expect by Zynk.
Import Tasks - Automatically limit decimal places being imported to the maximum supported by Sage 200, stops the "Cannot set the value of the Field (.XXX) to -0.00001" error, where XXX is the name of the field in the Sage 200 database. Previously seen when importing sales orders into Sage 200, with the error "Cannot set the value of the Field (.UnitDiscountValue) to -0.00001".
Sage Business Cloud
Connection - Error setting up connections to Sage Business Cloud. Appears to be caused by a change to the API resulting in a redirect loop.
Import Sales Invoices - Assign the customer to the sales invoice based on the customer's external_id specified in an import of that customer record via Zynk. Previously failing to find the appropriate matching customer to assign.
Send Integration Report
Fixed issues with conditions:
- Trying to use the Error as part of a condition would fail to produce expected results.
- Existing conditions would never be editable, i.e. clicking the conditions would result in the default view as when creating new conditions, meaning anything added as a condition already needed to be re-added if you needed to edit/change them
- Conditions are now linked to the field's XPath, where this was previously storing the XPath on the condition itself, meaning that if a field XPath was changed, this wasn't reflected in any underlying conditions referencing this field.
WooCommerce V3
Import Products - Fix the "Invalid parameter(s): weight (Error Code: rest_invalid_param) weight: weight is not of type string." error when attempting to set a product's weight. Caused by a change to the API by WooCommerce.
Zynk
Export Workflow Package - Fixed an issue that can occur in scenarios where global variables make use of other global variables.
Global Variables - Fixed an issue that can occur when using global variables which reference other global variables and use multiple times, can result in a stack overflow exception.
Text Editor - Ensure all standard keyboard shortcuts work (e.g. Home, End, Ctrl + Home, etc.).
Zynk Installer
Fixed a issue where the SQL CE and WebView2 components would fail to download as part of the installation.