Does anyone know what the purpose is of the order attributes "ext_customer_id" and "ext_order_id"?

The Magento code appears to introduce these attributes and they appear on each order, but never actually used.

Judging by the name, I suspect they could be used to store the values of IDs from third-party systems (i.e. "ext_" being short for "external").

My aim is that when a new order is made, a customer attribute that I introduced previously to hold a third party ID, is copied into the order object. In this way, it can be output as part of a SOAP call to retrieve the order data, so I don't have to make a separate call to fetch customer information.

Could I, therefore, put my own IDs in these attributes, or would it be more prudent to create a new attribute for this purpose, just to be on the safe side? But if it already exists, why not use it, right?

This is more of a "best practices" question so anything in that regard would be appreciated.

1 Answer 1


Yes, you are right these two fields are created to store external customer Id and external order ID. Suppose If your store integrated with some 3rd party module then you have a requirement to store your 3rd party order number and customer id into Magento database.

In short, you can use these fields to store your 3rd party data rather than creating new fields. But, If you are using some 3rd party payment module then you need to make sure then they are not using these two fields (Right now I am using 3rd party payment module for my client and they are using external order ID field to store PaymentID )

  • Do you know how i can update those fields via soap api ? Feb 14, 2018 at 9:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.