welcome: please sign in

Diff for "TreasurerInstructions"

Differences between revisions 4 and 37 (spanning 33 versions)
Revision 4 as of 2010-12-22 02:37:24
Size: 3209
Editor: noway
Comment: payment instructions from google checkout
Revision 37 as of 2019-02-10 20:23:45
Size: 9480
Editor: ClintonEbadi
Comment: update info on 990-N form
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
 * `paypal` sub-account with rw access
 * Add treasurer's google account (recommend new account to keep hcoop stuff separate) to merchant account under `Settings -> Users`
 * Pay``Pal sub-account with rw access
 * Stripe sub account
Line 8: Line 8:

<<TableOfContents(3)>>
Line 13: Line 15:
== Google Checkout payments from members ==
When: soon after being notified by google checkout of a payment.
 * Log into the merchant account
 * You'll see the order in the inbox. Click it.
 * Click "charge order" to initiate the charge. You need to do this before the authorization expiration date.
 * Log in to [[http://paypal.com|paypal]]
 * Click 'details' on the transaction, scroll down.
Line 19: Line 18:
 * Enter the email address listed on the portal to lookup the member under the Google Checkout to lookup the member. You need to enter the whole address.
 * Payment type: `Google Checkout`, no extra description needed, date will automatically be today, enter the '''net revenue''' from the merchant page (it will be revealed after charging) for "amount", `Member` should be filled in properly (double check), and hit `Add`.
 * Then, go to the merchant page and hit `shipped` - no info needed, just do "send confirmation".
 * Go back to the inbox and hit `Archive` on the payment, if everything has been successfully taken care of.
 * Enter the email address listed in paypal into the portal to lookup the member. You need to enter the whole address.
 * Everything should be filled in: Payment type: `Paypal`, no extra description needed, date should be today, enter '''Net amount''' from the transaction page, `Member` should be filled in properly (double check), hit `Add`.
 * Return to the paypal overview, select `Mark as shipped` for that transaction. The page will reload, scroll down specify you don't have tracking information, confirm it. Check on the main page that it is marked as shipped.
 * Archive the transaction, if everything has been taken care of.

== Stripe Payment ==

 * Check payment details using Stripe dashboard
 * Log into the [[https://members.hcoop.net/portal/money|money portal]]
 * Click "apply stripe payment" if the payment is valid
 * If the payment is invalid for some reason, click "Reject Stripe Payment" and enter a reason for rejecting payment. The payer will be refunded.
Line 25: Line 32:
When: whenever paypal balance gets high, usually every FIXME When: whenever paypal balance gets high, usually every month or so.
Line 27: Line 34:
Leave $50 or so in paypal to cover refunds issued. Leave $50 or so in paypal to cover refunds issued. The maximum amount that can be transferred per month is $500.
Line 29: Line 36:
== Low balance reminders ==
When: middle of each month
== Mothly tasks: Dues, balance reminders, freezing ==
Line 32: Line 38:
 * Look at XXX
 * Send it to all addresses on file for the member.
=== Charge dues ===
When: Second to last day of every month (to get done before the cronjobs mailing reminders)

 * From the `Financial` page on the portal, go to `charge monthly dues`.
 * Enter today's date
 * Enter the current monthly dues amount ($7 at this writing)
 * Hit `Add`.

=== Check freezing / booting list ===


=== Manual low balance reminders ===
When: middle of each month (15th)
Why: some ISPs block mail from HCoop since it sometimes forwards spam.

 * There are two relevant pages listing members:
   * [[https://members.hcoop.net/portal/money?cmd=freezeworthy|Freese-worthy]] - lists people whom, after the next payment cycle, will be within one month of being booted.
   * [[https://members.hcoop.net/portal/money?cmd=bootworthy|Boot-worthy]] - lists people whom, after the next payment cycle, will be booted.
 * Remember anyone who had made alternative arrangements for paying (e.g., will close their account and don't need anything else to be said)
 * See below for mail templates for each category of needs-reminder. The templates also list the payment address to cc.
 * Click on the member name. Send a mail to all email addresses listed on the profile, including their hcoop address. If they don't have a non-HCoop mail address, go to their archived membership application to get at least one non-hcoop mail.
 * Send the reminders.
Line 50: Line 76:
(donate to the co-op or refund via PayPal or Google Checkout). (donate to the co-op or refund via PayPal or Stripe).
Line 52: Line 78:



== New member ==
When: when you get the first payment from a new member. (You may need to prompt new members for payment if it is not remitted soon after the board votes to accept the application.)

 * Check if the member authorized us to charge their Pay``Pal account when signing up, and capture the charge if they did.
 * You will get a payment notification from the member. When you enter their email address, it will pop up to their member application instead of their usual
   * From time to time a member gives us the wrong address for paypal. Inspect [[https://members.hcoop.net/portal/apps?cmd=approved|approved members waiting for an account]] and attempt to locate the associated user. If there is nothing obvious, contact the payer directly.
   * '''Ensure that the sender can be verified'''. The name must match the application, and either:
     * Have a "Confirmed Seller Protection Address", or
     * Be from a verified Paypal account
 * Select "Add this member"
 * It will give you a command to run on `gibran`. Run it in a shell (sudo is not needed). /!\ '''Do not proceed with the next step until this command has been run; it will break the user's account.'''
 * You will be presented with a dialog creating the new user
   * Leave defaults
   * Enter initial payment amount, description = "Paypal"
     * Balances may be funded by another member (e.g. main hcoop member creating an account for a family member, a small organization funded by one account, ...)

Line 57: Line 103:
   * Member requests refund via Stripe: They must have previously made a payment using Stripe. Search for one of their past payments, then refund the balance money. Add it to the account ledger - note that there is both the amount subtracted from the account, and a "transaction fee" which you should subtract from the hcoop account if you don't consider it properly.
   * Member requests refund via paypal: Click 'Send Money', then fill in the member's paypal-associated email address and the balance money. Click the 'Personal' tab and select the 'Payment owed' radio button, and then click 'continue' and follow through on the payment. Add it to the account ledger.
Line 58: Line 106:
 * Run this command on `deleuze` to close the account  * Run this command on `gibran` to close the account
Line 63: Line 111:

If a member replies to something asking if they can be retired, here is a boilerplate you can reply with:
{{{
To close your account, please open a ticket in bugzilla in the "financial"
category, and including what you'd like to do with the remaining balance
(donation to the co-op or refund):
  https://bugzilla.hcoop.net/enter_bug.cgi

This provides some authentication, and a permanent record, for the close request.

Thank you,

- HCoop Treasurer

}}}

== Freezing and unfreezing ==
 * Freezing: `/afs/hcoop.net/common/etc/scripts/freeze -a f USERNAME`
 * Unfreezing: `/afs/hcoop.net/common/etc/scripts/freeze -a u USERNAME`

== Unretiring a user ==

If a delinquent user contacts you with payment after you've retired him in the ledger but before the delete scripts are run:

 * follow the 'Groups' link in the Admin box
 * add the user to the 'paying' group
 * revoke the user from the 'retired' group

== Changing passwords ==
 * On gibran (kerberos master), run `sudo kadmin.local -p root/admin`, then run `cpw <username>@HCOOP.NET`
 * Admin users only: For local passwords, ssh to the machine and just use `passwd <username>`. Right now local passwords are out of date and not used, so you don't actually need to do this.

== Reimbursing Expenses ==

 * Enter a payment for the member with the description "reimbursement for ${thing}"
 * There is no need to enter a negative transaction from the coop balance. The person incurring an expense on behalf of the coop is merely giving the coop goods instead of cash.

== Filing E-postcard Tax Form ==

When: yearly, After January 1st and before April 15th

 * [[https://www.irs.gov/charities-non-profits/annual-electronic-filing-requirement-for-small-exempt-organizations-form-990-n-e-postcard|Overview]]
 * [[http://www.irs.gov/Charities-&-Non-Profits/Information-Needed-to-File-e-Postcard|Specific info required]]
 * [[https://www.irs.gov/pub/irs-pdf/p5248.pdf|Guide to filing 990-N]]
 * [[https://sa.www4.irs.gov/epostcard/|Where to file]]

When creating the account to file, it is for ''you'' personally, not for the coop, so each new treasurer will need to create their own account.

== Handling Email ==

The treasurer can receive quite a bit of mail at times. ClintonEbadi recommends filtering the mail into a single folder. Some procmail rules to achieve this:

{{{
:0
* ^TO_payment@hcoop.net
.HCoop.treasurer/

:0
* ^Subject: Your HCoop account has been created!$
.HCoop.treasurer/

:0
* ^Subject: Welcome to HCoop!$
.HCoop.treasurer/

:0
* ^From: HCoop Payment Reminder Robot <payment@hcoop.net>$
.HCoop.treasurer/
}}}

This page is designed to give information for new HCoop treasurers to learn how to do their jobs. Also see Adam's mail about treasurer responsibilities.

Treasurer permissions which need to be given:

  • money group

  • PayPal sub-account with rw access

  • Stripe sub account

1. Paypal payments from members

When: soon after being notified by paypal of a payment.

  • portal financial page -> lookup address for paypal -> follow steps

  • Log in to paypal

  • Click 'details' on the transaction, scroll down.
  • Log into the money portal

  • Enter the email address listed in paypal into the portal to lookup the member. You need to enter the whole address.
  • Everything should be filled in: Payment type: Paypal, no extra description needed, date should be today, enter Net amount from the transaction page, Member should be filled in properly (double check), hit Add.

  • Return to the paypal overview, select Mark as shipped for that transaction. The page will reload, scroll down specify you don't have tracking information, confirm it. Check on the main page that it is marked as shipped.

  • Archive the transaction, if everything has been taken care of.

2. Stripe Payment

  • Check payment details using Stripe dashboard
  • Log into the money portal

  • Click "apply stripe payment" if the payment is valid
  • If the payment is invalid for some reason, click "Reject Stripe Payment" and enter a reason for rejecting payment. The payer will be refunded.

3. Transfer paypal -> hcoop bank

When: whenever paypal balance gets high, usually every month or so.

Leave $50 or so in paypal to cover refunds issued. The maximum amount that can be transferred per month is $500.

4. Mothly tasks: Dues, balance reminders, freezing

4.1. Charge dues

When: Second to last day of every month (to get done before the cronjobs mailing reminders)

  • From the Financial page on the portal, go to charge monthly dues.

  • Enter today's date
  • Enter the current monthly dues amount ($7 at this writing)
  • Hit Add.

4.2. Check freezing / booting list

4.3. Manual low balance reminders

When: middle of each month (15th) Why: some ISPs block mail from HCoop since it sometimes forwards spam.

  • There are two relevant pages listing members:
    • Freese-worthy - lists people whom, after the next payment cycle, will be within one month of being booted.

    • Boot-worthy - lists people whom, after the next payment cycle, will be booted.

  • Remember anyone who had made alternative arrangements for paying (e.g., will close their account and don't need anything else to be said)
  • See below for mail templates for each category of needs-reminder. The templates also list the payment address to cc.
  • Click on the member name. Send a mail to all email addresses listed on the profile, including their hcoop address. If they don't have a non-HCoop mail address, go to their archived membership application to get at least one non-hcoop mail.
  • Send the reminders.

Subject: We're about to freeze your HCoop account...
Cc: HCoop Payment Reminder Robot <payment@hcoop.net>

...because your balance is too negative.  If you want to keep your
account, please make a payment here ASAP:
        https://members.hcoop.net/

Details on how much we recommend paying should be found in the last
automated low balance reminder e-mail sent to you.  If you don't want
your account anymore, please don't stay silent; instead open a ticket
here, in the "Financial" category:
        https://bugzilla.hcoop.net/enter_bug.cgi

...and include instructions on what to do with your remaining funds
(donate to the co-op or refund via PayPal or Stripe).

5. New member

When: when you get the first payment from a new member. (You may need to prompt new members for payment if it is not remitted soon after the board votes to accept the application.)

  • Check if the member authorized us to charge their PayPal account when signing up, and capture the charge if they did.

  • You will get a payment notification from the member. When you enter their email address, it will pop up to their member application instead of their usual
    • From time to time a member gives us the wrong address for paypal. Inspect approved members waiting for an account and attempt to locate the associated user. If there is nothing obvious, contact the payer directly.

    • Ensure that the sender can be verified. The name must match the application, and either:

      • Have a "Confirmed Seller Protection Address", or
      • Be from a verified Paypal account
  • Select "Add this member"
  • It will give you a command to run on gibran. Run it in a shell (sudo is not needed). /!\ Do not proceed with the next step until this command has been run; it will break the user's account.

  • You will be presented with a dialog creating the new user
    • Leave defaults
    • Enter initial payment amount, description = "Paypal"
      • Balances may be funded by another member (e.g. main hcoop member creating an account for a family member, a small organization funded by one account, ...)

6. Member leaving

When: when emailed from bugzilla

  • What to do with the balance.
    • Member donates balance to hcoop: Make two transactions: one reducing the member's balance (negative payment), and one increasing the coop's balance (positive payment), "balance donation upon leaving".
    • Member requests refund via Stripe: They must have previously made a payment using Stripe. Search for one of their past payments, then refund the balance money. Add it to the account ledger - note that there is both the amount subtracted from the account, and a "transaction fee" which you should subtract from the hcoop account if you don't consider it properly.
    • Member requests refund via paypal: Click 'Send Money', then fill in the member's paypal-associated email address and the balance money. Click the 'Personal' tab and select the 'Payment owed' radio button, and then click 'continue' and follow through on the payment. Add it to the account ledger.
  • Retire the member: Admin sidebar -> Members -> retire the member.

  • Run this command on gibran to close the account

     /afs/hcoop.net/common/etc/scripts/destroy-user USERNAME
  • Close the bug.

If a member replies to something asking if they can be retired, here is a boilerplate you can reply with:

To close your account, please open a ticket in bugzilla in the "financial"
category, and including what you'd like to do with the remaining balance
(donation to the co-op or refund):
  https://bugzilla.hcoop.net/enter_bug.cgi

This provides some authentication, and a permanent record, for the close request.

Thank you,

- HCoop Treasurer

7. Freezing and unfreezing

  • Freezing: /afs/hcoop.net/common/etc/scripts/freeze -a f USERNAME

  • Unfreezing: /afs/hcoop.net/common/etc/scripts/freeze -a u USERNAME

8. Unretiring a user

If a delinquent user contacts you with payment after you've retired him in the ledger but before the delete scripts are run:

  • follow the 'Groups' link in the Admin box
  • add the user to the 'paying' group
  • revoke the user from the 'retired' group

9. Changing passwords

  • On gibran (kerberos master), run sudo kadmin.local -p root/admin, then run cpw <username>@HCOOP.NET

  • Admin users only: For local passwords, ssh to the machine and just use passwd <username>. Right now local passwords are out of date and not used, so you don't actually need to do this.

10. Reimbursing Expenses

  • Enter a payment for the member with the description "reimbursement for ${thing}"
  • There is no need to enter a negative transaction from the coop balance. The person incurring an expense on behalf of the coop is merely giving the coop goods instead of cash.

11. Filing E-postcard Tax Form

When: yearly, After January 1st and before April 15th

When creating the account to file, it is for you personally, not for the coop, so each new treasurer will need to create their own account.

12. Handling Email

The treasurer can receive quite a bit of mail at times. ClintonEbadi recommends filtering the mail into a single folder. Some procmail rules to achieve this:

:0
* ^TO_payment@hcoop.net
.HCoop.treasurer/

:0
* ^Subject: Your HCoop account has been created!$
.HCoop.treasurer/

:0
* ^Subject: Welcome to HCoop!$
.HCoop.treasurer/

:0
* ^From: HCoop Payment Reminder Robot <payment@hcoop.net>$
.HCoop.treasurer/

TreasurerInstructions (last edited 2024-07-07 17:09:19 by StephenMichel)