-
Notifications
You must be signed in to change notification settings - Fork 5
Conversation
Gosh this is so perfect! It's exactly what we were looking for! Great find, @nobodxbodon! 💃 !m @nobodxbodon |
@nobodxbodon Does the todo in the ticket description give you enough to go on here? Do you agree with this direction? |
Basically I think we should port the existing
Once we are ported over, we can work on deploying a production instance of |
To make sure, shall I work on this newly created beancount branch? Also, how about we not delete the original .dat file till .beancount file passes bean-check? Otherwise todo sounds good. |
Done
I'll add it after we validate the new report. It seems different from the original output from command line, like #28 (comment) The original dat file is recovered to pass original test, for now.
Done. |
According to Choosing an Account Type, the existing transactions seem to have some duplicates, like:
This leads to empty (all 0) incoming statement in beancount. Trying to merge them. |
@whit537 @kaguillera May I check the meaning of the terms:
And I suppose Samurai, New-Alliance, IHasAMoney, Stripe, VerificationAndTesting are all receivers? What's Escrow:Cash? |
@nobodxbodon Have you read through "How Our Books are Organized"? We tried to explain the terms there. If it's unclear let's figure out how to upgrade that doc. |
FY2013/2012-06.beancount
Outdated
@@ -3,6 +3,38 @@ | |||
option "title" "Gratipay Finances" | |||
option "operating_currency" "USD" ; The main currencies you use | |||
|
|||
** Accounts ; Open all the accounts you have |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we want to use these accounts across all month files for the fiscal year, we should store them in a separate file. Under Ledger we were using FY2013.dat
and declarations.dat
. We will need to figure out a) what files it makes sense to use for Beancount, and b) how to make Beancount look at multiple files at once (simple cat
?).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems here mentions how: https://bitbucket.org/blais/beancount/issues/84/include-doesnt-work-with-booking-method. Will try.
Yes! :-)
Suit yourself. I figured since it was still on
Howso? |
Ah that clears much. Sorry I overlooked. I'll need to check each transaction to understand better.
The numbers don't match with the original report from command line. Like the Equity:Owners:Chad part. ------ Update ----- |
I don't believe those are true duplicates. We did it that way to get the income statement to come out properly under Ledger. Open to revising if need be. |
I got the numbers agree with original reports. As I understand from the source code of original balance-sheet and income-statement, they both read only part of the ledger file, and the parts titled with 'balance sheet' seem to be part of corresponding transaction. So they can be merged to transaction, as in latest commit? Still I feel uncertain about the accounts I created, like: Liabilities:Fee-Buffer:Samurai |
Here's the first transaction in original dat. Could you check if I understand the items correctly?:
Besides, why is there a $31.35 fee buffer here? It seems much larger than normal fee:
|
@nobodxbodon I've taken the liberty of reformatting your comment for better readability, using triple-backticks. |
No, Samurai was our first payment processor. Individual users don't show up on our books here, only in the Gratipay database. The reconciliation dashboard is the intended bridge between the two. So the 2.96 here is the amount by which our escrow-held-at-Samurai increased during this transaction.
Different processor handle fees different ways. I will have to go back through to get it all straight, but basically some of them send us all the money first and then draw some of it back, whereas others only send us the net. Either way, though, the fee is coming out of the money that was charged (in aggregate here; we don't see individual charges as mentioned above). So basically there is an aggregate settlement into Samurai of $3.30 for this day, and $0.34 of that is fees. We account for that using the Fee Buffer for reasons described in the README.
Those lines were added so that the transaction would show up on the income statement. What is the effect of removing those lines on beancount's income statement? I haven't checked yet but that is the question I have.
Yeah, Samurai was sloppy with their own accounting and made several errors. @kaguillera and I went through this with a fine-toothed comb vis-a-vis our bank statement when we initially produced the file; I'm sorry if we didn't comment it well enough. I will try to revisit ... |
Off the top of my head: Payment Processors: Samurai, Cash, Stripe, Balanced, PayPal, Coinbase, Braintree, TransferWise italics = current |
Oh thanks for this and the explanation of fee buffer. Now it makes much more sense for me. After re-reading the README I think it already implicitly indicates those are processors, but I didn't realize.
I don't think those sum up to 0 affect income statement. I got the same income statement after removing these lines in 2012-06.dat:
Besides, as shown in the screenshot I posted, Beancount outputs the same income statement.
That will be ideal, but maybe we can start with the latest first, and backfill/revisit when there's bandwidth. |
How can we do the same as 'bean-check' programatically in test.py? |
@nobodxbodon Can we shell out to the |
@whit537 you mean using subprocess? I suppose so, but would it work with Travis? Can Travis call bean-check? BTW how early you get up! |
Up earlier than usual this morning. I'll probably crash again in a bit. How late you stay up! :-) We're already calling |
This is looking great, @nobodxbodon! I made a couple commits to clean up the file structure— OldNew |
@nobodxbodon Did you get anywhere last night with calling |
@whit537 pitifully not really. The question was my last activity :) |
At least that means I didn't clobber any of your work by pushing commits overtop of yours. :) |
About porting existing test suite, here are some tests covered already by bean-check. Maybe there are more:
The ones left:
|
If it's an income/expense it should just be "processing fees," not "fee buffer." But ... what's the problem with tracking it as a fee buffer the whole way back to the beginning? |
I guess that's just not accurate. How will we institute the fee buffer in FY2014, though? I guess we can cross that bridge when we come to it? |
c7323fe
to
54ece88
Compare
I made some commits, but 621eba0 is actually buggy. More work required ... |
... but I'm out of time for now. I'll be back. |
3d213ed
to
47f1e2f
Compare
It wasn't implemented until June, 2013, as now noted in the README.
47f1e2f
to
150c3d0
Compare
Alright, fee buffer removal redone in 150c3d0. You good with that, @nobodxbodon et al.? |
That info comes from the Gratipay database, per
Um ... the 25.29 is in that Stripe screenshot, no? They clear us the net (not the gross, as Samurai did), so we wouldn't expect to see 25.29 in New Alliance. You want to see 25.29 somewhere in the logs repo, is that it? |
Looks like the CSVs we got from Stripe show the net they paid, not the gross or fees, e.g.: https://github.com/gratipay/logs/blob/master/statements/2012/06/stripe.csv |
Yeah, looks like that is gone. I don't think we should block this on that, though, since we're not fundamentally changing the numbers here. |
Last thing from my pov here is to give the README and data file one more review. |
README looks fine to me, taking a last pass through the beancount file ... |
Let's go ahead and record a single transaction for the Stripe transfer (2b7320e), since that's how the info is coming to us in statements as at #35 (comment). |
I've confirmed that the sum of |
Okay, the balance sheet as of e6c9998 matches the balance sheet in #35 (comment), with the fee buffer (28.86) folded into current activity, and no final Stripe expense (14.63). -9.79 + 28.86 - 14.63 = 4.44 @nobodxbodon I'm ready for a merge. How about you? :) |
LGTM! Shall I merge? |
Meeeeeerge... |
@nobodxbodon I'm ready for you to merge! :-) |
Woo-hoo! Awesome work, everyone! Gratipay is now officially on Beancount! 💃 🌻 |
Reticketing from #28 (comment). Beancount is a plain-text accounting program, derived from Ledger but better-designed, and written in Python 3. 💃 🐍 Beancount comes with a built-in web interface with standard accounting reports, with a third-party interface besides. Let's use Beancount! :D
Todo
bean-check
to test suitebean-check
bin
dir