DIXF: Importing Customer Entity in R2 and R3

I recently had to update some customer entities in AX2012 R2 using DIXF and ran into troubles that I knew for sure I hadn’t had with AX2012 R3:

  1. When updating the customer data through DIXF, the customer’s balance was modified, too, although the updated fields were in no way related to the Balance. Well, actually, the entire update didn’t go through, but caused an error message about a missing setup of financial dimensions. I’ve to admit that I’m quite happy I received the error message. Since it didn’t fit at all to what I intended to do, it brought me quickly to this terrible „side-effect“ that I really wouldn’t have expected.And, yes, you didn’t misread: This modification to the balance also happens if there is no information about the account’s balance in the imported data. This basically means that you’ll set the customer’s balance to 0, although you only want to update some harmless other fields … (BTW: The balance is modified by posting a free-text invoice.)

When investigating the code differences, I found not only „my“ problem, but two other „unintended features“ – one of them still „available“ in R3:

  1. (Fixed in R3): These balance postings do not only happen when importing data, but also when using the „compare entities between companies“ functionality for customer data. This means, even though you only want to find out the differences, you’ll end up modifying and „aligning“ the balances!
  2. (NOT fixed in R3): Now, with these two things fixed in R3, they went one step too far: If you really WANT to import and adjust the balance, this will now only work if the balance in the import data is <> 0. This means that you can never set the balance to zero through DIXF, even if you wanted to.

Feature #1 is the most probable one, and luckily it only needs fixing in one place. You can see this in the following screenshot – or simply compare the method between R2 and R3:

01FixIssue1

Feature #2 can similarly be fixed by taking the R3 code to R2. These required modifications are more widely spread but still are straightforward to take over from R3.

Feature #3 is not fixed in R3. For a correct implementation one would verify whether the account balance column is contained in the imported data or not.