Posts tagged with: 2012

Setting up Intercompany Trade in Dynamics AX 2012

You all must be familiar with what intercompany is. Here I am going to tell about the setups that are required to run the intercompany trade and the intercompany trade process.

I will be using a scenario throughout this blog and I will map it on Contoso.

For intercompany scenario, we will be needing two companies. CEU is a company that is involved in production of finished goods and CEE is a company that sells the product to the end consumer. So in order to sell it to the end consumers, CEE has to purchase the finished goods from CEU Company.

Let’s have a look at how we can map this in AX.

The first step is to build a trading relationship between the two companies.

For this first create CEU Company as a Vendor in CEE Company.

Then create CEE Company as a Customer in CEU Company.

To set trading relationship, go to the CEE Company

Navigate to Procurement & Sourcing > Common > Vendors > All Vendors


Select CEU Vendor, click the General tab and then click Intercompany in the set up on the Action Pane




Click Trading Relationship




In Sales Relation, select CEU Company and select the Customer account that is CEE in my account



Click Activate to activate the relationship between the two companies.



This makes the relationship to be activated in both the companies,

Now to record the sales and purchases i.e. the trade between the two companies, following procedure will be followed:

An Intercompany Purchase Order will be created in CEE Company to procure Finished Goods from CEU Company

In CEE, Open Procurement and sourcing > Common > Purchase orders > All purchase orders.





Click Purchase order in the New group on the Action Pane to create a new purchase order.




In the Create purchase order form, select the CEU Vendor. Click Yes to copy the details mentioned on the vendor form to the purchase order.




Click OK, an Infolog will appear that an Intercompany Sales Order has been created.




In the Purchase Order Lines, Select the Item number and Quantity information, if required select Product Dimensions, Site and Warehouse.



Note: only Released Products can be used in intercompany orders.

After the Intercompany purchase order is created, Click Confirm on the Action Pane to save and Confirm the purchase order.





Purchase Order Status at Confirmation will be of an Open Order



Note: when the Purchase Order is Created, the Intercompany Sales Order is automatically Created in the vendor company

On Purchase Order form, in the Manage Tab, in Intercompany Tracing Click Intercompany Sales Order to view Intercompany sales order:




Sales Order form will pop up, which is the auto generated order. The Sales Order will be generated in CEU Company





To Confirm an Intercompany Sales Order, In the Sell tab of the Action Pane, click Sales Order Confirmation in the Generate group.



Click OK to generate the order confirmation.


 Note: Confirming the sales order is optional

Sales Order Status on confirmation will be of an Open Order





To generate a packing slip, In the Pick and Pack tab of the Action Pane, click Packing slip in the Generate group. The Packing slip posting form opens.




In the Posting Packing Slip form, in the Quantity field, select the All option. Select the Print Packing Slip check box to Print the packing slip and then Click OK on the Posting dialog box.



Sales order Status will now change to Delivered




Note: Sales order status will change to delivered only if the quantities on the packing slip equals the ordered quantities

On the posting of the pakcing slip, physical on-hand inventory gets reduced. But this of course depends on the setups that we have done for the item model group that we are using.

Now to generate an invoice, In the Invoice tab of the Action Pane, click Invoice in the Generate group



Note: On product receipt number and the invoice number, packing slip number will automatically get updated.

Sales Order status will now change to Invoiced



Note: Sales order Status will change to Invoiced only if the full ordered quantity is Invoiced.

Invoice form will appear, in Quantity field, select the Packing Slip option to generate invoice of the quantity mentioned in the Packing Slip and click OK.

Note: you can select other available options as well depending on your process and requirement.




Now generate product receipt to confirm that intercompany item is received in the purchasing company i.e. CEE

In the Receive tab of the Action Pane, click Product Receipts in the Generate group. The Product Receipt form opens.




In the Product receipt form, in the Quantity field, select the Ordered Quantity or any other available option according to your requirement. Select the Print Product Receipt check box to print the product receipt and then Click OK on the Posting dialog box.



Note: The packing slip number gets automatically appeared on the product receipt

When the item is received, In the Invoice tab on the Action Pane click Invoice in the Generate group





A Vendor Invoice form will appear in which Invoice Number will automatically get updated.




Click Post to post the Invoice.



Purchase Order Status will now change to Invoiced


I hope this will be useful for you, thanks for reading it.

I will get back to you with another topic soon :)


Questionnaires: How to create Questionnaires in Dynamics AX 2012

This is the second post in the series related to Questionnaires in Microsoft Dynamics AX 2012.

Questionnaires are not difficult; they are just extremely flexible. In an ERP solution, you may think that standard and/or best practices should be part and parcel; but Microsoft Dynamics AX 2012 offers some features that are not only extremely flexible, but they allow for a huge amount of creativity as well!

Do you realize that questionnaires could be used for literally anything? One such example is the little case we had talked about last time; a customer opening form. In a real life scenario, a Sales Person sends a request to an Accounts Receivables Manager to create a customer within Dynamics AX 2012. Some preliminary information is requested from this Sales Person as part of the standard operating procedures.

Let us now see how a questionnaire is formulated:

Step 1: Plan your questions for the questionnaire.

We have three questions we need to ask: Customer Name, Customer Contact Number, Payment Terms.

Step 2: Decide on the Types of Answers that will be received.

Customer Name and Customer Contact Number are simple text fields; Payment Terms would be a radio button.

Step 3: Take the “Choice” Type of questions and formulate your answer groups:

Home > Common > Questionnaires > Design > Answer Groups

Create a New Answer Group: Payment Terms

answer group

Now click on Answers and create your answer list:

We created two answers: Cash, Credit:



Step 4: Now, create your questions and select the different answer groups where applicable:

Home > Common > Questionnaires > Design > Questions


You’re almost done!

The deal with questions, answers, answer groups and questionnaires is that you create standard solutions for each and then mix and match where required. Say for example, you have several trainings or courses that your company offers. You could create questions that could be mixed/matched as necessary, on several questionnaires to assess these trainings. Makes sense?

Step 5: Now, create your questionnaire for use:

Home > Common > Questionnaires > Design > Questionnaires


Now click on Questions and add the ones that you had created in step 4.

You’re done!

I used these questionnaires in the Cases that Dynamics AX 2012 has; you could use them for any other purpose.

The above tutorial is very simplistic in nature because of the nature of the work that was needed in the questionnaires. More complicated questionnaires can be created as well to add conditional questions, scoring and evaluation criteria; but more on that later!

Was this tutorial of help? Do leave some comments in case you have any questions.



Dynamics AX 2012: Questionnaires, what are they and why you should use them

In this two part tutorial, we shall explore and evaluate the true potential of the questionnaires in AX2012. Even though Microsoft Dynamics AX 2012 offers a wide variety of mainstream features in relevant modules apt for a tier one ERP solution; some little known features can help you explore the little nooks and crannies that will make your life a little easier. One such feature is questionnaires in Dynamics AX 2012.

Questionnaires are not lengthy pages of questions that your user will have to fill out. Rather, small checklists, one off questions, evaluations, and even scripts for standardized attendance towards service can be made part of, and through questionnaires. Literally anything can be set up in this tiny function:

  1. Evaluation of a course attended by trainees
  2. Employee performance appraisals
  3. Employee satisfaction surveys
  4. Customer surveys
  5. Vendor evaluation or assessment questionnaire

When designing a questionnaire, some key elements required include:

  1. The type of questionnaire for the question – the area where this question will be used (such as employee evaluation, procurement, etc.) – questions and questionnaires are set up separately and then combined before distribution
  2. Input Type: the type of input such as integer– questions and questionnaires are set up separately and then combined before distribution
  3. Answer Groups: Answer groups are the groups based on which questions can be answered
  4. Instruction: You can guide your user to fill out questionnaires according to some specific instructions (example: script for the person who provides troubleshooting service on phone)
  5. Media Type: type of media that can be attached the question
  6. Rights: You can restrict the questionnaire to a particular group of people (Employees, Contacts – Vendor or Customer, Applicants).

Based on the results gathered, statistics can be calculated and you can generate reports for the answers received on the questionnaires.

This was a little overview on how questionnaires function in Microsoft Dynamics AX 2012. In the next blog post, we shall evaluate a little scenario where the Sales Department fills out a questionnaire for customer evaluation.

This scenario includes the following elements:

  1. New Customer Opening Request
  2. Sales Department generates request
  3. Sales Department fills out questionnaire
  4. Finance Department evaluates request and questionnaire before opening new customer.

We shall only see the questionnaire part of the above scenario.

BI Implementation in Microsoft Dynamics AX 2012 for Retail Industry – An informative webinar by Visionet on March 19, 2014

Cranbury, NJ – February 25, 2014 – Visionet Systems, Inc. is arranging an informative webinar entitled Fast Track Retail BI implementation in Dynamics AX, to take place on Wednesday, March 19, 2014 at 02:00pm EST.

This webinar will focus and elaborate on how retail organizations of all sizes can transform their businesses into a high-performance workplace with BI implementation and its rich features.

With over 37 years of experience in the Retail industry, Visionet experts will share their knowledge about BI features that assure maximum and immediate ROI along with its integration with CRM, Big Data and other syndicated sources. Attendees will also be acquainted with scenarios and strengths of the BI capabilities in Dynamics AX 2012 and the tools best suited for particular scenarios.

Register now to learn how other companies have used innovative strategies, combined with these powerful, easy-to-implement business solutions, to gain a competitive advantage, improve financial performance, and solve everyday business challenge.

Here is the link to register for this event:

About Visionet Systems, Inc.

Cranbury, NJ based – Visionet Systems, Inc. is a full-service technology consulting and business process outsourcing company. Visionet delivers software solutions, services, and technology-led BPO products, which are built on the best-of-breed philosophy to help our customers increase business agility, drive down their costs, and reduce risks. Over the years, Visionet has engineered high performing and cost-effective solutions for its customers across diverse industries including, banking, retail, insurance, distribution and manufacturing, while building deep competencies in the IT Industry. We are focused on delivering value and exceeding customer expectations. For more information, visit us online at

Calling table insert stops the AX service AX2012

Recently, I faced an issue when calling table insert from code. Every time I executed the statement table.insert() the service of dynamics AX2012 was stopped.

There may be two reasons of this issue.

1-      The RecIds of that particular table tables is getting duplicated, in case if you inserted the data to  that particular table from SQL and it picked the old RecId that are not generated by your current AOS.

2-      The table is not well synchronized.

In my case, synchronizing the table resolved the problem.

Happy DAXing!

Exchange Currency Service Provider

Exchange currency service provider is OOTB available in MS Dynamics AX and by default three AX provide three service exchange provider i.e. Central Bank of the Russian Federal, Central bank of Europe and Lithuanian Bank.

Following is the below screen for Exchange Rate provider which is Available in General Ledger Module

Path: General ledger /setup /Configure exchange rate providers

You must first set up the exchange rate provider you want to use, and AX 2012 R2 comes with 3 providers ready to use in General Ledger -> Setup -> Currency -> Configure Exchange Rate Providers:



There is reset value option also available to restore default value.

After adding exchange rate provider run this service through batch Job exchange service as shown in below screen

Path: General ledger / Periodic / Import currency exchange rates

Import currency exchange rates batch job take Exchange rate type and exchange rate provider. If exchange rate type is not created then create it from General ledger / setup / Exchange rate type.


Before going to run Currency exchange batch job, make sure that all mentioned Exchange currency must create once in exchange rate type.


Run this batch job


After running Service provider batch job see today’s exchange currency rate in General ledger / setup / Exchange rate type.


Delete All the Transactions in a Company by keeping the Master Data intact Dynamics AX

Sometimes, you may have a requirement to delete all the transactions in a company while keeping the Master data as it is.
In order to achieve this you can duplicate the company and run SysDatabaseTransDelete class, which will delete all the transactions in the related company while keep the master data intact.

1. Press Ctrl + D.
2. Open Class node in AOT.
3. Find SysDatabaseTransDelete class, right click open, it will show the related company from which you want to delete the transactions.


Note : Before performing the above steps on production please do it in test so you can come to know what exactly you achieve.

Usage Data User Specific Report Error Dynamics AX 2012

th3Sometimes, you might face the error in which some reports like “Summary trial balance” report in general ledger will not execute.

In order to resolve this error you need to delete the related records from SysLastValue table. You cannot find this table in AOT so go to SysLastValue form, open data source node, right click and browse table data.

Filter the table with the UserId who is facing the above error, the ElementName with the related element in error and the related company name.

Delete that particular record by Alt+F9 and restart the client.

You can take the backup of the SysLastValue table if you are performing the above actions in production environment.

Note : This table contains the usage data and deleting the records unnecessarily can reset the user saved settings.

Happy DAXing!

Region as an Internal Organisation

System should allow users to create Region within the internal organization hierarchy. For this we have to do some customization

First create new operating unit type element in OMOperatingUnitType base enum


OMOperatingUnitType is used in OMOperatingUnit tables so we need to Restore OMOperatingUnit tables.

Create new View which named as DimAttributeOMRegion as shown in below screen


 Create Internal Region Organization type

Organization Administration > Common > Organization > Internal Organization

Create new region from Internal Organization action pane button as shown in below screen


Click Ok


General Ledger > Setup > Financial Dimensions > Financials Dimensions

Newly created organization should appear within Financial Dimension Form and could be used throughout AX.


Customize Existing Number Sequence to Fiscal Year Number Sequence

Here we are customizing existing Number sequence and convert it in to Fiscal year number sequence Many customer demands for Purchase order creation with automatic year means how to add year to a number sequence in AX2012, e.g. to generate IDs such as 2013-xxxxx and 2014-xxxxx, that would automatically use the current year. Some people understand that number sequence scopes should allow that, but they don’t know how, from very little bit of customization we can automate purchase order number sequence with year

Customize Purchase order Number Sequence Class:

Add fiscal calendar parameter in NumberSeqModulePurchaseIOrder (LoadModule) method as shown in below screen

 datatype.addParameterType(NumberSeqParameterType::FiscalCalendarPeriod, true, true);

Load NumberSeqModulePurchaseIOrder (Load Module) method Through Job

 NumberSeqModulePurchaseOrder NumberSeqModulePurchaseOrder = new NumberSeqModulePurchaseOrder();

Before going to run the Job, Remove purchase order existing scope parameter record in NumberSequenceDatatype table, if we don’t remove previous Purchase order scope parameter record it will not effect in Segment configuration as shown below

CEU/Organization administration/Number Sequence/ Segment configuration


Add Fiscal Year Relation to PurchParamater Table:

CEU/Procurement and sourcing/procurement and Sourcing parameters


We have customized procurement and Sourcing parameters form for Purchase order Fiscal Number sequence, because we need to select which Fiscal year the purchase order is created every year.

Add fiscal year table relation to PurchParamter table


Add a fiscal year Field on Procurement and Sourcing parameters form


Customize Purchase Order Number Sequence Table (PurchParameter):

Add following code in Purchase order Number sequence Parameter table method (numRefPurchId), in this existing method we have change code according to fiscal year.

static client server NumberSequenceReference  numRefPurchId(TransDate _date = systemdateget())
   PurchParameters PurchParameters;
   NumberSeqScope  scope;

select firstOnly PurchParameters; // get Selected fiscal year in 
                                  // procurement and    Sourcing parameters Form 

   scope = NumberSeqScopeFactory::CreateDataAreaFiscalCalendarPeriodScope
                            (curext(),FiscalCalendars::findPeriodByPeriodCodeDate(FiscalCalendar::findByCalendarId(PurchParameters.FiscalCalendar).RecId, _date).RecId);

     return NumberSeqReference::findReference(extendedTypeNum(PurchId),scope);

Fiscal Year Number Sequence Configuration


General ledger -> Setup -> Fiscal calendars.

Create a new Fiscal year or use existing Fiscal year, but In our case we have created our own Fiscal year for Ten years because we need to create Purchase order automated for Ten years


If you want to add more years follow below screen.


Click the Calendar -> Calendar year -> New fiscal year button.

Change Copy from last fiscal year from ‘true’ to ‘false’.

Change Unit from ‘Months’ to ‘Years’.

Click the Create button.

Close the Fiscal calendars form.

Number sequences creation




Click Area Page node: Organization administration -> Common -> Number sequences -> Number sequences. Click the Number sequence -> New -> Number sequence button.


Change Number sequence code from ” to ‘POFiscal’.

Change Name from ” to ‘2013’.

Change Scope from ‘Shared’ to ‘Company and Fiscal calendar period’.

Change Company from ” to ‘ceu’.

Change Calendar from ” to ‘FiscalYear’.

Change Fiscal year from ” to ‘2013’.

Change Period name from ” to ‘Period 1′.



Make it very clear that we are creating PO number sequence for the year 2013 and we have to create PO number sequence again for Year 2014, 2015, 2016.xxxxxx 2023 with same Number sequence Code i.e. ‘POFiscal’  as shown in below screen for Year 2014



Creating Purchase orders:

Before going to create Purchase order make sure that Fiscal year must be selected in Procurement and sourcing Parameter form which we have customized earlier above



This selected Fiscal year must be same which we have selected in creating Purchase order Fiscal year Number Sequence.