Giter VIP home page Giter VIP logo

Comments (30)

nobodxbodon avatar nobodxbodon commented on July 17, 2024 3

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.

mattbk avatar mattbk commented on July 17, 2024 2

Does https://github.com/dulaccc/django-accounting/ fit at all?

from finances.

chadwhitacre avatar chadwhitacre commented on July 17, 2024 1

I just discovered http://plaintextaccounting.org/. :-)

from finances.

nobodxbodon avatar nobodxbodon commented on July 17, 2024 1

we should start with the standard reports

@whit537 +1. I put the mockup mainly to get some feedback.

from finances.

chadwhitacre avatar chadwhitacre commented on July 17, 2024 1

@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.

nobodxbodon avatar nobodxbodon commented on July 17, 2024 1

@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.

chadwhitacre avatar chadwhitacre commented on July 17, 2024

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.
mock - accounting cost 20161112_220131

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.

chadwhitacre avatar chadwhitacre commented on July 17, 2024

http://www.ledger-cli.org/3.0/doc/ledger3.html#Budgeting

from finances.

chadwhitacre avatar chadwhitacre commented on July 17, 2024

Here's what I think we should do:

  1. Start keeping records, using the existing Ledger-based system we have today in this repo.
  2. Write a Django app (also in this repo) to display the balance sheet and income statement, driven by Ledger under the hood. Deploy it.
  3. Move our budget from the spreadsheet into a file in this repo.
  4. Add a budget report to the Django app.

What say ye, @kaguillera @nobodxbodon @JessaWitzel, et al.?

from finances.

nobodxbodon avatar nobodxbodon commented on July 17, 2024

+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.

chadwhitacre avatar chadwhitacre commented on July 17, 2024

@nobodxbodon Here's the process we came up with:

https://github.com/gratipay/finances#workflow

from finances.

JessaWitzel avatar JessaWitzel commented on July 17, 2024

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.

JessaWitzel avatar JessaWitzel commented on July 17, 2024

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.

nobodxbodon avatar nobodxbodon commented on July 17, 2024

AFAIK there's no planning of spending yet, and the first step would be to book-keep actual spending.

from finances.

chadwhitacre avatar chadwhitacre commented on July 17, 2024

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.

chadwhitacre avatar chadwhitacre commented on July 17, 2024

PR for that in #30.

from finances.

mattbk avatar mattbk commented on July 17, 2024

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.

chadwhitacre avatar chadwhitacre commented on July 17, 2024

Interesting! Hmm ... https://twitter.com/whit537/status/801551260201734146

from finances.

kaguillera avatar kaguillera commented on July 17, 2024

!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.

chadwhitacre avatar chadwhitacre commented on July 17, 2024

I think an MVP here would be three simple pages:

  1. Homepage, with two links to:
  2. Income Statement
  3. 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? :-)

screen shot 2016-11-30 at 2 07 37 pm

from finances.

chadwhitacre avatar chadwhitacre commented on July 17, 2024

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.

nobodxbodon avatar nobodxbodon commented on July 17, 2024

I think an MVP here would be three simple pages:

  1. Homepage, with two links to:
  2. Income Statement
  3. 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?
screen shot 2016-11-30 at 12 33 08 pm

Charts for all the reports may fit into one dashboard all together.

from finances.

chadwhitacre avatar chadwhitacre commented on July 17, 2024

@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.

chadwhitacre avatar chadwhitacre commented on July 17, 2024

The main point on this PR

Erm, sorry. This isn't a PR! :-)

from finances.

nobodxbodon avatar nobodxbodon commented on July 17, 2024

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.

chadwhitacre avatar chadwhitacre commented on July 17, 2024

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.

nobodxbodon avatar nobodxbodon commented on July 17, 2024

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?

example

from finances.

chadwhitacre avatar chadwhitacre commented on July 17, 2024

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.

chadwhitacre avatar chadwhitacre commented on July 17, 2024

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:

screen shot 2016-12-21 at 4 03 24 pm

from finances.

chadwhitacre avatar chadwhitacre commented on July 17, 2024

Closing in favor of #35.

!m @nobodxbodon

from finances.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.