https://bitbucket.org/blais/beancount/commits/d21ed26280ccebcb5e034a86e33ce6c5b842b858
Works great!


On Sat, Jan 27, 2018 at 1:04 AM, Martin Blais <[email protected]> wrote:

> On Wed, Jan 24, 2018 at 7:25 AM, <[email protected]> wrote:
>
>> Hey,
>>
>> Sorry all for the very slow response. The holiday period got the better
>> of me.
>>
>> All of these methods you've mentioned seem to only count half the cost on
>> your own accounts though and the other half is counted against a generic
>> account for your partner or roommate? What I would like to do is to count
>> the full amount of our shared apartment expenses against a shared account
>> and then possibly balance this shared account with payments from each of
>> us. The reason I'm interested in doing it this way is that I'd like to get
>> a clear picture of the actual cost of our living arrangement so that we can
>> evaluate it against other apartments for example. If we always did split
>> everything in half then I could use the way you described and just multiply
>> either share by 2 and I'd got the full cost but the parts we pay vary quite
>> regularly.
>>
>
> Yes, this is interesting, and I've done this in the past for a common
> project with someone else. Essentially, I would record the transactions
> twice: once for my half in my own personal ledger, and once again with the
> full amount in a separate, shared ledger. There was also some shared
> account to update. For the shared account I ended up splitting the income
> legs manually, and copy-pasting + editing to replicate to my personal
> account. That's not the best, it was too much manual work and it was
> annoying (but it worked).
>
> However, that being said, I'm currently gearing up for doing this once
> again and better this time around, especially since I'll have a lot less
> time to do this type of stuff. We just gave birth to a baby boy, and call
> me neurotic, but I'm planning to track all his related expenses separately
> to do just what you described. In other words, on my personal ledger, all
> expenses for my kid should appear to a single Expenses account to his name.
> For instance, my "Food" total should account for just the food I consume,
> not that which he does. His expenses should appear on my income statement
> as an outflow of general costs related to his maintenance, or perhaps just
> a few high-level accounts. This is more accurate as Mom will inevitably end
> up paying for different types of thing than Dad will. On the shared ledger,
> those same expenses will appear to their respective categories (e.g. "Food"
> will be his food this time around, and just his) and that should give a
> full picture of his costs, paid for by Mom and Dad, which is more
> interesting that just the parts which I happened to have paid for. I think
> this is similar to what you need to do.
>
> Here's how I'm planning to implement this, this time around:
>
> - I want to stop recording transactions twice, as it required some
> annoying manual synchronization and editing. Instead, in my personal
> ledger, I will record expenses for my kid to categories as if they were my
> own, but tag transactions with a special and very short tag (there will be
> many). A plugin will convert the expenses accounts of those transactions to
> a single generic account to his name, as described above.
>
> - I'll write a script that will pull out these transactions from my ledger
> and instead of transforming the Expenses account this time, it will
> transform the other (assets or liabilities accounts) postings to a generic
> "inflow" contribution account from his father. That will output some other
> file in Beancount format.
>
> - Similarly, I'll also write another script that will pull information
> from a spreadsheet for his mother's expenses related to him. She doesn't
> maintain her own Beancount file - alas! - but can hopefully put her
> expenses for him on a spreadsheet, manually. That script will convert this
> Google spreadsheet to a Beancount file for his Mom's contributions, booked
> against a similar inflow-from-Mom account.
>
> - Finally, I'll create some top-level Beancount file that will contain
> common definitions and such and which will include the two dad.beancount
> and mom.beancount file. That should form his dataset with his own report.
>
> I made a little diagram to show this flow more clearly:
> https://docs.google.com/drawings/d/18fTrrGlmz0jFbfcGGHTffbdRwbmST
> 8r9_3O26Dd1Xww/edit?usp=sharing
>
> Now, one remaining question regards whether those conversion scripts ought
> to always reconvert the entire set of transactions. I think the answer to
> that is: no. For instance, once imported, spreadsheet lines which have been
> accounted for in the mom.beancount file can be safely ignored. Mom can
> delete the spreadsheet contents once the transactions have been included.
> That's a choice, however, it doesn't have to be that way, but if it didn't,
> I suspect the spreadsheet would grow very large. Also, not reimporting and
> doing some sort of fuzzy matching between the spreadsheet or
> personal.beancount file contents to identify those transactions which have
> already been imported would allow me to do minor manual edits to the
> imported transactions, such as adding comments or tags, or perhaps the
> occasional refinements to categorization.  Now someone more pedantic might
> choose to set this up such that the "pristine" source of transaction is
> always the upstream personal.beancount ledger and the Mom spreadsheet, and
> that those files be always recreated entirely from scratch. That's also a
> valid design, it just sets a higher level of dedication over time to those
> pristine sources.
>
> Hopefully, if time allows - between moments patting the kid to sleep and
> feeding him bottles and responding to his cute noises and trying to guess
> the particular origins of his numerous and often unexplained dramatic
> wailing moments - you should eventually see some of these scripts appear
> under beancount/experiments/
>
>
>
>
> Cheers,
>> Andreas
>>
>>
>> On Sunday, December 24, 2017 at 1:57:54 PM UTC, Dominik Aumayr wrote:
>>>
>>> To give another example: My partner uses Beancount and Fava (
>>> https://beancount.github.io/fava/) as well, and we both have a
>>> Liabilities-account for each other. So if I buy something that belongs to
>>> her but I pay, I create an according transaction (eg. Assets:CreditCard and
>>> Liabilities:Partner), and she does the same in the opposite direction. For
>>> expenses that are split between us half of it goes to my Expenses account,
>>> and half to her Liabilities account (eg. Assets:CreditCard, Expenses:Rent
>>> and Liabilities:Partner).
>>>
>>> At the end of each month we both compare the balance of her
>>> Liabilites-account in my journal, and mine in her's, and make a balancing
>>> (real) transaction accordingly.
>>>
>>> After we do that, I wrote an exporter/importer for Fava that
>>> (a) is used to export a report from my Journal with her
>>> Liabilities-account and it's transactions in the last month, and
>>> (b) is used to import this file with transactions (beancount-format!)
>>> into her journal (via a Fava importer).
>>> (c) vice-versa for her
>>>
>>> This way, we both have all the transactions concerting both of us in
>>> each of our journals, and a way to correct them if something is not
>>> clear/wrong. Sounds like a little bit of work, but configured the right way
>>> (talking about the importer) and this is a 2-minute task each month.
>>>
>>> Best,
>>> Dominik
>>>
>>>
>>> > Am 24.12.2017 um 07:03 schrieb Martin Blais <[email protected]>:
>>> >
>>> > I do this too - my partner and I share most expenses  - and the simple
>>> way is to create for your girlfriend an assets account (if she generally
>>> pays after the fact) or a liabilities account (if she generally pays ahead
>>> of time), and then to use the SQL client to generate a journal of that
>>> account to list all that was posted and compute the current balance (ours
>>> gets uploaded to a Google Sheets doc where she can review it for errors or
>>> unexpected items). When your girlfriend/roommate makes transfers to pay for
>>> those shared expenses incurred on your side, you post the payment against
>>> that account. It's really convenient to have that account as you can use it
>>> for any other purpose, e.g., transfers, gifts, etc. "I'll just put it on
>>> your account," you can say. It's purely an electronic transaction between
>>> the two of you; the actual reconciliation is a separate concern.
>>> >
>>> > The other side of this coin is a bit more complicated though. I'm
>>> referring to the expenses which she pays for and which you do have to
>>> transfer to her. You can use the same account, but you need to find a way
>>> for her to communicate those expenses to you, so you can reduce the account
>>> accordingly. We use a Google Sheets document that she updates, and I simply
>>> update my corresponding transactions from that doc (I haven't automated
>>> getting all the details from it yet to create transactions, but it's
>>> doable). One challenge, you may find, is that your partner forgets to
>>> update the doc (and therefore doesn't always get the corresponding
>>> reimbursement). That's an ongoing issue; I have no solution for it other
>>> than to remind.
>>> >
>>> >
>>> >
>>> >
>>> > On Sun, Dec 17, 2017 at 9:27 AM, <[email protected]> wrote:
>>> > Hey,
>>> >
>>> > I'm trying to figure out a good simple strategy that allows me to
>>> track expenses that I share with my girlfriend. We live together and we
>>> have two types of shared expenses: the ones for our apartment like rent and
>>> utilities and the ones where usually I pay for something for the both of
>>> us.
>>> >
>>> > For the first type of transactions I don't care about the balance
>>> between us, she pays a fixed amount into my account from which most bills
>>> go out from each month. I do however care about having accurate tracking of
>>> these expenses so I can tell what our fixed monthly expenses are. For
>>> example, I want the full rent and cost of all the utilities to show up
>>> among my expenses. At the moment I'm tracking this using regular expense
>>> accounts which I create posts against whenever I pay our rent for example.
>>> I post the transactions where my girlfriend sends me the fixed amount as a
>>> special income account and I'm pretty happy with this solution (I think).
>>> >
>>> > I currently have no solution that I'm happy with for the second type
>>> of transactions. These transactions usually occur at an irregular basis and
>>> the amounts vary wildly and I always care about maintaining some sort of
>>> balance but whether I care about tracking the full value to an expense
>>> account or not varies. For example, if I pay for a pair of shoes she wants
>>> because she doesn't have any money in the currency then I'd want to keep
>>> track of the balance she owes me but not the expense. However if we go and
>>> buy Christmas decorations and I pay then I'd want to record the full amount
>>> to an expense account and half of the amount to an account that represents
>>> the money my girlfriend owes me. Preferably I'd like to track the balance
>>> between me and my girlfriend as an asset account as that to me seems like
>>> the quickest way to at a glance tell the status between us (but I may be
>>> wrong).
>>> >
>>> > I was playing around with using an intermediate liability account (see
>>> bellow) and I think I could calculate the balance between us with a query
>>> but since we already have a history and I just started using beancount I
>>> have no account to post the current balance against and future payments to
>>> balance this would be harder to track without an asset account?
>>> >
>>> > 2017-11-26 * "Christmas"
>>> >   Expenses:Home:Decoration  30 GBP
>>> >   Liabilities:Shared                  -30 GBP
>>> >
>>> > 2017-11-26 * "Christmas"
>>> >   Liabilities:Shared  30 GBP
>>> >   Liabilities:Amex   -30 GBP
>>> >
>>> > Does anyone have any idea on how to track this in a neat way,
>>> preferably without plugins. And yes I've read the expense sharing cookbok
>>> but didn't see any solution I was perfectly happy with :).
>>> >
>>> > Cheers!
>>> > Andreas
>>> >
>>> > --
>>> > 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/4b167c55-e651-4d
>>> 93-a2a1-cebd41813a59%40googlegroups.com.
>>> > 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%2BhP3DgZOr
>>> 62enBFA%2ByyW68bdGYHMh%3DpfqfgKhc5WHF9VZA%40mail.gmail.com.
>>> > 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/c228fb07-b004-47d2-a294-5d411e7fbb6b%40googlegroups.com
>> <https://groups.google.com/d/msgid/beancount/c228fb07-b004-47d2-a294-5d411e7fbb6b%40googlegroups.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%2BhNc_Kqd2HF5VRJzAa-WsuSiit3uHNqDTRmtR9qqRyub3Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to