Hot answers tagged

3

For those who want to do this via the UI I believe this is as simple as going to civicrm/admin/financial/financialType?reset=1 and mousing over or clicking on Edit for each Financial Type and the ID will show in the url


2

Use the API CSV Importer and import to the Phone entity which will always add new entries.


2

There are two issues that you have to deal with when importing membership payments in order to extend your memberships: You should connect the contribution (mebership payment) with the correct membership after the import. Technically you don't have to but it makes a lot of sense in order to keep a good overview. You need to extend the membership (set a new ...


2

You can add an extra column to your spreadsheet called "On Hold" and assign it 1, another one called "hold date" and then (3 options below, choose 1): import your sheet (using eileen's csv import extension) as "emails", with appropriate matching rules. https://civicrm.org/extensions/api-csv-import-gui If you're brave, you ...


1

CSV Import and Form Processor IS a powerful combo! Check out the advimportformprocessor extension. Note that this combines the "advimport" extension rather than the CSV API GUI extension with Form Processor. It's overall better, but some work on advimport's rough edges would improve the UX. Also note that Form Processor is pretty slow, so imports ...


1

Welcome to SE! You could import the groups with the API CSV importer extension 3000 groups is a lot: there may be better ways to represent your data in CiviCRM. How do you want to use these groups?


1

API CSV Import extension uses Job Scheduler to import the records in Civi. The job scheduler breaks down the whole csv into small batches(also known as queue item) to import to avoid timeout issue, memory excess and various reasons. 'Number of Items' is used to define how many records you want to process in single single queue. If you specify 2000 than there ...


1

When I have had something like this I have just set the dates to 01/01/2018 or 01/01/2020 in the file to be imported, which means that if you set the date more precisely for future contacts entered in directly that you can still sort by the date. Just means that if its the first day of the year it might not be precise. As long as users are aware of this, ...


1

I think hook_civicrm_check with the following SQL would handle notifications of duplicates: SELECT phone FROM civicrm_phone GROUP BY phone_numeric HAVING count(*) > 1; For back-end forms, you could modify the Supervised dedupe rules, though this wouldn't catch non-unique numbers belonging to different contact types.


1

I need to do the same thing and could not find a built in solution. There is a batch membership entry, but that is for manual entry from the interface. The code might be useful to write a process to import an externally created batch, but that is beyond me. What I do is import the contributions from a file (derived from a bank transaction listing with a ...


1

The problem is that the custom field has been set up to allow Multiple Records, and you did not click on the ? to read the notes about this type of setting - and those notes would have explained that the 'special power' of multiple records impacts on the ability or approach to other functionality including Importing records.


1

(EDIT - read Lars' suggestion first) Seems clumsy but this might work. Run the import with SKIP and at the final step of the import there is an option to either add the contacts to a New Group (A) for the same. This should give you a group of those who did not exist in db before import Then re-run the import without SKIP and create new group (B) so that ...


1

Workarounds include add a custom field purely to track the import by adding a 1,2,3 etc column in your import sometimes screens can time out but the import runs regardless, so having the above helps confirm if it really has stopped or not hunt down some tickets about tweaking server so it runs for longer


1

Look at MySQL and find the temporary table. It will be names something like "civicrm_tmp_d_dflt_..." Search status=NEW and that will tell you the number of rows left to import. Once the table has no NEW rows to import it is done and the table will be removed. If it did not succeed the table will still exist. I find this the best way to monitor the ...


1

I suggest you create an issue at https://lab.civicrm.org/dev/core/-/issues I'd think it should be treated in the same way as if you matched on a contact id that was soft-deleted. The message you quote appears to be generated from CRM_Contribute_Import_Parser_Contribution::deprecatedFormatParams() but given the name, a quick fix to that function to handle ...


1

Andy's answer is correct, but perhaps the more correct answer is "you don't want to". When you have multiple phones of the same location/phone type, saving one overwrites the others. There's been a lot of debate about this, but ultimately, having multiple of the same phone/location type means that some can't ever be exported/found in reports.


1

These are all valid options! I never use a custom field for this; I use tags or the contact source field. The "external identifier" field is often useful for this - I'll tag contacts from a certain location with their ID from that source prefaced by an acronym for that source. As someone who works daily with data migrations, I rarely need to do ...


1

Welcome to SE! I'm guessing you're fairly new to Civi and the comments so far, although accurate, may seem a bit cryptic. I'll expand a bit ... The end result should be 15 contacts: 10 children, 5 parents and 10 parent/child relationships. You said '... import the 10 children records first. I then did another import for the 5 parent record'. As per Pete's ...


1

Check your individual dedupe rule, change the unsupervised one to first name and last name with weight 10 each and total 20.


1

The documentation for that lives here: https://docs.civicrm.org/user/en/latest/common-workflows/importing-data-into-civicrm/#import-contributions


1

For anyone else looking for this, you can use the getFields action on the Contribution entity to locate the options for the Financial Type ID. $fields = \Civi\Api4\Contribution::getFields() ->setLoadOptions([ 'id', 'name', 'label', 'abbr', 'description', 'color', 'icon', ]) ->addWhere('options', '!=', FALSE) -&...


1

Still having this issue in January 2021, with version 5.32.1 But the suggested workaround works fine. To summarize the long-winded explanation below: When trying to import contacts using a dedupe rule of External ID Only, it will not work as expected. An effective workaround is to temporarily replace the unsupervised rule (Email only) with the desired rule (...


1

I ended up using a drush script to import data into custom multi record fields: create file import-script.scr run it as: drush scr import-script.scr script: <?php $file = '/var/www/html/sites/default/scripts/civicrm_value_import.csv'; $fh = fopen($file, 'r'); while ($row = fgetcsv($fh)) { $contact_id = $row[8]; if (empty($contact_id)) { ...


1

If you have complicated import needs - for instance, you need to import multi-value custom fields as part of a larger import - you may want to consider the "Advanced Import-Form Processor" approach. I really need to write docs up, but in general: Install Form Processor. Create a new form processor instance. Each "input" should ...


1

You can import multi-value custom fields through the API, including the API CSV Import GUI. You use the CustomValue API; you can also use the command-line CSV import tool or even drush. Your contact ID field should be imported as entity_id. If the custom field ID is "4", then import to custom_4. As an example - if your field set is called "...


Only top voted, non community-wiki answers of a minimum length are eligible