Sales Taxes and Invoicing - Phase 1 added functionality to display credit notes, and allow users and administrators to print and deliver to users an official credit note for cases when an amount was paid against an invoice but the obligation to pay was cancelled, eg membership cancelled, event registration cancelled, etc.
This page specifies an enhancement to allow back office administrators to apply credit notes to pay for new and existing obligations. In most cases this will involve applying a credit note against an amount owing on a new or existing contribution of the same contact. Also, sometimes credits with one contact need to be applied to another contact's obligations, eg chapters of an organization or employees of an organization may need to have their credits shared.
Here is the UX mockup:
The accounting entries for this are:
- Reduce the amount overpaid on the contribution with the credit note being applied (with contribution status of pending refund): data flow tbd.
- Apply a partial or complete payment to the new or editted contribution: data flow tbd.
The data flow needs to find the right financial account for the credit note amount. I believe this will be derived from the credit note contribution's financial_trxn.
The same UI will be used for New Payments to allow for use of this Payment Method.
With the new possibility of multiple credit notes being created from one contribution, the current core implementation of storing the credit note ID on the contribution is no longer sufficient. The extension will create a new table, credit_note, as follows:
idcredit_note_reference varchar(255) COMMENT 'Human readable unique identifier concatenating cn_prefix setting, "_", id'contribution_id COMMENT 'The contribution providing the funds'financial_trxn_id COMMENT 'The payment financial transaction paid for'
Once the extension has been used for a while, a core change may be submitted to remove contribution.creditnote_id field as part of a LExIM Leap.
On the User Dashboard, change text on button (when enabled and present based on contribution being overpaid) from 'Print Invoice and Credit Note' to 'Print Invoice and Credit Note(s)'. Change the download so that multiple credit notes are included if they have been created from an Invoice's overpayment.
6 commentaires
Afficher/Masquer les commentairesJun 19, 2017
JoeMurray dit :
Coleman Watts Jamie Novick Jamie Novick Eileen McNaughton Brian Shaughnessy comments/feedback on the UI/UX spec?
Jun 19, 2017
Brian Shaughnessy dit :
so this UI handles how to apply the credit note. but how do you "create" the credit note? does that happen automatically when a contrib is in canceled status or the amount paid exceeds the amount owed for a contrib? in either case, how does the user decide the overpayment should be used as a credit vs. issuing a refund? or does that money simply sit in a pot and can be tapped for either purpose at any time?
along those same lines – how do we handle a situation where a contrib has been cancelled or overpaid but is NOT eligible for a refund or credit? for example, an org might have a policy where event registration cancellations more than 30 days before the event are eligible for refund or credit, but < 30 days are not. I don't think they want that pot of money always available via the UI or staff might accidentally select it.
re: the selection of the credit not amount – if I read your description correctly, you can't apply a credit note if the credit amount exceeds the amount owed for the contrib you're trying to apply it to. so that means you can't use a credit note to make payments on two contribs, correct? ideally it would be more flexible than that. but I understand if that starts to wander into confusing grounds...
other than that, the UI looks good.
Jun 26, 2017
JoeMurray dit :
Great questions.
Aug 11, 2017
JoeMurray dit :
How are credit notes created?
Googling how overpayments and credit notes are handled in accounting packages indicates that there is not a real standard here, and some take the simple route of just allowing overpayments to be applied as a payment to other invoices. So there is no need for something like a button 'Create Credit Note' to be displayed in addition to 'Record Refund' when there has been an overpayment on an invoice. So we'll leave the current approach to Credit Notes implemented in CiviCRM alone. Refunding all of an overpayment eliminates the credit note otherwise available to pay other invoices.
Jun 20, 2017
Jamie Novick dit :
Hi Joe,
Let me digest over the next few days and come back to you. There will be a few things to unpick here and we can use this as an opporutnity to clean up a few things.
J
Jul 18, 2017
JoeMurray dit :
Ping. I missed you on Skype today