User Tools

Site Tools


membership_software

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
membership_software [2012/11/11 02:42]
plural [Record a payment for an invoice or cancel one]
membership_software [2016/12/08 07:55] (current)
dan_dude
Line 1: Line 1:
 +====== This software is no longer used ======
 +
 ====== Membership Software Howtos ====== ====== Membership Software Howtos ======
  
 The Membership software is available to the board members and accessible at [[https://mkemakerspace.appspot.com/]]. 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:
 +  * Python 2.7: http://www.python.org/download/releases/2.7.6/
 +  * httplib2: http://code.google.com/p/httplib2/wiki/Install
 +  * Google App Engine SDK for Python: https://developers.google.com/appengine/downloads#Google_App_Engine_SDK_for_Python
 +  * Git: http://git-scm.com/downloads
 +
 +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:
 +
 +<code>
 +remote_api_shell.py --secure -s mkemakerspace.appspot.com
 +</code>
 +
 +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:
 +
 +<code>
 +from scripts.renew_invoices import RenewInvoices
 +
 +RenewInvoices()
 +</code>
 +
 +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:
 +
 +<code>
 +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:
 +...
 +</code>
 +
 +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:
 +
 +<code>
 +RenewInvoices(dry_run=False)
 +</code>
 +
 +===== 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.
 +
 +<code>
 +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>
 +</code>
 +
 +By default that will just show you what it would do.  To really send out the reminders, run the function like this:
 +
 +<code>
 +s~mkemakerspace> SendInvoiceReminders(due_date, dry_run=False)
 +</code>
 +
 +===== 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.
 +
 +<code>
 +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></code>
 +
 +By default that will just show you what it would do.  To really send out the reminders, run the function like this:
 +
 +<code>
 +s~mkemakerspace> CancelPastDueInvoices(due_date, dry_run=False)
 +</code>
  
 ===== Add a New Maker ===== ===== Add a New Maker =====
Line 51: Line 161:
 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. 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.+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. When the form is filled out, click the "Add Payment" button.
membership_software.1352601729.txt.gz · Last modified: 2012/11/11 02:42 by plural