DonorPerfect Constituent Import
Bring DonorPerfect constituents into BetterUnite as contacts for email and event invitations.
Bring DonorPerfect constituents into BetterUnite as contacts, so you can run email campaigns and event invitations against your DonorPerfect list.
What this is for
Every other part of the DonorPerfect integration sends data to DonorPerfect. This is the one direction that reads.
It suits an organization that keeps DonorPerfect as its system of record and wants BetterUnite's email, event and campaign tools pointed at that donor list. It is not a migration tool and it is not a two-way sync.
Run an import
Open the Import Constituents tab on the DonorPerfect setup page and click Import Constituents. The result reports how many constituents were read, how many contacts were created and how many were updated.
After the first import the button becomes Import What Has Changed, and a second button, Import Everything Again, appears beside it for reading the whole account from the beginning.
Each press imports up to 2,000 constituents and remembers where it reached, so a large account is imported over several presses rather than in one request that times out. If the result says there is more waiting, press it again.
This is a button rather than something that happens overnight, on purpose. The DonorPerfect API cannot tell us reliably what changed: their date columns are accurate only to the day, there are no notifications when a record is edited, and reads come back 500 rows at a time. An import is something to run deliberately and watch, not something to leave running unattended against your contact list.
What it does to your contacts
The rule is simple and worth knowing before the first run: it fills in what is missing and never overwrites what is already there.
- The constituent has been imported or synced before. The existing contact is updated, filling only blank fields.
- A BetterUnite contact has the same email address. That contact is linked to the constituent, filling only blank fields.
- No match. A new contact is created.
So a phone number your team typed into BetterUnite is never replaced by an older one from DonorPerfect, and a blank address in BetterUnite is filled from DonorPerfect if it has one.
Matching is on email address only, never on name. Two people can share a name, and merging their records on that basis would be worse than creating a second contact. A constituent with no email address becomes a new contact every time unless it has been matched once before.
Do not mail preferences
Postal mail opt-outs are carried across in the direction that protects the donor: if either system says do not mail, the contact ends up marked do not mail in BetterUnite. An opt-out is never undone by an import.
Repeat imports
Import What Has Changed asks DonorPerfect only for constituents created or edited since the last run, and deliberately re-reads the day before it last ran. That overlap is not a rounding error: DonorPerfect stores no time of day on those columns, so without it an edit made later on the day of a run would be missed permanently. The cost is seeing some records twice, which the matching handles.
Import Everything Again ignores the last import date and walks the whole account. Use it the first time, and after that only when something has gone wrong.
What it does not do
- It does not import giving history. Gifts flow from BetterUnite to DonorPerfect, not back.
- It does not delete BetterUnite contacts that are no longer in DonorPerfect.
- It does not run on a schedule, and there is no option to make it.