Page MenuHomePhabricator

Source field not accepting negative amounts
Closed, ResolvedPublic

Description

Hi All, I attempted to enter in a negative contribution amount after our convo in Civi Fortnightly, but the Source field is preventing me from being able to save. I'm getting this error: "Source must be in the format USD 15.25." Could that field be updated to allow?

Event Timeline

DStrine triaged this task as Medium priority.Jun 8 2021, 9:17 PM

Change 699087 had a related patch set uploaded (by Eileen; author: Eileen):

[wikimedia/fundraising/crm@master] Remove enforcement of source, assume USD

https://gerrit.wikimedia.org/r/699087

@LeanneS @MBeat33 @MDemosWMF @NNichols @RLewis - just wanting some input on requirements here,

At the moment when you enter a donation you need to enter the original currency and amount into the source field

Why?
This field is basically just used to populate the contribution_extra part lower down

image.png (262×670 px, 16 KB)

Why is it required?
The majority of donations are USD donations and so we could simply assume that if it's not filled in then we can assume USD. We then have the scenario of people entering in non-USD amounts and forgetting that they need to fill in source & hence it was decided many many many years ago to make it required all the time.

I don't think I'm the only person who wishes it wasn't required.....

Options

  • we could fix it to handle negative amounts & leave it as required
  • we could make it optional & assume USD if not entered
  • we could make it required for only some users - there are hints in the code that the original reason was mistrust of Engage data entry

I'm not too clear who enters non-USD amounts & when - depending on the answer to this question there might be some different options as well

@Eileenmcnaughton on the MGs side of things, we only rarely hand enter non-USD amounts, we might receive a few one off major donor checks in non-USD but these would be processed by Engage and handled in an import. We do however import non-USD amounts e.g. Benevity import and the international wires import.

@MDemosWMF - do Engage hand enter any non-USD checks? These all go in the International check import, right?

@RLewis Correct - any international checks/money orders that come to Engage are in their own batch and are imported using the foreign checks import, they aren't doing any hand entering of non-USD.

@Eileenmcnaughton On our end I think it is mainly the chapter transfer reports we get from Finance that have to be hand entered (usually quarterly), although this process is currently being tweaked to get updates more frequently, and every now and then if we get donor info for a large gift on the international wires report that contribution is hand entered instead of imported

@Eileenmcnaughton Yep, as @RLewis and @MDemosWMF mentioned, most non-USD gifts are imported, except for gifts of a certain amount and Chapter transfers so the volume is manageable if permissions were to be changed.

From Donor Relations' side of things, this is a function we never interact with, so I don't have anything to add other than 'thanks, all'

Change 699835 had a related patch set uploaded (by Eileen; author: Eileen):

[wikimedia/fundraising/crm@master] Consolidate more relevant functionality onto the class

https://gerrit.wikimedia.org/r/699835

Change 699836 had a related patch set uploaded (by Eileen; author: Eileen):

[wikimedia/fundraising/crm@master] Further function renaming on class

https://gerrit.wikimedia.org/r/699836

Change 699838 had a related patch set uploaded (by Eileen; author: Eileen):

[wikimedia/fundraising/crm@master] Add engage permission

https://gerrit.wikimedia.org/r/699838

Change 699087 abandoned by Eileen:

[wikimedia/fundraising/crm@master] Remove enforcement of source, assume USD

Reason:

https://gerrit.wikimedia.org/r/699087

Change 699974 had a related patch set uploaded (by Eileen; author: Eileen):

[wikimedia/fundraising/crm@master] Extract code & reverse condition

https://gerrit.wikimedia.org/r/699974

Change 699975 had a related patch set uploaded (by Eileen; author: Eileen):

[wikimedia/fundraising/crm@master] Add js to populate source rather than making people do it

https://gerrit.wikimedia.org/r/699975

Change 699835 merged by jenkins-bot:

[wikimedia/fundraising/crm@master] Consolidate more relevant functionality onto the class

https://gerrit.wikimedia.org/r/699835

Change 699836 merged by jenkins-bot:

[wikimedia/fundraising/crm@master] Further function renaming on class

https://gerrit.wikimedia.org/r/699836

Change 699976 had a related patch set uploaded (by Eileen; author: Eileen):

[wikimedia/fundraising/crm@master] Remove source validation

https://gerrit.wikimedia.org/r/699976

Change 699838 merged by jenkins-bot:

[wikimedia/fundraising/crm@master] Add engage permission

https://gerrit.wikimedia.org/r/699838

Change 699974 merged by jenkins-bot:

[wikimedia/fundraising/crm@master] Extract code & reverse condition

https://gerrit.wikimedia.org/r/699974

Change 699975 merged by jenkins-bot:

[wikimedia/fundraising/crm@master] Add js to populate source rather than making people do it

https://gerrit.wikimedia.org/r/699975

Change 699976 abandoned by Eileen:

[wikimedia/fundraising/crm@master] Remove source validation

Reason:

https://gerrit.wikimedia.org/r/699976

Thanks @Eileenmcnaughton! I just tried it out and it worked. Thanks so much. As a heads up, commas included in the amount field seem to interfere with the auto-populating of the source field. It leads it to show as just 2 digit values instead of the full value. Example: -10,000 or 10,000 turns into USD -10.00 or USD 10.00 respectively. It worked fine though when the comma wasn't included.

Change 701996 had a related patch set uploaded (by Eileen; author: Eileen):

[wikimedia/fundraising/crm@master] Add handling for comma thousand separator

https://gerrit.wikimedia.org/r/701996

Change 701996 merged by jenkins-bot:

[wikimedia/fundraising/crm@master] Add handling for comma thousand separator

https://gerrit.wikimedia.org/r/701996