Comments (30)
Now that I actually tried to work out the demo, I'm more inclined to go with existing solutions like fava. There are other options here.
There's already nice tutorial like this to setup a complete personal finanical system (web UI). It can totally apply to here IMO.
from finances.
Does https://github.com/dulaccc/django-accounting/ fit at all?
from finances.
I just discovered http://plaintextaccounting.org/. :-)
from finances.
we should start with the standard reports
@whit537 +1. I put the mockup mainly to get some feedback.
from finances.
@nobodxbodon Nice find! Fava looks great at first blush—I like seeing the income statement and balance sheet right off the bat in the navigation. What would you see as next steps?
from finances.
@whit537 I'll try to setup a demo based on the tutorial like above, on pythonanywhere, with the existing data. In my impression the file format of beancount is very similar to ledger's.
If it works out, we may close this ticket and start setup formally, with the considerations of continuous financial data feeds, etc.
from finances.
Bringing over some relevant comments:
That brought us to the tech stack question (3). Long story short, @nobodxbodon is really interested in working on our finances ("If not the most critical part, it's definitely one of them"), and we decided to give Django a try for a finances app that would start out by replacing our budget spreadsheet, and could evolve to take over the access dashboard as well. I'll let @nobodxbodon say more when he's ready.
[…]
We finished by diving into the finances repo to look at what's already there. @nobodxbodon: In addition to digesting the README and trying out the code there, see #308 for the top of a deeeeeeeep rabbit hole that @kaguillera and I went down, where we looked at Xero and eventually landed on the Ledger-based solution I started showing you today)—and then check out #22 for the unfinished conversation about converting to GnuCash.
gratipay/inside.gratipay.com#867 (comment)
Here's a mock of the cost part, based on current finance spreadsheet. After discussion, it occurs to me that links of related issues in github can address the "why" and "how" to each cost for business handlers clearly. They serve as sources for (especially external) tech guys to check details and comment, as well as index of internal how-to documents. It's not a strict UI mock of the page, and mainly demo the content that needs to be associated.
gratipay/inside.gratipay.com#878 (comment)
As a pretotype, how about I start with some mostly static page(s), instead of a Django app, and see if they look right?
gratipay/inside.gratipay.com#878 (comment)
@whit537 as I'm looking at the finance spreadsheet again, it seems the top 3 items makes more than half of the cost. I'm interested in the finer breakdown, like the heroku instances involved, etc. These will be necessary for the mock above as well. My guess is there can be savings somewhere, but I won't be sure unless I see what detailed items are burning money and why. Could you point me to some reference issues please?
gratipay/inside.gratipay.com#878 (comment)
from finances.
http://www.ledger-cli.org/3.0/doc/ledger3.html#Budgeting
from finances.
Here's what I think we should do:
- Start keeping records, using the existing Ledger-based system we have today in this repo.
- Write a Django app (also in this repo) to display the balance sheet and income statement, driven by Ledger under the hood. Deploy it.
- Move our budget from the spreadsheet into a file in this repo.
- Add a budget report to the Django app.
What say ye, @kaguillera @nobodxbodon @JessaWitzel, et al.?
from finances.
+1
Is there some convention how to keep the records up-to-date? Or will we establish some from now? Because keeping records can be done independently with the app.
from finances.
@nobodxbodon Here's the process we came up with:
https://github.com/gratipay/finances#workflow
from finances.
How would ledger and this Django app help you reconcile your accounts and make sure that planned spending == actual spending? I use YNAB for my personal budget and find that part to be important. Or will you have to take the extra step to match them up manually?
from finances.
Maybe that's not important. Read the docs and per usual I understand enough about it to feel like I don't understand it at all.
from finances.
AFAIK there's no planning of spending yet, and the first step would be to book-keep actual spending.
from finances.
I'm working on putting the expense report on gratipay/inside.gratipay.com#867 into ledger format for 2016-11 so we can see what this looks like with a practical example.
from finances.
PR for that in #30.
from finances.
How would ledger and this Django app help you reconcile your accounts and make sure that planned spending == actual spending? I use YNAB for my personal budget and find that part to be important. Or will you have to take the extra step to match them up manually?
I think any type of comparison would be outside of Ledger because that isn't what it's designed to do. How does YNAB do it?
from finances.
Interesting! Hmm ... https://twitter.com/whit537/status/801551260201734146
from finances.
!m @mattbk I was actually looking at that and going to test it out today.
I think that I will look at it on Friday.
from finances.
I think an MVP here would be three simple pages:
- Homepage, with two links to:
- Income Statement
- Balance Sheet
(2) and (3) would shell out to the relevant scripts in bin
to generate the relevant report, and display it in the browser. To start with this could be just in a pre
tag.
Does that sound good to you, @nobodxbodon? :-)
from finances.
How would ledger and this Django app help you reconcile your accounts and make sure that planned spending == actual spending? I use YNAB for my personal budget and find that part to be important. Or will you have to take the extra step to match them up manually?
I think any type of comparison would be outside of Ledger because that isn't what it's designed to do. How does YNAB do it?
We can use Ledger for budgeting: #12. Once we had a budget report set up in Ledger we'd then add a third link to the Django app.
from finances.
I think an MVP here would be three simple pages:
- Homepage, with two links to:
- Income Statement
- Balance Sheet
Shall we create some charts like mock below (please correct me if I read the report wrong), to make the report easier to understand?
Charts for all the reports may fit into one dashboard all together.
from finances.
@nobodxbodon I know for myself I want to see a standard income statement and balance sheet. If we want other reports and charts that's okay too, but, I think we should start with the standard reports. The main point on this PR is to get something together in terms of a Django app that we can deploy over in #29. Release early and often! MVP and iterate! :-)
from finances.
The main point on this PR
Erm, sorry. This isn't a PR! :-)
from finances.
Trying to create a skeleton django app with a page of balance sheet, but not sure how to get the ledger result in the view. Seems not a good idea to call ledger every time.
from finances.
Seems not a good idea to call ledger every time.
I think calling ledger for every request is fine, since a) this is a low-traffic app, and b) Ledger is written in C.
from finances.
Just started fava locally with example beancount file from the tutorial (screen below). Appears there's difference between ledger and beancount. Could you go through it to see if it actually suits us?
from finances.
Alright, I just read the comparison document, and I am excited to give Beancount a try! I did not appreciate the extent to which it is a mature alternative to Ledger.
from finances.
I especially like that it's written in Python 3, and has extensive documentation. The docs give the impression that it has a much tighter design than Ledger:
If people don't want to use them [virtual accounts], that's fine. But Ledger is not an accounting tool; it's a tool that may be used to do accounting. As such, I believe virtual accounts serve a role that others with non-accounting problems may wish to fill.
I respectfully beg to differ.
And even the built-in web interface would be wonderful for our purposes right now:
from finances.
Closing in favor of #35.
!m @nobodxbodon
from finances.
Related Issues (20)
- use current activity instead of retained earnings HOT 1
- budget HOT 9
- make sure Xero is canceled HOT 2
- Restructure Reconciliation Report in Dashboard HOT 14
- convert to GnuCash HOT 26
- extract Ally operations data HOT 27
- extract PNC data HOT 4
- extract Citizen's data HOT 1
- More statements HOT 6
- convert to Odoo HOT 3
- deploy the Django app HOT 9
- —
- Additional test cases to check balance with bank statements HOT 5
- Finish setting up books HOT 7
- Acquire old PayPal logs HOT 9
- Deploy a public bean-web instance or two HOT 1
- Year end clarification/correction HOT 4
- get escrow off the income statement
- move fee buffer off the income statement HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from finances.