User Tools

Site Tools


Action disabled: source
membership_software

This software is no longer used

Membership Software Howtos

The Membership software is available to the board members and accessible at https://mkemakerspace.appspot.com/.

Send out Invoice Renewals

By running this script, you will create new copies of all invoices for this month marked with auto-renew.

You need to have the following tools installed:

Grab the software with git clone https://code.google.com/u/jason.gessner/p/mkemakerspace-tools/ .

From the mkemakerspace-tools directory, run the following command:

remote_api_shell.py --secure -s mkemakerspace.appspot.com

you will be prompted for your google username and password. remote_api_shell.py is part of the appengine SDK and the –secure flag forces the API calls to be issued over HTTPS.

Once the shell is up type the following commands:

from scripts.renew_invoices import RenewInvoices

RenewInvoices()

This will launch the renewal script for next month, with the DRY_RUN mode set to true, which will show you what it will do, but not actually send any invoices out.

Sample output:

s~mkemakerspace> from scripts.renew_invoices import RenewInvoices
WARNING:root:You are using the default Django version (0.96). The default Django version will change in an App Engine release in the near future. Please call use_library() to explicitly select a Django version. For more information see https://developers.google.com/appengine/docs/python/tools/libraries#Django
Starting renewals at 2014-01-12 18:52:14.002890
s~mkemakerspace> RenewInvoices()
RenewInvoicesForMonth: End of this month: 2014-01-31, Start of next month: 2014-02-01, DRY_RUN: True
Fetching makers
Richard R:
Steven B:
...

The renewal script will append to a file called renewals.log file in the working directory. After running in dry mode, check it out and see if everything looks OK to you.

When you are ready to really create the invoices and send out the notifications, run the command again like this:

RenewInvoices(dry_run=False)

Send out Open Invoice Reminder Emails

from the remote_api_shell, run the following commands (the s~mkemakerspace> is just the prompt. Don't type that. :) ):

The reminders script appends to reminders.log in the working directory.

s~mkemakerspace> from datetime import date
s~mkemakerspace> due_date = date(2014, 2, 7)
s~mkemakerspace> from scripts.invoice_reminders import SendInvoiceReminders
s~mkemakerspace> SendInvoiceReminders(due_date)
Reminding folks with open invoices with due date of: 2014-02-07. DRY_RUN = True
Complete




s~mkemakerspace>

By default that will just show you what it would do. To really send out the reminders, run the function like this:

s~mkemakerspace> SendInvoiceReminders(due_date, dry_run=False)

Cancelling Open Invoices

If you want to cancel a bunch of unpaid (open) invoices, run this script.

from the remote_api_shell, run the following commands (the s~mkemakerspace> is just the prompt. Don't type that. :) ):

The cancellation script appends to invoice_cancellations.log in the working directory.

s~mkemakerspace> from datetime import date
s~mkemakerspace> due_date = date(2014, 2, 7)
s~mkemakerspace> from scripts.cancel_past_due_invoices import CancelPastDueInvoices
WARNING:root:You are using the default Django version (0.96). The default Django version will change in an App Engine release in the near future. Please call use_library() to explicitly select a Django version. For more information see https://developers.google.com/appengine/docs/python/tools/libraries#Django
Starting reminders at 2014-01-12 19:31:29.269936
s~mkemakerspace> CancelPastDueInvoices(due_date)
Cancelling open invoices with due date of: 2014-02-07. DRY_RUN: True
Fetching invoices
Complete




s~mkemakerspace>

By default that will just show you what it would do. To really send out the reminders, run the function like this:

s~mkemakerspace> CancelPastDueInvoices(due_date, dry_run=False)

Add a New Maker

  1. Click on the Makers link in the navigation bar or the “Makers” link on the homepage.
  2. Click on the "Add New Maker" button.
    1. Try to fill in all of the fields. There may be errors if you don't fill something in.
    2. The username field will become what is shown on the access control screen when someone badges in. The system will check if the name is unique. Try to make one up that is reasonably helpful.
    3. Upload a photo if you have one. We can add it later if you don't have one handy.
    4. If you want to create an invoice for this member right away, leave the “Create Invoice for this new Maker?” checkbox selected and you will be brought to the new maker page.
      1. The invoice will start with a security deposit and a membership item. You can configure the appropriate membership as appropriate (access type, number of months, etc).
      2. NOTE: due to occasional replication delays, the maker may not be available on the invoice page. Jason will fix this soon. if you save a maker, leave “Create Invoice for this new Maker?” selected and the maker dropdown doesn't show the maker, simply hit reload in your browser or navigate to the invoice screen and create an invoice manually.

Create an invoice

There are 3 types of things you can add to an invoice. We can add more if we need them, but these 3 cover the basics.

The totals on the invoice add up automatically as you make changes. When you save the invoice a nice copy of the invoice will be mailed to the maker's configured external email address if the “Email Invoice?” checkbox is selected.

  • Membership
    • To add a membership, select the membership level and select the start and end dates.
    • Discounts will be calculated automatically.
    • The start date will force itself to the first of the month and the end date will force itself to the end of the month to keep things clean.
  • Rental Spaces (squares at Chase, squares or vaults at Lenox)
    • Rental spaces are configured separately (TODO: add docs for this). Select a space and the dates and the price will be calculated.
  • Security Deposits
    • There is nothing to configure for a security deposit. They are $100. The system does not currently prevent you from creating an invoice with a security deposit for a user that has already paid one. We can deal with that later if we want to.

To add line items to the invoice, click the “Add Invoice Item” button. You may add multiple space rentals and membership items to the invoice.

Notes are optional. A name is not. The name should probably be auto-generated, but for now put one in that is sensible like “{New member name} first month and deposit.”.

When a new invoice is created for a maker, we mark that maker's membership “provisional” in the system. The access control will honor that as an active code, but we will soon be adding automatic lockouts if payments are not made on time.

Record a payment for an invoice or cancel one

Once an invoice has been created, you can add payments to it or cancel the invoice. Invoices are not changeable to make the bookkeeping simpler, so if you made a mistake, simply cancel the invoice and make a new one to replace it.

For an open invoice, adding a payment requires a little bit of information. Over time we will try to automate more of this for things that are paid via paypal or dwolla, but for now these need to be manually updated. If a partial payment is made, the invoice will remain open. Multiple payments may be made for a single invoice. As soon as the full amount is paid, the invoice is marked as Paid and any memberships and space rentals will be marked as active instead of provisional.

If the payment is a check, the check number is required. This will help us give better info to the members and to keep better records ourselves. If the payment is via paypal or dwolla, please add the the provider fee value so we can keep track of how much we are paying to receive money.

Cash or check payments should be put in the “Associated Bank” account. Dwolla (yay!) and Paypal (more expensive yay?) payments should be put in their respective accounts. For Dwolla, if the maker has chosen to pay the $.25 transaction fee themselves, put the full transaction amount shown in Dwolla (for example 80.25) and still put .25 in the provider fee field. Note that it is possible to fund a dwolla account and then make a payment from that to another dwolla account. That will be a free transaction, i believe, with no fee attached.

When the form is filled out, click the “Add Payment” button.

To cancel an invoice, click the “Cancel Invoice” button. Canceling an invoice will cancel the memberships and space rentals included within the invoice. When the access control system is integrated, this will also remove access for that user within a short time.

Jason will move the “Cancel Invoice” button farther away from the “Add Payment” button soon. :)

Create a membership level

We only really have 3 membership levels, but the system allows multiple membership levels primarily to enable different day of the week access.

If you want to create a new membership level with specific day of the week access, go to the New Membership Level Page and choose the relevant options.

if you select a part-time membership level, you may only select up to 4 days. You may select less if you wish.

For multi-month discounts, add in the discount amount in the 3 and 6 month boxes. Note that this is the discount amount for the month and not the discounted monthly rate. For example, our full-time monthly memberships are $80/month with $5/month discounts for 3 months at a time and $10/month discounts for 6 months or more. Any months after the month boundary is calculated at the discounted rate. 3, 4 or 5 months at a time will have the 3-month discount applied. >= 6 months will each have the 6-month discount applied.

Manage Rentable Spaces

TODO: fill this in.

membership_software.txt · Last modified: 2016/12/08 07:55 by dan_dude