SparkDevNetwork / Rock

An open source CMS, Relationship Management System (RMS) and Church Management System (ChMS) all rolled into one.
http://www.rockrms.com
563 stars 345 forks source link

Cannot manually add new Processing Fee to a Transaction (but you can edit an existing Processing Fee) #5889

Closed azturner closed 2 weeks ago

azturner commented 1 month ago

Description

Added on behalf of Grace Church (SC).

When updating a transaction, you cannot add a processing fee unless the transaction already exists with an existing processing fee value. For example if you edit an existing transaction that has a processing fee and clear that fee, you cannot edit the transaction again and add back the processing fee.

Also when manually adding new transactions, you cannot enter a processing fee. Grace has a coffee shop that processes payments outside of Rock, but each day they would like to add one summary transaction entry to Rock for the day's totals that includes amount and processing fee, but they are unable to enter a processing fee amount.

It seems that if Rock is going to allow the editing of processing fee values for a transaction, that you should also be able to enter a new processing fee value on a new or existing transaction even if it doesn't already have a value in that field.

Actual Behavior

Processing Fee field is hidden when adding new transaction or editing existing transaction that does not have a processing fee

Expected Behavior

Because user is allowed to manually edit an existing processing fee, that field should always be displayed.

Steps to Reproduce

OR

Issue Confirmation

Rock Version

v16.5

Client Culture Setting

en-US

nairdo commented 1 month ago

@azturner We've been reviewing this one internally. If there is a bug here, it might be that Rock is allowing editing the fees in the first place (since they should only be set at the time the transaction is handled by the gateway). Would you (Grace Church) expect to be able to edit a processing fee once the gateway has already processed it?

taylorbrooks commented 1 month ago

We've run into this issue too and would expect to be able to edit a processing fee.

The example scenario is non-cash gifts (crypto, stock, property, cars, etc.) The fees aren't readily known at the time the transaction is entered, so church staff are messaging IT and Rock teams to update the processing field via SQL.

azturner commented 1 month ago

@nairdo , Yes, Grace Church does expect to be able to edit the processing fee because they are entering these transactions manually and they are not processed through Rock by a gateway. They are being processed outside of Rock, but they still want the history in Rock so they add them manually, and the transactions have a fee that they want to be able to enter.

azturner commented 1 month ago

Perhaps an alternative is to prevent the editing of the fee if the transaction has a gateway id, but allow it if not?

nairdo commented 2 weeks ago

Thank you for your patience as we reviewed this internally again. As the Transaction Detail block currently stands, it should not (does not) allow supplying a 'fee' when adding new records manually.

image

After careful consideration, we've determined that the bug here is allowing the fee to be edited. Because fees are calculated dynamically (based on gateway settings) and then recorded when the gift is being passing to the payment gateway (at the time the person is performing the transaction), they should not be edited afterwards. They are only intended to be recorded in Rock and remain unedited once the payment has been handled by the gateway. In v17, we are going to change the Transaction Detail block to not allow editing fees on transactions if they exist.

If you want to request a change in the functionality, you have the option to sponsor or fund a feature request on our community ideas page: Rock RMS Ideas and Changes.

Thank you for your understanding and continued support to make Rock Better Together.

azturner commented 2 weeks ago

@nairdo , something that maybe wasn't clear in the initial description of this issue is that earlier versions of Rock DID allow editing the fee when adding transactions. Grace had built a process and reports around being able to add these manual transactions with a fee and they have hundreds of existing transactions that they created this way. Another reason they do this, is so that batch totals with these transactions can be reconciled correctly to their bank deposits. When they upgraded to v16 (from v12), they lost this ability. I completely understand preventing the adding/editing of fees when transaction is created by a gateway, but when transactions are added manually, it seems like an unnecessary restriction. It also doesn't seem right to remove a feature and then ask for funding to bring it back.

l-eldred commented 2 weeks ago

@nairdo I hope you reconsider as I honestly do not understand. What do you recommend we do with the fee on a manually entered transaction?

Having the ability to enter and edit data manually is the typical way to address things that don't go correctly in the automated process. We are using this ability to reconcile across various systems and, as @azturner pointed out, we have invested resources around this functionality. Losing this ability within the user interface is forcing people like us and @taylorbrooks to create alternative ways to get the information into the database.

It seems like a step in the wrong direction to further limit the capabilities in v17. I'm not sure how I should process the offer to consider putting this functionality back if the community pays for it.

nairdo commented 2 weeks ago

Something that maybe wasn't clear in the initial description of this issue is that earlier versions of Rock DID allow editing the fee when adding transactions... (from v12)...

Ok, I see now. Based on that information I think we found what changed, but this change was made a long time ago (v12.1 line 1964 & 2216 in the TransactionDetail.ascx.cs block). Are you saying they were on Rock v12.0?

Our intention was not to remove that feature -- that just looks like a possible mistake made in 2021. We'll correct that in v16.6 so fees can be added when creating transactions from that block.

l-eldred commented 2 weeks ago

Thanks for looking it over again. Greatly appreciated.