I have been wondering for a while, why two settings for CiviContribute did never have any effect on the created financial transactions:
Always post to Accounts Receivable?
Enable Deferred Revenue?
Since I am beginning to become more familiar with Civi, I tried to dig a bit deeper into the internals of the system, and I might have found the cause.
In general, all settings for all components are stored in the table civicrm_setting, one row per setting.
BUT: There is one exception. All settings for CiviContribute get stored combined within one single row. Looking into the source code, all relevant settings are then pulled out of this single row. And this is also true for the read access to the two settings I mentioned above.
HOWEVER: It seems that when the settings of these two entries get stored, they are indeed written in distinct rows within the settings table. This would be ok for all other settings, except those for CiviContribute. While the system tries to read the (non existing) values out of the combined row, it always assumes, those values have never been set.
I manually fiddled with this ominous CiviContribute data row and placed a value for deferred_revenue_enabled==true:
and voila, now the expected financial transactions all get generated.
I would like to ask some of the more experienced CiviCRM guys to have a look at this phenomenon, since I am not quite sure yet about the correct way for a bug report.
(My current version of Civi is 5.13.2 in combination with Wordpress 5.2, but this bug exists already for some time, at least since 5.11.)