Skip to main content

Hi Team,

We have a requirement where we want so sync some BigCommerce order details to Acumatica Sales Order User Defined Fields at the time or order import.

Can someone suggest the possible way to achieve this.

 

 

 

Thank you in advance !

Hi Vivekm,

Do I understand you right - you want to get Order Product information pushed to Acumatica Sales Order Line?

If yes, than current Entity Mapping does not allow to map Order Lines, only order header, but you can use customization. please take look here 

 


Hi @smarenich 

Thank you for the response.

Actually, here I do not want to create a new field but wants to use Sales Order header User Defined Fields to store some data.

Suppose BiCommerce order notes has some message like: “Deliver to xyz location”.

Now this BiCommerce order notes, I want to updated in one of the User Defined Fields (that will be basically a Text type Attribute) at the time of order import.


Hi Vivekm, have you tried to use entity fields import mapping? It should work with notes, and you should be able to select user defined fields in the mapping (using advanced section)

https://help-2020r2.acumatica.com/Help?ScreenId=ShowWiki&pageid=9adad7f9-2aa6-4662-b6a9-249f490f38ec


Hi @vivekm, Thanks for the question. 

You can do this from Entities(BC202000) form. I assume these UDF fields are for the entire order and not for a line item. For order import, you can choose Connector as BigCommerce and the required Store and Entity as Sales Order in the Summary Section of the entities form and then map these fields with the required field from BigCommerce in the Import Mapping tab. Off course, if needed you could even create formulas in the Source Field/Value field and select the value from UDF field combo box based on the formula’s result. The below screenshots are from 2021R1.

 

 

 


Hi @smarenich,

Sorry, I did not give you the full picture.

So, here is the additional details to initial requirement:

  • In order notes will be having multiple lines (say have 3 lines).
  • Each line represents a unique set of details about the order.

Expected Delivery Date: 04/10/2021

Expected Delivery Time: 9:00 AM CST

Delivery Location: xyz

  • Now, each line details should go to individual User Defined Fields.

Can we achieve this from entity fields import mapping ??


Vivekm,

You can try to use Substring function in the mapping. In case you have clear criteria you can do it.

If not, than you need to parse string with the code similar to my previous link.


Thanks @smarenich, will check with that.


Hi @smarenich @KarthikGajendran 

Thank you for the inputs.

We are not sure about Notes structure and the occurrence of details in the notes, as if certain data is not available to BigCommerce order that will not be the part of order notes, and in this case the mapping option will not be suitable.

Can you please suggest any option to access UDF fields to MapBucketImport() method (on BCSalesOrderProcessor graph) or Sales Order graph.

Also, can you please share a sample to use Substring function and parse string in the mappings for our knowledge base.


Hi Vivekm,

Here you can find the example of usage of custom fields during import. User defined fields are pretty the same. The difference is that you need to use the UDF field name for the FieldName here.

Related to formulas - here you can have some examples - https://help-2020r2.acumatica.com/(W(2))/Help?ScreenId=ShowWiki&pageid=06fbe8fb-26e8-42e0-a3f0-557b63887dd2


Hi @smarenich 

I tried to implement similar to custom fields but getting error like: “Field with viewname=Document and fieldname=STAFFNOTES does not exist” at the time of order import.

Please find below details for review and suggest:

  • Code Implementation.

public delegate void MapBucketImportDelegate(BCSalesOrderBucket bucket, IMappedEntity existing);
        PXOverride]
        public void MapBucketImport(BCSalesOrderBucket bucket, IMappedEntity existing, MapBucketImportDelegate baseMethod)
        {
            baseMethod(bucket, existing);         

            MappedOrder obj = bucket.Order;
            OrderData data = obj.Extern;
            SalesOrder impl = obj.Local;

            impl.Custom = new PX.Api.ContractBased.Models.CustomFieldC]
                    {
                                new CustomStringField()
                                {
                                     ViewName = "Document",
                                     FieldName = "StaffNotes", //Field name also tried as “STAFFNOTES”                                                                                             //  (AttributeID) and  as                                                                                                                             // “Staff Notes” (Attribute Description)
                                     Value = impl.Note.ValueField()

                                }
                    }.ToList();          
        }

  • Attribute used as UDF on Sales Order screen

 

  • Order Import

 


Hi Vivek,

Please try to use “AttributeSTAFFNOTES” as field name


Hi @smarenich,

The suggested modification worked as expected.

Thanks so much!


@vivekm my pleasure!


Reply