This article will explain what kind of data data can be imported into RaiseDonors and the manner in which that data can be imported.
How do I import data into RaiseDonors?
First, let's discuss how data can be imported into RaiseDonors.
- The first option is to leverage RaiseDonors' API and import any data object into RaiseDonors. This is the most flexible choice, but also requires you have a web developer who is comfortable making API calls (technology agnostic) to push data into RaiseDonors. Our API supports Adding, Editing, and Retrieving information.
- The second option is to hire our team to provide professional services where we facilitate the process of importing the data into RaiseDonors for you. If you're interested in this service, just drop us a note and we can talk through your needs, the process, expectations, costs, and timelines.
As a point of clarity, if you leverage our professional services, you will be responsible for populating our standardized import templates with the data you want imported into RaiseDonors.
What types of data can I import into RaiseDonors?
Below you will find information about the different types of data that can be loaded into RaiseDonors. You can use this information in conjunction with the API documentation -- or -- you can use this information to download the import templates needed to proceed with professional services.
- Recurring Schedules in RaiseDonors
- Transactions (documentation coming soon)
Importing Donors into RaiseDonors
- First Name (string, 75 character max)
- Last Name (string, 75 character max)
- Email Address (string, 150 character max)
- Billing Address (string, 255 character max)
- Billing City (string, 255 character max)
- Billing State (Full Text) (string, 255 character max)
- Billing Postal (string, 15 character max)
- Billing Country (ISO3 or ISO2) (string, 150 character max)
- Organization Name (Business) (string, 100 character max)
- Phone Number (string, 50 character max)
- Shipping Address (string, 255 character max)
- Shipping City (string, 255 character max)
- Shipping State (Full Text) (string, 255 character max)
- Shipping Postal (string, 15 character max)
- Shipping Country (ISO3 or ISO2) (string, 150 character max)
- Newsletter Opt In - Has this donor opted in to your email appeals? (boolean)
- CRM Key - A key to your system (ie: CRM) (string, 100 character max)
State values must match this standardized list.
Canadian State values must match this standardized list.
What about donor accounts and passwords?
Importing recurring schedules into RaiseDonors
The true "schedule" lives at the gateway, which is responsible for charging the payment method on file on the proper day of the month. RaiseDonors has a "schedule object", but this is just a placeholder to contain information about the schedule at the gateway.
You can use the built-in features of RaiseDonors to consume the recurring schedules from the gateway over the course of a month, as the schedules are charged at your gateway.
Pros of this approach
- Don't have to spend time and money to import schedules into RaiseDonors via API or professional services.
- Entirely automated.
- Minimal business rules.
- It takes up to 1 month to complete (needs to cycle through each day of the month)
- Less attributions for each schedule:
- When a schedule created outside of RaiseDonors is imported, it will be tied to a specific "Page" in RaiseDonors named "import-donors".
- The schedule and subsequent donations will inherit all of the attributions configured in the Page "import-donors". This includes motivation code, source code, etc.
- The schedule will be attributed to one specific Fund. There is no ability to split the schedule across multiple Funds.
- There are very few customizations.
- Donors won't be able to see their recurring schedule in the donor portal until the passive approach has completed.
Getting started with the Passive Approach
- RaiseDonors will not know how to attribute this donation -- as none of this attribution data is passed through from the gateway.
- Every donation in RaiseDonors is required to be assigned to a Fund -- so assigning a fund is essential for the integration to succeed.
You can read more in depth information about how to configure recurring payments here.
- We're here to help! You can enlist RaiseDonors via a professional services agreement to aid you in this process.
- If you have a developer or web team, you can import the data using the RaiseDonors API.
Getting started with professional services
- Context for why you are needing to import recurring schedule objects into RaiseDonors.
- Timeline for imports to be completed (at least 2 weeks notice).
- Preferred date and time to schedule a kick-off call for this project.
- The gateway where schedules currently exist. (**)
- The CSV file will contain information we need to import and create the schedule objects in RaiseDonors.
The following information provides context for the fields of information needed in the attached CSV. The items indicated with * are required fields. Please ensure any data provided is appropriately parsed for commas and apostrophe's to be compatible for CSV's.
** If you are importing recurring schedules that are attributed to multiple Funds, special considerations need to be made - and variations to this table and template are required. **
|RaiseDonors.Donor.Id||If pre-existing, the RaiseDonors.Donor.Id of the donor. If this field is included, other related Donor information can be omitted.|
|Donor.FirstName*||First Name of Donor|
|Donor.LastName*||Last Name of Donor|
|Donor.EmailAddress*||Email Address of Donor|
|Donor.Phone||Phone of Donor|
|Donor.BillingAddress*||Billing Address of Donor for payment method|
|Donor.BillingCity*||Billing City of Donor|
|Donor.BillingState*||Billing State of Donor (ISO2, ex: TX)|
Billing Postal/Zip of Donor
Billing Country of Donor (ISO3, ex: USA)
|Donor.CRM||For reporting purposes, you can include the CRM ID|
|Gateway.Schedule.Amount*||Charge amount for schedule|
|Gateway.Schedule.DayOfMonth*||Day of month schedule is charged|
|Gateway.Schedule.StartDate*||Start date for schedule|
|Gateway.Schedule.Number*||The ID/Number/Code that references the schedule|
|Gateway.Schedule.Status*||Status of schedule in gateway (active, suspended, terminated, cancelled)|
|Gateway.Schedule.PaymentType*||ACH or CC|
|Gateway.Schedule.CustomerKey||For stripe, associated customer Id/Key|
|Gateway.Schedule.Fund.Code*||RaiseDonors Fund "code" to associate with donation (you can locate this on the 'Funds' page in RaiseDonors.)
** Special considerations for multiple Fund designations are needed **
|Donation.MotivationCode||Motivation code to associate with donations|
|Donation.SourceCode||Source code to associate with donations|
|Donation.PageName*||Page to associate with schedule and donation. Name must match exactly to page name in RaiseDonors. If your account has multiple gateways enabled, the gateway selected in this page is the gateway this schedule will be attached with.|
The Id/Number/Code that references the schedule - from the old gateway.
Charge amount for the schedule, from the old gateway.
(**) If the gateway being used is Authorize.net - RaiseDonors can communicate directly with Authorize.net to download all schedules and build the CSV for you automatically. This is helpful when timing is critical and you are unable to export ARB's from Authorize.net. Once the CSV is provided, you fill in the missing information (pageName, Motivation, etc) - and we can then create the local schedules in RaiseDonors for you.
- Empty Schedule Object Schema
- Empty Donor Schema
- Empty Donation Schema
- Add Donor
- Add Donation
- Add Schedule Object
- You'll need to first create the donor and address - or locate the existing donor and save the Donor.ID.
- Then you'll need to create the schedule object and assign it to this new donor.
- Then you need to create a $0 donation for the new donor and also assign it as the first donation for this schedule object. This allows you to specify which attributions you want the recurring schedule object to carry forward. For example, if you need the future donations from this recurring schedule object to have specific Fund designations, specific motivation codes, specific source codes, etc - they all inherit from the first donation. Getting this donation "perfect" is key to the accuracy of attributions in future donations from this schedule object. As a general rule, this place-holder donation should have a donation amount set to Zero. The Fund allocations will exist, but will be set to Zero.
- Your Cause (formerly Orange Leap on Demand) - will automatically pull Funds from YourCause into RaiseDonors. More information can be read here.
- Virtuous - RaiseDonors does not currently import Funds from nor are Funds pushed to Virtuous from RaiseDonors.
- SalesForce - RaiseDonors does not currently import Funds from nor are Funds pushed to Virtuous from RaiseDonors.
- MPX - RaiseDonors does not currently import Funds from nor are Funds pushed to Virtuous from RaiseDonors.
When creating funds manually in RaiseDonors, you are welcome to use the API, the administrative interface, or professional services. Below is a summary of the required fields when creating funds in RaiseDonors.
- Name (string, 150 character max)
- Active (boolean)
- SortOrder (integer)
- Code (string, 100 character max. Required to be a unique value for each fund)
- Description (string, no max)
- Image (string, no max. Should be https:// url)
- Email Address (string, no max. multiple email addresses separated by comma)
You are welcome to use this template to aid RaiseDonor's professional services in importing your fund data.