Skip to content
This repository has been archived by the owner on Feb 8, 2018. It is now read-only.

implement a system for correcting mistakes #1511

Closed
chadwhitacre opened this issue Sep 26, 2013 · 13 comments
Closed

implement a system for correcting mistakes #1511

chadwhitacre opened this issue Sep 26, 2013 · 13 comments

Comments

@chadwhitacre
Copy link
Contributor

We should depend on making mistakes. There are two classes of mistake (IRC):

  • We take too much. Like, we charge someone's credit card too much. The correction is to refund their credit card (and similar for other funding instruments as we bring those online). Not all refunds are due to a mistake on our part, however.
  • We give too much. Like, we deposit money in someone's bank account but it turns out that the money was stolen (make sure "delpan" is not stealing money :-) #329) or just plain invented (run Gittip 101 #2362 (comment)). The second case is more complicated. We can't pull money back from a bank account once we send it. If the user has a CC (or other funding instrument) attached we could charge their card (and eat the fees), but that seems like bad UX to hit people with unexpected credit card charges. We don't want to eat the mistake ourself. The best we can do seems to be recovering the money from future tips, only eating it ourselves if we can't collect from them within 90 days or something.

I had originally thought we could allow a negative balance as a quick way to implement this, but now I think we want something more robust that keeps better track of what we're doing.

I think we want a page at /about/mistakes/ that explains our policies, and an admin page at /about/mistakes/dashboard to manage mistakes and their correction. On that page I want to be able to record a mistake, and then let "the system" do whatever it takes to correct the mistake.

Whatever is done to correct the mistake should be included on the affected user's history page.

was: allow negative balance

There are situations where it would be useful to allow a negative balance (#371, #1509). We added a hard constraint in the database on #161 to disallow that, because in certain cases it is a sign of a bug or fraud. One possibility would be to remove the db constraint, and add a listing of people with a negative balance to the fraud dashboard. That way the list would get reviewed every week. We would expect only a small percentage of users to ever have a negative balance, so it wouldn't be too hard to review manually for the medium term.

@chadwhitacre
Copy link
Contributor Author

The situation on #371 is that stolen money was given to innocent bystanders. Gittip has to refund that money to the credit cards it was stolen from, and we should recover that money from any innocent bystanders it was given to.

The situation with @Higgo from #1509 is that I botched a PayPal payout and paid him twice.

@chadwhitacre
Copy link
Contributor Author

An alternative would be to add an additional field to the participants table, something like owed or amount_to_recover, and then modify payday and probably the manual entry form on the history page to respect that.

@ghost
Copy link

ghost commented Sep 26, 2013

Sent you a refund. Disregard the negative credit thing

@chadwhitacre
Copy link
Contributor Author

Thanks @dhig, much appreciated. :-)

@chadwhitacre
Copy link
Contributor Author

@dhig Also, ftr, we're working on further automating this process over on #943 to avoid these kinds of mistakes in the future.

@ghost
Copy link

ghost commented Sep 26, 2013

@whit537 Yeah, I can't wait for it to be automated. But I have to give it to you, you are always bang on time with the manual payments. As in, I request, and you send, in near-instant time.

Can't see that scaling at large though!

@chadwhitacre
Copy link
Contributor Author

@dhig :-)

@chadwhitacre
Copy link
Contributor Author

Newly relevant with #2362 (comment).

@chadwhitacre
Copy link
Contributor Author

But what happens if we never recover the money from a user? Like, they don't receive enough tips in the future to bring their balance back up? Do we write it off after 90 days or something and zero out the account using Gittip's operating budget (and probably cancel the account?)?

@chadwhitacre
Copy link
Contributor Author

Let's go for this. We added the constraint in the first place as a precaution against theoretical possibilities (#160). We have a real need for the constraint to be relaxed, so let's do so.

@chadwhitacre
Copy link
Contributor Author

Bumped up to TeamX ★.

This was referenced May 13, 2014
@chadwhitacre
Copy link
Contributor Author

I'm repurposing this ticket to be about correcting mistakes.

@chadwhitacre chadwhitacre changed the title allow negative balance implement a system for correcting mistakes May 13, 2014
@chadwhitacre
Copy link
Contributor Author

#2417 is another mistake that needs to be corrected.

@chadwhitacre
Copy link
Contributor Author

cc: @peterob

@chadwhitacre
Copy link
Contributor Author

Fast bad decisions. Went with negative balances after all because I needed to resolve #2417.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant