This one probably wants us to split out the wrangling into apis & integrate with the core civicrm import or a generally available approach like Saurabh's csvimporter - a bit bigger & might need splitting up a bit
Description
Description
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Open | None | T261779 Epic: drupal upgrade | |||
Open | Eileenmcnaughton | T270669 Convert offline2civicrm to a CiviCRM extension |
Event Timeline
Comment Actions
Quick note to remember a thought on this: Let's maybe document the import logic and related code as we go? Thanks!!
Comment Actions
Just noting we have got a lot of functionality into the Core CiviCRM import framework now - some interventions we might need to do
What the Benevity import does | Core import approach |
1 set required columns | Core code does require sufficient colums to meet requirements - in the case of benevity these seem covered - see further down |
Set gift course to Benefactor Gift if > 1000 & Community Gift if less | Need a mapped fields hook |
replace 'not shared by Donor' with '' | Need a mapped fields hook |
organization name logic | Mapped fields hook - see below |
Organization name logic
- try nick name first, then try organization name
- otherwise error
Individual name logic
- use anonymous donor if first name, last name & email are empty
- check if there is an individual match on first_name, last_name, email - if ONE match and that contact is employed by the org OR there is an email it's a match
- if more than one match look for one already employed by the import employer
Note employed by is defined as
- existing employee relationship or
- existing soft credit - 2 might be obsolete as it reflected the system being introduced when the soft credit relationships were not there
Required columns
Benevity name | CiviCRM name | CiviCRM required |
Company | organization_name | yes- for soft credit match |
Donor First Name | first_name | Yes - for individual import or required soft credit match |
Donor Last Name | last_name | Yes - for individual import or required soft credit match |
dedupe-rule dependent, yes | ||
Total Donation to be Acknowledged | total_amount | yes |
Match Amount | soft credit amount | yet |
Transaction ID | trxn_id | not so much |
Currency | original_currency | we need to map |
date | receive_date | yes |
Benevity - do in Mapping
- 'original_currency' - map to original currency - this can be a default for the whole import
- fee - map to fee amount