Heh. Then you'll be glad to know the mystery resurfaced :) Vanguard again...
After sprinkling a bunch of print's, it looks like a Vanguard 401(k) simply doesn't have available cash. (Which makes sense). The transactionbuilder *mostly* handles that error, but in libtransactionbuilder/investments.py, line 292, there's one call for get_available_cash outside the try block. I've hacked this locally by just having the vanguard importer return False for available_cash, but probably not the right fix overall :) On Sunday, June 14, 2020 at 3:23:41 PM UTC-7 [email protected] wrote: > Great! > > I'm not sure what made it work -- I only touched code that is run after an > exception occurs (not what makes it occur) -- but I'm glad it's works for > you now. > > Feel free to post here or open bugs on github if you run into other issues > or have feature requests. > > On Sunday, June 14, 2020 at 3:53:21 AM UTC-7, Jonathan Goldman wrote: > >> Thanks for the update. Now everything worked fine! Extraction ran >> perfectly. >> >> On Sun, Jun 14, 2020 at 8:47 PM Red S <[email protected]> wrote: >> > I've added: >>> 1) more specific error checking. >>> 2) A Vanguard test case in the examples directory >>> >>> This might help you get up and running. >>> >>> To try it out: >>> *pip install --upgrade beancount-reds-importers* >>> >>> On Saturday, June 13, 2020 at 2:46:08 AM UTC-7, Red S wrote: >>>> >>>> I can't see anything that's amiss. Unfortunately, this is difficult to >>>> debug further without trying to reproduce this using your input file, >>>> which >>>> is hard to do since it contains private information. >>>> >>>> You could try downloading this file, renaming it to OfxDownload.qfx, >>>> setting your account_number to "12345678.123456-01" and running your >>>> command on it: >>>> >>>> https://raw.githubusercontent.com/jseutter/ofxparse/master/tests/fixtures/investment_401k.ofx >>>> >>>> It should complain about 'FOO' not being found. This example has an >>>> oddity where it also needs 'BAR' and 'BAZ'. These three are cusips you'll >>>> need to add. Once you do, this is the expected error you should see >>>> (because this is not a Vanguard file): >>>> AttributeError: 'InvestmentStatement' object has no attribute >>>> 'available_cash' >>>> >>>> Are you able to get to that point? >>>> >>>> See inline for a couple more comments. >>>> >>>> On Friday, June 12, 2020 at 5:01:52 PM UTC-7, Joathan Goldman wrote: >>>> >>>>> Hi, >>>>> >>>>> I'm not a software engineer so might be slow in figuring this out so I >>>>> appreciate all your help and creating this importer. I'm still not able >>>>> to >>>>> figure out the issue. Here is what I'm doing: >>>>> >>>>> bean-extract jonathan.import ~/staging/OfxDownload.qfx > >>>>> ~/staging/OfxDownload.qfx.extract >>>>> >>>>> In that same local folder I have a file called "fund_info.py" that I >>>>> have edited with the funds and maps. If I delete that file that I get an >>>>> error that fund_info is missing. Here is my config file: >>>>> >>>>> JONATHANs-MacBook-Pro:beandata jonathan$ more jonathan.import >>>>> >>>>> #!/usr/bin/env python3 >>>>> >>>>> """Import configuration.""" >>>>> >>>>> >>>>> import sys >>>>> >>>>> from os import path >>>>> >>>>> >>>>> sys.path.insert(0, path.join(path.dirname(__file__))) >>>>> >>>>> >>>>> from beancount_reds_importers import vanguard >>>>> >>>>> from fund_info import * >>>>> >>>>> >>>>> # Setting this variable provides a list of importer instances. >>>>> >>>>> CONFIG = [ >>>>> >>>>> >>>>> # Investments >>>>> >>>>> # >>>>> -------------------------------------------------------------------------------------- >>>>> >>>>> >>>>> vanguard.Importer({ >>>>> >>>>> 'main_account' : 'Assets:US:Investments:Vanguard:Brokerage', >>>>> >>>>> 'account_number' : 'XXXXXXX', >>>>> >>>>> 'transfer' : >>>>> 'Assets:Zero-Sum-Accounts:Transfers:Bank-Account', >>>>> >>>>> 'dividends' : 'Income:Taxable:Dividends:Brokerage', >>>>> >>>>> 'cg' : 'Income:Taxable:Capital-Gains:Brokerage', >>>>> >>>>> 'fees' : 'Expenses:Brokerage-Fees:TradIRA', >>>>> >>>>> 'rounding_error' : 'Equity:Rounding-Errors:Imports', >>>>> >>>>> 'fund_info' : fund_info, >>>>> >>>>> }), >>>>> >>>>> ] >>>>> >>>>> >>>>> I tried modifying the the Vanguard importer...the __init__.py file >>>>> with the print command and this seemed to confirm that the mapper is not >>>>> being created. >>>>> >>>>> >>>>> ( >>>>> /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/beancount_reds_importers/vanguard/__init__.py) >>>>> >>>> >>>> >>>> Can you copy/paste the output? >>>> >>>> >>>> >>>>> >>>>> I don't see how it would pick up our fund_info.py in the example file >>>>> but I haven't looked fully at the code. >>>>> >>>> >>>> >>>> From the from fund_info import * in jonathan.import. >>>> >>>> >>>> >>>>> >>>>> Anyway, I'll keep investigating when I have some time but if you see >>>>> anything obvious I appreciate any help. >>>>> >>>>> >>>>> thanks. >>>>> >>>>> On Sunday, June 7, 2020 at 5:40:44 AM UTC+12, Red S wrote: >>>>>> >>>>>> Also: are you importing the correct file with your maps? Or are you >>>>>> importing the example file that ships with the package by accident? >>>>> >>>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Beancount" group. >>> >> To unsubscribe from this group and stop receiving emails from it, send an >>> email to [email protected]. >> >> >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/beancount/fe85b237-fa45-4505-ac5a-3a972d3680d1o%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/beancount/fe85b237-fa45-4505-ac5a-3a972d3680d1o%40googlegroups.com?utm_medium=email&utm_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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/126e665b-863e-45ea-bdc7-2243025d342an%40googlegroups.com.
