updated as of: March 31, 2015
last author: Andy Theuninck
The latest documentation can be found on the Project Wiki. The information below may be out of date.
This document will guide you through some basic member related tasks. If you're starting from scratch, these should go roughly in order.

Membership Types

Every transaction is associated with an account. Membership types let you group accounts for reporting purposes as well as confer different benefits to different accounts.

Member Types are edited by choosing Admin => Member Management from Fannie's left hand menu, then Manage Member Types. Each membership type is given a description for reporting purposes. The member column denotes whether the account type is actually a member. Non-member account types are an option to provide sales to the general public. Accounts may also be assigned a percentage discount or marked as store staff.

Set up as many types as you need. Stores that only sell to members will require at least one member type. Stores that sell to the general public will need at least one type marked member and on non-member type.

Membership-related Settings

Fannie's configuration page (if you've been following this guide, probably http://localhost/fannie/install/) has a few membership options. Click the Members link at the top of the configuration page.

The first is Names per membership, near the top of the page. If more than one person's name can be associated with a membership, increase this option accordingly.

The next option is Equity Department(s), near the bottom of the page. If you want to track member equity via POS, you must define dedicated equity departments. At minimum there must be one, but you may define multiple equity department if needed (e.g., to track voting & non-voting shares separately). Separate multiple departments however you like - spaces, commas, whatever.

Store Charge Department(s) are used to provide limited credit accounts to members. WFC strongly advises against using this feature widely. The administrative overhead required for the small subset of customers that actually use it is nightmarish. As an accounts receivable system for businesses, it's an OK solution.

The last option is Enabled Modules. Membership can mean slightly (or very) different things to different people, so the idea here is to manage member information in small, independent pieces to maximize flexibility. For example, a store might use the default modules for member contact information and member type management, but use a customized module for equity. Or a store might disable irrelevant modules all together.

Enabling & disabling modules primarily impacts what the member view/edit interface looks like. The Adjust Module Display Order link gives a little additional control of that interface layout. Disabling a module also doesn't remove any existing information or disable all related options. For instance, you could choose not to display equity information on the member editing interface but equity reports would still work.

Existing modules:

Minimally, most stores will need ContactInfo or something replacing it to get member names into the system as well as MemType if there is more than one type of account.

Importing Existing Memberships

Many stores already have members and re-entering them all by hand is less than ideal. If you can export your data into some form of spreadsheet and save it as a CSV, mass importing is a quicker option. Select Admin => Member Management from Fannie's left hand menu, then Import Data.

First, bring in Names & Numbers. Your spreadsheet should contain columns for member number, first name, and last name. If you've defined membership types, you may also include a type column as well. It doesn't matter what order the columns are in or if there are extra columns; you can specify where the relevant data is during the import. If Fannie can't upload data sheets, there will be a giant warning telling you which directory needs write permissions.

Next, bring in Contact Information. Your spreadsheet must have a column for member number, and may include any combination of the following: street address, second line of street address, city, state, zip code, phone number, alternate phone number, and email address. Same flexibility applies with regard to column order and extra columns.

Brief Detour: Equity Tracking

If you plan to track equity through POS, there's an implementation detail to be aware of. Equity is stored as a list of equity-related transactions. At any given time, a member's equity balance is the sum of all their equity purchases. Storing equity this way provides a history that can be verified against transaction logs in the event of a dispute as well as greater flexibility in coping with varying equity requirements.

If you're opening a new store, you can just define a equity department (or more than one) and be done. If you already have members though, you need to bring their existing equity balances in as a starting point for POS.

Back to Importing Data

The last import option is existing equity. At minimum, your spreadsheet should provide a member number and an equity amount. Optionally, you can include a transaction identifier referencing your previous system, a IS4C department number to distinguish a specific type of equity, or a date (YYYY-MM-DD) of purchase. You don't have to bring in existing balances as a lump sum; if it's useful for reporting purposes or enforcing member-equity requirements, you can specify multiple rows per member (collectively these should add up to the current balance).