* Disclaimer * I have never actually run smart importer.

Looking at the README on GitHub for smart importer it looks like you need 
to use the return object of apply_hooks in your CONFIG list. 

CONFIG = [ apply_hooks(MyBankImporter(account='Assets:MyBank:MyAccount'), 
[PredictPostings()]) ]

In your config you apply the hooks but are not using the returned object.

Hope that helps.

On Tuesday, 11 May 2021 at 04:06:33 UTC+1 [email protected] wrote:

> Hi,
>
> I'm trying to get smart_importer to work and not sure what I'm doing 
> wrong. 
>
> *1*. I successfully have done all the required beancount setup and 
> created by own bank importer and ran it on two months of data.
> *2.* I then manually labelled about 2 months of data from one of my 
> banks. 
> *3.* I installed smart_importer using "pip install smart_importer"
>
> (base) MacBook-Air:beandata jonathan$ pip show smart_importer
>
> Name: smart-importer
>
> Version: 0.3
>
> Summary: Augment Beancount importers with machine learning functionality.
>
> Home-page: https://github.com/beancount/smart_importer
>
> Author: Johannes Harms
>
> Author-email: UNKNOWN
>
> License: MIT
>
> Location: /Users/jonathan/opt/miniconda3/lib/python3.8/site-packages
>
> Requires: scikit-learn, beancount, numpy, scipy
>
> *4.* I created a new config file I called Jonathan_smart.import
>
>
> base) MacBook-Air:beandata jonathan$ more jonathan_smart.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 myimporters.bfsfcu import bfsfcu_bank
>
> from myimporters.anz import anz_bank
>
> from fund_info import *
>
> from smart_importer import apply_hooks, PredictPayees, PredictPostings
>
>
> myBank_smart_importer =my_bank.Importer({
>
>         'main_account'   : 'Assets:US:Banks:Checking:myBank',
>
>         'account_number' : ''xxx'',
>
>         'transfer'       : 
> 'Assets:US:Zero-Sum-Accounts:Transfers:Bank-Account',
>
>         'income'         : 'Income:US:Interest:myBank',
>
>         'fees'           : 'Expenses:US:Bank-Fees:myBank',
>
>         'rounding_error' : 'Equity:US:Rounding-Errors:Imports',
>
>     })
>
>
> apply_hooks(myBank_smart_importer, [PredictPayees(), PredictPostings()])
>
> CONFIG = [myBank_smart_importer, ...(other importers)]
>
>
> *5*. I was following the README documentation that said write 
> bean-extract -f to invoke it on existing data. So I tried the following.* 
> Is this right?*
>
> bean-extract jonathan_smart.import ~/staging/new_bank_data.qfx -f 
> journal/myledger.beancount > ~/staging/dud.txt
>
> Cannot train the machine learning model because the training data is empty.
>
> Cannot train the machine learning model because the training data is empty.
>
>
> The output is just like the normal output without all the smart_importer 
> stuff.  Seems I'm doing something wrong as the staging/dud.txt doesn't have 
> any predictions. 
>
>
> Appreciate any assistance on this! 
>
>
> thanks,
>
> Jonathan
>

-- 
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/3bfb5180-3479-426b-abd9-43f191f4988dn%40googlegroups.com.

Reply via email to