updated as of: March 31, 2015
last author: Andy Theuninck
This document will guide you through some basic member related tasks.
If you're starting from scratch, these should go roughly in order.
The latest documentation can be found on the Project Wiki
The information below may be out of date.
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.
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
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,
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.
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.
- AR is for store charge accounts (heed warning above!).
It displays current balance and the account's limit. The
transfer/convert links are for fixing cashier mistakes related
- ContactInfo stores primary member name, mailing address,
email address, and two phone numbers. The Gets Mail checkbox
is currently used to avoid sending newsletters, coupons, and
other optional stuff to members who don't want it while
keeping their info in the system for mandatory stuff like
- Equity lists current balance with a links to the member's
equity history, a tool for transfering equity from one
member to another, and a tool for converting equity from
one form to another (only applicable if there are multiple
- Household Members manages additional names associated
with the membership.
- MemDates provides start date and end date fields for the
- MemType adjusts membership type. It also displays the
percentage discount associated with that type.
- Notes is a generic comment box for any miscellaneous
information. Older comments are kept for reference via
the History link.
- Suspension is for removing member benefits from an
account, either temporarily or permanently. The process
automatically saves & restores a couple settings
besides membership type to streamline the process and
reduce mistakes. The Fannie implementation isn't quite
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
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
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
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).