Microsoft Dynamics 365 Blog

We have had several questions on how to import items/products into AX 2012.  There is a blog the development team created around calling the services needed to import those items.  In the example below we used the same code the development team used and re-wrote it so that it might look more familiar to you.  That is to say, more like how you might call other web services.  Hope this helps!

 //Example take from article

            EcoResProductServiceClient service = new EcoResProductServiceClient();
            CallContext ctx = new CallContext();
            ctx.Company = “ceu”;

            AxdEcoResProduct axdProduct = new AxdEcoResProduct();
            //first, create a distinct product
            AxdEntity_Product_EcoResDistinctProduct distinctProduct = new AxdEntity_Product_EcoResDistinctProduct();
            distinctProduct.DisplayProductNumber = “Bulb60W”;
            distinctProduct.ProductType = AxdEnum_EcoResProductType.Item;
            distinctProduct.SearchName = “Bulb60W”;
            AxdEntity_Translation tran = new AxdEntity_Translation();
            tran.LanguageId = “en-us”;
            tran.Name = “Transparent Bulb 60W”;
            distinctProduct.Translation = new AxdEntity_Translation[1] { tran };
            AxdEntity_Identifier ident = new AxdEntity_Identifier();
            ident.ProductNumber = “Bulb60W”;
            distinctProduct.Identifier = new AxdEntity_Identifier[1] {ident};

            AxdEntity_StorageDimGroup storage = new AxdEntity_StorageDimGroup();
            storage.Product = “Bulb60W”;
            storage.StorageDimensionGroup = “PG_30”;
            distinctProduct.StorageDimGroup = new AxdEntity_StorageDimGroup[1] {storage};
            AxdEntity_TrackingDimGroup tracking = new AxdEntity_TrackingDimGroup();
            tracking.Product = “Bulb60W”;
            tracking.TrackingDimensionGroup = “PG_30”;
            distinctProduct.TrackingDimGroup = new AxdEntity_TrackingDimGroup[1] {tracking};

            axdProduct.Product = new AxdEntity_Product_EcoResProduct[1] { distinctProduct };

                service.create(ctx, axdProduct);
            catch (Exception e)


            //Then, release the product by calling the ItemService
            ItemServiceClient itemService = new ItemServiceClient();
            CallContext ctx2 = new CallContext();
            ctx2.Company = “ceu”;

            AxdItem item = new AxdItem();

            AxdEntity_InventTable inventTable = new AxdEntity_InventTable();
            inventTable.ItemId = “Bulb60W”;
            inventTable.Product = “Bulb60W”;
            AxdEntity_Invent inventItem = new AxdEntity_Invent();
            inventItem.ItemId = “Bulb60W”;
            inventItem.UnitId = “Box”;
            inventTable.Invent = new AxdEntity_Invent[1] {inventItem};
            AxdEntity_Purch purchitem = new AxdEntity_Purch();
            purchitem.ItemId = “Bulb60W”;
            purchitem.UnitId = “Box”;
            inventTable.Purch = new AxdEntity_Purch[1] {purchitem};
            AxdEntity_Sales salesitem = new AxdEntity_Sales();
            salesitem.ItemId = “Bulb60W”;
            salesitem.UnitId = “Pcs”;
            inventTable.Sales = new AxdEntity_Sales[1] {salesitem};

            item.InventTable = new AxdEntity_InventTable[1] { inventTable };
                itemService.create(ctx2, item);
            catch (Exception e)


We're always looking for feedback and would like to hear from you. Please head to the Dynamics 365 Community to start a discussion, ask questions, and tell us what you think!