1. Split Contribution and Payment fully



CiviCRM core:
1

Improve CiviCRM's core accounting functionality by fully differentiating between contributions (the obligation to pay) and payments themselves

Contribution only


CurrentNew
Recording a new contribution


Modify the "New contribution" screen. New schema fields for:

  • Created date or just "Date" (do we have that already? or this could be "revenue recognition date" as this is what it is for)
  • Payment due date "Due date"
    • Default to +30 days from creation date.
  • Status* (Suggest we create a new field which is for management workflow only and retire the old contribution status field).
    • Once a contribution is set to approved it should not be possible to set it back to draft.




Separate out the payment amount fields as shown.

Only allow to record payments where the workflow status for the contribution is approved.


View contribution screen


Modify fields on view contribution screen and move payments to bottom.

Record a new payment button.


Edit contribution screen




To do
Record a new payment


Ability to record a new payment (offline payment)

To confirm: This exists already



Ability to record a new payment (credit card transation payment)

To confirm: This exists already


TBC

*For some organisations there should be a delineation between those who can draft an invoice and those who can approve or post an invoice. This would be normal for most systems and we can easily do this by having a status field. This should not be confused with the current contribution status which also dictates the payment status. Ideally we would also introduce a permission to split the ability to post from the ability to draft a contribution but I think we can save this for a future version.

Membership/Event and Contribution

New Membership / Event

New membership:

Modify the record payment section for recording a new membership or membership renewal so that the appropriate new fields are shown.

(Note the wireframe here also includes the payment plan information but we can ignore that). 

^ above is unchanged. Below is new payment section which splits the contribution from the payment clearly.

New event registration
Do as per the above and replace the payment section with the split of contribution and payment.

Contribution tab:

Desciption

CurrentNew

Split contributions between those which have amounts outstanding and those that are fully paid.

Show fields:

  • Total amount
  • Paid
  • Due
  • Line items
  • Date (TBC name)
  • Due date
  • Source
  • Status
  • Payment Status


Note this is with the https://github.com/JMAConsulting/biz.jmaconsulting.showbalancedue enabled to show the due amount on the invoice.

^NB the above shows an incomplete contribution in the complete table. I think this is just a mistake.