Skip to content
This repository has been archived by the owner on Nov 16, 2022. It is now read-only.

set up accrual accounting #308

Closed
chadwhitacre opened this issue Aug 12, 2015 · 173 comments
Closed

set up accrual accounting #308

chadwhitacre opened this issue Aug 12, 2015 · 173 comments

Comments

@chadwhitacre
Copy link
Contributor

Right now we account for our operations on a cash basis with a spreadsheet. Sooner or later we should implement a proper accrual system. I'm thinkin' Xero (cf. gratipay/gratipay.com#1039).

@techtonik
Copy link
Contributor

What is accruel? Can it be simplified? We need a system to do accounting, right?

@chadwhitacre
Copy link
Contributor Author

There are two kinds of accounting: cash (simple) and accrual (robust). We've been using cash accounting so far. Accrual accounting is more powerful but more complex.

https://en.wikipedia.org/wiki/Basis_of_accounting

@techtonik
Copy link
Contributor

@techtonik
Copy link
Contributor

Looks like a problem with cash accounting is that cash doesn't have tags. So you can't track what money is for what, what are debts, what are payments in advance, for which demands. It looks like you just mix all stuff in and can only track income and expenses at certain intervals. I see why it is mostly useless. =)

@chadwhitacre
Copy link
Contributor Author

I've gone back and dusted off our Xero account:

screen shot 2015-09-22 at 10 22 37 am

@chadwhitacre
Copy link
Contributor Author

I've linked our PNC account and our PayPal account.

@chadwhitacre
Copy link
Contributor Author

Alright, this is getting interesting. I've been reconciling our PNC account with Xero, and I've been handling the influx of money from PayPal as a transfer from a PayPal account to a bank account. But when I get to reconciling our PayPal account in Xero, what am I going to do with the influxes of money from Gratipay?

One option might be to add Gratipay as a "bank account" so that I can handle it as a transfer:

screen shot 2015-09-22 at 10 45 03 am

In that case, Gratipay would export a feed that Xero could consume, and we'd reconcile transactions within Xero just like with any other bank (or PayPal) account. Depending on how someone was using Gratipay, they'd have income and expense transactions, eventually including payroll expense. We've been talking about Gratipay vis-a-vis banks (with reference to PayPal) over at gratipay/gratipay.com#1383 (comment).

Xero also has a "payment services" feature under their invoice template settings, and it includes a "custom URL" option:

screen shot 2015-09-22 at 10 48 33 am

This assumes that the business is invoicing customers up front and wants to include options to pay on the invoice. Gratipay implements self-billed, pay-what-you-want invoicing, so the model doesn't quite fit. Xero does have a guide on handling payment processor receipts, but even then, Gratipay isn't a simple payment processor, because of a) payroll, and b) receiving and giving in the same cycle. If The Enterprise receives $1,000 on Gratipay, gives $100, and distributes $800 in payroll, then their PayPal account will only see $100, but they need to report $1,000 in income and $900 in expenses, not merely $100 in income.

@chadwhitacre
Copy link
Contributor Author

Soooo ... Gratipay is "not a bank," but it plays one on TV in your company's books?

@chadwhitacre
Copy link
Contributor Author

I've reconciled the most recent info that Xero was able to bring over from PNC, but I'd like to go back and enter and reconcile all of our past history that we've maintained on our finances spreadsheet.

@chadwhitacre
Copy link
Contributor Author

As of gratipay/gratipay.com#3786 (comment) I'm thinking of this as the over-arching ticket for whatever accounting features we need to add to gratipay.com. We need a proper accounting system, and accounting for our escrow is a part of that. Therefore, the next step would seem to be setting up Xero to include both our operating and escrow accounts, and then the conversation with the CPA tomorrow can be about making sure our books are set up sensibly. I'm going to pause gratipay/gratipay.com#3786 for now, and focus on Xero.

@chadwhitacre
Copy link
Contributor Author

The total balance in escrow is shown on a company's balance sheet at the end of every period, either as a liability or in a section between liabilities and equity. The separate bank account that the escrow funds are held in is shown as a current asset outside of the company's operating account. In this way, the escrow funds are both an asset and a liability in the company and are a "wash." However, the accounts cannot be netted against each other because they must be visible as both asset and liability according to GAAP.

http://www.ehow.com/info_11384335_accounting-treatment-escrow-account.html

That and http://www.tdi.texas.gov/title/documents/BASICS.pdf are the best info I've found so far on setting up books for an escrow.

@chadwhitacre
Copy link
Contributor Author

Pooled escrow accounts may require individual client ledgers.

http://www.ehow.com/info_12119449_accounting-journal-entry-amounts-held-escrow.html

@chadwhitacre
Copy link
Contributor Author

To: Peter Fleming, CPA

Are we still on for tomorrow at 1:30pm?

@chadwhitacre
Copy link
Contributor Author

Xero is going to have both our operating and escrow accounts in it. It'll take some work to bring all of our operating history into Xero, but that's not the interesting stuff. More important for tomorrow is the escrow accounting, so I'm going to focus on that first. I'm going to import our escrow history into Xero.

@chadwhitacre
Copy link
Contributor Author

Alright, what are all the accounts we've ever had escrow in?

  • Samurai
  • Stripe
  • Balanced
  • Braintree
  • New Alliance FCU
  • Ally
  • Citizens
  • PayPal
  • Coinbase
  • Transferwise

@chadwhitacre
Copy link
Contributor Author

The purpose right now is to account for everything at a high level. We don't need per-user ledgers yet. Right now we just want to get all of our top-level escrow activity into one place: Xero.

@chadwhitacre
Copy link
Contributor Author

I want to see escrow accounts on our balance sheet:

screen shot 2015-09-22 at 12 40 05 pm

@chadwhitacre
Copy link
Contributor Author

I'm looking at our PayPal transaction history. I don't think we want individuals ~users in Xero. I think we want lump sums in Xero, with individual ~users accounted for in gratipay.com itself.

@chadwhitacre
Copy link
Contributor Author

I've started a download of our PayPal history.

@chadwhitacre
Copy link
Contributor Author

Okay, I have PayPal history, but only back two years. :-/

@chadwhitacre
Copy link
Contributor Author

PayPal's web interface goes back three years, which is long enough. Our first PayPal payout was on Jan 20, just after payday 33 (not mentioned there nor in 34).

@chadwhitacre
Copy link
Contributor Author

There's actually a little bit of noise in the PayPal prior to Jan 20, which is reflect on our finances spreadsheet. When did we disentangle escrow from operations?

@chadwhitacre
Copy link
Contributor Author

"sort out bank accounts"

@chadwhitacre
Copy link
Contributor Author

Also helpful for early history:

"go over payday numbers and make sure it is right"

... and especially ...

"correct any misuse of escrowed funds," which this ticket should enable if we don't in fact end up needing to resolve 265 before closing this here.

@chadwhitacre chadwhitacre mentioned this issue Sep 22, 2015
@chadwhitacre
Copy link
Contributor Author

I believe we were mingling escrow and operations for over a year, until gratipay/gratipay.com#68 two years ago.

@chadwhitacre
Copy link
Contributor Author

gratipay/gratipay.com#171 links to an old spreadsheet which seems to line up with a portion of 2012 from our finances spreadsheet, except that the beginning balance is given as $106.23, which is not what is computed on our finances spreadsheet.

@chadwhitacre
Copy link
Contributor Author

New Alliance history appears to only go back a little over a year.

@chadwhitacre
Copy link
Contributor Author

I've got three CSVs for New Alliance:

  1. newalliance.0.csv—from the digitized paper statements
  2. newalliance.1.csv—from the finances spreadsheet
  3. newalliance.2.csv—the web export

From (2) and (3) I've split out two more CSVs, for the operations transactions that were mixed in with the escrow transactions (I've removed those transactions from the CSVs listed above).

I've created a New Alliance bank account in Xero, distinct from the Escrow - New Alliance bank account. I've reconciled the two CSVs for it, and we are showing a balance of -$1,355.71. This may shift a bit when I get into fees between users and Gratipay (I assigned the FeeFighters fees to operations; they did come out New Alliance in a way somewhat similar to Balanced, but they're so unrelated to the actual deposits from FeeFighters that I thought it easier to deal with them apart from escrow). However, I believe what this is telling us is that we may have spent $1,355.71 out of escrow, which we will need to pay back if we haven't already in some other way (gratipay/gratipay.com#265).

@chadwhitacre
Copy link
Contributor Author

Now to reconcile the rest of the Escrow - New Alliance transactions, and then the rest of Escrow - PayPal.

@chadwhitacre
Copy link
Contributor Author

Missed a couple GitHub transactions. Looking at -$1,368.71.

@chadwhitacre
Copy link
Contributor Author

Another one. Up to $2,168.71.

@chadwhitacre
Copy link
Contributor Author

Alright, after reconciling the rest of Escrow - New Alliance and resetting the conversion balance to 0, we are at 74,178.00, which is out by ... $2,168.71. :-)

@chadwhitacre
Copy link
Contributor Author

I haven't done a good job of accounting for fees. For example, I'm only recording a 9.41 deposit from Stripe, and I'm losing the 0.59 payment processing fee.

@chadwhitacre
Copy link
Contributor Author

Alright, this is ridiculous. :hurtrealbad:

@chadwhitacre
Copy link
Contributor Author

Okay! @kaguillera and I got Balanced balanced today. Progress!

screen shot 2015-09-30 at 9 05 51 pm

@chadwhitacre
Copy link
Contributor Author

I'm not going to get this any further before the advances refund tomorrow. I think it could make a lot of sense for @kaguillera and I to double-team these follow-on issues on Wednesdays when we're able to get together. We made a lot more progress together today than I'm able to alone on these accounting issues.

!m @kaguillera

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

4 participants