Martin, thank you for your detailed reply! Now it's super clear :) On Tuesday, April 17, 2018 at 1:45:23 AM UTC-4, Martin Blais wrote: > > On Sun, Apr 15, 2018 at 8:35 PM, <mpl...@gmail.com <javascript:>> wrote: > >> I've started playing with import scripts,the sample files provided in >> repo are very useful, just have couple of additional questions i was not >> able to figure out/not 100% sure about: >> > > Really glad the example files are useful. > > > 1 bean-extract does not write transactions in main beancount file >> (personal.beancount), it generates output into command line or >> tmp.beancount and we enter them manually, right? >> > > Correct. You redirect its output to a temp file and using your editor, > cut/paste them to your main file wherever makes most sense for you (and > complete them, e.g., categorize the expenses). > > > >> >> 2 when running "bean-extract -e BEANCOUNT_FILE" what is the algorithm >> used to check duplication? Does it check only for same amounts? Or also >> takes into consideration additional clues (payee, date range, etc)? >> > > Not so great, definitely could use some improvement: > > https://bitbucket.org/blais/beancount/src/cd5fe599fdc80d47caa8a2618f5ee489ce88d101/beancount/ingest/similar.py > > https://bitbucket.org/blais/beancount/issues/185/make-duplicate-detection-configureable > > > 3 When filing files bean-file example.import ../Downloads/ -o documents/ >> how are name and date generated? >> Seems it is picks up date from original file name (example >> UTrade20160215.csv), but when it's not in file name how ofxdownload.ofx >> turns to 2013-12-18.bofa.ofx >> > > From the file_name() and file_date() methods of your importer > implementation: > > https://bitbucket.org/blais/beancount/src/cd5fe599fdc80d47caa8a2618f5ee489ce88d101/beancount/ingest/importer.py > If you use the example CSV importer it does what it can. > Typically you'd write your own and choose what you want it to be. > > > >> >> 4 Main value of regression testing is to insure that new >> changes/additions to importers still work with old input files, >> It's not so useful to help importers work with new formats if format was >> changed by bank, right? >> > > Both. > Those importer codes are typically the last thing you want to do on a > Saturday night, so they tend to be kludgey. > - When you need to support something new, you want to make sure you don't > break old functionality. > - When the Java programmers at your favorite bank change the output format > without warning you (or realize 10 years after that escaping the commas in > the CSV fields might have been a good idea), there's no faster way to test > a new / updated importer than to plot a newer file in the directory and run > regression tests > > > On Mon, Apr 16, 2018 at 8:30 AM, <mpl...@gmail.com <javascript:>> wrote: > >> 5 Also what's the right way to calculate balance >> <https://puu.sh/A4jLY/9988e9d3c4.png>? >> > > Ideally you don't calculate it. Ideally you find it somewhere and enter it. > > > >> >> Chase have the following CSV structure, >> <https://puu.sh/A4jMT/4bf8a55e85.png> >> >> Balance fields are included in checking CSV, so i guess i can use balance >> of the last transactions for balance. >> They are not included in credit card CSV however. Is there a way to >> calculate them? >> >> And how important "balance" in the first place? Cause for example this >> import script >> https://gist.github.com/mterwill/7fdcc573dc1aa158648aacd4e33786e8#file-importers-chase-py >> does not have "balance". >> > > They're optional. > > The reason for Balance directives is to assert (and I mean that in the > computer programming sense as well) that your ledger's calculated balance > matches the institution's idea of what it should be. The picture perfect > idea of a Balance directive is a fuddy duddy accountant type wearing brown > socks staring at the bottom line of his paper statement carefully through > bifocals and manually copying the number to a Balance directive in > Beancount. > > My understanding is that most systems work on the basis of > "reconciliation", which is a fancy way of saying that you're meant to > eyeball what you've entered and confirm it perfect, and after that it's > frozen. I preferred granting my users the superpowers of changing the past > at will, so I decided to encode that as allowing you to assert balances at > particular points in time - Beancount will always automatically complain is > a computed balance fails to match your bank's expectation. All the > assertions are always checked. Adding Balance directives often also allows > you to zero in on errors faster when you're debugging things (e.g. some > missing transaction which for whatever reason you failed to enter - it > happens). > > If your downloaded file contains a parseable balance field, I encourage > you to make that importer automatically generate a corresponding Balance > directive. > Otherwise, you can manually insert one manually every now and then when > you log into that website (e.g. to make a payment) and copy the number on > the screen to the current date. The idea is to enter there a number which > you know (or assume) is correct. > > > > > > > >> >> >> On Monday, April 9, 2018 at 4:28:30 PM UTC-4, Michael Droogleever wrote: >>> >>> You'll need to use something like this, >>> https://gist.github.com/mterwill/7fdcc573dc1aa158648aacd4e33786e8#file-importers-chase-py, >>> >>> or make your own: >>> https://docs.google.com/document/d/11EwQdujzEo2cxqaF5PgxCEZXWfKKQCYSMfdJowp_1S8/edit >>> >>> -- >> 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 <javascript:>. >> To post to this group, send email to bean...@googlegroups.com >> <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/beancount/57580546-5574-4004-9794-4c3dd6f99812%40googlegroups.com >> >> <https://groups.google.com/d/msgid/beancount/57580546-5574-4004-9794-4c3dd6f99812%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > >
-- You received this message because you are subscribed to the Google Groups "Beancount" group. To unsubscribe from this group and stop receiving emails from it, send an email to 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/8cbf2a88-239c-405c-ab69-a560544cc3d9%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.