Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    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 ?
    I assume so too, but I'm really confused about beancount's CLI, sorry
    gary
    @garyp:matrix.org
    [m]
    slifty: for question 1, I would probably add the project as metadata on the individual posting rather than sub-accounts for each project. I think you should then be able to write a beancount query using the metadata in order to get a balance for just a specific project even across multiple bank accounts. And you can put the metadata on your Accounts Payable/Receivable postings too.
    slifty: for question 2, why do you need the separate sub-account for each vendor? I would just put them all in one account and do a report by payee to see each vendor's balance.
    1 reply
    slifty
    @slifty:matrix.org
    [m]

    @gary I am storing invoices alongside my ledger; do you know if it's possible to maintain a document structure that doesn't mirror accounts directly (e.g. if I track vendor using the Payee model)? With sub-accounts I had each invoice in a ./Liabilities/AccountsPayable/VendorNameHere which aligned with the account. Fava seemed opinionated about that file structure, but I'm wondering if maybe I'm not so locked in.

    (or, alternatively maybe I keep the AP sub-accounts but ditch the expense sub-accounts. food for thought.)

    I know I'm saying thanks a lot but why stop now: thank you so much for the advice

    simonmic:matrix.org @simonmic:matrix.org would stick with accounts for such an important subdivision that needs to be reliable
    sm
    @simonmic:matrix.org
    [m]
    but, YMMV! whatever works
    slifty
    @slifty:matrix.org
    [m]

    sm: ah! Are you talking about for vendors or the project concept (or both)?

    Now that you mention that, I do think the reason I was worried about relying on Payee was the potential for typos -- whereas with accounts I'd get an error if I screw it up

    sm
    @simonmic:matrix.org
    [m]
    right. I was responding to "why do you need the separate sub-account for each vendor"
    slifty
    @slifty:matrix.org
    [m]
    sm: Got it -- point well taken; and to that end where I might wind up is "sub accounts for AP" (which addresses my document problem too), but NO sub-accounts for the expense.
    Once this is all done maybe I'll write a blog post to share what I've learned in case it helps others in future...
    sm
    @simonmic:matrix.org
    [m]
    when you find you need to report things separately, that's the time to add separate accounts for them, usually
    until then, less is more!
    slifty
    @slifty:matrix.org
    [m]
    sm: I like that rule of thumb
    sm
    @simonmic:matrix.org
    [m]
    the fewer moving parts, the better. Finances get complex enough already
    that's my motto
    my PTA survival tip :)
    slifty
    @slifty:matrix.org
    [m]
    Nuts, wish Fava could let me visualize by payee -- that's one big downside to not using vendor sub-accounts (e.g. being able to have my TreeMap show me which vendor is being paid the most, rather than one big Wages block)
    slifty
    @slifty:matrix.org
    [m]
    Update: oh yay beancount/fava#756
    slifty
    @slifty:matrix.org
    [m]
    I see fava has "fava.plugins.link_documents" as a listed plugin, but the documentation doesn't make it too clear if this is enabled by default or if I have to do something to make it work... Anybody here know how I can have documents appear as linked to my transactions?
    slifty
    @slifty:matrix.org
    [m]
    Looks like I just have to type plugin "fava.plugins.link_documents" in my ledger (btw what is the "noun" for a beancount document? is it ledger? recordset?)
    sm
    @simonmic:matrix.org
    [m]
    journal I usually call it, from https://en.wikipedia.org/wiki/General_journal
    Rudde
    @Rudde
    Are there no offical fava docker?
    Vlad Rafeev
    @dandaka
    Hey everyone! Is it possible to get an account statement? I am looking for a basic report, that will include
    — opening balance
    — closing balance
    — all transactions between
    3 replies
    one-validr
    @one-validr
    Hello, how to bind fava to https?
    I think I shall put fava under a reverse proxy.
    Other suggestion?
    yusf
    @yusf:gottsnack.net
    [m]
    @one-validr: there are various implementations on Docker Hub 🙂
    one-validr
    @one-validr
    Ok, i'll check ;)