Currently the automatic reconciliation rules in D365 can only use bank transaction code to map a line to a GL when it is marked as new. In reality most of the banks don't use the codes properly or maybe post most of the transactions under just a few basic codes. The only was to setup rules correctly was to use combination of transaction code and description of the transaction.
Solution (proven to work):
- On the "Transaction code mapping" form add a new form "Advanced rules" linked to a line in the mapping section (to a code to code mapping)
- The form contain a grid where a sequence of rules can be setup. The fields are the following:
- Sequence - sequence in the search
- Statement line filed - lookup reference to two field on the bank statement line
- Rule - lookup of two value
- Value - a text field
- Ledger account - lookup to main account plus financial dimension
- GL description - a text field
A line in this grid tells that if you find text from "Value" field in a bank transaction description then map it to the provided GL and dimension and also take the GL transaction description to use from the GL description field.
When executing the rules let the current logic run which will find the bank transaction code based on the mapping and then is an advanced rule is specified for that pair validate them and adjust the GL as needed based on the transaction description.
It is also good to have a way to setup such mapping just by description ignoring transaction codes completely.
In this way you don't need to redo an existing logic but to add an additional step at the end.
This will allow you to drastically extend the use of automatic rules. In their current state they can only do matching but fail when it comes to proper mapping of new transactions to GL.