Beacon

Importing recurring payments & memberships

Updated 2 months ago

Accepting new memberships and recurring donations through Beacon forms works seamlessly; you get a new membership record, a new subscription record, and payments all link automatically behind the scenes.

But what about your existing recurring donations and memberships?

Below we'll take you through both your initial set up, as well as ongoing imports. If your recurring payments are through Stripe or GoCardless, use our in-built template for your set up and then new payments will be imported and linked automatically.

Before reading on, be sure to have a read through our article on import templates to familiarise yourself with a few of the concepts.

  1. Existing GoCardless and Stripe subscription payments
  1. Recurring donations
  1. Recurring memberships
  1. Frequently asked questions

link Existing GoCardless and Stripe subscription payments

Note: The pre-filled templates for GoCardless and Stripe are currently in pre-production! You can still follow this guide, but you'll need to initially map the fields manually. Send us a message and we'll help you, no problem.

If you have previous recurring subscriptions in Stripe or GoCardless that you'd like to store in Beacon, you're in luck! Our integration means that any new payments can be linked to their subscriptions in Beacon and be imported automatically.

To start, you will need to import your previous payments, and also set up the subscriptions. Then, any new payments will get passed into Beacon without any manual processes!

link GoCardless

  1. Export your payments from GoCardless: https://manage.gocardless.com/payments
  2. Export your subscriptions from GoCardless: https://manage.gocardless.com/subscriptions GoCardless export button
  3. Create a new import template, using the pre-filled 'GoCardless - Payments' template
  4. Check and change the fixed data if needed - in particular if these payments are Gift Aid eligible. Save your template. GoCardless payments fixed data
  5. Import your payments from Run import with the template you just saved Run import sidebar
  6. Create a new import template, using the pre-filled 'GoCardless - Subscriptions' template
  7. Check and change the fixed data if needed - in particular if these subscriptions are Gift Aid eligible. Save your template. GoCardless subscriptions fixed data
  8. Import your subscriptions from Run import with the template you just saved

All done!

link Stripe

  1. Export your invoices from Stripe, choosing 'All columns': https://dashboard.stripe.com/invoices Stripe payments all columns
  2. Export your subscriptions from Stripe, choosing 'All columns': https://dashboard.stripe.com/subscriptions Stripe subscriptions all columnsStripe export button
  3. Create a new import template, using the pre-filled 'Stripe - Payments/Invoices' template
  4. Check and change the fixed data if needed - in particular if these payments are Gift Aid eligible. Save your template. Stripe payments fixed data
  5. Import your payments from Run import with the template you just saved Run import sidebar
  6. Create a new import template, using the pre-filled 'Stripe - Subscriptions' template
  7. Check and change the fixed data if needed - in particular if these subscriptions are Gift Aid eligible. Save your template. Stripe subscriptions fixed data
  8. Import your subscriptions from Run import with the template you just saved

Finito!


link Recurring donations

Importing recurring donations is slightly more involved than individual payments. There's a few things that need to happen to be able to have accurate, usable data to report on going forward.

There are 3 key records need to be created from your import:

  • Payments
  • A person
  • A subscription

Additionally:

  • The Payments need to point to a Person and a Subscription
  • The Subscription needs to point to a Person

Phew! That's a lot of pointing... Thankfully, you don't need to know what all of the above means, as we'll take your through the process step-by-step.

This requires 2 imports to set up correctly, but you will only need the one CSV file. Fortunately, we've created a template spreadsheet that you can use and simply follow along with our guide.

Jump to a section:
Step 1: Create new ID fields
Step 2: Complete an import spreadsheet
Step 3: Beacon's import templates


link Step 1: Create new ID fields

The first step is to add a couple of ID fields so that when we import our data it will all link to the correct records.

  1. Using customisation mode, add a short text field called 'External ID' to your Person records.
  2. Add a 'Payment ID' short text field to your Payment record.

External ID field Payment ID field

Note: Subscriptions have an external ID field as standard, so you won't need to do that one!


link Step 2: Complete an import spreadsheet

Add your payments and subscription details to one of the spreadsheet templates below. Choose which template based on whether you have an External ID and a Payment ID value to import into our new fields. Don't worry if you don't have those, we have a spreadsheet that will create them for you!

Note:
External ID: A unique value that is the same for every payment.
Payment ID: A unique value that is different for every payment.

Tip: Still not sure which file to download? Check our FAQ at the bottom of the page for a full explanation of each ID.

  1. ✅ External ID, ✅ Payment ID
    Recurring payment import template (external ID, payment ID)

  2. ✅ External ID, ❌ Payment ID
    Recurring payment import template (external ID, no payment ID)

  3. ❌ External ID, ✅ Payment ID
    Recurring payment import template (no external ID, payment ID)

  4. ❌ External ID, ❌ Payment ID
    Recurring payment import template (no external ID, no payment ID)

Mandatory fields to complete (green):

  • External ID (or use the spreadsheet auto-generated ID)
  • Payment ID (or use the spreadsheet auto-generated ID)
  • Amount
  • Full name
  • Payment date
  • Payment method
  • Frequency

Optional fields to complete (orange):

  • Email address Recurring payments spreadsheet

Once you've filled out the template, download/save as/export your spreadsheet as a .CSV file.


link Step 3: Beacon's import templates

As mentioned, we are going to set up two Beacon import templates using your now-complete spreadsheet.

Tip: Remember to save your template often!

link Template 1 - Payments

What does this template do?

  • Create Payment records
  • Create and link to a Person record
  • Create and link to a Subscription record

Note: This will create new Person records unless you added email addresses in the template, to deduplicate with your existing list. You can always find and merge duplicates later if you don't have email addresses or your number of members isn't too big.

Create new template:

  1. In the Manage templates section, click 'Create template'.
  2. Name it 'Subscriptions - Payments'.
  3. Choose a record type of 'Payments' from the dropdown. Subscription payments template
  4. Upload your CSV.

Field mappings:

  • External ID: Subscription > External IDSubscription > External ID
  • External ID copy 1: Person > (Person >) External IDPerson > Person > External ID
  • Payment ID: Payment IDPayment ID
  • Amount: Amount > ValueAmount > Value
  • Full name: Person > (Person >) Name > Full Person > Person > Name > Full
  • Payment date: Payment datePayment date
  • Payment method: Payment methodPayment method
  • Frequency: Ignore
  • Email address: Person > (Person >) Email > PrimaryPerson > Person > Email > Primary

Fixed data:

  • Payments > Type: Donation
  • People > Type: Donor (optional) Subscription payments fixed data

Deduplication:

  • Payment > Payment ID
  • Person > Email address (if you have it) or External ID
  • Subscription > External ID Subscription payments deduplication

Save your template!

Now go to 'Run import' in your sidebar, choose your 'Subscriptions - Payments' template, upload the same CSV file, check and fix any errors in your sheet, and then run your import.

Subscription payments run import Import success

You should now have:
Payments with full details, linked to Subscriptions and People.
❌ The newly created Subscriptions won't have details, yet!

link Template 2 - Subscriptions

What does this template do?

  • Link the Subscription to the correct Person record
  • Complete the Subscription details

Note: This won't create new duplicate subscriptions, it will complete the details you imported in Template 1.

Create new template:

  1. In the Manage templates section, click 'Create template'.
  2. Name it 'Subscriptions - Subscriptions'
  3. Choose a record type of 'Subscriptions' from the dropdown. Create subscriptions subscriptions template
  4. Upload the same CSV as in previous steps.

Field mappings:

  • External ID - External IDExternal ID
  • External ID copy 1: Person > External IDPerson > External ID
  • Payment ID: Ignore
  • Amount: Amount > ValueAmount > Value
  • Full name: Ignore
  • Payment date: Ignore
  • Payment method: Payment methodPayment method
  • Frequency: FrequencyFrequency
  • Email address: Ignore

Fixed data:

  • Subscriptions > Type: Recurring donation
  • Subscriptions > Status: Active (optional) Subscription subscription fixed data

Deduplication:

  • Subscription > External ID
  • Person > External ID Subscription subscription deduplication

Save your template!

Now go to 'Run import' in your sidebar, choose your 'Subscriptions - Subscriptions' template, upload the same CSV file, check and fix any errors in your sheet, and then run your import.

Run subscription subscription import Import success

Let's check how we've done:
Payments with full details, linked to Subscriptions and People.
Subscriptions linked to People, with full details.

Boom! Done!

Check your Payments, Subscriptions, and People records__ to make sure it all looks correct and details are completed.

link Ongoing recurring payment imports

You're all set up, payments are up to date, they're linked to their respective subscriptions and you can report on them like a pro. But what about next month when you need to add the new payments?

Simply use your CSV file, replace the old data with the data from the new payments (you won't need the 'Frequency' data, so you don't need to populate that column), and import using the first template that you set up - 'Subscriptions - Payments'.

Rinse and repeat!


link Recurring memberships

Importing memberships can be tricky! There's a few things that need to happen to be able to have accurate, usable data to report on going forward.

There are 4 key records need to be created from your import:

  • Payments
  • A person
  • A subscription
  • A membership

Additionally:

  • The Payments need to point to a Person, a Subscription, and a Membership
  • The Subscription needs to point to a Person and a Membership
  • The Membership needs to point to a Person

Phew! That's a lot of pointing... Thankfully, you don't need to know what all of the above means, as we'll take your through the process step-by-step.

This requires 3 imports to set up correctly, but you will only need the one CSV file. Fortunately, we've created a template spreadsheet that you can use and simply follow along with our guide.

Jump to a section:
Step 1: Create ID fields
Step 2: Complete the import spreadsheet
Step 3: Beacon import templates


link Step 1: Create ID fields

The first step is to add a couple of ID fields so that when we import our data it will all link to the correct records.

  1. Using customisation mode, add a short text field called 'External ID' to your Membership records.
  2. Add an 'External ID' short text field for your Person records.
  3. Add a 'Payment ID' short text field to your Payment record.

External ID field Payment ID field

Note: Subscriptions have an external ID field as standard, so you won't need to do that one!


link Step 2: Complete the import spreadsheet

Add your payments and membership details to one of the spreadsheet templates below. Choose which template based on whether you have an External ID and a Payment ID value to import into our new fields. Don't worry if you don't have those, we have a spreadsheet that will create them for you!

Note:
External ID: A unique value that is the same for every payment.
Payment ID: A unique value that is different for every payment.

Tip: Still not sure which file to download? Check our FAQ at the bottom of the page for a full explanation of each ID.

  1. ✅ External ID, ✅ Payment ID
    Membership import template (external ID, payment ID)
  2. ✅ External ID, ❌ Payment ID
    Membership import template (external ID, no payment ID)
  3. ❌ External ID, ✅ Payment ID
    Membership import template (no external ID, payment ID)
  4. ❌ External ID, ❌ Payment ID
    Membership import template (no external ID, no payment ID)

Mandatory fields to complete (green):

  • External ID (or use the spreadsheet auto-generated ID)
  • Payment ID (or use the spreadsheet auto-generated ID)
  • Amount
  • Full name
  • Payment date
  • Payment method
  • Frequency
  • Membership type

Optional fields to complete (orange):

  • Membership start date
  • Membership expiry date
  • Email address Membership import spreadsheet example

Once you've filled out the template, download/save as/export your spreadsheet as a .CSV file.


link Step 3: Beacon import templates

As mentioned, we are going to set up three Beacon import templates using your now-complete spreadsheet.

Tip: Remember to save your template often!

link Template 1 - Payments

What does this template do?

  • Create Payment records
  • Create and link to a Person record
  • Create and link to a Subscription record
  • Create and link to a Membership record

Note: This will create new Person records unless you added email addresses in the template, to deduplicate with your existing list. You can always find and merge duplicates later if you don't have email addresses or your number of members isn't too big.

Create new template:

  1. In the Manage templates section, click 'Create template'.
  2. Name it 'Memberships - Payments'.
  3. Choose a record type of 'Payments' from the dropdown. Memberships - Payments import template
  4. Upload your CSV.

Field mappings:

  • External ID: Subscription > External IDSubscription > External ID
  • External ID copy 1: Membership > External IDMembership > External ID
  • External ID copy 2: Person > (Person >) External IDPerson > Person > External ID
  • Payment ID: Payment IDPayment ID
  • Amount: Amount > ValueAmount > Value
  • Full name: Person > (Person >) Name > Full Person > Person > Name > Full
  • Payment date: Payment datePayment date
  • Payment method: Payment methodPayment method
  • Frequency: Ignore
  • Membership type: Ignore
  • M'ship start date: Ignore
  • M'ship expiry date: Ignore
  • Email address: Person > (Person >) Email > PrimaryPerson > Person > Email > Primary

Fixed data:

  • Payments > Type: Membership fee
  • People > Type: Member (optional) Membership payment fixed data

Deduplication:

  • Payment > Payment ID
  • Person > Email address (if you have it) or External ID
  • Membership > External ID
  • Subscription > External ID Membership payments deduplication

Save your template!

Now go to 'Run import' in your sidebar, choose your 'Memberships - Payments' template, upload the same CSV file, check and fix any errors in your sheet, and then run your import.

Run membership payments import Import success

You should now have:
Payments with full details, linked to Subscriptions, Memberships, and People.
❌ The newly created Subscriptions and Memberships won't have details, yet!

link Template 2 - Subscriptions

What does this template do?

  • Link to the correct Person record
  • Link to the correct Membership record
  • Complete the Subscription details

Note: This won't create new duplicate subscriptions, it will complete the details you imported in Template 1.

Create new template:

  1. In the Manage templates section, click 'Create template'.
  2. Name it 'Memberships - Subscriptions'
  3. Choose a record type of 'Subscriptions' from the dropdown. Memberships - subscriptions import template
  4. Upload the same CSV as in previous steps.

Field mappings:

  • External ID - External IDExternal ID
  • External ID copy 1: Membership > External IDMembership > External ID
  • External ID copy 2: Person > External IDPerson > External ID
  • Payment ID: Ignore
  • Amount: Amount > ValueAmount > Value
  • Full name: Ignore
  • Payment date: Ignore
  • Payment method: Payment methodPayment method
  • Frequency: FrequencyFrequency
  • Membership type: Ignore
  • M'ship start date: Ignore
  • M'ship expiry date: Ignore
  • Email address: Ignore

Fixed data:

  • Subscriptions > Type: Recurring membership
  • Subscriptions > Status: Active (optional)Subscriptions fixed data

Deduplication:

  • Subscription > External ID
  • Person > External ID
  • Membership > External IDMembership subscriptions deduplications

Save your template!

Now go to 'Run import' in your sidebar, choose your 'Memberships - Subscriptions' template, upload the same CSV file, check and fix any errors in your sheet, and then run your import.

Membership subscriptions import Import success

Let's check where we are up to:
Payments with full details, linked to Subscriptions, Memberships, and People.
Subscriptions with full details.
Memberships won't have details, yet!

link Template 3 - Memberships

What does this template do?

  • Link to the correct Person record
  • Complete the Membership details

Note: This won't create new duplicate memberships, it will complete the details you imported in Template 1.

Create new template:

  1. In the Manage templates section, click 'Create template'.
  2. Name it 'Memberships - Memberships'
  3. Choose a record type of 'Memberships' from the dropdown. Memberships create import template
  4. Upload the same CSV as in previous steps.

Field mappings:

  • External ID: External IDExternal ID
  • External ID copy 1: Member > External IDMember > person > external id
  • External ID copy 2: Ignore
  • Payment ID: Ignore
  • Amount: Ignore
  • Full name: Ignore
  • Payment date: Ignore
  • Payment method: Ignore
  • Frequency: Ignore
  • Membership type: TypeMembership type
  • M'ship start date: Start dateM'ship start date
  • M'ship expiry date: Expiry dateM'ship expiry date
  • Email address: Ignore

Fixed data:

  • Memberships > Status: ActiveMembership import fixed data

Deduplication:

  • Membership > External ID
  • Member (Person) > External IDMembership deduplication

Save your template!

Now go to 'Run import' in your sidebar, choose your 'Memberships - Memberships' template, upload the same CSV file, check and fix any errors in your sheet, and then run your import.

Membership import template Import success

How are we doing?
Payments with full details, linked to Subscriptions, Memberships, and People.
Subscriptions with full details.
Memberships with full details.

Wait... that's everything! THANK GOODNESS!

Check your Payments, Subscriptions, People and Memberships records to make sure it all looks correct and details are completed.

I think it's time for a cup of tea, don't you?

link Ongoing membership payment imports

You're all set up, payments are up to date, they're linked to their respective memberships and subscriptions, and you can report on them like a pro. But what about next month when you need to add the new payments?

Simply use your CSV file, replace the old data with the data from the new payments (you won't need the 'Frequency', 'Membership type', 'M'ship start date' or 'M'ship expiry date' data, so you don't need to populate those columns), and import using the first template that you set up - 'Memberships - Payments'.

Rinse and repeat!


link Frequently Asked Questions


link What is the difference between an external ID and a payment ID?

In general, external ID is simply some kind of ID that is not from Beacon. For the above imports, we're quite specific about what External ID and Payment ID mean.

What is an external ID? It's the same value for every payment.
This might be a reference from a standing order, an email address, or maybe a 'Reference transaction (txn) ID' from PayPal. It can be anything, as long as it is the same on every payment for that person's membership.

Example 1:

Jenny pays £15 a month for her membership via bank transfer. Her reference is always 'Jenny T payment'.

✅ You can use this as your external ID

Example 2:

Ali pays £20 a month for his membership via bank transfer. His reference is 'Ali D Jan' but changes each month - 'Ali D Feb', etc.

❌ You cannot use this as your external ID

If you don't have an external ID, choose the 'no external ID' file. It will create an ID for you from your other fields!

What is a payment ID? It's a different value for every payment.
This might be a payment reference, or transaction ID. It can be anything, as long as it is different on every payment.

Example 1:

Fleur pays £10 a month for her membership via PayPal. PayPal has a 'Transaction ID' column that is different for every payment.

✅ You can use this as your payment ID

Example 2:

Bruce pays £15 a month for his membership via bank transfer. His reference is always 'Member Bruce Jones'.

❌ You cannot use this as your payment ID


link Do I need to follow this exactly?

No, you can tailor it to your needs.

We've been quite specific to encourage successful imports, but since Beacon is a very flexible product, you can change things as you see fit.

As an example you could add extra fields for people like address, phone, etc. to import in Template 1.

The key is to still use the three imports with some kind of ID to link the record types together. If you're familiar with importing, and how the data in your database relates to each other, feel free to make changes to the process.

link I'm missing some information, can I still import?

Yes, it will simply mean that some of your records will be incomplete.

e.g. If you don't have the frequency for the subscription, your payments will still import correctly, will still link to the subscription, you just won't be able to see this record if you were filtering for all 'monthly' subscriptions, for example.

The key pieces of data you can't do without are the ID fields (External IDs and Payment IDs), and the amount of the payments. Outside of those you'll simply have a few holes in your data :-)

link My payment data and subscripton data are separate, do I have to combine them?

We have used the one CSV file for convenience and to limit the chance for errors in data and mapping. However, you can use two different CSV files for your imports, as long as you have the IDs to correctly link your records in Beacon.

For memberships, you would use the payments CSV for import 1, and the subscription CSV for import 2 & 3.

close

Contact Us

It'd be great to hear from you! To reach out, fill in your details below and we'll get back to you.

close

Register for webinar

To join this webinar, please enter your details below and we'll send you details on how to join.



close