On Thu, Feb 1, 2018 at 2:00 PM, Jeremy Maitin-Shepard <[email protected]> wrote:
> How about booking shared expenses to an Expenses:Joint:Rent (or similar) > account? If you want to keep track of joint expenses that your girlfriend > paid for, you could make the source account: Equity:Girlfriend-Paid or > something similar? > You don't want to reflect the other person's expenses on your income statement. Or maybe I don't understand the particular transactions you envision (provide a detailed example if you like). > > Tags on accounts (or postings?) would be a nice thing to have. > Metadata is supported at the moment. Maybe a grammar redesign where either transactions AND postings both support tags might be a good idea. The thing is, I think it should be accompanied by a refactoring that automatically merges tags into the metadata, perhaps with just a boolean value. > Using tags on transactions for this purpose seems like a hack. > Oh no! It's exactly the type of usage it was designed for. > > Account tags can be simulated by just adding more colon-separated > components, but that is annoying in various ways. > Yep indeed. > > On Mon, Jan 29, 2018 at 7:52 PM, Martin Blais <[email protected]> wrote: > >> On Mon, Jan 29, 2018 at 2:13 PM, Stefano Zacchiroli <[email protected]> >> wrote: >> >>> On Mon, Jan 29, 2018 at 12:59:04PM -0500, Martin Blais wrote: >>> > On Mon, Jan 29, 2018 at 12:50 PM, Simon Michael <[email protected]> >>> wrote: >>> > > Congrats, Martin!! >>> >>> Ditto! >>> >>> > > Gonna present him with his ledger on his 18th birthday ? (Yikes :-) >>> >>> So, *cough* I'm actually doing the same think for my kid *cough*, with a >>> tag for each transaction that is related to him. >>> >>> (Digression: the fact that you need the tag to be short looks like due >>> to the current Beancount limitation of having to put tags on the same >>> line of payee/description, which can get pretty long. I'm still doing >>> this in Ledger-CLI --- and generating a beancount automatically from it >>> for Fava and SQL-ish queries --- where tags can be on subsequent >>> (comment) lines so the tag can get long-ish, without being too much of a >>> hassle.) >>> >> >> I could do this using metadata (and change the scripts), same same. >> In fact, I could put the metadata on the postings instead of the >> transaction, which would be more flexible. >> >> >> But I'm not exactly sure to understand what's the benefit of Martin >>> rewriting plugin --- aside from showing off the beautiful data >>> model/flow that Beancount offers and which I love, that is :-)). Even >>> with just a simple tag, I can filter all transactions with a simple >>> query, and get a current balance (or filtered ledger, or whatever), >>> where the categories are the "right" ones, in the sense that grocery >>> would be (baby-related) Expenses:Grocery, clothes Expenses:Clothes, etc. >>> >> >> My goals are different. On my personal ledger I don't want to see my >> son's expenses categories. It wouldn't make much sense because my mix of >> payments differs from the total costs associated with his maintenance. Say, >> for example, that I tend to pay for all the nanny stuff and the mother pays >> for all the food stuff. I would see a lot of nanny stuff on my balance >> sheet, and no food expenses. The reality is that I pay for a good portion >> of everything, and my son's ledger will more accurately reflect that >> breakdown, and my costs are some fraction of that. So I choose not to track >> this on my personal one, and I replace all these expenses by a single >> account. >> >> Another way of doing what you do (and FWIW that's what I was going to do >> originally), is to create a plugin that inserts a root for your kid in the >> account name. For example, Expenses:Grocery could become >> Expenses:Kid:Grocery, and so on. This way your balance sheet doesn't blend >> your Grocery and your kid's. >> >> >> What am I missing here? >>> >> >> Let me provide a full example, and this should serve to clarify for >> others as well. >> >> In my personal Beancount ledger, I import a transaction like this: >> >> 2018-01-26 * "CVS" "Pampers size 1" >> Liabilities:CreditCard -30.17 USD >> >> I categorize it manually as I currently do, and while doing that, I also >> notice it's for my kid. I insert a tag, so this is what I write: >> >> 2018-01-26 * "CVS" "Pampers size 1" #kid >> Liabilities:CreditCard -30.17 USD >> Expenses:Pharmacy >> >> Note here that my categorization books to the same set of account which I >> use for myself. That "Pharmacy" account is the same as mine, but it won't >> show up there. >> The beancount.plugins.divert_expenses plugin renames that to this >> automatically: >> >> 2018-01-26 * "CVS" "Pampers size 1" #kid >> Liabilities:CreditCard -30.17 USD >> Expenses:Kid >> >> Now, when I filter and extract his transactions from my personal ledger >> using the extract_beancount script, I have to disable the plugin (I just >> realized this bit is missing, will code it right away) when I read it, and >> instead change the inflow account, so it becomes this: >> >> 2018-01-26 * "CVS" "Pampers size 1" #kid >> Income:Dad -30.17 USD >> Expenses:Pharmacy >> >> Furthermore, the Google Sheets script which imports the mother's expenses >> produces something like this: >> >> 2018-01-26 * "Union Mkt" "Baby food" #kid >> Income:Mom -15.36 USD >> Expenses:Grocery >> >> And his ledger includes both of these files. >> There are no assets (yet), and two income accounts. >> Optionally, I could attempt to maintain the particular source of the >> payments on his side (e.g. Income:Dad:CreditCard1). >> >> I hope this helps, >> >> >> >> >>> >>> Cheers. >>> -- >>> Stefano Zacchiroli . [email protected] . upsilon.cc/zack . . o . . . o . o >>> Computer Science Professor . CTO Software Heritage . . . . . o . . . o o >>> Former Debian Project Leader & OSI Board Director . . . o o o . . . o . >>> « the first rule of tautology club is the first rule of tautology club » >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Beancount" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To post to this group, send email to [email protected]. >>> To view this discussion on the web visit https://groups.google.com/d/ms >>> gid/beancount/20180129191325.GB29678%40upsilon.cc. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Beancount" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> To view this discussion on the web visit https://groups.google.com/d/ms >> gid/beancount/CAK21%2BhOCrCWTza%2B54BPLoax4zCuEjza_c3Gd53pLB >> 12pT86Zsw%40mail.gmail.com >> <https://groups.google.com/d/msgid/beancount/CAK21%2BhOCrCWTza%2B54BPLoax4zCuEjza_c3Gd53pLB12pT86Zsw%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > > -- > You received this message because you are subscribed to the Google Groups > "Beancount" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > To view this discussion on the web visit https://groups.google.com/d/ > msgid/beancount/CAKJfoCEif%2B95CXmdAVHt-gmo62A43opfqH7E2oRtO%2BMS5WP% > 3DDA%40mail.gmail.com > <https://groups.google.com/d/msgid/beancount/CAKJfoCEif%2B95CXmdAVHt-gmo62A43opfqH7E2oRtO%2BMS5WP%3DDA%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Beancount" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/CAK21%2BhNw1wRL%3DeHErJ%3D%2BGN6poEfs%3Dt29G3Zif_%3DPb%2Bk59N896Q%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
