New Features

This branch has the following features implemented: 
11843367 - Add Order.Applying and Applied events
The behavior of the custom event Order.Placed has changed. You are now required to call ApplyEdit on the order if you make any changes. This is a breaking change.
11843764 - Sync More Fields Two-Ways With ServicePro Customers and Orders
Improved syncing for Customers, Ship-Tos, and Sales Orders when using the connector sub-system for ServicePro environments.
11845345 - Upgrade Crystal Reports
Upgrades our systems to use Crystal Reports 13.31.
11846951 - Move SendEMailConfirmation From Web Down To Cart
This is a development change that leaves existing behavior unchanged for email confirmations on new orders from ecommerce and customer service. This also adds a new job "Convert a cart to an order" that allows you to process a single cart to order.
11850404 - Support Writing Credit Card Cash Receipts to Sage 100
We added the ability to capture credit cards for Sage 100 Ecommerce customers in 11846176 Auth Card In The Ecom Site And Capture When Invoiced in External ERP released in 18.1.14 when invoiced in Sage 100. This project completes the accounting loop for those transactions.
11851694 - Sage Item Extended Description Not Pushing Up To BD Correctly
Extended the item description field length throughout the system to 4096 for Sage 100 to enable support for extended descriptions. Updated the Sage connector to use the extended description, if it exists, for items, sales order lines, and invoice lines.
11852767 - Invalid Project Code Error Downloading Orders with a Job Number From Sage
This branch adds the "auto-adding" of missing projects when downloading from Sage 100. Job Number was Sage functionality that we'd missed in previous versions of the software because, until recently, none of our clients actually used it in their Sage environments.