Page MenuHomePhabricator

Changing some of the imports on the back end
Closed, DeclinedPublic

Description

With new changes to gift coding, we need to update some of the coding that is done on the back end for the following gift imports:

Benevity
Citibank international
Fidelity EFT DAF

Changes include:
Financial Type = Cash
Restrictions = Unrestricted - General
Gift Source = Matching Gift/Payroll Deduction (benevity) and Donor Advised Fund (Fidelity EFT DAF) and Individual gift (Citibank international and the donor payments to Benevity)

Details

Event Timeline

Hello @NNichols, thanks for the detailed instructions for this patch, I'm working on setting this up. Please I'd like to confirm what the conditions for setting the Gift Source to either "Matching Gift" or "Payroll Deduction" in Benevity would be. Thank you.

Change 950039 had a related patch set uploaded (by Damilare Adedoyin; author: Damilare Adedoyin):

[wikimedia/fundraising/crm@master] WIP: Changing some of the imports on the back end

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

I think it might be one category @Damilare - ie "Matching Gift/Payroll Deduction" not "Matching Gift" or "Payroll Deduction"

@Damilare They are two different gift sources. @MDemosWMF Can you provide some insight here? Where would Matching Gift vs Payroll deduction be used? Benevity is a mix of what is now Individual Gift and Matching Gift and (also?) Payroll?

Interesting, thanks for the clarification @NNichols and @Eileenmcnaughton. I know we currently use "Benefactor gift" gift_source for transactions over 1000, and "Community gift" for less. Looking forward to the insight from @MDemosWMF as well.

I am not as familiar with Benevity, but from what I know it contains Individual Gift, Matching Gift, and Payroll Deduction.

Matching gift = gift from company with soft credit to their employee
Payroll deduction = gift from employee with soft credit to their company
Individual gift = An employee used their company's portal to make a one-off gift to us (not a payroll deduction)

Hope that helps!

Thanks @MDemosWMF that definitely added more context about what is expected.

@Damilare I put some notes on the gerrit but at a high level we are trying to move logic out of the drupal module that we want to EOL 'offline2civicrm' and moving it to the relevant classes in WMFHelpers and trying to create parity between the old drupal modules and the core civicrm import functionality - such that Melanie can migrate off the former.

The import functionality call the \Civi\WMFHooks\Import::alterMappedRow() function

The logic for determining gift source on import is generic I think - ie

  • if there is no soft credit = "Individual Gift"
  • if there is individual->org soft credit 'Payroll deduction'
  • if there is org >individual soft credit 'Matching gift '

I suspect that at the moment @MDemosWMF is coding the source type into the file - and in fact the inability to mix organization & individuals in the same import is a current limit on the core imports - so maybe there is no getting around that & it's not worth addressing gift source in the core import code at this point - have a poke around & see what you think

@Eileenmcnaughton @Damilare I emailed you both and example of a benevity import. I've removed all donor information and put my name in it. It has one row for each type of donation that came through in that specific report.

Thanks @Eileenmcnaughton for breaking that down, I see the logic in the alterMappedRow method in the Import class and the isContactEmployedByOrganization method in the Benevity file. I'm trying to wrap my head around sound ideas and talk about it in tech talk.

Thanks for sharing that doc @NNichols, it is helpful in visualising the changes to the imports. I scanned through the sources/reason column and noticed some sources that were not mentioned here. Do we want to infer the mapping based on the "source" and "reason" column or is the logic @Eileenmcnaughton mentioned earlier sufficient enough. Essentially, I would like to know how you would map the gift source to the custom groups from this import?

@Damilare Yes I am not familiar with some of those sources or reasons either. In truth, I've only worked on importing the file into civi for a three month period.
I've reached out to Rosie to see if she had any historical knowledge about how these fields translated to what we have in civi but we don't have any information. My understanding is that there are only three types of gifts from those files, Matching Gift, Payroll Deduction, and then straight donation (Individual Gift).

I'll reach out to benevity to see if I can figure out what some of these mean, like bluesnap. I don't know if that is individual, payroll, or matching.

Change 950039 merged by Eileen:

[wikimedia/fundraising/crm@master] Changing some of the imports on the back end

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

XenoRyet set Final Story Points to 2.

Reopening this task.

All gifts are being coded as Matching Gift or Payroll Deduction, there are gifts within the imports that should be coded as individual gifts.

AKanji-WMF subscribed.

HI @NNichols - can we please chat about this when we speak? We think this would be best served with a new Phab.