Acumatica Commerce Connector has two steps to identify what Inventory Item should be added to the Sales Order during the import from the Shopping Cart:
- Search by ProductID from previously synchronized products.
- Search by InventoryID in Acumatica by SKU.
In case proper Inventory Item is found, it will be added to the Sales Order Line. However, in case nothing is found, connector will throw an error.
This process can be controlled with the customization:
//BCSalesOrderProcessor is the main class that performs sales order synchronization.
public class BCSalesOrderProcessorExt : PXGraphExtension<BCSalesOrderProcessor>
{
public delegate String GetInventoryCDByExternIDDelegate(String productID, String variantID, String sku, OrdersProductsType type, out string uom);
[PXOverride]
public String GetInventoryCDByExternID(String productID, String variantID, String sku, OrdersProductsType type,
out string uom, GetInventoryCDByExternIDDelegate baseMethod)
{
//This method should identify the Inventory CD and return it back to the base code.
//Here you can control the inventory selection based on the SKU or product or variant.
return baseMethod(productID, variantID, sku, type, out uom);
}
}
For instance, you can use this approach to parse shopping card SKU and modify UOM of the item.
Please note that Shopify and BigCommerce have different processors and have to be customized individually.