Kavi® Members Help

Chapter 25. How to Add Memberships through Upload Data


The Upload Data tool can be used to add a batch of historical memberships and first-time memberships for companies or individuals. Memberships can only be uploaded for companies or individuals who don't already have memberships, so this is usually done during site setup. It is also possible to add new first-time memberships in bulk, but since uploaded memberships bypass any moderation and billing steps, this only works well if the memberships are pre-approved and there is no membership fee.

Memberships can be added during the same upload that is used to add companies or users. If the companies or users are already in the database, memberships can be added by performing an 'edit' action.

Back to top

Processing Rules

Here are the rules that apply when memberships are uploaded.

Add first-time or historical memberships only

If a company or user already has memberships, Upload Data will display an error. You will have to remove this company or user from the file in order to proceed. You may add a current membership for a user at the same time as you add historical memberships.

Moderation step is skipped

Only upload memberships for pre-approved companies and users.

No membership bills are issued

Memberships automatically pass any billing step and no bill is issued, so it is better to add billed memberships through Kavi Members Admin tools such as Manage a Company or Manage a User. When billed memberships are added through these tools, bills can be generated and sent out automatically.

Purpose must be compantible with membership

Upload Data enforces most other membership rules. For example, you won't be allowed to add a membership for a company or user with an incompatible purpose. For a company, the Company Purpose must be 'Member Company', and for a user, the User Purpose must be 'Individual Member'. If you are editing the records of nonmembers who are already in the database, be sure to include the Purpose column and set it to the appropriate value.

Historical memberships

If the membership expiration date is in the past, the membership moves automatically to the 'Archived' state.

Current memberships

When you add memberships that are already current, be sure to enter the correct start date for each membership. Kavi Members can calculate the end date according to rules for that membership type, but if the end date doesn't adhere to the standard rules, it should be set manually. Upload Data immediately sets all existing memberships to the current state.

Memberships that start in the future

Memberships that are added through Upload Data bypass any billing or moderation steps, so this is a rare occurance. If you do want to upload memberships where the start date is in the future, you can specify a start date or let it be set automatically according to Membership Type rules. This defaults to today's date unless the Membership Type is not yet available or the term hasn't begun. If the start date is today, the membership goes current immediately. If the start date is in the future, the membership state is set to 'Pending Start Date'.

Special instructions for site setup

Be sure all other Kavi Members configurations steps are complete before you begin to upload data, especially Membership Types, Company Types, User Types and Contact Types because these affect database structure and determine membership validation rules. It's also nice to have all the site-specific data fields in place so that when you download the company.csv and person.csv templates, the column headings for all the fields in the database will be present in the CSV templates and data files.

Back to top

File Preparation

If you haven't prepared data for this tool before or would like some tips on working with comma-separated values, see Preparing CSV Files for Upload.

When your files are prepared and you are ready to proceed with the upload, you may refer to the Upload Data page help if you aren't familiar with this tool.

  1. If you want to add memberships at the same time that you add a member, download the company.csv or person.csv template.

    If you want to add memberships for companies or users who are already in the database, download the company.csv or person.csv data file.

  2. Add these three columns to the CSV template or data file: 'membership_types', 'membership_start_dates' and 'membership_end_dates'. The only one of these that always requires a value is 'membership_types'.

  3. To simplify your life, remember to remove any unnecessary columns and rows as described in Preparing CSV Files for Upload.

The three fields that are used to add memberships do NOT have a one-to-one relationship with membership fields in the database. These three membership fields are used only by the Upload Data tool. For more information about how membership data fields are set as uploaded memberships pass through the membership workflow, refer to Membership Data Fields in the Appendix. You can also view the results by downloading a membership report when the upload process completes.

Table 25.1. Membership Fields

Column name Instructions

This field contains the name of the membership type being added.

Add historical memberships, or multiple concurrent memberships, as a series of comma-delimited Membership Types. For example:

Standard, Standard, Sponsor


The 'membership_start_dates' field should be left blank unless you are adding historical memberships or wish to override the value that would otherwise be assigned by default. If there are no billing or moderation steps and the membership term isn't set to some future date, this value is set to the current date and the membership goes current immediately. Otherwise, the value is set according to the rules set for this membership type. If you want to set a specific value, enter the start date in YYYY/MM/DD format.

If you are adding historical memberships (or if your organization's membership rules allow members to hold multiple simultaneous memberships), use commas to separate the start dates for each membership. Each date must appear in the same order as the membership to which it applies.


The 'membership_end_dates' field contains the end date of the membership term in YYYY/MM/DD format, or 'lifetime' if this is a lifetime membership. This value is optional and should be left blank so that the correct date is added automatically as the membership goes through the normal membership workflow except when historical memberships are added.

If you are adding historical memberships (or your organization's membership rules allow members to hold multiple memberships simultaneously), use commas to separate the end dates for each membership. Each date must appear in the same order as the membership type to which it applies.

Back to top

Example 1: Add Companies with Existing Memberships

This scenario is most likely to occur when setting up a site for an established organization. The companies already have memberships, so these memberships are partway through the current term when added. Further instructions are available in How to Add Records through Upload Data.

  1. The Super Admin downloads the company.csv template and adds the three membership fields: 'membership_types', 'membership_start_dates' and 'membership_end_dates'.

  2. The company data is added, then the 'membership_types', 'membership_start_dates' and 'signup_date' fields are set.

Sample Data File

For simplicity's sake, this example includes only the fields that are required by the Upload Data tool. In this example the organization has a flat membership structure with only one Company Membership Type, 'Community'. It has a fixed 1-year duration, which means that every membership term is a year long, but the start and end dates vary depending on the day that the membership goes current.

If columns containing fields required by the database (e.g., 'display_publicly', 'show_on_signup_form', 'status' and 'company_type') are missing from the data file (or are present but empty), Upload Data sets default values in these fields. The 'status' field is set to 'active, 'display_publicly' and 'show_on_signup_form' fields are set to 'Yes' so that these companies are displayed on the signup form and roster. The 'company_type' field is populated with whatever Company Type is set as default for companies with the 'Member Company' Purpose plus any Company Types granted through the Community' membership. Company Representatives can now be added via a data upload of the person.csv file or can sign themselves up through the online Company Representative Signup form.

Sample File Description

  • The first row contains the column headings. The Super Admin manually added the 'membership_types', 'membership_start_dates' and 'membership_end_dates' columns.

  • The first column contains the Upload Action 'Add'.

  • The 'name' column, required when adding, stores the name of the company being added.

  • Since Purpose must be compatible, the value in the Purpose column must be set to 'Member Company' in order to add memberships for these companies.

  • The organization has only one Company Membership Type, so the value in this column is 'Community'.

  • Since these memberships already exist, the 'membership_start_dates' field must be set (in YYYY/MM/DD format).

  • The 'membership_end_dates' field is required but is left blank so it can be set automatically.

  • When adding companies with existing memberships, be sure to set the 'signup_date'. If the actual signup date is not known, use the membership start date.

Table 25.2. Sample Data File: Add Companies with Memberships

upload_action name purpose membership_types membership_start_dates membership_end_dates signup_date
add Alpha Inc. Member Company Community 2007/12/20   2007/12/20
add Beta Co. Member Company Community 2008/03/17   2008/03/17
add Gamma LLC. Member Company Community 2008/04/27   2008/04/27
Back to top

Example 2: Edit Companies to Add Historical Memberships

If your organization has members whose memberships preceed the establishment of the website, you may want to add historical memberships during site setup. Memberships may be included in the upload used to add members, as in the previous example, or added by editing member records that already exist in the database. For further instructions, see the Concepts document How to Edit and Delete Records through Upload Data.

  1. Use the Upload Data search to retrieve Member Companies, then download the company.csv results file.

  2. Remove any unnecessary columns and rows to make the file small and easy to handle as possible. At a minimum, keep the 'upload_action', item_key', 'name' and 'signup_date' columns.

  3. Add the three membership fields 'membership_types', 'membership_start_dates' and 'membership_end_dates', then add data for the historical and current memberships.

Sample Data File: Edit Companies to Add Historical Memberships

This sample includes a variety of different membership terms and durations, but in the real world an organization's memberships consistently use the same term or duration rules, possibly including a lifetime duration.

Sample file description:

  • When the company.csv data file is downloaded, the Upload Action field is already prefilled with 'edit', so there is no need to set this value.

  • The second column contains the 'item_key', which is required and must not be edited. If this value is inadvertently edited or deleted, the correct value must be retrieved from the database and copied into this field. Note that these are fake item keys; real item key values are much longer.

  • The 'name' column isn't required when editing companies, but is kept for reference, rather than trying to match item keys visually.

  • The 'membership_types' field contains the names of the membership types being added. Multiple memberships are added as a comma-separated series.

    Dates in the 'membership_start_dates' and 'membership_end_dates' field must appear in the order in which the memberships appear in the 'membership_types' field, so that the correct dates are assigned to each membership. If a current membership is included in this series, the end date doesn't need to be specified, but if it is omitted, the placeholder comma must be included to maintain the CSV file structure.

  • As you add memberships, check the 'signup_date', which should be on (or before) the start date of the first membership in the series. If not set correctly and the actual date is not available, enter the start date of the oldest membership.

  • The first record shows a membership with an Annual Fixed-Term duration. If the organization only offers Annual Fixed-Term memberships, every year's memberships starts and ends on the same day for all members.

  • The second and third records show 1-year Fixed Duration memberships. Each company's memberships have different start and end dates, because the start date of the first membership is set to the date on which the first membership goes current. The 'membership_end_dates' column in the second record shows placeholder commas being used to maintain the structure of the ordered series of end dates values.

  • The fourth record shows a series of Fixed Dates memberships. Since 'membership_end_dates' values aren't required, this field has been left empty so the values will be set automatically according to the Membership Type rules.

  • The fifth record shows a single Lifetime membership being added for a company that is a founding member of the organization. The value in the 'membership_end_dates' field is set to 'Lifetime'. This field could also have been left blank.

Table 25.3. Sample Data File: Editing Companies to Add Memberships

upload_action item_key name membership_types membership_start_dates membership_end_dates signup_date
edit 555555 Baker Ltd Annual Fixed-Term,Annual Fixed-Term 2007/01/01,2008/01/01 2007/12/31,2008/12/31 2007/01/01
edit 555566 Cooper LLC Fixed Duration,Fixed Duration,Fixed Duration 2006/03/25,2007/03/25,2008/03/25 2007/03/24,, 2006/03/25
edit 555667   Fixed Duration,Fixed Duration 2006/09/15,2007/09/15 2007/09/14,2008/09/14 2006/09/15
edit 555566 Miller Inc Fixed Dates,Fixed Dates,Fixed Dates 2006/4/1,2007/4/1,2008/4/1   2006/4/1
edit 556677 Tailor Co Lifetime Membership 2006/04/12 Lifetime 2006/04/12
Back to top