Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Caesar
    @caesar:schinas.net
    [m]
    I guess whatever the default is, it should fall back to something else if it's not available. Or at least show a warning.
    Jakub Jamro
    @kubauk
    Hi all, I've been using fava and beancount for years and I have also been exporting data out of beancount into excel to get a month by month or year by year view of my finances to allow me to spot errors and trends. I recently decided to see if I can add this into fava as an extension and I need some advice. The data side of this is really easy and I already have a basic monthly view running using _query_table.html. However I have some concerns about the front end side, specifically around not being able to write my own _macro.html files and access them from inside my extension. I envision my extension having more than one report and I also see myself writing a bespoke table so that I can add additional front end functionality that I can't currently compose from the templates and macros that already exist in fava and not being able to access my own macro templates from my report template means I will not be able to reuse my code across my reports. Is there a really good reason why, when an extension is loaded, the whole extension/templates path is not added to the template search path?
    3 replies
    jake
    @producercoder
    Hi all - I'm on a new M1 Mac - have experience with Fava and Beancount - but for some reason when I follow the instructions to install, and do not get errors, when I type the fava command I get "zsh: command not found: fava". I think this is a basic PATH configuration thing, but I can't seem to figure it out. Can someone lend a hand?
    sm
    @simonmic:matrix.org
    [m]
    g'day all, Beancount on HN today: https://news.ycombinator.com/item?id=30138434
    jake
    @producercoder
    I feel like a squeaky wheel here, but I still haven't solved the "command not found" issue described above. Can anyone help?
    sm
    @simonmic:matrix.org
    [m]
    hi @producercoder. I'm not familiar with the beancount install instructions, but here are some tips. Try to find out where the fava executable is. Check your current PATH with echo $PATH. If the fava dir is not in there, add a line to your zsh startup file that adds it to PATH at startup. If you already did that, you may need to also reload the zsh startup file, or just open a new terminal window.
    many projects give PATH setup instructions for bash, not for zsh, so you might need to translate a little
    jake
    @producercoder
    that's what I'm struggling with.
    I can't figure out the actual fava path that needs to be in the startup file
    sm
    @simonmic:matrix.org
    [m]
    @producercoder: how did you install it
    using pip3 ?
    using brew ?
    jake
    @producercoder
    pip3 install --upgrade fava
    sm
    @simonmic:matrix.org
    [m]
    pip3 has some command to show the files installed, I don't know it
    brew install fava worked for me just now, and the fava command was visible
    afk.. good luck
    yusf
    @yusf:gottsnack.net
    [m]
    Is there a Fava ”reader” online, that can pull data from a public file stored anywhere on the web?
    jake
    @producercoder
    thanks for the help @simonmic:matrix.org . brew install worked. Is there anything I should do to remove the pip3 install?
    sm
    @simonmic:matrix.org
    [m]
    great. pip3 uninstall ... maybe ?
    jake
    @producercoder
    that worked :)
    sm
    @simonmic:matrix.org
    [m]
    hello, announcing the PTA wiki a little more widely: https://groups.google.com/g/beancount/c/_xtg1XVbbCk
    Falcon Jon
    @jonathan:falconprogrammer.co.uk
    [m]
    I'm just trying to diagnose an issue with the fava-git package on the Arch User Repository (I'm not the package maintainer, just trying to figure it out). As part of it's install, it tries to call setup.py after running a make command which fails because a setup.py doesn't exist. I see no setup.py generated, nor do I see it referenced anywhere, is this no longer a valid way to build the package? Or is there something else going on?
    The AUR package is here, just for reference: https://aur.archlinux.org/packages/fava-git
    Jakob Schnitzer
    @yagebu
    Yes, Fava does not have a setup.py anymore. You can build it with python -m build or another pep517 compatible tool to build/install it. See, e.g., the "Installation" section of the Arch Python package guidelines: https://wiki.archlinux.org/title/Python_package_guidelines
    slifty
    @slifty:matrix.org
    [m]
    Hello all! Is this an appropriate place to ask questions about setting up a reasonable account structure in beancount? I can't tell if I'm mis-using sub-accounts to do what I want / if there are better ways to accomplish my goals πŸ˜…
    sm
    @simonmic:matrix.org
    [m]
    sounds good to me, here or #plaintextaccounting:matrix.org
    there isn't a room for beancount generally AFAIK
    slifty
    @slifty:matrix.org
    [m]
    (Oh thank you for the link! Just joined there too)
    sm
    @simonmic:matrix.org
    [m]
    oh I just noticed this one is named beancount/fava. So I guess this is it
    slifty
    @slifty:matrix.org
    [m]

    So for context I run a weird little partnership of freelancers who run projects through the company. I have two initial questions:

    Question 1: Tracking project funds
    Each project is treated kind of like a fund -- which is to say each project has its own set of assets / funds associated with the project, ultimately managed by the project's owner. I'm treating these assets as sub-accounts of our primary bank account.

    So for instance:

    2017-09-01 open Assets:MyBank:Checking:GeneralOperating
    2018-03-18 open Assets:MyBank:Checking:ProjectA
    2018-12-10 open Assets:MyBank:Checking:ProjectB

    This is reasonable, but it does mean that I'm not able to track project resources until after a payment (e.g. I can't see what AccountsPayable / AccountsReceivable entries are associated with a project)

    The other issue is that some of our projects have money in a second, non-USD, bank account. This just means I would have to have mirrored sub-accounts for those projects.

    I looked into in using #tags to track project-based transactions but was blocked because sometimes a transaction might involve more than one project (e.g. a vendor might bill for more than one project in a single invoice) so I'm a bit stumped.

    Question 2: Tracking Accounts Payable / vendors)
    We also have vendors who help do some of the work who will invoice us. I want to be able to track how much we owe any given vendor, so I have created sub accounts of AccountsPayable. Also, at the end of the year I need to know how much I paid a given vendor for 1099-NECs, so I have sub-accounts of Expenses:

    2018-08-20 open Expenses:Wages:JaneDoe USD
    2018-08-20 open Liabilities:AccountsPayable:JaneDoe USD

    I'll pause there for now -- are sub accounts the best way to handle this? The downside of this approach is that I have a ton more accounts (e.g. every time I add a new vendor I have to explicitly open an account for them; every time I close the books for the year I have to zero out each expense account individually).

    Truly my goal is to be able to generate those two reports for the vendors (how much do I owe each vendor, and how much did I pay each vendor in a given fiscal period)

    Falcon Jon
    @jonathan:falconprogrammer.co.uk
    [m]
    When it comes to multiple currencies, I tend to just have sub accounts for each currency rather than mirrored. That is if you actually have assets in multiple currencies. If you're just being charged in an alternate currency, you can just have that as part of the transaction.
    You can specify the exchange rate and or the actual value it converted to via your card or otherwise.
    I can't make examples right now unfortunately, but thought I'd respond!
    slifty
    @slifty:matrix.org
    [m]

    :point_up: Edit: So for context I run a weird little partnership of freelancers who run projects through the company. I have two initial questions:

    Question 1: Tracking project funds
    Each project is treated kind of like a fund -- which is to say each project has its own set of assets / funds associated with the project, ultimately managed by the project's owner. I'm treating these assets as sub-accounts of our primary bank account.

    So for instance:

    2017-09-01 open Assets:MyBank:Checking:GeneralOperating
    2018-03-18 open Assets:MyBank:Checking:ProjectA
    2018-12-10 open Assets:MyBank:Checking:ProjectB

    This is reasonable, but it does mean that I'm not able to track project resources until after a payment (e.g. I can't see what AccountsPayable / AccountsReceivable entries are associated with a project)

    The other issue is that some of our projects have money in a second, non-USD, bank account. This just means I would have to have mirrored sub-accounts for those projects.

    I looked into in using #tags to track project-based transactions but was blocked because sometimes a transaction might involve more than one project (e.g. a vendor might bill for more than one project in a single invoice) so I'm a bit stumped.

    Question 2: Tracking Accounts Payable / vendors)
    We also have vendors who help do some of the work who will invoice us. I want to be able to track how much we owe any given vendor, so I have created sub accounts of AccountsPayable. Also, at the end of the year I need to know how much I paid a given vendor for 1099-NECs, so I have sub-accounts of Expenses:

    2018-08-20 open Expenses:Wages:JaneDoe USD
    2018-08-20 open Liabilities:AccountsPayable:JaneDoe USD

    And then an invoice might be:

    2018-08-20 * "Jane Doe " "invoice" ^2018-08-20-invoice-jdoe-1
     Liabilities:AccountsPayable:JaneDoe           253.00 USD
     Expenses:Wages:JaneDoe

    and a payment might be

    2018-10-29 * "Jane Doe" "payment" ^2018-08-20-invoice-jdoe-1 #ProjectA
     Assets:Chase:Checking:ProjectA                   -253.00 USD
     Liabilities:AccountsPayable:JaneDoe

    I'll pause there for now -- are sub accounts the best way to handle this? The downside of this approach is that I have a ton more accounts (e.g. every time I add a new vendor I have to explicitly open an account for them; every time I close the books for the year I have to zero out each expense account individually).

    Truly my goal is to be able to generate those two reports for the vendors (how much do I owe each vendor, and how much did I pay each vendor in a given fiscal period)

    We do have assets in multiple currencies; the tricky thing is that they are actually in separate accounts (as in literal bank accounts) which have separate statements / balances. I'm wary of breaking that account separation in the ledger just because I'd lose the ability to do things like balance checks on the capital accounts.
    slifty
    @slifty:matrix.org
    [m]

    :point_up: Edit: So for context I run a weird little partnership of freelancers who run projects through the company. I have two initial questions:

    Question 1: Tracking project funds
    Each project is treated kind of like a fund -- which is to say each project has its own set of assets / funds associated with the project, ultimately managed by the project's owner. I'm treating these assets as sub-accounts of our primary bank account.

    So for instance:

    2017-09-01 open Assets:MyBank:Checking:GeneralOperating
    2018-03-18 open Assets:MyBank:Checking:ProjectA
    2018-12-10 open Assets:MyBank:Checking:ProjectB

    This is reasonable, but it does mean that I'm not able to track project resources until after a payment (e.g. I can't see what AccountsPayable / AccountsReceivable entries are associated with a project)

    The other issue is that some of our projects have money in a second, non-USD, bank account. This just means I would have to have mirrored sub-accounts for those projects.

    I looked into in using #tags to track project-based transactions but was blocked because sometimes a transaction might involve more than one project (e.g. a vendor might bill for more than one project in a single invoice) so I'm a bit stumped.

    Question 2: Tracking Accounts Payable / vendors)
    We also have vendors who help do some of the work who will invoice us. I want to be able to track how much we owe any given vendor, so I have created sub accounts of AccountsPayable. Also, at the end of the year I need to know how much I paid a given vendor for 1099-NECs, so I have sub-accounts of Expenses:

    2018-08-20 open Expenses:Wages:JaneDoe USD
    2018-08-20 open Liabilities:AccountsPayable:JaneDoe USD

    And then an invoice might be:

    2018-08-20 * "Jane Doe " "invoice" ^2018-08-20-invoice-jdoe-1
     Liabilities:AccountsPayable:JaneDoe           253.00 USD
     Expenses:Wages:JaneDoe

    and a payment might be

    2018-10-29 * "Jane Doe" "payment" ^2018-08-20-invoice-jdoe-1
     Assets:Chase:Checking:ProjectA                   -253.00 USD
     Liabilities:AccountsPayable:JaneDoe

    I'll pause there for now -- are sub accounts the best way to handle this? The downside of this approach is that I have a ton more accounts (e.g. every time I add a new vendor I have to explicitly open an account for them; every time I close the books for the year I have to zero out each expense account individually).

    Truly my goal is to be able to generate those two reports for the vendors (how much do I owe each vendor, and how much did I pay each vendor in a given fiscal period)

    :point_up: Edit: So for context I run a weird little partnership of freelancers who run projects through the company. I have two initial questions:

    Question 1: Tracking project funds
    Each project is treated kind of like a fund -- which is to say each project has its own set of assets / funds associated with the project, ultimately managed by the project's owner. I'm treating these assets as sub-accounts of our primary bank account.

    So for instance:

    2017-09-01 open Assets:MyBank:Checking:GeneralOperating
    2018-03-18 open Assets:MyBank:Checking:ProjectA
    2018-12-10 open Assets:MyBank:Checking:ProjectB

    This is reasonable, but it does mean that I'm not able to track project resources until after a payment (e.g. I can't see what AccountsPayable / AccountsReceivable entries are associated with a project)

    The other issue is that some of our projects have money in a second, non-USD, bank account. This just means I would have to have mirrored sub-accounts for those projects.

    I looked into in using #tags to track project-based transactions but was blocked because sometimes a transaction might involve more than one project (e.g. a vendor might bill for more than one project in a single invoice) so I'm a bit stumped.

    Question 2: Tracking Accounts Payable / vendors)
    We also have vendors who help do some of the work who will invoice us. I want to be able to track how much we owe any given vendor, so I have created sub accounts of AccountsPayable. Also, at the end of the year I need to know how much I paid a given vendor for 1099-NECs, so I have sub-accounts of Expenses:

    2018-08-20 open Expenses:Wages:JaneDoe USD
    2018-08-20 open Liabilities:AccountsPayable:JaneDoe USD

    And then an invoice might be:

    2018-08-20 * "Jane Doe " "invoice" ^2018-08-20-invoice-jdoe-1
     Liabilities:AccountsPayable:JaneDoe           -253.00 USD
     Expenses:Wages:JaneDoe

    and a payment might be

    2018-10-29 * "Jane Doe" "payment" ^2018-08-20-invoice-jdoe-1
     Assets:Chase:Checking:ProjectA                   -253.00 USD
     Liabilities:AccountsPayable:JaneDoe

    I'll pause there for now -- are sub accounts the best way to handle this? The downside of this approach is that I have a ton more accounts (e.g. every time I add a new vendor I have to explicitly open an account for them; every time I close the books for the year I have to zero out each expense account individually).

    Truly my goal is to be able to generate those two reports for the vendors (how much do I owe each vendor, and how much did I pay each vendor in a given fiscal period)

    :point_up: Edit: So for context I run a weird little partnership of freelancers who run projects through the company. I have two initial questions:

    Question 1: Tracking project funds
    Each project is treated kind of like a fund -- which is to say each project has its own set of assets / funds associated with the project, ultimately managed by the project's owner. I'm treating these assets as sub-accounts of our primary bank account.

    So for instance:

    2017-09-01 open Assets:MyBank:Checking:GeneralOperating
    2018-03-18 open Assets:MyBank:Checking:ProjectA
    2018-12-10 open Assets:MyBank:Checking:ProjectB

    This is reasonable, but it does mean that I'm not able to track project resources until after a payment (e.g. I can't see what AccountsPayable / AccountsReceivable entries are associated with a project)

    The other issue is that some of our projects have money in a second, non-USD, bank account. This just means I would have to have mirrored sub-accounts for those projects.

    I looked into in using #tags to track project-based transactions but was blocked because sometimes a transaction might involve more than one project (e.g. a vendor might bill for more than one project in a single invoice) so I'm a bit stumped.

    Question 2: Tracking Accounts Payable / vendors
    We also have vendors who help do some of the work who will invoice us. I want to be able to track how much we owe any given vendor, so I have created sub accounts of AccountsPayable. Also, at the end of the year I need to know how much I paid a given vendor for 1099-NECs, so I have sub-accounts of Expenses:

    2018-08-20 open Expenses:Wages:JaneDoe USD
    2018-08-20 open Liabilities:AccountsPayable:JaneDoe USD

    And then an invoice might be:

    2018-08-20 * "Jane Doe " "invoice" ^2018-08-20-invoice-jdoe-1
     Liabilities:AccountsPayable:JaneDoe           -253.00 USD
     Expenses:Wages:JaneDoe

    and a payment might be

    2018-10-29 * "Jane Doe" "payment" ^2018-08-20-invoice-jdoe-1
     Assets:Chase:Checking:ProjectA                   -253.00 USD
     Liabilities:AccountsPayable:JaneDoe

    I'll pause there for now -- are sub accounts the best way to handle this? The downside of this approach is that I have a ton more accounts (e.g. every time I add a new vendor I have to explicitly open an account for them; every time I close the books for the year I have to zero out each expense account individually).

    Truly my goal is to be able to generate those two reports for the vendors (how much do I owe each vendor, and how much did I pay each vendor in a given fiscal period)

    sm
    @simonmic:matrix.org
    [m]
    slifty: re question 1, why not put the project names at level 2
    1 reply
    Assets:ProjectA:MyBank:... etc.
    (I would put them at level 1, but I think beancount won't allow it)
    can't you run a report including MyBank:Checking across all projects ?
    sm
    @simonmic:matrix.org
    [m]
    or equivalently, you can keep your current structure and report on ProjectA across all Assets, Liabilities etc.
    this is easy in h/ledger and beancount must have a way too
    slifty
    @slifty:matrix.org
    [m]

    I should probably learn what running a report is πŸ˜…

    I think your second suggestion (running the report on the internal abstraction / on the project, rather than the external structure / the account) would be easier to swing simply because when I'm ingesting data from my bank account (e.g. for the example vendor payment above) the account the statement / data is related to is Assets:MyBank:Checking, not broken down by project.

    (ty by the way, I'll check this out!)

    Would metadata be a reasonable solution to this? E.g. being able to tag transaction legs with project: MyProjectA or whatever (I can't tell if this would get super tedious, or if this is simply the intention of metadata... I truly truly wish I could use #tags since it seems the fava interface treats tags as a first class piece of metadata in its UX)
    sm
    @simonmic:matrix.org
    [m]
    yes tags can be useful when you have crosscutting account hierarchies like this, but they are often used unnecessarily. Here you can simply match on the existing account name
    1 reply
    "ProjectA"
    (when I say "running a report", that means running some command in the terminal to see just the numbers I want - most of us non-fava users do this. I'm not sure how you use beancount/fava)
    1 reply
    when tracking finances for multiple entities in a single file, it's important to keep things clear of course. Wouldn't you want to divide up income/expenses by project as well ?