Wednesday, September 11, 2019

AX 2012 R3 - Infolog shows "Transaction date must be specified." while posting a retail statement

While posting a retail statement, an infolog pops up with the error such as "Transaction date must be specified.". On investigation using debugger, it was found that RetailTransactionIncomeExpenseTrans table contains a hidden and uneditable field called BusinessDate, which is probably fill up during the calculation of retail statements but they were not updated with value in the case. Besides in our scenario, the income/expense transaction, through P-Job were partially synced due to which payment transactions were present, but actual expense transaction were not present. So after manually running P-Job, the transactions were synced at HQ end. But we had to update the StatementId field value as per the existing Retail Statement statement in order to balance a total debit/credit amount.


The resolution to the issue, was to navigate to AOT, RetailTransactionIncomeExpenseTrans table, and located field named as BusinessDate. In the properties, set AllowEdit to Yes, and Visible to Yes as well. Then in table browser, filter by StatementID, and then fill up manually the field business date, as per original transaction date for expense transaction. Afterwards restore the two properties to original values.

Now the retail statement should post successfully.