Solved

How to sync Sales Order User Defined Fields at the time of Order Import from BigCommerce to Acumatica


Userlevel 4
Badge

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 !

icon

Best answer by smarenich 5 April 2021, 15:59

View original

13 replies

Userlevel 7
Badge +3

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 

 

Userlevel 4
Badge

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.

Userlevel 7
Badge +3

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

Userlevel 7
Badge +2

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.

 

 

 

Userlevel 4
Badge

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 ??

Userlevel 7
Badge +3

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.

Userlevel 4
Badge

Thanks @smarenich, will check with that.

Userlevel 4
Badge

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.

Userlevel 7
Badge +3

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

Userlevel 4
Badge

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.CustomField[]
                    {
                                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

 

Userlevel 7
Badge +3

Hi Vivek,

Please try to use “AttributeSTAFFNOTES” as field name

Userlevel 4
Badge

Hi @smarenich,

The suggested modification worked as expected.

Thanks so much!

Userlevel 7
Badge +3

@vivekm my pleasure!

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