In the current Shopify connector, it doesn’t support the custom mapping in the Entity mapping screen for the Refund entity, but if you want to have some custom mappings in the Refund order, you can do it in the customization project. In this topic, I want to share how to create a custom mapping in Shopify refund entity through the customization package. You can make a mapping to the original field or custom field. I tested it in 2023R2 and it works well. Create a new customization project Create a new code file, and extend the Graph from SPRefundsProcessor. Override the method CreateRefundOrders public class SPRefundsProcessor_Extension : PXGraphExtension<PX.Commerce.Shopify.SPRefundsProcessor> { public static bool IsActive() => CommerceFeaturesHelper.ShopifyConnector; #region Event Handlers public delegate Task CreateRefundOrdersDelegate(SPRefundsBucket bucket, MappedRefunds existing, CancellationToken cancellationToken); [PXOverride] public Task CreateRefundO
In this topic, I want to share how to create a customization to export matrix item cost info to Shopify product variant. This customization can work well on 2023R2.Create a customization project Create a new code file, and extend the Graph from “PX.Commerce.Shopify.SPTemplateItemProcessor”. Select the “OVERRIDE METHOD” from the menu, and then select the Method “SaveBucketExport” from the list. Modify the code as below. Create the new instance of ProductRestDataProvider and InventoryItemRestDataProvider object Use the ProductRestDataProvider instance to get the existing Product/Product variant info from Shopify, cost info doesn’t save in Product variant object, it’s in the InventoryItem object, so we need to get the InventoryItemId from the variant object. We save the variant mapping info(ExternID is Product variant ID, LocalID is the Matrix item NoteID) in BCSyncDetails, so we can find the associated Matrix item by NoteID. All matrix items are saved in Bucket.Product.Local
When you sync Template Items to BigCommerce, the Matrix Items in TemplateItem will be mapped to product variant in BC side. If you don’t want to use the default price mapping, and want to use the specified price in Matrix item attribute instead, the following customization project can help you.public class BCTemplateItemProcessor_Extension : PXGraphExtension<BCTemplateItemProcessor> { //The code is active only if BigCommerce connector feature is enabled. public static bool IsActive() => CommerceFeaturesHelper.BigCommerceConnector; //Specify the attribut ID to get the price. protected const string AttributeId = "RTLWEBPRC"; #region Event Handlers public delegate void MapBucketExportDelegate(BCProductWithVariantEntityBucket bucket, IMappedEntity existing); [PXOverride] public void MapBucketExport(BCProductWithVariantEntityBucket bucket, IMappedEntity existing, MapBucketExportDelegate baseMethod) { baseMethod(bucket, existing); TemplateItems impl = bucket.Product?.Lo
The current Acumatica Shopify Connector doesn’t process the shipping information during Sales Order Import. But in some cases, Shopify Order will be fulfilled by other 3rd party service, and you want to import the shipping information into Acumatica Order if the order has been fulfilled. This request can be resolved by using customization project:namespace PX.Commerce.Shopify{ public class SPSalesOrderProcessor_Extension : PXGraphExtension<SPSalesOrderProcessor> { public delegate void SaveBucketImportDelegate(SPSalesOrderBucket bucket, IMappedEntity existing, String operation); [PXOverride] public virtual void SaveBucketImport(SPSalesOrderBucket bucket, IMappedEntity existing, String operation, SaveBucketImportDelegate baseMethod) { //Local is the API Object from Acumatica SalesOrder localOrder = bucket.Order.Local; //Extern is the API Object from Shopify OrderData externOrder = bucket.Order.Extern; //You can check FulfillmentStatus and Fulfillments object to ensure
Already have an account? Login
Enter your username or e-mail address. We'll send you an e-mail with instructions to reset your password.
Sorry, we're still checking this file's contents to make sure it's safe to download. Please try again in a few minutes.
Sorry, our virus scanner detected that this file isn't safe to download.