Using the ANT migration tool I am able to port all my Standard and Custom objects except for product

My sample package.xml :


Command line log:

[sf:retrieve] Request for a retrieve submitted successfully.
[sf:retrieve] Request ID for the current retrieve task: 09S0k00*****
[sf:retrieve] Waiting for server to finish processing the request...
[sf:retrieve] Request Status: InProgress
[sf:retrieve] Request Status: InProgress
[sf:retrieve] Request Status: Succeeded
[sf:retrieve] Retrieve warnings (1):
[sf:retrieve] package.xml - Can't retrieve non-customizable CustomObject named: Product
[sf:retrieve] Finished request 09S0k00****** successfully.

Any reasons why and how I can retrieve Product?

  • 1
    Product is a very old object that was retired a long time ago but maintained for backwards compatibility.
    – sfdcfox
    Commented Nov 26, 2018 at 18:59

1 Answer 1


The API name for the Salesforce Product object is Product2. Put that in your package.xml and you should be able to retrieve the metadata.

Note that the same is true of Pricebook (Pricebook2), but not of Pricebook Entry (PricebookEntry).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .