The import itself is fairly trivial – add each donation to the batch, However, it may be helpful to understand how it actually does this.
Reading Column Values
We’ll read each column value. If we have an issue converting a value, we’ll stop and let you know. For example, “Five hundred dollars and no cents” is not a valid value for Amount.
If the Amount is less than or equal to 0, the donation will immediately be skipped as we cannot process refunds.
Finding The Donor
The most crucial part of the import happens here. First, we’ll attempt to find the donor by remote_id if you provided one. If we can’t find a person or you did not provide that column, we’ll use Email, and then Phone Number. If we find more than one person using email or phone, we’ll try the secondary email or phone number if provided. We use the first name column to find the right donor if multiple results are returned from Planning Center.
If we still can’t narrow down the results to a single donor, we’ll skip the donation or select the HoH if you have that option enabled.
We will check the fund name against your mappings. If we can’t find the correct fund, and no default fund was specified, we’ll skip the donation.
Real Time Analytics
While the import file is running, you’ll notice we will tell you how many people we’ve created, donations processed, and the number of errors.
You may notice the app “freezes” at times. It’s not actually frozen, we’re just waiting for the Planning Center API to let us continue. The Planning Center API has a rate limit of 100 request per 20 seconds. This means, at best, we can only import 150 donations per minute – 1 requests for finding the donor, and 1 requests for uploading it.