Additional menu

Get MemberPress today! Start getting paid for the content you create! Get MemberPress Now
  1. Home
  2. Knowledge Base
  3. General
  4. Migration
  5. Migrating or Importing One-Time Subscriptions (Transactions)

Migrating or Importing One-Time Subscriptions (Transactions)

Before reading this page, be sure to have reviewed our Migrating Overview page first!

When importing one-time payment subscriptions to MemberPress, you only need to import a Transactions CSV file.

This document will explain how to migrate transactions (or one-time subscriptions) from another membership solution (plugin or platform) to MemberPress.

Note: The Subscriptions CSV file shouldn’t be imported for one-time subscriptions. 

Migration Requirements

Before migrating transactions, you will need to make sure that you match all the requirements:

  • You created your memberships in MemberPress, which will be associated with imported transactions (one-time payments);
  • You migrated all your users to your new WordPress website (Dashboard > Users);
  • You confirmed that the transactions on your payment processor (Stripe, PayPal, Square, or Authorize.net) belong to non-recurring subscriptions (one-time payments).

Note: All users’ transactions must already be present in your payment processor, initiated by your previously used membership solution. Importing transactions will only add the data of existing transactions from your payment processor to MemberPress. Importing won’t create any transactions on your payment processor or initiate any new charges.

Transactions CSV Format

Please be extremely careful to follow the formatting listed below EXACTLY. Failing to do so EXACTLY will result in your file failing to import correctly. If you leave out the expires_at column, or leave a cell in it empty, the transaction gets the membership’s regular expiration. For example, a monthly membership expires one month after created_at. Users get lifetime access only if the membership itself has no expiration.

Click here for a sample Transactions CSV file. With that as your basic template, please see below for the required and optional columns of your CSV file.

Required Columns:

  • username or email (but not both) — The username or email address of the user that should be associated with the transaction. Must belong to an already existing user in the database. (Note: since MemberPress Importer 1.6.8 version you can also use user_email instead of email name)
  • product_id — The ID of the Membership that this transaction is for. Must be the ID of an already existing Membership in the database.  The id can be found in the URL when editing the Membership. For example, the Membership id in this URL: http://awesomesite.com/wp-admin/post.php?post=10&action=edit is 10.
  • amount — Price of the Membership. It can be any number in a decimal format without a currency symbol — for example, 5.99.
  • total — Price including tax (if any). total = (amount + tax_amount). If no tax, this should be set to the same value as the “amount” field.

Optional Columns:

  • id — Updates the transaction information for the existing transaction matching the id. If left blank, this will create a new transaction. Be sure to use the id from the “Id” column on the MemberPress > Transactions page, as shown here. This field requires MemberPress Importer version 1.6.0 or newer.
  • sub_num or subscr_id — The subscription number that references the subscription. This sub_num must reference an already existing subscription in the database. Defaults to blank. (Note: you will not need to use this column header)
  • payment_method or gateway_id — The unique id of the payment method. This can be found in the payments tab of the MemberPress Settings page. Defaults to ‘manual’. If you’re importing Free members, you can also set this to ‘free’.
  • coupon_code or coupon — The coupon code of the coupon applied to this transaction. Must reference a coupon that already exists in the database. Defaults to blank.
  • send_welcome — Controls whether the user will receive a welcome email along with this newly created transaction. It can either be 1 for true or 0 for false. Defaults to 0.
  • send_receipt — Controls whether the user will receive a receipt email along with this newly created transaction. It can either be 1 for true or 0 for false. Defaults to 0.
  • trans_num — The gateway’s transaction number. It can be any small string of text. If blank, a random id will be generated.
  • tax_rate — The tax rate in %. Example 5% should be entered as 5.000. Defaults to 0.
  • tax_amount — The amount of tax applied towards the total. tax_amount = (amount*(tax_rate/100)). Defaults to 0.
  • tax_desc — The description for the tax. Defaults to no description.
  • tax_class — Not used in MemberPress currently. Defaults to ‘standard’.
  • status — The status of the transaction. Can either be ‘pending’, ‘complete’, ‘refunded’, or ‘failed’. Defaults to ‘complete’.
  • created_at — The date this transaction was created. Must be in the format “YYYY-MM-DD hh:mm:ss”. Defaults to the current date.
  • expires_at — The expiration date of the transaction. When a transaction expires, it must be renewed by the user for them to continue to have access. Must be in the format “YYYY-MM-DD hh:mm:ss”. Defaults to the regular expiration time of the Membership. Use 0000-00-00 00:00:00 for lifetime access. 

Note: Use the expires_at column when a transaction should end on a date that differs from the membership’s regular expiration, for example a member who has already paid through a specific date.

Importing members who canceled but have paid through a date: import them as a completed transaction with expires_at set to their paid-through date. They keep access until that date. Until then they can’t buy the same membership again, unless “Allow users to create multiple, active subscriptions to this membership product” is enabled in the membership’s Permissions tab. Expiring reminders are sent for these transactions, but renewal reminders are not, because there is no subscription.

Uploading the Files

To upload the files that you have created, simply follow these steps:

  1. Go to the MemberPress Plugin > Import. Once there, select “Transactions” from the type of file to the import drop-down menu.
  2. Next, use the “Choose File” button to upload your file (you can only import one file at a time). 
  3. Finally, click the upload button.

Importer Messages

After you import your file, the importer will show you a couple of different lines and boxes to let you know how your import went. Below these are outlined.

X Rows Successfully Imported – Here, the importer will tell you how many rows (in place of X) were successfully imported.

X  Rows Failed to be Imported – Here, the importer will tell you how many rows (in place of X) failed to import.

X Total Rows Processed – Here, the importer will tell you how many total rows (in place of X) were processed.

Row Success Messages: – In this box, you will see any success messages related to your most recent import. 

Row Errors: – In this box, you will see any errors related to any rows from your most recent import. The message should be detailed enough for you to be able to know what you need to fix, so your file works properly upon import. 

CSV for failed rows … copy these, fix and reimport: – Here, you will be given the exact rows that need to be fixed. Make a note of them to fix the rows with the errors. 

Was this article helpful?

Related Articles

computer girl

Get MemberPress today!

Start getting paid for the content you create.