Re: How to book loses?

2024-06-30 Thread Martin Michlmayr
* Ivan Petrov  [2024-06-30 00:29]:
> One simple question: Should i book loses to Income:PnL, or should it be 
> something like Expenses:PnL?
> 
> I have searched through the mailing list and documentation, but 
> unfortunately, haven't found an answer. The idea is always around profits.

I use Expenses:Capital-loss

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20240630144155.GA100%40panya.cyrius.com.


Re: bean-extract is gone with v3 [Was: Announcement: v3 and git branches]

2024-06-18 Thread Martin Michlmayr
* Stefano Zacchiroli  [2024-06-18 09:27]:
> I welcome migration tips on what's the easiest migration path (to
> beangulp, I guess?)

Yes.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20240618073634.GA195289%40panya.cyrius.com.


Re: Announcement: v3 and git branches

2024-06-17 Thread Martin Michlmayr
* Martin Blais  [2024-06-17 07:33]:
> v3

Are there any syntax changes in v3?

When I tried to compile a list in 2022, I came up with:

* Single-character currency names are now supported
* Currency symbols now support a leading slash (/)
* Flags: Any of the A-Z characters are now supported, but have to be preceded 
by a single quote: 'A
* The limitation for currency names to be 24 characters long has been dropped 
(I think)

Did this make into into this v3 or not (and are there any other
changes?)

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20240617114128.GA53685%40panya.cyrius.com.


Re: [ANN] beangrep - grep-like filter for Beancount

2024-05-16 Thread Martin Michlmayr
* Stefano Zacchiroli  [2024-05-12 14:34]:
> Hello beancounters, I've just released a little tool that I've needed
> for quite a while but didn't have[^]: beangrep, a grep-like filter for
> Beancount ledgers.

I didn't even know that I needed this tool, but I absolutely do!

I often look up old transactions and beangrep makes this much easier.
Thank you!

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20240516065002.GA28751%40panya.cyrius.com.


Re: New User: Starting Debt

2024-03-28 Thread Martin Michlmayr
* Chary Chary  [2024-03-28 11:42]:
> I am not an accountant, but as far as I understand, Equity is
> exactly the the right account for this.

Yep, it's right.  Maybe OP can explain why they think it's not right.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20240329024638.GA3847168%40panya.cyrius.com.


Re: Generating a list of vendor payments (for 1099s)

2024-02-01 Thread Martin Michlmayr
* Daniel Schultz  [2024-02-01 13:02]:
> but this report includs revenues (e.g. accounts with with a positive 
> position). It also doesn't account for the fact that someone might be paid in 
> a way that should be excluded from a 1099 (e.g. if they were reimbursed for 
> an expense)
> 
> Does anybody have suggestions for this use case?

I'd write a Python script that handles the exceptions.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20240202021619.GA704200%40jirafa.cyrius.com.


Re: How to book a real estate purchase with seller credits

2024-01-04 Thread Martin Michlmayr
I'm not sure what "50K credits" is, but I guess the seller gave you a
discount?

If the house price was discounted by 50k, arguably the house price
wasn't worth 1000k but 950k.

Alternatively, if you think the house price is really 1000k, you can
use an Income: account.  Some people say using an income account for
non-taxable income feels wrong, but I don't see why and it certainly
makes sense if you look at the accounting equation.

For example, I sometimes use Income:Rewards:Voucher if I get a
voucher/coupon for a discount

2024-01-05 * "Supermarket" "Food"
  Expenses:Food10.00 EUR
  Assets:Cash  -8.00 EUR
  Income:Rewards:Voucher   -2.00 EUR ; 2 off coupon

That makes perfect sense to me because the item *was* 10.00 EUR
and the only reason I only needed 8 EUR in cash was because I
had a voucher - the voucher is basically like money in this case.

OTOH, if the shop discounted the 10 EUR product to 8 EUR for some
special occasion (e.g. Christmas), I would have just booked it as an
expense of 8 EUR.

So you need to make a judgement call as to how to model your
transaction.  If the seller gave you a discount, I'd argue the house
price is 950k.  But if e.g. you got some non-taxable government
credit, sure, book the full 1000k plus the 50k credit. (That would be
the case for EV cars where some countries give credits; I haven't
heard about this for houses except maybe for solar cells and other
"green" enhancements like that.)

Martin


* flyaway  [2024-01-04 21:32]:
> Hi, 
>   I have been using beancount to track my family finances for more than 1 
> year.
>   I just purchased a new house recently. I got 50K credits from my seller.
>   I wonder how can I book a transaction that can reflect the these 
> credits?
>   
>   Without credits, the transaction can be  as simple as:
> 
>   Assets:Bank:Checking -200,000 USD 
>   Assets:Bank:Checking -10,000 USD 
>   Liability:Mortgage -800,000 USD 
>   Assets:House 1,000,000 USD  ; The purchase price
>   Expenses:House:ClosingFee 10,000 USD
> 
> 
>   But with credits, how should I book this? I feel not right to book the 
> credits as an income. One thing I can think of is directly subtract the 
> credits from the purchase price. But this way I will lose the credits 
> information. Anyone has a good idea how to book the seller credits?
> 
>   Thanks!
> 
> 
> 
> 
> -- 
> 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 beancount+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/beancount/1AA015A1-C26D-428C-8297-F97473AF471F%40gmail.com.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20240105060623.GA295708%40jirafa.cyrius.com.


Re: GROUP BY just with one currency?

2024-01-02 Thread Martin Michlmayr
You can convert the position using something like this:
CONVERT(position, "EUR", date)

So the whole query would be:
   select date, sum(CONVERT(position, "EUR", date)) where account ~ 'Expense' 
group by date

* Alexander Lazarević  [2024-01-02 17:45]:
> I use something like this to get my daily expenses:
> 
> select date, sum(position) where account ~ 'Expense' group by date
> 
> This gives me something like this:
> 
> 1986-01-012.33 EUR,  543.00 XYZ, 1697.00 UVW
> 
> Is there a way to get the daily expense just in one currency?
> 
> Viele Grüße,
>  Alexander Lazarević
> 
> -- 
> 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 beancount+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/beancount/CAMPYxd%3DYBZ1bJbBGojG97StFytAy6M9KEVHk_O8jdHYPq-cW_w%40mail.gmail.com.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20240102144224.GA1600687%40jirafa.cyrius.com.


Re: Summation for super-accounts in bean-report

2024-01-01 Thread Martin Michlmayr
I just noticed one problems with the use of PARENT().  This assumes
that all of your accounts have the same depth.

It might be better to use something like splitcomp(account, ":", 1).
This will give "Foo" for both Expenses:Foo:Bar and Expenses:Foo

Whereas PARENT(account) would give Expenses:Foo for the first and
Expenses for the latter.

(Daniele, is there a nicer way than splitcomp(account, ":", 1)?
Getting a particular subaccount seems pretty common.  Also, I
couldn't figure out a way to extract 2 subaccounts - Expenses:Foo:Bar
should yield Expenses:Foo and Expenses:Foo should also yield
Expenses:Foo; is that possible?)




* Martin Michlmayr  [2023-12-21 18:51]:
> bean-report is deprecated.
> 
> You can do the following in bean-query:
> 
> SELECT PARENT(account), position, balance WHERE account ~ 'Expenses:Test:'
> 
> you can also use PARENT(PARENT(account))
> 
> This is for register report.  For balance report, something like that:
> 
> SELECT PARENT(account), SUM(position) WHERE account ~ 'Expenses:Test:' GROUP 
> BY PARENT(account)
> 
> (There might be more elegant ways of doing this, but the queries above
> work for me.)
> 
> Martin
> 
> 
> * Dan Andersson  [2023-12-21 02:38]:
> >Hi,
> > 
> >Example bean-report output:
> > 
> >Expenses:Test:Foo 2 USD
> > 
> >Expenses:Test:Foo 4 USD
> > 
> >How can I automatically show summations for all super-accounts? For
> >example
> > 
> >Expenses 6 USD
> > 
> >Expenses:Test6 USD
> > 
> >Expenses:Test:Foo 2 USD
> >Expenses:Test:Foo 4 USD
> >Thanks,
> >Dan
> > 
> >--
> >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 [1]beancount+unsubscr...@googlegroups.com.
> >To view this discussion on the web visit
> >[2]https://groups.google.com/d/msgid/beancount/ff1ad476-8e0c-4cd2-ac1c-
> >4eec19af8554n%40googlegroups.com.
> > 
> > References
> > 
> >1. mailto:beancount+unsubscr...@googlegroups.com
> >2. 
> > https://groups.google.com/d/msgid/beancount/ff1ad476-8e0c-4cd2-ac1c-4eec19af85...@googlegroups.com?utm_medium=email_source=footer
> 
> -- 
> Martin Michlmayr
> https://www.cyrius.com/

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20240102073349.GA1521834%40jirafa.cyrius.com.


Re: Optionally make commodity directive mandatory?

2023-12-28 Thread Martin Michlmayr
There's a plugin for this: validate_commodity_directives

A plugin that verifies that all seen commodities have a Commodity directive.

* Lover O'Bean  [2023-12-28 17:16]:
> I am new to beancount, but would like the option of requiring that each
> commodity / currency be created with a commodity directive before being
> used, in the same way that accounts require an open directive before being
> used.
> 
> For example, if I declare AIRMILES.WN (IATA code) today but two years from
> now enter a transaction which accrues AIRMILES.SW (vernacular), I would
> like to get an error, just like if I referred to a nonexistent account.
> 
> Is this a good idea, or am I off-base?
> 
> -- 
> 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 beancount+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/beancount/CABV0qx7m7iR8vYK%2BsgXjGx7UvV0uEsh1WaGE3hpL8eGc8Qiiqw%40mail.gmail.com.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20231228230734.GB942024%40jirafa.cyrius.com.


Re: Summation for super-accounts in bean-report

2023-12-21 Thread Martin Michlmayr
bean-report is deprecated.

You can do the following in bean-query:

SELECT PARENT(account), position, balance WHERE account ~ 'Expenses:Test:'

you can also use PARENT(PARENT(account))

This is for register report.  For balance report, something like that:

SELECT PARENT(account), SUM(position) WHERE account ~ 'Expenses:Test:' GROUP BY 
PARENT(account)

(There might be more elegant ways of doing this, but the queries above
work for me.)

Martin


* Dan Andersson  [2023-12-21 02:38]:
>Hi,
> 
>Example bean-report output:
> 
>Expenses:Test:Foo 2 USD
> 
>Expenses:Test:Foo 4 USD
> 
>How can I automatically show summations for all super-accounts? For
>example
> 
>Expenses 6 USD
> 
>Expenses:Test6 USD
> 
>Expenses:Test:Foo 2 USD
>Expenses:Test:Foo 4 USD
>Thanks,
>Dan
> 
>--
>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 [1]beancount+unsubscr...@googlegroups.com.
>To view this discussion on the web visit
>[2]https://groups.google.com/d/msgid/beancount/ff1ad476-8e0c-4cd2-ac1c-
>4eec19af8554n%40googlegroups.com.
> 
> References
> 
>1. mailto:beancount+unsubscr...@googlegroups.com
>2. 
> https://groups.google.com/d/msgid/beancount/ff1ad476-8e0c-4cd2-ac1c-4eec19af85...@googlegroups.com?utm_medium=email_source=footer

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20231221105107.GA164841%40jirafa.cyrius.com.


Re: Updating balance sheet with price insertion

2023-11-20 Thread Martin Michlmayr
* Sagar Shankar  [2023-11-20 04:59]:
> However the total value of the commodity doesn't update in my
> balance sheet.

I think the relevant question is how you generate your balance
sheet.  FWIW, bean-report is deprecated.

In bean-query, you can use VALUE(), see
https://beancount.github.io/docs/beancount_query_language.html

Fava (the web UI) has a "Holdings" tab which shows original cost and
market value.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20231120135828.GC2492912%40jirafa.cyrius.com.


Re: Posting Resolution are being rounded

2023-10-26 Thread Martin Michlmayr
* Vishesh Handa  [2023-10-26 10:27]:
> 2022-03-10 * "Test"
>   Expenses:B  42.0 EUR

Why don't you change this to 42.00 EUR and everything will work the
way you expected.

I *believe* the explanation is that beancount uses the most common
precision rather than the most accurate one given in your beancount
file. (Martin or Dan or someone can give an accurate explanation.)

However, I agree that what beancount does is not optimal here.
-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20231026083421.GA2807092%40jirafa.cyrius.com.


Re: Hello / Beginner question

2023-10-24 Thread Martin Michlmayr
* Alexander Lazarević  [2023-10-24 07:14]:
> | Exchange rate | 12.3456 | XXX/EUR |
> 
> 1972-08-17 * "" "Transfer"
>   Assets:EU:Wise:Transfer-100.00 EUR
>   Expenses:Financial:Fees:Wise  5.67 EUR
>   Assets:AU:Bank:Checking1164.56 XXX @ 0.0810005184033
> EUR
> 
> I guess this works, but I'm not sure if I should invert the conversion rate
> every time for transactions like this? Or is there another/better way to do
> this?

You could write:

  Assets:AU:Bank:Checking    1164.56 XXX @ 1/12.3456 EUR

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20231024143725.GB2493605%40jirafa.cyrius.com.


Re: Sharing expenses for dinner after adding up all expenses

2023-09-18 Thread Martin Michlmayr
You could do something like the transactions below.

Note that there are a number of different ways this could be modeled,
including account names (e.g. Expenses:Party, Expenses:Food, etc).

You could also book the purchases of the food against
Assets:Receivable instead of Expenses and then book your Expenses when
you calculate the share of each party participant.

2000-01-01 open Expenses:Party
2000-01-01 open Assets:Cash
2000-01-01 open Assets:Receivable
2000-01-01 open Assets:Bank

2023-09-19 * "Store A" "Buy icecream for party"
  Expenses:Party  1 ARS
  Assets:Cash-1 ARS

2023-09-19 * "Store B" "Buy wine for party"
  Expenses:Party   8000 ARS
  Assets:Cash -8000 ARS

2023-09-19 * "Calculate party share"
  Assets:Receivable   12000 ARS
  Expenses:Party -12000 ARS

2023-09-21 * "Friend 1" "Receive payment for party expenses"
  Assets:Bank  6000 ARS
  Assets:Receivable   -6000 ARS

2023-09-25 * "Friend 2" "Receive payment for party expenses"
  Assets:Bank  6000 ARS
  Assets:Receivable   -6000 ARS



* Matias M. Grandi  [2023-09-17 21:52]:
> Thanks!
> I was wrong in the second email. The correct spent was:
> - ar$10.000 Icecream (Store A)
> - ar$8.000 Wine. (Store B)
> 
> 
> 
> El dom, 17 sept 2023 a las 17:50, Martin Blais () escribió:
> 
> > - your outgoing expenses for AR$1 and $ar18000
> > - your incoming transfer for AT$6000 from friend 1
> > - your incoming transfer for AT$6000 from friend 2
> > are all four separate transactions.
> > Add a unique link to all three.
> > Not sure there's more to it than that.
> > Looks like you overpaid by AR$1
> >
> >
> > On Sun, Sep 17, 2023 at 3:38 PM Matias  wrote:
> >
> >> ups! some missing information.
> >>
> >> I spent ar$18.000, buying:
> >> - ar$10.000 Icecream (Store A)
> >> - ar$18.000 Wine. (Store B)
> >>
> >>
> >> El domingo, 17 de septiembre de 2023 a la(s) 16:21:56 UTC-3, Matias
> >> escribió:
> >>
> >>> Hi!
> >>> I'm starting to use beancount and I can't handle the registration of a
> >>> particular situation.
> >>> Last night a friend invited a group of friends for a barbecue at his
> >>> home.
> >>> Each invited person bought something to take (icecream, beer, wine,
> >>> meat, etc)
> >>> Then we add up all expenses and share.
> >>> I spent AR$18000, and after adding up all the spent, each invited friend
> >>> have to pay AR$6000. Then, I received a bank transfer from two friends for
> >>> ARS6000 each.
> >>>
> >>> How do I register this?
> >>>
> >>> Thanks!
> >>> Matías.-
> >>>
> >> --
> >> 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 beancount+unsubscr...@googlegroups.com.
> >> To view this discussion on the web visit
> >> https://groups.google.com/d/msgid/beancount/6d144236-f734-4dd5-ae68-bedb4f08d318n%40googlegroups.com
> >> <https://groups.google.com/d/msgid/beancount/6d144236-f734-4dd5-ae68-bedb4f08d318n%40googlegroups.com?utm_medium=email_source=footer>
> >> .
> >>
> > --
> > 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 beancount+unsubscr...@googlegroups.com.
> > To view this discussion on the web visit
> > https://groups.google.com/d/msgid/beancount/CAK21%2BhMcqsxmWKJj%3D3h54MRt6zSDoSCp7PAnJ2%3D6i%3Dd2r79vig%40mail.gmail.com
> > <https://groups.google.com/d/msgid/beancount/CAK21%2BhMcqsxmWKJj%3D3h54MRt6zSDoSCp7PAnJ2%3D6i%3Dd2r79vig%40mail.gmail.com?utm_medium=email_source=footer>
> > .
> >
> 
> -- 
> 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 beancount+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/beancount/CAFB1YsXCa3aMjf1zFQqfVG9s%2BjcsCyenn0_2BShFNp3aH5ro9g%40mail.gmail.com.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20230918151405.GA1148526%40jirafa.cyrius.com.


Re: Proper tracking of kids allowance

2023-03-05 Thread Martin Michlmayr
* Moritz  [2023-03-05 13:00]:
> 2023-03-05 * "Parents" "Pocket Money"
> Assets:Allowance:Kid 10 EUR
> Liabilities:Kid:Allowance -10 EUR 
...
> Somehow it does not work out, but I can't catch it. I guess the problem is, 
> having an odd number of accounts involved, but I've no idea how to properly 
> fix it. 

If you use a Liabilities account, your first transaction has to be
Expenses:Allowance:Kids, not Assets:.

> The first one is my liability, the second one represents the notebook.

Just reverse the sign of the liability in your head to get the
notebook.  Their asset is your liability.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/ZAUmnnk2zXpm/vHo%40jirafa.cyrius.com.


Re: Method to convert posting accounts in already imported data?

2023-01-10 Thread Martin Michlmayr
* Tim Legg  [2023-01-09 11:44]:
> 2008-04-25 * "#AMAZON.COM" ""
> Liabilities:BofA:PlatinumPlus -14.36 USD
> Expenses:Buckets:Unaccounted 14.36 USD
> 
> I would like to script up something to go through all transactions where
> payee is ~ 'amazon' and change the Unaccounted to something else.

I haven't looked at it yet but check out the emails about
"autobean.refactor" from October 2022 on this mailing list.
You should be able to fix up your file with autobean.refactor.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/Y74HnY/7NDMacE%2BL%40jirafa.cyrius.com.


Re: Calculating P for UK -- or non-US

2022-12-25 Thread Martin Michlmayr
* Mark Scannell  [2022-12-23 15:50]:
> It'd be *great* if I can calculate the realised/unrealised capital gains. I
> also had a go at calculating an internal rate of return (irr.go) but never
> managed to integrate it usefully.

BTW, you might find this of interest:

https://github.com/redstreet/fava_investor
https://github.com/hoostus/portfolio-returns/blob/master/irr.py

Although it may not work for you.  I'm not exactly sure how you
structure your accounts.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/Y6k1uB2p4bbeSVlg%40jirafa.cyrius.com.


Re: Calculating P for UK -- or non-US

2022-12-23 Thread Martin Michlmayr
* Mark Scannell  [2022-12-23 06:10]:
> The UK doesn't distinguish between purchased lots -- *it simply
> doesn't care *-- and, for tax purposes, adopts a
> dollar-cost-averaging approach with a twist if you sell/buy in short
> windows.

So it does care within the first 30 days. ;)  Section 104 holding
(i.e. average cost) only applies for those held longer than 30 days.

> I'm trying to get my head around if it's even possible -- without
> too much work -- to adopt Beancount.

Someone was working on average cost support a few years ago, but I
can't remember the outcome.  Martin, do you know what happened to
that?

> Looking through some documentation, it looks like the best thing to
> do is to treat investments like currencies @ values -- which could
> then delegate to plugins to calculate capital gains and losses
> somehow...

I wouldn't do that.  For example, you lose the info about how many
units you hold.  And, as you hint, you lose the built-in capital gains
capabilities.

> Just wondering if anyone has gone down a similar path?

I'm curious what you're doing with ledger and why you are concerned
about moving from ledger to beancount.  Beancount can do everything
ledger can do in this regard (and more, such as LIFO and FIFO, even if
that's not useful to you).

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/Y6W9lAmBjeTdddxU%40jirafa.cyrius.com.


Open/close - best practices

2022-12-17 Thread Martin Michlmayr
I come from ledger which doesn't have a "close" directive.  I'm just
wondering how people use this directive in beancount.

There are obvious scenarios: you open a bank account and later close
it; if you re-open it a few years later you open it again.

There are some things which stay open permanently (e.g.
something like Expenses:Food).

But what about accounts that "come and go".  For example I sell things
on eBay sometimes and have an Assets:Receivable:EBay account.  That
has been dormant for years now and I'd probably add a "close" so it
doesn't pollute my view - I can always open it later if I need to.
But I was wondering how other people handle this.

To answer my own question, I can see multiple solutions:

1) Some people in beancount world like detailed account names, so
you'd open a specific account for the transaction (using eBay txn
number or the buyer name) and you close that once payment is received.

2) I could also move the other way and just use one
"Assets:Receivable" account for everything and use meta-data (like
"Who" or "Payee") indicating the eBay buyer.  I can then look at
Assets:Receivable and pivot on the "Who" meta-data.  (This is usually
the method I follow, although I have in the past created sub-accounts
for frequent payees).

3) Use "Assets:Receivable:EBay" and open/close as I see fit. (e.g. if
it annoys me and I don't expect to sell anything, I add a "close).

Anyway, just wondering what other people are doing.


-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/Y55YRgkFCDvsbPLG%40jirafa.cyrius.com.


Changes in v3?

2022-12-14 Thread Martin Michlmayr
Is there a list of changes in v3, in particular related to the file
format?

This is what I've been able to find so far:

# Syntax

* Single-character currency names are now supported
* Currency symbols now support a leading slash (/)
* Flags: Any of the A-Z characters are now supported, but have to be preceded 
by a single quote: 'A
* The limitation for currency names to be 24 characters long has been dropped 
(I think)

# Tools

* bean-check: new -a option to enable auto plugin

What else is there?
-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/Y5rGcqrqYhccY4D8%40jirafa.cyrius.com.


Complete assertions in beancount v3?

2022-11-30 Thread Martin Michlmayr
This document talks about Partial vs. Complete Assertions
https://beancount.github.io/docs/balance_assertions_in_beancount.html
e.g. 2022-12-01 Assets:Foo 500.00 USD
only ensures that there are 500.00 USD (partial), but not that the
account *only* contains 500.00 USD and nothing else.

Will complete assertions be in beancount v3?

Also, is there currently (or in v3) a way to check that an account
is empty? 2022-04-01 balance ACCOUNT 0 does not work because the
currency is missing.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/Y4hCOgePqE%2Bovblb%40jirafa.cyrius.com.


Re: Beancount v3 progress

2022-09-08 Thread Martin Michlmayr
* Daniele Nicolodi  [2022-09-08 00:41]:
> beangulp currently requires Beancount v3. At the time it was forked
> out from the beancount repository a release of some sort of
> Beancount v3 seemed not too far in the future. I haven't heard
> anyone wanting to use it with Beancount v2.

I put several projects on hold because I don't know whether to target
v2 or v3 because there's no clear v3 timeframe.

Making beangulp available for v2 (as the other tools are) would
be a great help for me.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/YxnP2tjDlwLFkA6u%40jirafa.cyrius.com.


Re: Can't get csv importer to work

2022-05-08 Thread Martin Michlmayr
* Alvin Ye  [2022-05-07 23:27]:
>('Date,Description,Amount,Balance'),

This does not match your CSV file.

> activity.csv:
> Date,Description,Card Member,Account #,Amount,Extended Details,Appears On 

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/Ynd111OJ%2B4P1hTCH%40jirafa.cyrius.com.


Re: Crypto Swaps and balancing

2022-05-07 Thread Martin Michlmayr
* Brandon Anderson  [2022-05-07 04:10]:
> So I started playing around with beancount again and quickly ran
> into a `Transaction does not balance: (-0.1
> USD)`

I use this:

option "inferred_tolerance_default" "EUR:0.004"
option "inferred_tolerance_default" "GBP:0.004"
option "inferred_tolerance_default" "USD:0.004"

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/YnZV7t7nkHq5dydn%40jirafa.cyrius.com.


Re: bean-check error for balance assertion with prefix?

2022-04-14 Thread Martin Michlmayr
* Aaron Stacy  [2022-04-14 22:32]:
> The receivable account is $50 as expected, but it seems like
> beancount is adding the $50 from the receivable to the HSA account
> itself. Am I missing something?

Beancount uses the total of all sub-accounts for the balance checks,
so this is the expected behaviour.

This is different to the behaviour in ledger (in case you're used to
that).

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/Ylj91F%2BhSTX6VZLr%40jirafa.cyrius.com.


Re: Plain text accountant

2022-03-09 Thread Martin Michlmayr
* Tony Xiao  [2022-03-09 13:44]:
> Would anyone in this group be interested in offering plain text
> based accounting service or know anyone who does?

I provide such services to a number of clients.  I'll respond
off-list.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/Yii0l8X1y2bff553%40jirafa.cyrius.com.


Re: BQL: Exclude zero sum accounts

2022-01-21 Thread Martin Michlmayr
* Daniele Nicolodi  [2022-01-21 22:51]:
> Turns out that a naive implementation of HAVING was not very difficult to
> put together https://github.com/beancount/beanquery/pull/22

Thank you, Daniele!  I also asked about this feature in the past.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/Yes2/ZrEu5/7u7q6%40jirafa.cyrius.com.


Re: Does anybody use (number, currency) amounts in metadata?

2021-09-24 Thread Martin Michlmayr
* Martin Blais  [2021-09-23 16:54]:
> Does anyone use an Amount type as a metadata value?

I use that feature for a non-profit.  Our books are in USD but some
payments are in other currencies via Wise and I use meta-data to track
that and run some checks.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/YU2NzbpAgwXjIrvN%40jirafa.cyrius.com.


Re: Reporting USD Trans in CAD for CRA

2021-07-19 Thread Martin Michlmayr
* Ben Luey  [2021-07-19 08:14]:
> 1) Do this all on the query side. Is there a sql query I can run
> that would do a convert for each transaction that matches some
> criteria and then sum that? Let's assume I've already input the
> USD/CAD exchange rate for all transaction dates into beancount.

This query will convert from USD to CAD on the date of the
transaction:

SELECT date, narration, CONVERT(position, 'CAD', date) WHERE account ~ 
'Expenses:Test'

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/YPYPVFj80xhVjO3v%40jirafa.cyrius.com.


Re: Moving from GnuCash

2021-06-17 Thread Martin Michlmayr
* Brandon Anderson  [2021-06-10 10:08]:
> I run a small business, so I must keep detailed records and find myself
> writing well over a hundred checks each year.

Software in the Public Interest uses beancount and we receive checks
(donations) and sometimes send checks.  We use meta-data to track a
number of things (check number, check memo, date we received the
check, date it was deposited, etc).

Checks need special handling because your books need to reflect the
income/expenses when the check was received/sent rather than when it
was deposited.  A bank reconciliation has to be done to show how to
get from the figures in your books to the figures in the bank
statement.

I have written a script which creates the bank reconciliation based on
the meta-data.

It's definitely possible to record checks in beancount, but you may
have to create some business logic (such as a bank reconciliation
script) that might already be built-in with GnuCash or other
accounting packages.  (I should probably clean up my script and
publish it...)

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/YMsPPbh9qKIgQuhk%40jirafa.cyrius.com.


Re: autobean.sorted: find out misplaced / misdated transactions

2021-06-15 Thread Martin Michlmayr
* Archimedes Smith  [2021-06-15 16:58]:
> Therefore, I made this git.io/autobean.sorted plugin which helps
> identifying misplaced or misdated directives, by warning on those
> directives not following a non-descending order by date in the file.

The file_ordering plugin from 
https://github.com/zacchiro/beancount-plugins-zack/
does the same.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/YMlX0xXAylSrt4Ki%40jirafa.cyrius.com.


Re: old transactions when getting going

2021-05-15 Thread Martin Michlmayr
* jrgo...@gmail.com  [2021-05-15 03:33]:
>1. Push as many rules into each importer.

I wouldn't put the rules into each importer.  I'd keep each importer
focussed on producing a basic transaction.  I'd then have a second
stage importer which takes those transactions and amends them.  This
way you don't need to replicate similar logic in each importer.

>For example, if $-amount
>equals = $2000 and/or description is "payment to ABC apts" then add label
>Expense:Rent.

I have an importer that does something like that.  There are a number
of similar "rules-based" importers available.  I was planning on
sending an email with an overview of each in the hope that we can
collaboratively work/agree on *one* solution, but I won't have time in
the next few weeks.

I can make my solution available with some examples if that'd be
useful, though.

> I probably have 1500 bank transactions to work through and 3000
> credit card transactions so trying figure out how best to get this
> all done and done quickly. I can see that as I do this regularly
> 1/month I can get this down to 5-10 minutes with scripts to fetch
> ofx files, script to call bean-extract, etc.
> 
> My main question is what should I do now with the historical data to
> import?

You can always create opening balances for a specific point in time
and go back later and add more transactions.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/YJ%2Bzp5lBkPCEvzgW%40jirafa.cyrius.com.


Re: Beanborg

2021-04-02 Thread Martin Michlmayr
* redst...@gmail.com  [2021-04-02 01:27]:
> Unrelated to the above: have you considered releasing your rule-based
> categorizer as a hook for beancount's import process? This would make it an
> alternative approach to smart_importer
> <https://github.com/beancount/smart_importer>.

There are now at least four different solutions for a rules-based
importer.  I'm wondering if we could jointly work on a design and
implementation for one solution that would work for everyone.

I've wanted to bring up this topic here for almost a year (when I
wrote one, which unfortunately I never published).  I'll try to put
together an email soon with some thoughts and links to the different
solutions.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20210402110115.GA9213%40jirafa.cyrius.com.


Re: beancount.ingest is no more. Long live beangulp!

2021-02-01 Thread Martin Michlmayr
* Martin Blais  [2021-02-02 01:20]:
> - Nothing changed in v2, everything is still there.
> If you want things stable, stick with v2.

Since beangulp creates transactions on stdout, is it possible to
migrate from ingest to beangulp while staying on v2 for other
functionality?  (or is that not possible because beancount v2
and v3 can't be installed at the same time?)

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20210202062819.GE2765%40jirafa.cyrius.com.


Re: InteractiveBrokers

2020-12-29 Thread Martin Michlmayr
* Martin Blais  [2020-12-30 00:56]:
> Does anyone here have an importer for Interactive Brokers?

https://github.com/tarioch/beancounttools

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20201230060958.GA31091%40jirafa.cyrius.com.


beancount2ledger 1.3: beancount to ledger converter

2020-11-13 Thread Martin Michlmayr
I released version 1.3 of beancount2ledger, the beancount to
ledger converter that was moved from "bean-report ledger" into a
standalone tool.

You can get beancount2ledger from GitHub:
https://github.com/beancount/beancount2ledger
or via pip install:
https://pypi.org/project/beancount2ledger/

Here are the changes in 1.3:

* Add rounding postings only when required
* Avoid printing too much precision for a currency
* Avoid creating two or more postings with null amount
* Add price to cost when needed by ledger
* Preserve posting order
* Add config option `indent`
* Show metadata with hledger output
* Support setting auxiliary dates and posting dates from metadata
* Support setting the code of transactions from metadata
* Support mapping of account and currency names
* Improve documentation:
* Add user guide
* Document limitations

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20201113121101.GA8651%40jirafa.cyrius.com.


Re: Currency exchange rates sources

2020-11-06 Thread Martin Michlmayr
* Daniele Nicolodi  [2020-11-07 00:29]:
> I would like to standardize and automate the retrieval of currency
> exchange rates. However, I haven't been able to find a service that
> offers easy and free access at historical data.

These two look imho interesting:

Exchange Rates API
https://exchangeratesapi.io/
Exchange rates API is a free service for current and historical foreign 
exchange rates
published by the European Central Bank

Open Exchange Rates
https://openexchangerates.org/

> I am not even sure that different sources agree on what is the mid
> market daily average exchange rate. I am almost ashamed of my
> ignorance int his field. Is there a think like an "official" number?
> Which sources does people use?

I don't think there's an "official" number but I'll let the experts
comment.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20201107015548.GC2329%40jirafa.cyrius.com.


Re: ofx max_date correct?

2020-10-21 Thread Martin Michlmayr
I also noticed that balance statements have the wrong date with some
(but not all) banks when using the beancount OFX, which matches
exactly what you describe.

* Frederick Noon  [2020-10-21 11:38]:
> Will-do.  I found that my change matched the usage of at least 3 of the 
> institutions I was using, but didn't know how representative my sample was.
> 
> On Wednesday, October 21, 2020 at 7:13:28 AM UTC-7 bl...@furius.ca wrote:
> 
> > These importers are intended merely as examples and aren't supported as 
> > general importers.
> > The OFX importer, in particular, is based on a particular use case and is 
> > not a general purpose thing that would work in every case.
> >
> > I suggest you use one of the OFX libraries on github to build yourself an 
> > importer that will support the tags your particular institution yields. 
> > (Unfortunately, there's a lot of variation between institutions, even 
> > within the format.)
> >
> >
> >
> > On Tue, Oct 20, 2020 at 8:50 PM Frederick Noon  wrote:
> >
> >> Advice requested...
> >>
> >> The off-the-shelf v2 *ingest/importers/ofx.py* uses the *DTASOF* value 
> >> of the *LEDGERBAL* section as the file date.  However, I find that this 
> >> date is consistently the date I downloaded the data from my bank, not the 
> >> closing date of the period I asked for.  So if, in April, I download 
> >> transactions for January into one file, then download transactions for 
> >> February into another, I get a name collision when running *bean-file* 
> >> as *ofx.py* says each file has a max_date in April.
> >>
> >> To change this behavior in my installation I've modified *ofx.py* to 
> >> look for the *DTEND* value in the *BANKTRANLIST* section, which gives me 
> >> the end of the period I queried my bank for.  This has worked out very 
> >> well 
> >> for me.
> >>
> >> So: is this a bug in *ofx.py,* or am I misapplying the importers 
> >> feature?  Or is this a behavior that varies widely from bank to bank?  
> >> Should I pack my changes into a pull request for others to use?
> >>
> >> Thanks in advance.
> >>
> >> -- 
> >> 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 beancount+...@googlegroups.com.
> >> To view this discussion on the web visit 
> >> https://groups.google.com/d/msgid/beancount/5d9554cb-d2a7-4dbe-94d7-1e872173b85an%40googlegroups.com
> >>  
> >> <https://groups.google.com/d/msgid/beancount/5d9554cb-d2a7-4dbe-94d7-1e872173b85an%40googlegroups.com?utm_medium=email_source=footer>
> >> .
> >>
> >
> 
> -- 
> 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 beancount+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/beancount/36f21b62-70c9-4c23-a9b3-1f3de2bb83e5n%40googlegroups.com.


-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20201022011026.GA16547%40jirafa.cyrius.com.


Re: Narration of Postings

2020-09-05 Thread Martin Michlmayr
* Mefju  [2020-09-05 08:23]:
> I also use narration for postings, and also miss that Beancount does not
> parse comments.

IHMO that's a feature and not a bug.

Ledger uses one syntax for comments and meta-data.  This actually
makes things quite error prone.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200905063257.GF7841%40jirafa.cyrius.com.


Re: Narration of Postings

2020-09-05 Thread Martin Michlmayr
* K O'Neill  [2020-09-04 18:08]:
> > Beancount has the same feature.
> 
> I understand beancount can add comments to postings. Are you
> suggesting that narrations are possible as well?  IIRC, ledger's
> transaction notes are rendered while beancount's comments are not.

Oh, I see what you mean now.  Sorry, no, beancount does not have that
feature.

Ledger allows you to put a ; Payee: metadata on a posting.  In
beancount, there is only a payee for the whole transaction.

> > Metadata (key:value) that are listed before the first posting are 
> > attached to the whole transactions. Metadata after a posting is 
> > attached to that particular posting, i.e. it works the same way as 
> > ledger. 

> Thanks, that's good to know. I see now it is documented as such. I
> guess I could use key:value pairs but it is a bit more cumbersome
> than simply attaching a narration to a posting.

Well, a "attaching a narration to a posting" is using meta-data, it's
just that the "Payee" metadata has a special meaning in ledger and is
used to override the payee from the transaction header.

(That's why I was initially confused and said beancount has the same
feature.)
-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200905063029.GE7841%40jirafa.cyrius.com.


Re: Narration of Postings

2020-09-04 Thread Martin Michlmayr
* K O'Neill  [2020-09-04 16:49]:
> I may be confused with ledger-cli's ability to add transaction notes
> to both postings as well as transactions.

Beancount has the same feature.

> I believe key:value pairs apply to entire transactions

Metadata (key:value) that are listed before the first posting are
attached to the whole transactions.  Metadata after a posting is
attached to that particular posting, i.e. it works the same way as
ledger.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200905005106.GC20650%40jirafa.cyrius.com.


Re: record buying stock with asset checking?

2020-08-11 Thread Martin Michlmayr
* booster...@gmail.com  [2020-08-10 09:19]:
> How do I record buying stock from asset checking ? should I record
> as an expenses ? thanks.

You may want to read this document:
https://beancount.github.io/docs/how_inventories_work.html
and then come back with specific questions that are not clear.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200811070208.GA17442%40jirafa.cyrius.com.


Re: Using bean-query programmatically

2020-08-10 Thread Martin Michlmayr
* Chary Chary  [2020-08-10 05:21]:
> All documentation about bean-query assumes, that query is issues
> manually from command line and then output is also read from the
> screen.

I think that is because in most cases you'd use the Python API to do
the things you want to do directly.

> But what if I want to use bean-query engine programmatically?

Look at query.run_query()

Examples that make use of it are:

beancount/plugins/split_expenses.py
experiments/misc/monthly_balance.py

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200810122605.GD32209%40jirafa.cyrius.com.


Re: Decimal(): understanding, syntax

2020-08-10 Thread Martin Michlmayr
* nugget  [2020-08-10 02:52]:
>- The design of Beancounts D() technically allows allows higher 
>precision (float) numbers as input.
>- But the design philosophy does not. It requires string typed numbers 
>with maximum precision to the second digit. Higher precision is not 
>supported and might cause problems.
>- It is up to the user to to deal with higher precisions. For example, 
>treating reminders of divisions. There is no general solution on how to 
>treat this.
> 
> This works very well for me, now that I know it.
> Thanks all for your replies.
> 
> best,
> nugget
> 
> On Sunday, August 9, 2020 at 11:15:33 PM UTC+2, Daniele Nicolodi wrote:
> >
> > On 08/08/2020 10:41, Daniele Nicolodi wrote: 
> > > Another thing to potentially consider is to reduce the number of decimal 
> > > digits used when serializing Decimal numbers. Maybe 12 (or so) digits 
> > > are enough instead that the current 28. 
> >
> > I am sure someone has a model for when 1e-12 BTC will be worth the 
> > equivalent of $0.01 :-) Right now we should be fine with 12 digits. 
> >
> > Cheers, 
> > Dan 
> >
> 
> -- 
> 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 beancount+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/beancount/95c3b5fb-41cf-4409-a989-4dbf3ae2b5ffo%40googlegroups.com.


-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200810105200.GA32209%40jirafa.cyrius.com.


Re: Decimal(): understanding, syntax

2020-08-08 Thread Martin Michlmayr
* nugget  [2020-08-08 00:11]:
> I.e. when splitting up a transaction into multiple transactions.
> say distribute a yearly transaction over 12 months or a weekly one
> over 7 days. 
> 
> Naively, I would take  1 CHF and divide it by 12, and make 12
> transactions.  I dislike having my posting look like "
> 0.08332870740406406184774823486804962158203125".But
> simply rounding will introduce an error of 4%: round(1/12,2) = 0.8,
> and 12*0.8 = 0.96

I'm not sure what your transaction is about, but I'd ask a completely
different question: is it material?  If we're only talking about 1
CHF, does it really matter whether you book it on one day vs splitting
it up every month.  If we're talking about 1000 CHF, it might make a
material difference, but for 1 CHF I'd say that splitting it across
multiple months is just not worth it.

If it does matter, I would book 0.08 for 11 months and 0.12 in the
last month (or the other way around).

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200808111843.GH11541%40jirafa.cyrius.com.


Re: Decimal(): understanding, syntax

2020-08-07 Thread Martin Michlmayr
* nugget  [2020-08-07 14:49]:
> i get these very long decimal numbers when using the Decimal()
> method. See my minimal example. How can I fix this? rounding to two
> digits seems not to be the solution. Thanks!

This is what I use to round decimal numbers:

def d_round(d):
return d.quantize(D('.01'), rounding=decimal.ROUND_HALF_UP)

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200808014622.GF11541%40jirafa.cyrius.com.


Re: Linear git history

2020-08-02 Thread Martin Michlmayr
* Daniele Nicolodi  [2020-08-02 16:16]:
> I don't have much experience with Github managed projects, but it seems
> that the default action to incorporate PRs into the master branch is to
> do merges.

I really dislike that and always wonder why it's the default on GitHub.

> I think the "Rebase and merge" is to be preferred, however, it is
> offered as the last option in the web interface.
> 
> Looking around in the web interface, it seems that it is not
> possible to change the default method used

I *believe* it remembers the type of the last merge you did and offers
that as the default.
-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200803014102.GD2881%40jirafa.cyrius.com.


Re: How to use plugin in beancount (beancount.plugins.implicit_prices) ?

2020-08-02 Thread Martin Michlmayr
* Booster Hidrogen  [2020-08-02 04:56]:
> Thank you for the examples, so basically the built in plugin isn't directly 
> editing the beancount file.

Correct.  Beancount plugins modify the entries (in memory) when the
file is loaded by beancount.

Martin

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200802120808.GC2881%40jirafa.cyrius.com.


Re: How to use plugin in beancount (beancount.plugins.implicit_prices) ?

2020-08-02 Thread Martin Michlmayr
* Martin Michlmayr  [2020-08-02 17:40]:
> You add the following line to your .beancount file to activate the
> plugin:
> 
> plugin "beancount.plugins.implicit_prices"
> 
> That's it.  When you add this plugin, price info via @ and @@ will
> generate price entries.

Full example.  Put this in test.beancount:

;-
plugin "beancount.plugins.implicit_prices"

2000-01-01 open Assets:Bank
2000-01-01 open Expenses:Snacks

2020-08-02 * "Bought chocolate"
Expenses:Snacks 1.00 EUR @ 0.90 GBP
Assets:Bank   -0.90 GBP
;-

Now run:

bean-report test.beancount print | grep price

This will show:

2020-08-02 price EUR  0.90 GBP

This was generated by the implicit_prices plugin.
-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200802094724.GB2881%40jirafa.cyrius.com.


Re: How to use plugin in beancount (beancount.plugins.implicit_prices) ?

2020-08-02 Thread Martin Michlmayr
* Booster Hidrogen  [2020-08-02 01:18]:
> Hi, sorry for stupid question because I'm still not so sure how to use 
> plugin, for example >plugin "beancount.plugins.implicit_prices", any 
> references how to use it ? thanks

You add the following line to your .beancount file to activate the
plugin:

plugin "beancount.plugins.implicit_prices"

That's it.  When you add this plugin, price info via @ and @@ will
generate price entries.
-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200802094004.GA2881%40jirafa.cyrius.com.


beancount2ledger available

2020-07-24 Thread Martin Michlmayr
Martin Blais recently announced that he'd like to re-organize the
beancount code and split out some functionality into separate
projects, including the beancount to ledger/hledger conversion code
previously provided by bean-report.

I agreed to take on the maintenance of this code and I've now released
beancount2ledger, a beancount to ledger/hledger converter.

You can install beancount2ledger with pip:

pip3 install beancount2ledger

Please report issues to https://github.com/beancount/beancount2ledger/issues

There are a number of outstanding issues I'll fix soon, but please
report any other issues you encounter.

Note that I'm not very familiar with hledger.  I intend to sync up
with hledger author Simon Michael soon, but if you notice any issues
with the hledger conversion please file an issue.

Version 1.1 contains a number of fixes compared to the latest code in
bean-report.  Please see the changelog below.

Martin

# 1.1

* Preserve metadata information (issue #3)
* Preserve cost information (lot dates and lot labels/notes) (issue #5)
* Avoid adding two prices in hledger (issue #2)
* Avoid trailing whitespace in account open declarations (issue #6)
* Fix indentation issue in postings (issue #8)
* Fix indentation issue in price entries
* Drop time information from price (P) entries
* Add documentation
* Relicense under GPL-2.0-or-later (issue #1)

# 1.0

* Split ledger and hledger conversion from bean-report into a standalone tool
* Add man page for beancount2ledger(1)

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200724065800.GA2792%40jirafa.cyrius.com.


Re: Goodbye bean-web, bean-bake, bean-report. What about bean-price?

2020-07-17 Thread Martin Michlmayr
* Martin Blais  [2020-07-05 23:04]:
> I just deleted:
> - bean-report (use bean-query or Fava)

I'm not sure that's a great idea.  While bean-report was a second
class citizen compared to bean-query, it has some functionality
missing from bean-query, e.g. bean-report print

bean-report holdings is also pretty nice.

Is someone planning on maintaining bean-report for v3?

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200717071629.GN23829%40jirafa.cyrius.com.


Re: Beancount v3

2020-07-04 Thread Martin Michlmayr
* Martin Blais  [2020-07-04 02:34]:
> This is going to be a pretty big change and will take a while.
> I've laid down the details in this document:
> https://docs.google.com/document/d/1qPdNXaz5zuDQ8M9uoZFyyFis7hA0G55BEfhWhrVBsfc/

This sounds all very exciting.  Thanks for writing down your ideas and
for working on this.

Some comments:

> beancount/ingest/importers: someone could revive a repository of
> importer implementations, like what LedgerHub once aimed to become"

I'd really like to see this.  There are a number of importers on
GitHub but it would be nice to have one repository with high-quality
importers for beancount.

I'm not stepping up to maintain it, but I'm interested in
contributing.

> The conversion to Ledger and HLedger from Beancount now seems
> largely useless, I'm not sure anyone's using those. I'll probably
> move these to another repo, where they would eventually rot, or if
> someone cares, adopt them and maintain or evolve them.

I'm interested in maintaining the beancount to ledger conversion
scripts.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200704072707.GA30028%40jirafa.cyrius.com.


Re: String leterals in Beancount files

2020-06-25 Thread Martin Michlmayr
* Daniele Nicolodi  [2020-06-25 09:49]:
> I would like to propose some changes to how string literals (typically
> encountered as payee and narration in transactions, values of metadata
> entries, option values, and a few other places) are parsed.
> 
> https://github.com/beancount/beancount/issues/486
> 
> I don't see practical uses of the problematic features I would like to
> remove, but maybe there are some I am not thinking about.

I also didn't like this feature.  However, multi-lines can be common
for the "plugin" directive.  Changing this might break a lot of beancount
files.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200626002843.GD5007%40jirafa.cyrius.com.


Re: Incorrect trial balance with inventory lots?

2020-06-21 Thread Martin Michlmayr
* Martin Michlmayr  [2020-06-22 12:13]:
> I'm not sure if I'm misunderstanding something but this looks like a
> pretty serious issue to me.

Never mind.  I was confused...

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200622042037.GB1902%40jirafa.cyrius.com.


Re: Incorrect trial balance with inventory lots?

2020-06-21 Thread Martin Michlmayr
* Martin Blais  [2020-06-21 23:51]:
> Is it sufficient to report the cost basis? How are you calculating the
> value?
> You can use COST() in the SQL query tool to get the total cost basis for

I just answered the same question on Reddit.  I was going to mention
COST() but it seems that beancount doesn't set the correct cost when
you use FIFO:

https://github.com/beancount/beancount/issues/479

I'm not sure if I'm misunderstanding something but this looks like a
pretty serious issue to me.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200622041312.GA1902%40jirafa.cyrius.com.


Re: Armature python programmer question about "beancount.parser import _parser"

2020-06-11 Thread Martin Michlmayr
* Chary Chary  [2020-06-11 01:22]:
> from beancount.parser import _parser
> 
> However I do not see any _parser.py in the beancount/beancount/parser/ 

_parser is built from the C files that make up the parser.  It's built
when you make "make build".

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200611082812.GB31871%40jirafa.cyrius.com.


Re: bean-query CONVERT() at a historical rate

2020-06-09 Thread Martin Michlmayr
* Chary Chary  [2020-06-09 01:58]:
> is this correct, that beancount does not have possibility to convert
> to commodity (currency) at a historical rate (at a rate, which
> commodity had at a date of transaction)?

Someone might have a bette answer but... if you do a simple conversion
(@@), beancount doesn't keep track of the date or the rate.  If you
want to keep the historical rate around, you have to use a cost, i.e.
the 10.00 EUR {1.13 USD} syntax, and then you can use SUM(COST(position))
to get the historical cost.

I'm not sure if there's a better way.

I'm sure someone will mention "trading accounts" as a solution but I
don't know how they work.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200609091818.GU31325%40jirafa.cyrius.com.


Re: Newbie - No application set to open .beancount file

2020-05-25 Thread Martin Michlmayr
I just found this:

https://awesome-beancount.com/#editor-support


* Jad Benyahia  [2020-05-25 12:47]:
> Hi Martin,
> 
> Thank you for your prompt answer.
> I'm on MacOS :)
> I'll try downloading Emacs then :)
> 
> Thank you!
> 
> Le lun. 25 mai 2020 à 12:27, Martin Michlmayr  a écrit :
> 
> > * Jad  [2020-05-25 03:21]:
> > > I've read through the documentation but I could have missed
> > > something.  When going for the tutorial, I generated a
> > > example.beancount file in my Terminal.
> > >
> > > Nevertheless, I can't open example.beancount as the error message
> > > says "No application is set to open beancount file"
> >
> > A beancount file is just a plain text file.
> >
> > It sounds like you're on Windows?
> >
> > You can use any editor to edit beancount files.  For some editors
> > (like Emacs and vim, but they are more popular on Linux and macOS),
> > there are plugins for beancount which do stuff like syntax
> > highlighting or tab completion for account names.  I'm not sure if
> > this is available for a common editor on Windows.  (Although Emacs and
> > vim probably work there.)
> >
> > > Btw, I have no prior experiance with Python. Should I take a Python
> > > class first ?
> >
> > You don't need to know Python to use beancount.  If you want to
> > enhance beancount, for example by writing bank importers or plugins,
> > then you'd need Python.
> >
> > --
> > Martin Michlmayr
> > https://www.cyrius.com/
> >
> > --
> > You received this message because you are subscribed to a topic in the
> > Google Groups "Beancount" group.
> > To unsubscribe from this topic, visit
> > https://groups.google.com/d/topic/beancount/6zWttkjJAeo/unsubscribe.
> > To unsubscribe from this group and all its topics, send an email to
> > beancount+unsubscr...@googlegroups.com.
> > To view this discussion on the web visit
> > https://groups.google.com/d/msgid/beancount/20200525102653.GN27668%40jirafa.cyrius.com
> > .
> >
> 
> -- 
> 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 beancount+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/beancount/CAFZ2AUtnOC%2Bmx4Bm8ei1YrqhUqzzXa6Pq1Ae5s4bXQ6zta4CCw%40mail.gmail.com.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200525110144.GO27668%40jirafa.cyrius.com.


Re: Newbie - No application set to open .beancount file

2020-05-25 Thread Martin Michlmayr
* Jad  [2020-05-25 03:21]:
> I've read through the documentation but I could have missed
> something.  When going for the tutorial, I generated a
> example.beancount file in my Terminal.
> 
> Nevertheless, I can't open example.beancount as the error message
> says "No application is set to open beancount file"

A beancount file is just a plain text file.

It sounds like you're on Windows?

You can use any editor to edit beancount files.  For some editors
(like Emacs and vim, but they are more popular on Linux and macOS),
there are plugins for beancount which do stuff like syntax
highlighting or tab completion for account names.  I'm not sure if
this is available for a common editor on Windows.  (Although Emacs and
vim probably work there.)

> Btw, I have no prior experiance with Python. Should I take a Python
> class first ? 

You don't need to know Python to use beancount.  If you want to
enhance beancount, for example by writing bank importers or plugins,
then you'd need Python.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200525102653.GN27668%40jirafa.cyrius.com.


Re: Beancount issues

2020-05-19 Thread Martin Michlmayr
* Martin Blais  [2020-05-18 04:24]:
> Martin: Did you want to go beyond this and create a mapping?

I have a mapping now for some users.  For quite a few people I cannot
find a mapping.  I think once we've done the migration, we can update
the BitBucket issues and let them know about the move to GitHub.

Anyway, I emailed some people asking for their GitHub username, so
please give me a few days.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200519092754.GM5179%40jirafa.cyrius.com.


Re: Beancount issues

2020-05-19 Thread Martin Michlmayr
* Martin Blais  [2020-05-18 04:24]:
> It's a bummer the author of all tickets ends up being who runs the script,

Unfortunately the GitHub API doesn't allow setting the submitter.
I ran into the same issue with the ledger migration from Bugzilla.

> but we can live with that and manually Cc the github author when a ticket
> is updated.

Yeah, agreed.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200519072810.GK5179%40jirafa.cyrius.com.


Re: Beancount issues

2020-05-18 Thread Martin Michlmayr
* Kirill Goncharov  [2020-05-18 01:43]:
> But then Martin Michlmayr suggested to create a mapping manually, I
> think it's a good approach too.

I can take a look tomorrow.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200518134937.GF5179%40jirafa.cyrius.com.


Re: Beancount Revisited

2020-05-18 Thread Martin Michlmayr
* Runar Petursson  [2020-05-17 11:00]:
> My real mental block was around how to organize my beans.  Single file?

My impression is that most people here have a single file or one file
per year.

I split per year and also per account.  I have one file for each
account and then I have one journal for cash expenses.  This works
for me and I don't see the attraction of putting everything into
a single file.

> Where do I put new transactions?

At the end of the respective file in my case... really easy.

All individual files have to be date ordered and I use the
"file_ordering.py" plugin to verify that's the case:
https://github.com/zacchiro/beancount-plugins-zack/

I found a number of date errors because of this already. (Usually cut & paste 
errors)

> What about other entities (wholly owned companies, partially owned companies).

You'd probably show them at cost.  In theory you could do a
consolidation according to IFRS, but do you really want to go
there...?

> How would I track passive income, trading income etc.

It's just income for beancount.  I guess what you're really asking
here is what kind of reports would make sense on a *reporting* level.
e.g. passive income as a percentage of total income, passive income
as a percentage of your target annual income for financial
independence, etc.

I think that's an interesting idea and I think some fava plugins would
be best for that.  Maybe additions to https://github.com/redstreet/fava-investor

> I was able to start thinking about auto-tagging/matching in a more
> robust fashion.  To that regard I'm building a regular expression
> rules engine.  This is a similar path that many people seem to have
> gone down.  Finding the magic sweet-spot between learning from
> existing transactions, having matching rules and a neural network/AI
> :-).  I'm quite simple, so I just read a "rules.yaml" and modify the
> existing entries, applying the account modifications.

For the record, I've recently developed a similar "rules-importer" for
Software in the Public Interest, Inc, a non-profit that moved from
ledger to beancount.  Runar's code does pretty much the same my code
does.  It would probably be best to agree on one code base and get
this into into beancount.

> I also haven't quite figured out how best to handle assets held in
> companies.  While it seems obvious that a separate legal entity
> needs its own set of books (and files its own taxes), I have several
> companies where I'd like to integrate portions of the balance
> sheet/expenses into my personal bean file.  An example is a legal
> entity that manages an AirBnB and owns the property.

You could look at how consolidations are done in IFRS (or another
accounting standard).

I wonder if a plugin could be written for that, hmm...

> - VIM -- I've started some tools on this front, would like to be
> able to do most common tasks from within vim, like merging files,
> applying rules, and intelligently modifying entries.  Seems that
> most of the python hooks are already in beancount (like parsing
> single entry etc.). I'm already using the existing VIM plugin, but
> would like to do so much more.

Sounds interesting.  (And yes, Martin, please still use vim ;)

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200518064717.GE5179%40jirafa.cyrius.com.


Re: "Purchased" leave hours

2020-05-17 Thread Martin Michlmayr
* brodie.blackb...@gmail.com  [2020-05-16 15:55]:
> Now I am tackling salary postings. I would like some advice on how
> to handle "purchased leave".

The first question you have to ask yourself is whether you want to
track hours/days of unused leave in beancount at all.  If you don't,
just use the reduced salary amount as income and be done.

>- I think that purchased leave might be classed a liability. Is this 
>correct? My reasoning is that purchased leave hours are "credited" to me 
> by 
>the employer.

Maybe I misunderstand but the purchased leave itself would be an
asset.  The other side would be a reducation in salary or a liability
(you have to give salary back to your employer).

>- I would like to keep the purchased leave account in a time-based 
>currency. The cookbook talks about this, and makes sense given how I think 
>about spending leave: in time, not money.

Yeah, just use @

>- So, should I create a liability account for purchased leave, with a 
>time-based currency (say, hours)?

It's an asset.  You're buying time from your employer.  You then own
an asset: time you can spend as you wish.

>- Should I "price" the conversion between hours and dollars at that 
>agreement date?

Yes.

>- Will this allow me to post the purchased leave pay deduction in 
>dollars, as seen on the pay stub, and auto-convert to "hours paid back"?

Use @

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200518005406.GG25967%40jirafa.cyrius.com.


Re: Customize get_amounts function in csv importer

2020-05-17 Thread Martin Michlmayr
ounts
> >
> >
> >
> >
> >
> > On Sunday, May 10, 2020 at 5:11:59 AM UTC+10, walle...@gmail.com wrote:
> >>
> >> Hello,
> >>
> >> I am working on csv importers by subclassing the provided csv class and 
> >> wrapping __init__ to setup config, etc. It worked well, but some of my csv 
> >> files have a different numbering format. The ones I run into are: debit 
> >> shown as negative number, and some gives me 0 for debit when it's a credit 
> >> so that I have an additional line of 0 amount.
> >>
> >> These are all easy fixes, through monkey patching the get_amounts (with 
> >> wrapping old) function in the csv module. The problem is that when I have 
> >> to patch it twice for the above 2 situations, the patches spill over and 
> >> change the outcomes depending on how I import my custom importers in 
> >> xxx.import file.
> >>
> >> I can pass the test for each individual importer, but not when I run all 
> >> tests.
> >>
> >> I can surely just copy and change the original csv module to move 
> >> get_amounts as a class method. But I just want to check if I am doing it 
> >> right.
> >>
> >> Thanks for any suggestion.
> >>
> >> W.E.
> >>
> >>
> 
> -- 
> 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 beancount+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/beancount/2bf01ddf-c99c-4507-8fc2-034ed07deba2%40googlegroups.com.


-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200517084322.GA6721%40jirafa.cyrius.com.


Re: Beancount Revisited

2020-05-16 Thread Martin Michlmayr
* Runar Petursson  [2020-05-17 11:00]:
> I've also rolled an OFX importer based on ofxtools, which were both
> so robust that they worked almost immediately on all of my banks.

What was the reason you built your own rather than using the one
shipped with beancount?

And yes, I hope you'll publish your scripts.
-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200517030955.GB21479%40jirafa.cyrius.com.


Re: Documentation is now read-only

2020-05-11 Thread Martin Michlmayr
* Kirill Goncharov  [2020-05-11 12:37]:
> Update: All major issues were resolved!
> 
> Full API reference now available at 
> https://xuhcc.github.io/beancount-docs/api_reference/index.html

Impressive speed!  Thanks to you and your responsive upstream!

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200512025159.GF21225%40jirafa.cyrius.com.


Re: Documentation is now read-only

2020-05-11 Thread Martin Michlmayr
* Kirill Goncharov  [2019-08-02 02:18]:
> Docs now available at GitHub Pages: https://xuhcc.github.io/beancount-docs/

I found a number of formatting issues but they are problems in the
Google docs (I left some comments).

This looks really good.  Thanks for working on this!
-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200511071351.GA19139%40jirafa.cyrius.com.


Re: Documentation is now read-only

2020-05-11 Thread Martin Michlmayr
* Kirill Goncharov  [2019-08-02 02:18]:
> Docs now available at GitHub Pages: https://xuhcc.github.io/beancount-docs/

This is very impressive.

But afaict it doesn't have the API reference that Dominik's version
has.

His uses Sphinx whereas you use MkDocs.

Is there any chance we could agree one one solution and improve that
together?

(I noticed some formatting issues in the API reference, i.e. in the
docstrings.)
-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200511063243.GA26597%40jirafa.cyrius.com.


Re: Airline miles: expiry and value reporter for Fava, Beancount [fava_miler]

2020-05-06 Thread Martin Michlmayr
* Red S  [2020-05-05 23:08]:
> Github <https://github.com/redstreet/fava_miler>
> 
> Airline miles and rewards points: expiration and value reporting for
> Fava/Beancount (Personal finance software).

I can't tell you how happy this fava module makes me... I've used
ledger for many years and while I put a lot of data into ledger,
ledger doesn't make it easy to actually *do* something with the data.

So I had big plans with beancount and fava, but never found time to
work on it.  But fava-miler is *exactly* the kind of stuff I want to
do.  Thanks so much for creating it and for inspiring me to do similar
things... I have to think about some ideas and actually make time to
implement them.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200506093916.GL20252%40jirafa.cyrius.com.


Re: No position matches error

2020-04-30 Thread Martin Michlmayr
* salmi.tuo...@gmail.com  [2020-04-30 12:03]:
> 2) Is the booking method (strict, fifo, lifo, average, none) somehow
> relevant in this and if so, what implications each one has? Since I
> can't manage which lots I sell from by bank, to me it seems like it
> would make sense to use average method. Or is this completely
> unrelated to my problem?

It typically depends on the tax laws of your country which lot is
sold first.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200501013225.GA29967%40jirafa.cyrius.com.


Re: Beancount issues

2020-04-26 Thread Martin Michlmayr
* Kirill Goncharov  [2020-04-26 07:02]:
> I think we can simply remove profile links and keep only a reference to
> original issue with a display name:

I kinda like the original links.

> This kind of username matching is not reliable anyway

I can work on a mapping of user names.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200426142749.GA6947%40jirafa.cyrius.com.


Re: Beancount issues

2020-04-26 Thread Martin Michlmayr
* Kirill Goncharov  [2020-04-26 05:49]:
> Just tried this issue migration tool: 
> https://github.com/jeffwidman/bitbucket-issue-migration
> 
> Here's the result: https://github.com/xuhcc/beancount/issues

Thanks so much for doing this!  I was going to do a test migration but
I'm happy you did it already. ;)

I hope we can move to GitHub since that's the most widely used
platform.  Kirill has shown how to migrate from mercurial to Git and
how to migrate the issues.

I have some patches I'd like to submit to beancount and I'll commit to
creating several pull requests if beancount moves to GitHub. ;)

Kirill: in some tickets the Markdown or something seems broken, e.g.
https://github.com/xuhcc/beancount/issues/428

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200426131132.GA1379%40jirafa.cyrius.com.


Re: Categorizing transactions automatically on import

2020-04-09 Thread Martin Michlmayr
Thank you Patrick and Zack for your patience and explanations!
I got both approches working.

Zack's approach seems simpler to me, but the problem is that it's a
sub-class of ofx.Importer whereas I was hoping for a wrapper that
I could apply to any importer.  In the case I'm trying to solve,
I only have OFX so I might go with this approach.

Patrick's hook mechanism is more flexible in that regard since
I can apply it to any importer and I could even apply different
hooks to different importers.  The downside is that it relies
on smart_importer which has a lot of ML dependencies.

Patrick, have you (or other smart_importer developers) proposed that
hook mechanism for inclusion into beancount?

For those equally Python challenged as me, here's some example code:

Note: both attach the meta-data to non-txn transactions (like
'balance').  There needs to be a check for transactions.

1) Using Zack's sub-class approach:

def categorize_entry(entry):
entry.meta['test'] = 'foo'
return entry

class myOFX(ofx.Importer):

def extract(self, file, existing_entries=None):
entries = super().extract(file, existing_entries)
return list(map(categorize_entry, entries))

CONFIG = [
myOFX('1...', 'Assets:...'),
]

2) Using smart-import's hook mechanism:

from smart_importer.hooks import apply_hooks, ImporterHook

class SPIImporter(ImporterHook):
def __call__(self, importer, file, imported_entries, existing_entries):
self.account = importer.file_account(file)
for entry in imported_entries:
entry.meta['test'] = 'foo'
return imported_entries

CONFIG = [
apply_hooks(ofx.Importer('1...', 'Assets:...'), [SPIImporter()]),
]

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200410041455.GK21554%40jirafa.cyrius.com.


Re: Categorizing transactions automatically on import

2020-04-09 Thread Martin Michlmayr
* Stefano Zacchiroli  [2020-04-09 11:13]:
> It can also be a wrapper class around any importer that turns a
> "dumb" importer into a "smart" one, that enriches transactions as
> you please.
> 
> Is that what you're looking for here?

Right, this is exactly what I'm trying to do.  Write a wrapper so
I can do:

CONFIG = [
mywrapper(ofx.Importer('1234', 'Assets:ABC')),
...

and then mywrapper would exactly act like any importer (i.e. it would
just call the original importer) except that extract() would first
call the original importer and then iterate over the entries and
fix them up.

I'm sure this is basic Python stuff but unfortunately I can't figure
out how to do it.  Has anyone done this and can give an example of
such a wrapper?

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200409102018.GD21554%40jirafa.cyrius.com.


Re: Categorizing transactions automatically on import

2020-04-08 Thread Martin Michlmayr
* Patrick Ruckstuhl  [2020-04-09 07:46]:
> Smart importer works by learning from your existing transactions. You 
> configure it as an wrapper around your importers.

Sorry if my question wasn't clear.  Basically I'm asking how I can
wrap my own tagging mechanism around importers.  I haven't found
any examples (apart from smart_importer, but I can't figure out
how they do it).

Maybe I should just use smart_importer, but for now I'm leaning
towards a simple match approach.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200409055127.GC21554%40jirafa.cyrius.com.


Why is booking done before plugins

2020-04-08 Thread Martin Michlmayr
A non-profit I'm working with is moving to beancount.  They have some
transactions in foreign currency and we had this idea of looking up
exchange rates from the pricemap and adding cost and price
automatically in a plugin where appropriate.  A proof-of-concept plugin
worked fine but then I ran into a fundamental issue: beancount does
interpolation and booking before plugins.

Doing interpolation before plugins makes sense, but I don't understand
why the booking code runs at such an early stage.  Are there
fundamental reasons for this or is that something that could be
changed?

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200409021848.GD5254%40jirafa.cyrius.com.


Categorizing transactions automatically on import

2020-04-08 Thread Martin Michlmayr
The "Importing External Data in Beancount" document says:

"Beancount does not currently provide a mechanism to automatically
categorize transactions. You can build this into your importer code. I
want to provide a hook for the user to register a completion function
that could run across all the importers where you could hook that code
in."

I have several importer scripts now that work as as well as
beancount's OFX import, but I'd like to assign account names, payees,
narrations and meta-data automatically.

At the moment I pipe the output of bean-extract to a Perl file to
add the data, but there must be a better way.

What would be an elegant way to wrap the importers into code that
can run over the entries and improve the transactions?

I looked at some importers on GitHub and I haven't seen anything.
I believe smart_importer does something like that, but I couldn't
figure out how it works or how I could do the same (without
smart_importer). (My Python isn't fantastic.)

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200409021523.GC5254%40jirafa.cyrius.com.


Re: Equivalent to ledger's --cleared for reports?

2020-04-01 Thread Martin Michlmayr
* Christopher Lemmer Webber  [2020-04-01 17:34]:
> One thing that I'm stuck on though is that transactions can be
> distinguished, like in Ledger, between ! and * (pending and cleared),
> so I was expecting for there to be something equivalent to
> "ledger bal --cleared".  But I can't find it!
> 
> There's surely some simple answer involving queries right?

Yes, you can query based on "flag".

Note that beancount treats no flag and "*" the same, which imho is
not ideal:
https://bitbucket.org/blais/beancount/issues/295/flags-differentiate-between-no-flag-txn

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200402005137.GE26235%40jirafa.cyrius.com.


Re: Beancount issues

2020-03-22 Thread Martin Michlmayr
* Uwe Ziegenhagen  [2020-03-22 16:26]:
> If you have the issues in a readable format ask us, your followers, to
> import them. I am sure some of us have plenty of time now. :-(

https://github.com/jeffwidman/bitbucket-issue-migration

And someone already said he created a Git repo.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200322160427.GA25753%40jirafa.cyrius.com.


Re: GROUP by financial year

2020-03-17 Thread Martin Michlmayr
I wasn't sure how to interpret Martin's reply.  At first, I thought he
was saying that he's not aware of circumstances where the FY !=
calendar year.  But then I realized that he he was just stating that
beancount doesn't have a concept of FY.

As you say (and I'm sure as Martin is full aware), the FY often
differs.  The tax year is also different in some countries, e.g. in
the UK it starts on April 6.

What would the best way be to implement FY in beancount?

* Oon-Ee Ng  [2020-03-17 14:23]:
> Fairly common for some organizations to have financial years starting on
> (say) 1st August or something similar. Sometimes to sync up with regulatory
> requirements, sometimes so that bonuses/promotions hit a particular period
> of the year, sometimes due to expected peak dates for a particular industry.
> 
> On Mon, Mar 16, 2020 at 8:08 PM Martin Blais  wrote:
> 
> > I don't think there's a concert of financial year that's != calendar year.
> >
> > On Mon, Mar 16, 2020, 04:19 Martin Michlmayr  wrote:
> >
> >> I can use:
> >>
> >> SELECT YEAR, SUM(position) WHERE account ~ '^Income' GROUP BY YEAR ORDER
> >> BY YEAR
> >>
> >> to see all income per year.
> >>
> >> Unfortunately, the financial year is not the calendar year.  Is there
> >> a way to use bean-query to do a GROUP BY on a fiancial year or do I
> >> have to write a script?
> >>
> >> --
> >> Martin Michlmayr
> >> https://www.cyrius.com/
> >>
> >> --
> >> 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 beancount+unsubscr...@googlegroups.com.
> >> To view this discussion on the web visit
> >> https://groups.google.com/d/msgid/beancount/20200316075211.GW25911%40jirafa.cyrius.com
> >> .
> >>
> > --
> > 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 beancount+unsubscr...@googlegroups.com.
> > To view this discussion on the web visit
> > https://groups.google.com/d/msgid/beancount/CAK21%2BhNDs0kbdkH-%3DJi%3Df7Lqmd9Ecw3hKbEu_7ab60%2BtL%2BWXuQ%40mail.gmail.com
> > <https://groups.google.com/d/msgid/beancount/CAK21%2BhNDs0kbdkH-%3DJi%3Df7Lqmd9Ecw3hKbEu_7ab60%2BtL%2BWXuQ%40mail.gmail.com?utm_medium=email_source=footer>
> > .
> >
> 
> -- 
> 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 beancount+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/beancount/CAGQ70euz0fJfv3rT%2BBZWCr5G89bjLsEG5MfNp2KgPUdSzc10HQ%40mail.gmail.com.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200317062618.GA5242%40jirafa.cyrius.com.


Re: GROUP by financial year

2020-03-16 Thread Martin Michlmayr
s/concert/concept/?

* Martin Blais  [2020-03-16 08:07]:
> I don't think there's a concert of financial year that's != calendar year.
> 
> On Mon, Mar 16, 2020, 04:19 Martin Michlmayr  wrote:
> 
> > I can use:
> >
> > SELECT YEAR, SUM(position) WHERE account ~ '^Income' GROUP BY YEAR ORDER
> > BY YEAR
> >
> > to see all income per year.
> >
> > Unfortunately, the financial year is not the calendar year.  Is there
> > a way to use bean-query to do a GROUP BY on a fiancial year or do I
> > have to write a script?
> >
> > --
> > Martin Michlmayr
> > https://www.cyrius.com/
> >
> > --
> > 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 beancount+unsubscr...@googlegroups.com.
> > To view this discussion on the web visit
> > https://groups.google.com/d/msgid/beancount/20200316075211.GW25911%40jirafa.cyrius.com
> > .
> >
> 
> -- 
> 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 beancount+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/beancount/CAK21%2BhNDs0kbdkH-%3DJi%3Df7Lqmd9Ecw3hKbEu_7ab60%2BtL%2BWXuQ%40mail.gmail.com.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200316121736.GE25911%40jirafa.cyrius.com.


Exclude empty amounts with GROUP BY

2020-03-16 Thread Martin Michlmayr
I want to see a list of outstanding invoices.  Given the example
below, I can use:

beancount> SELECT ENTRY_META('invoice'), SUM(position) WHERE account ~ 
'^Assets:Receivable' GROUP BY ENTRY_META('invoice')
ent sum_posit
--- -
A01  
B01 30.00 USD

Is there a way to exclude positions that are 0, i.e. that have been
paid?

Example:

2020-01-01 open Assets:Bank
2020-01-01 open Assets:Receivable
2020-01-01 open Income:Sponsorship

2020-03-01 * "Sponsorship from A"
invoice: "A01"
Assets:Receivable  100.00 USD
Income:Sponsorship-100.00 USD

2020-03-01 * "Sponsorship from B"
invoice: "B01"
Assets:Receivable   30.00 USD
Income:Sponsorship -30.00 USD

2020-03-10 * "Payment from A"
invoice: "A01"
Assets:Bank        100.00 USD
Assets:Receivable -100.00 USD

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200316074928.GV25911%40jirafa.cyrius.com.


GROUP by financial year

2020-03-16 Thread Martin Michlmayr
I can use:

SELECT YEAR, SUM(position) WHERE account ~ '^Income' GROUP BY YEAR ORDER BY YEAR

to see all income per year.

Unfortunately, the financial year is not the calendar year.  Is there
a way to use bean-query to do a GROUP BY on a fiancial year or do I
have to write a script?

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200316075211.GW25911%40jirafa.cyrius.com.


ledger equity equivalence in beancount

2020-03-05 Thread Martin Michlmayr
Is there an equivalence for "ledger equity" in beancount?  It creates
opening balances so you can split files into different years.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200305140640.GJ23439%40jirafa.cyrius.com.


Re: The end of Mercurial on Bitbucket

2020-02-20 Thread Martin Michlmayr
* Martin Blais  [2020-02-20 23:37]:
> Thanks for point that out, and yes Github has already been discussed
> and I haven't been able to find time to properly investigate a
> conversion and keep all the branches and investigate how to handle
> all the new problems that will happen with Git.

Kirill Goncharov created a Git repo.  Maybe he (or others) could help
investigate the issues you foresee.

I don't think anyone here expects you to do all the work.  If you give
some pointers, others might be able to help out.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20200221063516.GA18363%40jirafa.cyrius.com.


Re: sorting transactions

2019-12-20 Thread Martin Michlmayr
* nug get  [2019-12-20 03:58]:
> I migrated my 3 years of Gnucash records to beancount. It's all one
> long list of transactions sorted by date. I'd like to separate my
> cash and bank account transactions into two different files.

You could try:

ledger -f all.ledger print --raw account1 > account1.ledger
ledger -f all.ledger print --raw account2 > account2.ledger

However, ledger print loses some information, so depending on your
ledger file this approach may or may not work.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20191220120131.GE13721%40jirafa.cyrius.com.


Re: Release my plugins/importers to github and pypi

2019-12-09 Thread Martin Michlmayr
* Daniele Nicolodi  [2019-12-09 11:53]:
> how do you obtain a CSV data export from Transfewrwise? The last time I
> looked closely (a few months ago) the only data I could get were a PDF
> statement for the individual transactions. Are the CVS files relative to
> something else than Transferwise "bank transfers"?

In the web browser, this works for me:

* Click on currency account
* Click on "more" on the right, below the account info (where it says "Send 
CURRENCY" on the left
* Download a statement
* A menu comes up that offers a choice between PDF and CSV

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20191209193653.GB32189%40jirafa.cyrius.com.


Re: Tracking expenses that are really transfers

2019-12-06 Thread Martin Michlmayr
* Jonathan Klabunde Tomer  [2019-12-05 16:27]:
> But if I'm trying to budget, I need to know my actual cash flow, not
> my P

I think for examples 1 and 2, you just answered your own question
here.  In some cases you want to know expenses (P), but in other
cases you want to know how much money went out (i.e. cash flow).

So I think the question is how to do cash flows in beancount.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20191206083503.GA26312%40jirafa.cyrius.com.


Re: Active currency holdings and average cost booking

2019-11-26 Thread Martin Michlmayr
* Red S  [2019-11-25 02:18]:
> 2016-01-07 * "sell"
>   Assets:Inv  -10 XYZ @ 8 USD
>   Assets:Bank 80 USD
>   Income:CapGains

do it manually:

2016-01-07 * "sell"
  Assets:Inv  -3 XYZ { 9 USD} @ 8 USD
  Assets:Inv  -3 XYZ {10 USD} @ 8 USD
  Assets:Inv  -4 XYZ {11 USD} @ 8 USD
  Assets:Bank 80 USD
  Income:CapGains

or calculate average cost first manually:

2016-01-07 * "Calculate average cost"
  Assets:Inv  10 XYZ {10.1 USD}
  Assets:Inv  -3 XYZ { 9 USD}
  Assets:Inv  -3 XYZ {10 USD}
  Assets:Inv  -4 XYZ {11 USD}

2016-01-07 * "sell"
  Assets:Inv  -10 XYZ {10.1 USD} @ 8 USD
  Assets:Bank 80 USD
  Income:CapGains



> So I really have zero units of XYZ. However, because of the way these are 
> booked, bean-price includes XYZ in its output. Given I have several such 
> cases, what is the best way to handle this? I can think of these:
> - wait until average cost booking is available (will it solve this problem?)
> - book the purchases above as prices instead of commodities held at cost 
> (will I lose the average cost of the commodity? How will I know the cost 
> basis to book profit and loss?)
> - hack a way to get a list of commodities whose lots aggregate to zero, and 
> remove those from what bean-price lists?
> - something else?
> 
> Thank you.
> 
> -- 
> 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 beancount+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/beancount/5e4d37c1-016d-499b-a988-a2cf0e7138eb%40googlegroups.com.


-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20191126181423.GA11129%40jirafa.cyrius.com.


Re: Currency Conversion Not Working [Advise Needed] on Fava

2019-11-14 Thread Martin Michlmayr
* Toby  [2019-11-14 10:47]:
> How do you usually denote currency in beancount?
> 
> I usually have either one of these but its seems like Fava doesn't 
> represent these data in conversion (ie. EUR to USD) . Its always in a 
> separate line/graph( hence a line for EUR and a line for USD). 

Sounds like you might need:

plugin "beancount.plugins.implicit_prices"

> 2019-06-14 * " Food with friends "
>   Expenses:Food:KFC
>   Assets:Cash   -3 USD @ 1.5 EUR

Unlike in ledger, beancount doesn't put such conversions into the
pricedb by default.  plugins.implicit_prices will do it for you.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20191114185233.GA3028%40jirafa.cyrius.com.


Re: When to use tags and when to create separate account?

2019-10-28 Thread Martin Michlmayr
* Martin Blais  [2018-04-22 17:31]:
> You can achieve the same thing already with a group-by on the (account,
> meta) pair:
> 
> plugin "beancount.plugins.auto"
> 
> 2018-04-22 * "Income from ABC"
> customer: "ABC"
> Assets:Bank100.00 EUR
> Income:Business:Hosting   -100.00 EUR
> 
> 2018-04-22 * "Income from CDE"
> customer: "CDE"
> Assets:Bank150.00 EUR
> Income:Business:Hosting   -150.00 EUR
> 
> 
> ;; bean-query
> /home/blais/r/q/beancount-data/user/michlmayr/groupby.beancount
> ;; "select account, entry_meta('customer'), sum(position) where account ~
> 'Income' group by 1, 2"
> ;; account ent sum_positio
> ;; --- --- ---
> ;; Income:Business:Hosting ABC -100.00 EUR
> ;; Income:Business:Hosting CDE -150.00 EUR

Given this example, is where a way to limit the query where sum(position)
is < 125?

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20191028145447.GA21153%40jirafa.cyrius.com.


Re: "Transitive" conversion of currencies?

2019-10-12 Thread Martin Michlmayr
*  [2019-10-12 15:26]:
> So unless I am mistaken, it would seem that beancount does not
> "combine" prices to get more conversions. Is that true? If so, is
> that intended?  Would it make sense to try and write a plugin for
> this?

See some discussion about this here:
https://bitbucket.org/blais/beancount/issues/255/prices-are-not-transitive

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/2019101745.GD2256%40jirafa.cyrius.com.


Re: Invalid reference to unknown account 'Expenses:...'

2019-07-03 Thread Martin Michlmayr
* Florian Lindner  [2019-07-03 11:21]:
> Not sure if the root account "Expenses" needs an open statement, but
> I don't think it's wise to book directly to it.

"Expenses" alone is not a valid account name in beancount.  It needs a
subaccount.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To post to this group, send email to beancount@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20190703202322.GG5327%40jirafa.cyrius.com.
For more options, visit https://groups.google.com/d/optout.


Re: How to manage transactions, which are split across several files

2019-06-27 Thread Martin Michlmayr
You can already use transfer accounts without any special support from
beancount.

in bank-a.beancount do:

Assets:Transfer10.00 EUR
Assets:Bank-A -10.00 EUR

and in bank-b.beancount:

Assets:Bank-B  10.00 EUR
Assets:Transfer   -10.00 EUR

That's what I do.


* Chary Chary  [2019-06-27 00:36]:
> Martin,
> 
> ok, thanks. 
> 
> So, the feature, when implemented, will be called  *Transfer Accounts*
>  
> 
> On Thursday, June 27, 2019 at 5:56:28 AM UTC+2, Martin Blais wrote:
> >
> > Choose one file.
> > There's some discussion of possible features to implement to address this:
> >
> > https://docs.google.com/document/d/1x0qqWGRHi02ef-FtUW172SHkdJ8quOZD-Xli7r4Nl_k/edit#heading=h.v7ixc4fx0f41
> >
> >
> > On Wed, Jun 26, 2019 at 5:50 PM Chary Chary  > > wrote:
> >
> >>
> >> Dear all,
> >>
> >> sorry, if this has been already covered in documentation or discussion, 
> >> but I just can't find it.
> >>
> >> What is the approach to handle situation when one transaction is split 
> >> between different files?
> >>
> >> Say I want to have a one file per bank account. And then I transfer money 
> >> from one account to another, which will make it inevitably be present in 2 
> >> files.
> >>
> >> What is the approach to handle this? 
> >>
> >> -- 
> >> 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 bean...@googlegroups.com .
> >> To post to this group, send email to bean...@googlegroups.com 
> >> .
> >> To view this discussion on the web visit 
> >> https://groups.google.com/d/msgid/beancount/4d0f8548-6b9c-467b-85b9-72806ac27050%40googlegroups.com
> >>  
> >> <https://groups.google.com/d/msgid/beancount/4d0f8548-6b9c-467b-85b9-72806ac27050%40googlegroups.com?utm_medium=email_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 beancount+unsubscr...@googlegroups.com.
> To post to this group, send email to beancount@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/beancount/16f89038-70d6-4030-a8e3-76194b9aa7bd%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.


-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To post to this group, send email to beancount@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20190627132326.GA29575%40jirafa.cyrius.com.
For more options, visit https://groups.google.com/d/optout.


Re: How to fix the income statement so that incomes are positive and expenses are negative?

2019-05-09 Thread Martin Michlmayr
* John Mee <*@johnmee.com> [2019-05-09 00:26]:
> beancount-web produces the same outputs of positive and negatives,
> so it's not fava's fault? 

You may want to read this introduction to find out why income, equity
and liabilities are negative in beancount:
https://docs.google.com/document/d/100tGcA4blh6KSXPRGCZpUlyxaRUwFHEvnz_k9DyZFn4/edit

> I lean toward thinking everything should be positive values

beancount doesn't use debits and credits; it uses plus and minus
instead.

> in your opinion, considering the books from a personal
> point-of-view, should assets be positive or negative?

Assets are positive

> liabilities/income/expenses??

Liabilities and income are Negative, expenses are positive.

This way, things balance.
-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To post to this group, send email to beancount@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20190509074356.GE17832%40jirafa.cyrius.com.
For more options, visit https://groups.google.com/d/optout.


Re: Stock Splits

2019-05-03 Thread Martin Michlmayr
* Alen Šiljak  [2019-05-03 07:42]:
> bean-report  ledger
> 
> option seems to ignore the date info completely for the lots.
> Meaning that the export would not be accurate. The lot information
> would be based only on the cost, which is incomplete.

The ledger export is quite basic.  You can enhance it.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To post to this group, send email to beancount@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20190503144900.GC2320%40jirafa.cyrius.com.
For more options, visit https://groups.google.com/d/optout.


Re: Mass assignment of accounts

2019-05-02 Thread Martin Michlmayr
* Florian Lindner  [2019-05-02 07:54]:
> How can I change one of the accounts for all transactions matching
> some criteria, e.g., payee? Does beancount or Fava have some
> built-in support for that or do I need to resort to the text editor?

You either adapt your importer to set the correct account based on the
payee, or you write a plugin to rewrite your transactions.  It sounds
like you want the former.

-- 
Martin Michlmayr
https://www.cyrius.com/

-- 
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 beancount+unsubscr...@googlegroups.com.
To post to this group, send email to beancount@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/20190502145645.GH1724%40jirafa.cyrius.com.
For more options, visit https://groups.google.com/d/optout.


  1   2   >