Skip to end of metadata
Go to start of metadata

Use Case

In 4.0, when you create a Contribution Type you can optionally manually enter an Accounting Code.

The Accounting Code is presumably the "Income" account for the relevant Contribution Type.

In 3.2, a Financial Account was introduced into the database, so that you can separately identify Financial Accounts and record payments against Financial Accounts through the financial_trxn and entity_financial_trxn tables.

Currently there is no admin interface to the financial_accounts table.

In 4.1 there should be a new CiviAccounts section on the Administer menu, and beneath that a Financial Accounts menu item that lets you add and edit Financial Accounts.

The Financial Accounts will be of a type Income / Expense / Asset / Liability and enable you to optionally manually enter an Accounting Code like you currently do on the Contribution Type page.

The Contribution Type page should then be updated so that instead of optionally entering an "Accounting Code", you select an "Income Account" from a drop down list of the "Financial Accounts" with type "Income".  There should be a default "General Income" account created when you install CiviCRM that all "Contribution Types" have as their "Income Account".

The Upgrade script should create the "General Income"  Financial Account and allocate it to any "Contribution Types" that do not have an Accounting Code, and create separate Financial Accounts for each Accounting Code used in a Contribution Type as "<<Accounting Code>> Account", with the Accounting Code moved to that Financial Account.  The user can then choose to go the Financial Accounts admin page to rename the Financial Account to something more user friendly if they wish.

In future releases, there could be an ability to set the "Accounts Receivable Account", "Credits/Refunds Account" and/or "Refund Liability Account" for the "Contribution Type".

It is proposed that "Contribution Type" be renamed "Financial Type" so that it can apply more generically across Price Set line items, Memberships, Events etc.

Data Model

The contribution_type table should be changed to financial_type (work had been done to change references to contribution_type to financial_account - these should be updated to refer to financial_type)

The entity_financial_account table should be created, to link a financial_type to a financial_account - the ENUM in the 0.10.3 model could be changed to refer to an Option List item - with the only one currently being "Income Account" - being a reserved option.

A default financial_account of the Income type should be created.

Whenever a financial_type is created, it should use the default Income financial_account for the "Income Account" of the financial_type by creating a row in the entity_financial_account table.

Labels:

Creative Commons License
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-Share Alike 3.0 United States Licence.