Importers, current state, IBKR

255 views
Skip to first unread message

Alen Šiljak

unread,
May 15, 2025, 3:43:44 PM5/15/25
to Beancount
Hi!
I just spent several hours trying to figure out how to import transactions into Beancount, hoping to replace some custom tools I was/am using at the moment. Unfortunately, I am no better of than when I started. At that point at least I had hope that there is something that works. Now I'm afraid to dig deeper, considering I found nothing I can run straightforward with Beancount v3.
The current document for data import also references non-existent tools. I guess these were actual with v2.

Hence I'd like to ask here if anyone can point me in any direction, where I can get any working code with whatever dummy data.
What is the recommended way to import transaction?

I am still unclear as to how the deduplication works.
I have read the current doc (Importing External Data in Beancount) but am just more confused as to how things are supposed to work. What is supposed to be run, by whom, etc. What fills the void left by the missing executables?

Cheers and thanks for any tips!

Patrick Ruckstuhl

unread,
May 15, 2025, 4:07:54 PM5/15/25
to bean...@googlegroups.com
Hi,

I have an importer for ibkr, it might be useful for you or at least give you a starting point.

<https://github.com/tarioch/beancounttools>

<https://github.com/tarioch/beancounttools/blob/master/src/tariochbctools/importers/ibkr/importer.py>

Regards,
Patrick

Alen Šiljak

unread,
May 15, 2025, 4:11:31 PM5/15/25
to Beancount
Hi, Patrick!
Thanks. I've seen your repo, along with the ones that built on top of it - drnuke, uabean. Also reds importers.
What I miss with all these examples is - how to run the actual importer file. There are just endless configurations and classes but I see no entry points to execute any of this.
I assume the entry points were the executables in the previous version of beangulp but those are no longer distributed. What is replacing them?
Cheers!

Patrick Ruckstuhl

unread,
May 15, 2025, 4:14:24 PM5/15/25
to bean...@googlegroups.com
I personally use them mostly through fava, but you can use them from cli.

Best see beangulp example

<https://github.com/beancount/beangulp/tree/master/examples/>

Red S

unread,
May 15, 2025, 5:17:44 PM5/15/25
to Beancount
The example in reds-importers should show you what you want. It's a very small script. Hope that helps.

Running the included examples:
  1. cd <your pip installed dir>/example #eg: cd ~/.local/lib/python3.8/site-packages/beancount_reds_importers/example
  2. ./import.sh OfxDownload.qfx # Imports investments
  3. ./import.sh transactions.qfx # Import bank transactions; uses smart_importer to classify transactions

Alen Šiljak

unread,
May 15, 2025, 5:24:28 PM5/15/25
to Beancount
Thanks a lot, guys! I should be able to move forward from here.
The import.py script from the examples and Red's repo should get me going once I have a few extra hours.

Martin Blais

unread,
May 15, 2025, 5:34:57 PM5/15/25
to Beancount
I forget but don't I have an example configuration in the examples/ directory? Maybe it's out of date?

--
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 visit https://groups.google.com/d/msgid/beancount/a2234342-63c7-4e41-91c2-aaa625836f18n%40googlegroups.com.

Alen Šiljak

unread,
May 16, 2025, 1:09:50 AM5/16/25
to Beancount
Oh, I guess there is. It is just that over 90% of the examples and code I found so far doesn't seem to work with the current version. And the key documents are outdated, and code does not really make it clear how to do things, or rather where to start.
The key entry points - the executables to which everything refers - no longer exist. The document points to a non existing import.py, which should define the structure, etc. After hitting a few cases like this, it gets difficult to trust any instruction or code I come across.
It would be better to have no documentation at all than having a misleading one, to be honest.

fin

unread,
May 16, 2025, 8:43:20 AM5/16/25
to bean...@googlegroups.com
'Alen Šiljak' via Beancount wrote:
> ------=_Part_546496_147351214.1747372190184
> Content-Type: multipart/alternative;
> boundary="----=_Part_546497_1534101972.1747372190184"
>
> ------=_Part_546497_1534101972.1747372190184
> Content-Type: text/plain; charset="UTF-8"
> Content-Transfer-Encoding: quoted-printable

it is just how it can go with open source projects where one
person is the primary developer and coder and then things change
and it is up to other people to help out or to make changes or
to document how things might work for them.

my primary confusions come from the code and documents being
written for perhaps Windows or IDE types of setups which i don't
use or care to get into. i do not want to be locked into any
one method of doing things. the assumptions behind code written
for those ways of doing things means that standard ways of doing
things for unix/linux type systems may not work (stdin, stdout,
stderr, various command line tools that are usually available in
unix/linux, etc.).

reds importers were helpful to me to get things started and
imported, but once i got most of my data imported i've not
had to use them again. i just copy and paste because i don't
have a large number of new transactions and each financial
institution does things their own way and all of them are
changing frequently enough that it is more of a problem to
deal with those changes than to just copy and paste from
what i already have.

i enjoyed learning to mess around with petl and writing my
own code that allowed me to have finer control with where and
how i wanted things to appear and the generated output.

now my biggest source of transactions is the brokerage accts
and i wrote a program to generate those for me from when i'm
trading i just type a few things in and it spits out what i
want for my beancount transactions. (i used an existing piece
of code to do that and it works - to me that's what counts in
the end, does my process work and can i debug it when it breaks).

the v2 to v3 changes i needed two reports from v2 for their
values (not how they looked) netw and bal. i have gotten those
done (with help from people who've posted things here :) ) by
using the following aliases in bash (via my .bashrc file):

alias netw="bean-query ledger.bc \"SELECT convert(SUM(position),'USD') as amount where account ~ 'Assets|Liabilities'\" | tail -1 | cut -d ' ' -f 1"

alias bal="bean-query \-f text ledger.bc \"SELECT account, units(sum(position)) GROUP BY 1 ORDER BY 1\" "

as i get more into the guts of things and learn more python
i have a better chance of helping others, but i still have a
long ways to go before i consider myself proficient.

fin


> Oh, I guess there is. It is just that over 90% of the examples and code I=
>=20
> found so far doesn't seem to work with the current version. And the key=20
> documents are outdated, and code does not really make it clear how to do=20
> things, or rather where to start.
> The key entry points - the executables to which everything refers - no=20
> longer exist. The document points to a non existing import.py, which should=
>=20
> define the structure, etc. After hitting a few cases like this, it gets=20
> difficult to trust any instruction or code I come across.
> It would be better to have no documentation at all than having a misleading=
>=20
> one, to be honest.
>
> On Thursday, 15 May 2025 at 11:34:57=E2=80=AFpm UTC+2 bl...@furius.ca wrote=
>:
>
>> I forget but don't I have an example configuration in the examples/=20
>> directory? Maybe it's out of date?
>>
>> On Thu, May 15, 2025, 17:24 'Alen =C5=A0iljak' via Beancount <
>> bean...@googlegroups.com> wrote:
>>
>>> Thanks a lot, guys! I should be able to move forward from here.
>>> The import.py script from the examples and Red's repo should get me goin=
> g=20
>>> once I have a few extra hours.
>>>
>>> On Thursday, 15 May 2025 at 11:17:44=E2=80=AFpm UTC+2 Red S wrote:
>>>
>>>> The example in reds-importers=20
>>>> <https://github.com/redstreet/beancount_reds_importers/> should show=20
>>>> you what you want. It's a very small script=20
>>>> <https://github.com/redstreet/beancount_reds_importers/blob/main/beanco=
> unt_reds_importers/example/import.sh>.=20
>>>> Hope that helps.
>>>>
>>>> Running the included examples:=20
>>>> <https://github.com/redstreet/beancount_reds_importers/#running-the-inc=
> luded-examples>
>>>>
>>>> 1. cd <your pip installed dir>/example #eg: cd=20
>>>> ~/.local/lib/python3.8/site-packages/beancount_reds_importers/exampl=
> e
>>>> 2. ./import.sh OfxDownload.qfx # Imports investments
>>>> 3. ./import.sh transactions.qfx # Import bank transactions; uses=20
>>>> smart_importer to classify transactions
>>>>
>>>>
>>>>
>>>> On Thursday, May 15, 2025 at 1:11:31=E2=80=AFPM UTC-7 Alen =C5=A0iljak =
> wrote:
>>>>
>>>>> Hi, Patrick!
>>>>> Thanks. I've seen your repo, along with the ones that built on top of=
>=20
>>>>> it - drnuke, uabean. Also reds importers.
>>>>> What I miss with all these examples is - how to run the actual importe=
> r=20
>>>>> file. There are just endless configurations and classes but I see no e=
> ntry=20
>>>>> points to execute any of this.
>>>>> I assume the entry points were the executables in the previous version=
>=20
>>>>> of beangulp but those are no longer distributed. What is replacing the=
> m?
>>>>> Cheers!
>>>>> On Thursday, 15 May 2025 at 10:07:54=E2=80=AFpm UTC+2 Patrick Ruckstuh=
> l wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I have an importer for ibkr, it might be useful for you or at least=
>=20
>>>>>> give you a starting point.
>>>>>>
>>>>>> <https://github.com/tarioch/beancounttools>
>>>>>>
>>>>>> <
>>>>>> https://github.com/tarioch/beancounttools/blob/master/src/tariochbcto=
> ols/importers/ibkr/importer.py
>>>>>> >
>>>>>>
>>>>>> Regards,
>>>>>> Patrick=20
>>>>>>
>>>>>>
>>>>>> On May 15, 2025 9:43:43 PM GMT+02:00, "'Alen =C5=A0iljak' via Beancou=
> nt" <
>>>>>> bean...@googlegroups.com> wrote:
>>>>>>
>>>>>>> Hi!
>>>>>>> I just spent several hours trying to figure out how to import=20
>>>>>>> transactions into Beancount, hoping to replace some custom tools I w=
> as/am=20
>>>>>>> using at the moment. Unfortunately, I am no better of than when I st=
> arted.=20
>>>>>>> At that point at least I had hope that there is something that works=
> . Now=20
>>>>>>> I'm afraid to dig deeper, considering I found nothing I can run=20
>>>>>>> straightforward with Beancount v3.
>>>>>>> The current document for data import also references non-existent=20
>>>>>>> tools. I guess these were actual with v2.
>>>>>>>
>>>>>>> Hence I'd like to ask here if anyone can point me in any direction,=
>=20
>>>>>>> where I can get any working code with whatever dummy data.
>>>>>>> What is the recommended way to import transaction?
>>>>>>>
>>>>>>> I am still unclear as to how the deduplication works.
>>>>>>> I have read the current doc (Importing External Data in Beancount)=
>=20
>>>>>>> but am just more confused as to how things are supposed to work. Wha=
> t is=20
>>>>>>> supposed to be run, by whom, etc. What fills the void left by the mi=
> ssing=20
>>>>>>> executables?
>>>>>>>
>>>>>>> Cheers and thanks for any tips!
>>>>>>>
>>>>>>> --=20
>>> You received this message because you are subscribed to the Google Group=
> s=20
>>> "Beancount" group.
>>> To unsubscribe from this group and stop receiving emails from it, send a=
> n=20
>>> email to beancount+...@googlegroups.com.
>>> To view this discussion visit=20
>>> https://groups.google.com/d/msgid/beancount/a2234342-63c7-4e41-91c2-aaa6=
> 25836f18n%40googlegroups.com=20
>>> <https://groups.google.com/d/msgid/beancount/a2234342-63c7-4e41-91c2-aaa=
> 625836f18n%40googlegroups.com?utm_medium=3Demail&utm_source=3Dfooter>
>>> .
>>>
>>
>
> --=20
> 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 e=
> mail to beancount+...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/beancount/7=
> 6c98566-493a-45e1-a6d3-9ce3e8ec2d83n%40googlegroups.com.
>
> ------=_Part_546497_1534101972.1747372190184
> Content-Type: text/html; charset="UTF-8"
> Content-Transfer-Encoding: quoted-printable
>
><div>Oh, I guess there is. It is just that over 90% of the examples and cod=
> e I found so far doesn't seem to work with the current version. And the key=
> documents are outdated, and code does not really make it clear how to do t=
> hings, or rather where to start.</div><div>The key entry points - the execu=
> tables to which everything refers - no longer exist. The document points to=
> a non existing import.py, which should define the structure, etc. After hi=
> tting a few cases like this, it gets difficult to trust any instruction or =
> code I come across.</div><div>It would be better to have no documentation a=
> t all than having a misleading one, to be honest.</div><br /><div class=3D"=
> gmail_quote"><div dir=3D"auto" class=3D"gmail_attr">On Thursday, 15 May 202=
> 5 at 11:34:57=E2=80=AFpm UTC+2 bl...@furius.ca wrote:<br/></div><blockquote=
> class=3D"gmail_quote" style=3D"margin: 0 0 0 0.8ex; border-left: 1px solid=
> rgb(204, 204, 204); padding-left: 1ex;"><div dir=3D"auto">I forget but don=
> &#39;t I have an example configuration in the examples/ directory? Maybe it=
> &#39;s out of date?</div><br><div class=3D"gmail_quote"></div><div class=3D=
> "gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, May 15, 2025, 1=
> 7:24 &#39;Alen =C5=A0iljak&#39; via Beancount &lt;<a href data-email-masked=
> rel=3D"nofollow">bean...@googlegroups.com</a>&gt; wrote:<br></div></div><d=
> iv class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margin:=
> 0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Thanks a lot, =
> guys! I should be able to move forward from here.</div><div>The import.py s=
> cript from the examples and Red&#39;s repo should get me going once I have =
> a few extra hours.</div><br><div class=3D"gmail_quote"><div dir=3D"auto" cl=
> ass=3D"gmail_attr">On Thursday, 15 May 2025 at 11:17:44=E2=80=AFpm UTC+2 Re=
> d S wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0=
> 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D=
> "auto" style=3D"box-sizing:border-box;color:rgb(31,35,40);font-family:-appl=
> e-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,&quot;Noto Sans&quot;,Helv=
> etica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&q=
> uot;;font-size:16px"><span style=3D"color:rgba(0,0,0,0.87);font-family:Robo=
> to,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px">The example in=C2=
>=A0</span><a href=3D"https://github.com/redstreet/beancount_reds_importers/=
> " style=3D"font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-s=
> ize:14px" rel=3D"nofollow noreferrer" target=3D"_blank" data-saferedirectur=
> l=3D"https://www.google.com/url?hl=3Den-AU&amp;q=3Dhttps://github.com/redst=
> reet/beancount_reds_importers/&amp;source=3Dgmail&amp;ust=3D174745769530600=
> 0&amp;usg=3DAOvVaw1rykrL7itBiiGR25m_uxaY">reds-importers</a>=C2=A0should sh=
> ow you what you want. It&#39;s a <a href=3D"https://github.com/redstreet/be=
> ancount_reds_importers/blob/main/beancount_reds_importers/example/import.sh=
> " rel=3D"nofollow noreferrer" target=3D"_blank" data-saferedirecturl=3D"htt=
> ps://www.google.com/url?hl=3Den-AU&amp;q=3Dhttps://github.com/redstreet/bea=
> ncount_reds_importers/blob/main/beancount_reds_importers/example/import.sh&=
> amp;source=3Dgmail&amp;ust=3D1747457695306000&amp;usg=3DAOvVaw3GCq0KEl3ONZf=
> ETthvHVOQ">very small script</a>. Hope that helps.</div><div dir=3D"auto" s=
> tyle=3D"box-sizing:border-box;color:rgb(31,35,40);font-family:-apple-system=
> ,BlinkMacSystemFont,&quot;Segoe UI&quot;,&quot;Noto Sans&quot;,Helvetica,Ar=
> ial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;fon=
> t-size:16px"><span dir=3D"auto" style=3D"box-sizing:border-box;margin-top:2=
> 4px;margin-bottom:16px;font-size:1.25em;font-weight:600;line-height:1.25"><=
> br></span></div><div dir=3D"auto" style=3D"box-sizing:border-box;color:rgb(=
> 31,35,40);font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;=
> ,&quot;Noto Sans&quot;,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&q=
> uot;,&quot;Segoe UI Emoji&quot;;font-size:16px"><span dir=3D"auto" style=3D=
> "box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:1.25em;=
> font-weight:600;line-height:1.25">Running the included examples:</span><a a=
> ria-label=3D"Permalink: Running the included examples:" href=3D"https://git=
> hub.com/redstreet/beancount_reds_importers/#running-the-included-examples" =
> style=3D"box-sizing:border-box;background-color:transparent;color:rgb(9,105=
> ,218);text-decoration-line:underline;float:left;padding-right:4px;margin:au=
> to;line-height:1;display:flex;width:28px;min-height:28px;border-radius:6px;=
> opacity:0" rel=3D"nofollow noreferrer" target=3D"_blank" data-saferedirectu=
> rl=3D"https://www.google.com/url?hl=3Den-AU&amp;q=3Dhttps://github.com/reds=
> treet/beancount_reds_importers/%23running-the-included-examples&amp;source=
>=3Dgmail&amp;ust=3D1747457695306000&amp;usg=3DAOvVaw1uydi-1T8VHoo8XBxqCV6P"=
>></a></div><ol dir=3D"auto" style=3D"box-sizing:border-box;padding-left:2em=
> ;margin-top:0px;margin-bottom:16px;color:rgb(31,35,40);font-family:-apple-s=
> ystem,BlinkMacSystemFont,&quot;Segoe UI&quot;,&quot;Noto Sans&quot;,Helveti=
> ca,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot=
> ;;font-size:16px"><li style=3D"box-sizing:border-box"><span style=3D"box-si=
> zing:border-box;font-family:ui-monospace,SFMono-Regular,&quot;SF Mono&quot;=
> ,Menlo,Consolas,&quot;Liberation Mono&quot;,monospace;font-size:13.6px;padd=
> ing:0.2em 0.4em;margin:0px;background-color:rgba(129,139,152,0.12);border-r=
> adius:6px">cd &lt;your pip installed dir&gt;/example #eg: cd ~/.local/lib/p=
> ython3.8/site-packages/beancount_reds_importers/example</span></li><li styl=
> e=3D"box-sizing:border-box;margin-top:0.25em"><span style=3D"box-sizing:bor=
> der-box;font-family:ui-monospace,SFMono-Regular,&quot;SF Mono&quot;,Menlo,C=
> onsolas,&quot;Liberation Mono&quot;,monospace;font-size:13.6px;padding:0.2e=
> m 0.4em;margin:0px;background-color:rgba(129,139,152,0.12);border-radius:6p=
> x">./import.sh OfxDownload.qfx</span>=C2=A0# Imports investments</li><li st=
> yle=3D"box-sizing:border-box;margin-top:0.25em"><span style=3D"box-sizing:b=
> order-box;font-family:ui-monospace,SFMono-Regular,&quot;SF Mono&quot;,Menlo=
> ,Consolas,&quot;Liberation Mono&quot;,monospace;font-size:13.6px;padding:0.=
> 2em 0.4em;margin:0px;background-color:rgba(129,139,152,0.12);border-radius:=
> 6px">./import.sh transactions.qfx</span>=C2=A0# Import bank transactions; u=
> ses smart_importer to classify transactions</li></ol><br><br><div class=3D"=
> gmail_quote"><div dir=3D"auto" class=3D"gmail_attr">On Thursday, May 15, 20=
> 25 at 1:11:31=E2=80=AFPM UTC-7 Alen =C5=A0iljak wrote:<br></div><blockquote=
> class=3D"gmail_quote" style=3D"margin:0 0 0 0.8ex;border-left:1px solid rg=
> b(204,204,204);padding-left:1ex"><div>Hi, Patrick!</div><div>Thanks. I&#39;=
> ve seen your repo, along with the ones that built on top of it - drnuke, ua=
> bean. Also reds importers.</div><div>What I miss with all these examples is=
> - how to run the actual importer file. There are just endless configuratio=
> ns and classes but I see no entry points to execute any of this.</div><div>=
> I assume the entry points were the executables in the previous version of b=
> eangulp but those are no longer distributed. What is replacing them?</div><=
> div>Cheers!</div><div class=3D"gmail_quote"><div dir=3D"auto" class=3D"gmai=
> l_attr">On Thursday, 15 May 2025 at 10:07:54=E2=80=AFpm UTC+2 Patrick Rucks=
> tuhl wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 =
> 0 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div =
> dir=3D"auto">Hi,<br><br>I have an importer for ibkr, it might be useful for=
> you or at least give you a starting point.<br><br>&lt;<a href=3D"https://g=
> ithub.com/tarioch/beancounttools" rel=3D"nofollow noreferrer" target=3D"_bl=
> ank" data-saferedirecturl=3D"https://www.google.com/url?hl=3Den-AU&amp;q=3D=
> https://github.com/tarioch/beancounttools&amp;source=3Dgmail&amp;ust=3D1747=
> 457695306000&amp;usg=3DAOvVaw3wwE_p08e74WZ32UlVTbOK">https://github.com/tar=
> ioch/beancounttools</a>&gt;<br><br>&lt;<a href=3D"https://github.com/tarioc=
> h/beancounttools/blob/master/src/tariochbctools/importers/ibkr/importer.py"=
> rel=3D"nofollow noreferrer" target=3D"_blank" data-saferedirecturl=3D"http=
> s://www.google.com/url?hl=3Den-AU&amp;q=3Dhttps://github.com/tarioch/beanco=
> unttools/blob/master/src/tariochbctools/importers/ibkr/importer.py&amp;sour=
> ce=3Dgmail&amp;ust=3D1747457695306000&amp;usg=3DAOvVaw27hldpffrvwvdtdRc8sRN=
> z">https://github.com/tarioch/beancounttools/blob/master/src/tariochbctools=
> /importers/ibkr/importer.py</a>&gt;<br><br>Regards,<br>Patrick </div></div>=
><div><br><br><div class=3D"gmail_quote"><div dir=3D"auto">On May 15, 2025 9=
>:43:43 PM GMT+02:00, &quot;&#39;Alen =C5=A0iljak&#39; via Beancount&quot; &=
> lt;<a rel=3D"nofollow noreferrer">bean...@googlegroups.com</a>&gt; wrote:</=
> div><blockquote class=3D"gmail_quote" style=3D"margin:0pt 0pt 0pt 0.8ex;bor=
> der-left:1px solid rgb(204,204,204);padding-left:1ex">
><div>Hi!</div><div>I just spent several hours trying to figure out how to i=
> mport transactions into Beancount, hoping to replace some custom tools I wa=
> s/am using at the moment. Unfortunately, I am no better of than when I star=
> ted. At that point at least I had hope that there is something that works. =
> Now I&#39;m afraid to dig deeper, considering I found nothing I can run str=
> aightforward with Beancount v3.</div><div>The current document for data imp=
> ort also references non-existent tools. I guess these were actual with v2.<=
> /div><div><br></div><div>Hence I&#39;d like to ask here if anyone can point=
> me in any direction, where I can get any working code with whatever dummy =
> data.</div><div>What is the recommended way to import transaction?</div><di=
> v><br></div><div>I am still unclear as to how the deduplication works.</div=
>><div>I have read the current doc (Importing External Data in Beancount) bu=
> t am just more confused as to how things are supposed to work. What is supp=
> osed to be run, by whom, etc. What fills the void left by the missing execu=
> tables?</div><div><br></div><div>Cheers and thanks for any tips!</div>
>
><p></p></blockquote></div></div></blockquote></div></blockquote></div></blo=
> ckquote></div>
>
><p></p></blockquote></div><div class=3D"gmail_quote"><blockquote class=3D"g=
> mail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-l=
> eft:1ex">
>
> -- <br>
> You received this message because you are subscribed to the Google Groups &=
> quot;Beancount&quot; group.<br>
> To unsubscribe from this group and stop receiving emails from it, send an e=
> mail to <a href rel=3D"noreferrer nofollow" data-email-masked>beancount+...=
> @googlegroups.com</a>.<br>
> To view this discussion visit <a href=3D"https://groups.google.com/d/msgid/=
> beancount/a2234342-63c7-4e41-91c2-aaa625836f18n%40googlegroups.com?utm_medi=
> um=3Demail&amp;utm_source=3Dfooter" rel=3D"noreferrer nofollow" target=3D"_=
> blank" data-saferedirecturl=3D"https://www.google.com/url?hl=3Den-AU&amp;q=
>=3Dhttps://groups.google.com/d/msgid/beancount/a2234342-63c7-4e41-91c2-aaa6=
> 25836f18n%2540googlegroups.com?utm_medium%3Demail%26utm_source%3Dfooter&amp=
> ;source=3Dgmail&amp;ust=3D1747457695307000&amp;usg=3DAOvVaw0eKyHeFNc41LwHSz=
> 3CvyNv">https://groups.google.com/d/msgid/beancount/a2234342-63c7-4e41-91c2=
> -aaa625836f18n%40googlegroups.com</a>.<br>
></blockquote></div>
></blockquote></div>
>
><p></p>
>
> -- <br />
> You received this message because you are subscribed to the Google Groups &=
> quot;Beancount&quot; group.<br />
> To unsubscribe from this group and stop receiving emails from it, send an e=
> mail to <a href=3D"mailto:beancount+...@googlegroups.com">beancount=
> +unsub...@googlegroups.com</a>.<br />
> To view this discussion visit <a href=3D"https://groups.google.com/d/msgid/=
> beancount/76c98566-493a-45e1-a6d3-9ce3e8ec2d83n%40googlegroups.com?utm_medi=
> um=3Demail&utm_source=3Dfooter">https://groups.google.com/d/msgid/beancount=
> /76c98566-493a-45e1-a6d3-9ce3e8ec2d83n%40googlegroups.com</a>.<br />
>
> ------=_Part_546497_1534101972.1747372190184--
>
> ------=_Part_546496_147351214.1747372190184--
>

Red S

unread,
May 16, 2025, 3:58:47 PM5/16/25
to Beancount
Good point. The documentation source for Beancount is maintained on Google Docs. Feel free to ask Martin for permission to edit it. Existing users sometimes forget how the new user experience is, or are unable to keep up with it. Sounds like it could definitely use help from a user going through it for the first time.

On a different note, IBKR importer and downloaded. IBKR has an awesome, feature rich, and well documented APIs. Good luck!

Alen Siljak

unread,
May 16, 2025, 5:34:22 PM5/16/25
to bean...@googlegroups.com

Definitely! That is my main point. People going through these steps are in the best position to write the docs that would make it easier to learn for beginners. Once I figure things out, I will no longer need these documents, except for reference. I understand that.

Thanks for that link. I have your repo in my little knowledge base. But, after looking at it, I was under the impression that it only downloads the report. Pretty much what the ibflex package does. Does your importer also generates the transactions?
Please say yes, this is the only thing remaining for me and I'll be travelling next week and won't have much time to play around with this.

Cashier now supports Beancount export. I need to finalize the bean queries to get the data from the book and then everything will be migrated.
One thing I'm not completely sure is how to get a list of all the lots for a commodity. The list should be in a form that can be exported to JSON.


--
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/2ITgQq2Xun0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to beancount+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/beancount/83e9b752-0711-4c9c-8e01-5dcc27a798e7n%40googlegroups.com.

Red S

unread,
May 17, 2025, 4:06:21 AM5/17/25
to Beancount

Thanks for that link. I have your repo in my little knowledge base. But, after looking at it, I was under the impression that it only downloads the report. Pretty much what the ibflex package does. Does your importer also generates the transactions? Please say yes, this is the only thing remaining for me and I’ll be travelling next week and won’t have much time to play around with this.

It does both. Download cmd if you store your IBKR token in pass:

reds-ibkr-flexquery-download $(pass ibkr_token) 123456 > ibkr_flex_main.xml

You can use the above in a .cfg for bean-download or run it from the command line (see the main README.md).

Importer is in __init__.py.

Alen Siljak

unread,
May 17, 2025, 10:39:58 AM5/17/25
to bean...@googlegroups.com

Thanks, man! That looks pretty good. Was definitely in my blind spot, not expecting the importer in the module init.
Looking forward to trying it out soon! Looks quite comprehensive.


--
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/2ITgQq2Xun0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to beancount+...@googlegroups.com.

Red S

unread,
May 19, 2025, 2:04:09 AM5/19/25
to Beancount
Yes, many importers are very small and declarative, so they live in the module init. Larger importers with logic should be refactored into their own file at some point. That'll break import statements for users, which needs to be documented.
Reply all
Reply to author
Forward
0 new messages