Allow financial types to not have Expense account defined
This is a proposal for discussion and refinement.
Simplify accounting configuration to remove requirement for, and default creation of, widely unused stuff. In particular, don't require Expenses account for every financial type, nor create relations to Expense and Premium accounts by default when creating a financial type.
- Click on Administer > CiviContribute > Financial Types.
- Click Add Financial Type.
- Enter Name and click Save.
- In Financial Accounts, there are Banking Fees and Premiums accounts, which is undesirable.
- Click Accounts on the new Financial Type row.
- Beside the 'Expense Account is', click Delete, then confirm by clicking Delete again.
- Click on Contributions > New Contribution.
- Select the Financial Type created above that does not have an Expense Account set up for it anymore, fill in Contributor and Total Amount, and click Save.
- Try to edit the contribution but not in a popup, for example, go to the contact's page, right click on the edit button for the contribution and Copy Link Address, then paste address into a new tab. You'll see "Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred. One of parameters (value: ) is not of the type Integer". This is caused by missing Expense account, even though it is not needed.
On creation of Financial Type, no Expense or Premiums account relationship would be setup. On editing a contribution (with a line item) with a financial type without an Expense account relationship setup, no error would occur.
The expectation when this was implemented circa 2014 was that payment processors would all soon record banking fees. That hasn't been the case for a variety of reasons.