Importing Donations

Overview

You can import donations made outside of ActionKit, including donations made by check.

Each donation is recorded in the core_order table, and a placeholder row is added to the core_transaction table with the account field set to import.

Donations are a type of action so a row is also added to core_action and you can include values for any of the action-related data fields.

You must include a field for:

  • donation_amount - (Required) Amounts must be positive.

You can include:

  • donation_import_id - Used to identify a unique donation per payment account. Generate a unique identifier for each donation you import to avoid accidental duplication - you cannot import two donations with the same import_id within a given account. This column may contain any character data, up to 32 characters in width.

    We display a warning when we skip a row in an upload because it has a duplicate donation_import_id.

  • created_at - Use any of the supported date formats to set the created_at timestamp in core_order, core_transaction, and core_action. If you don't include this column, or it's empty for a given row, ActionKit uses the import timestamp.

  • donation_date - Use any of the supported date formats to set the created_at timestamp in core_order and core_transaction only. Core_action is set to the time of the import.

  • donation_card_num_last_four - The last 4 digits of the credit card number used.

  • donation_exp_date - The credit card expiration date in MMYY format.

  • donation_currency - Include a three-letter ISO code for the currency of the donation. You can import donations in currencies other than the ones you have payment accounts for, as long as the three-letter currency code is one known to ActionKit. Conversions into approximate US dollars will be done using ActionKit's exchange rate estimate at upload time, regardless of the actual date of the donation.

Product Orders

Product orders are a type of donation. The rules above for donations apply. To import sales of products, you must first create the product from the Pages Tab.

The following fields are required:

  • donation_product_ID - (Required) Where ID is replace by the ID of the product. For example, if you were importing sales of t-shirts and the ID of the t-shirt product was 75, the column name would be donation_product_75.

    Values for this column can be either a quantity number (ex. "10") or a pair of numbers giving quantity and total paid separated by a pipe (ex. "10|50.00").

    If the price for your product in ActionKit is accurate then you can use just a quantity and the amount paid will be calculated for you. However, if the price doesn't include everything (i.e., if the total also includes shipping charges), then use the compound format above and include the actual total amount paid by the user.

  • donation_amount - (Required) The value must be at least as much as the total of all product columns.

    The value can be more; that's how ActionKit stores tips on product pages. For example, if you have product orders for $5.00 and $10.00, donation_amount must be at least $15.00. You must include this column even if it equals the total for products.

Candidate Contributions

Just as with products, you must first add the candidate from the Pages Tab. Then your file must include:

  • donation_candidate_ID - (Required) Where ID is replaced by the ID of the candidate (e.g., donation_candidate_20 for candidate ID 20). Enter the amount of money donated to the candidate in this column (e.g., "9.99").
  • donation_amount - (Required) The value must be at least as much as the total of all product columns. The value can be more; that's how ActionKit stores tips on product pages. For example, if you have product orders for $5.00 and $10.00, donation_amount must be at least $15.00. You must include this column even if it equals the total for candidates.

Recurring Donation Profiles

You can import recurring donation profiles. You cannot import individual payments toward a recurring commitment.

Note

This does not create the profile in the payment processor; this is only for profiles that are already set up. You might use this if a third-party application is creating recurring donations and you want to use the data in ActionKit reports and mailing targeting.

In addition to the normal donation import fields, you must include fields for:

  • donation_amount
  • recurring_id - the profile ID used by the payment processor.
  • recurring_payment_account - If you have more than one payment processor configured you must include the name of the account which should be associated with the recurring profile. If you do not include this column or the value does not match one of your payment accounts an error is returned.

You may include:

  • recurring_period - Choices are years, quarters, months, weeks.
  • recurring_first_payment - By default an initial payment is created when you upload your recurring profile. If you do not want to create an initial payment at the time of your upload, put a 0 in this column.
  • recurring_start_date - the date of the first payment on the profile.