Solved

BigCommerce non-stock item sync as physical not digital

  • 27 January 2022
  • 5 replies
  • 82 views

Userlevel 3
Badge

Hi 

 

I have non-stock template item kits set up which are picked and packed at point of order. This works great when I process the order in Acumatica.

 

When the non-stock item is pushed to BigCommerce it is allocated as a Digital item and not a Physical and therefore does not have the associated shipping process and can be ordered without the need to input an address or select shipping options. If I manually change the item in BigCommerce to Physical, the resync from Acumatica overwrites this. 

 

The non-stock items have Require Shipment flagged on them.

 

Is there a way to have non-stock items sync as Physical?

 

Many thanks 

 

Matt

icon

Best answer by smarenich 27 January 2022, 13:42

View original

5 replies

Userlevel 4
Badge

Hi @mbrown30 

The Non-stock items will be pushed to BigCommerce as a Digital items only, this is core connector behavior but we can do a customization to set this status from Digital to Physical.

We can override MapBucketExport() method and do this change there after Base method call.

Userlevel 3
Badge

Thanks Vivek

 

It would be good if the standard product looked up the Require Shipment flag for non-stock items to identify the item as Digital or Physical. 

 

I will look at doing the customisation. 

 

Thanks again for your help.

 

Matt

Userlevel 4
Badge

Hi @mbrown30 

Below is the code piece for your reference, you can try with to set Non-Stock Items as Physical on sync from Acumatica to BigCommerce:

public class KNBCNonStockItemProcessorExt : PXGraphExtension<BCNonStockItemProcessor>

{

 public delegate void MapBucketExportDelegate(BCNonStockItemEntityBucket bucket, IMappedEntity existing);
        [PXOverride]
        public void MapBucketExport(BCNonStockItemEntityBucket bucket, IMappedEntity existing, MapBucketExportDelegate baseMethod)
        {
            baseMethod(bucket, existing);

            MappedNonStockItem obj = bucket.Product;

            NonStockItem impl = obj.Local;
            ProductData data = obj.Extern;

            data.Type = ProductTypes.physical.ToEnumMemberAttrValue();             
        }

}

Userlevel 7
Badge +3

Hi @mbrown30 You can do it without customization, using the Entities Mapping window. 

Something like - ProductData | Type | Non Stock Item | =’physical’

In Acumatica 2022r1 we are making this enhancement to treat Non Stock Items that requires shipment as physical item. 

Userlevel 3
Badge

Hi @smarenich 

 

That worked perfectly, thank you and I will look at the 2022R1 Beta now. 

 

Thanks

 

Matt

Reply


About Acumatica ERP system
Acumatica Cloud ERP provides the best business management solution for transforming your company to thrive in the new digital economy. Built on a future-proof platform with open architecture for rapid integrations, scalability, and ease of use, Acumatica delivers unparalleled value to small and midmarket organizations. Connected Business. Delivered.
© 2008 — 2024  Acumatica, Inc. All rights reserved