2017-04-18 GnuCash IRC logs

00:22:10 <cyberspectre> I imported a qfx file with all bank transactions, and gnucash calculates that my current bank balance is negative, but it's not. Why is this?
00:35:35 *** meb has quit IRC
00:38:05 *** meb has joined #gnucash
00:49:32 *** O01eg has quit IRC
01:20:42 *** rickoehn has quit IRC
01:24:45 *** rickoehn has joined #gnucash
01:31:27 *** fell_ has joined #gnucash
01:33:55 *** fell has quit IRC
01:52:05 *** Mechtilde has joined #gnucash
02:11:54 *** Mechtilde has quit IRC
02:12:11 *** Mechtilde has joined #gnucash
02:17:54 *** Mechtilde has quit IRC
02:18:48 *** Mechtilde has joined #gnucash
02:23:36 *** pilotauto has joined #gnucash
02:25:25 *** Mechtilde has quit IRC
02:26:33 *** Mechtilde has joined #gnucash
02:32:25 *** Mechtilde has quit IRC
02:32:38 *** Mechtilde has joined #gnucash
02:39:26 *** Mechtilde has quit IRC
03:31:43 *** fekepp has quit IRC
03:39:50 *** fabior has joined #gnucash
03:48:47 *** pilotauto has quit IRC
03:57:51 *** weasel has joined #gnucash
03:58:01 * weasel waves. Hello.
04:05:01 *** To7 has quit IRC
04:22:51 *** mrklintscher2 has joined #gnucash
04:24:10 *** mrklintscher has quit IRC
04:42:26 <redarrow> hello weasel
04:46:16 *** mlncn has quit IRC
05:21:46 *** fiddlerwoaroof has quit IRC
05:37:43 *** fiddlerwoaroof has joined #gnucash
06:24:28 *** fell_ is now known as fell
06:25:31 <fell> mikee or jralls, can you /op gncbot?
06:31:36 *** Jimraehl1 has joined #gnucash
06:33:01 *** Jimraehl1 has left #gnucash
07:01:03 *** fabior has quit IRC
07:01:39 *** fekepp has joined #gnucash
07:37:08 *** User_ has joined #gnucash
07:39:20 *** User__ has joined #gnucash
07:41:25 *** User_ has quit IRC
07:47:50 *** gjanssens has joined #gnucash
07:47:50 *** ChanServ sets mode: +o gjanssens
08:11:35 *** To7 has joined #gnucash
08:33:13 *** mlncn has joined #gnucash
08:40:05 *** Aussie_matt has joined #gnucash
08:52:33 <Aussie_matt> anyone know if there's plans for a web based client for gnucash?
08:57:29 <gjanssens> Aussie_matt: there are no such plans as far as I know
08:57:29 <gncbot> gjanssens: Sent 14 hours and 55 minutes ago: <jralls> The security issue is that PowerShell won't run scripts by default and only the least-restrictive Windows setting allows it to run unsigned scripts that didn't originate on the local computer.
08:57:30 <gncbot> gjanssens: Sent 14 hours and 55 minutes ago: <jralls> Woo-hoo! Msys2 has jhbuild!
08:57:50 <gjanssens> The current design would make this very hard also
08:58:58 <Aussie_matt> gjanssens: ok, thanks. I asked you last night about gnucash on mageia, is there a prefered OS I can use in a vm?
09:00:08 <gjanssens> Aussie_matt: I have been using Fedora for quite some time. And since I'm one of the gnucash devs that helps in making sure gnucash runs well on that platform ;)
09:00:29 <gjanssens> However more interestingly would be any OS that has recent updates
09:00:51 <Aussie_matt> gjanssens: sweet, I have a rasp pi with fedora :) do you know if it's running on arm?
09:01:10 <gjanssens> I know the Fedora maintainer packages new releases fairly quickly after release
09:01:39 <gjanssens> For the debian derivatives (ubuntu/mint,...) there is a getdeb repo that is usually pretty up to date
09:04:00 <gjanssens> Aussie_matt: apparently it's built for armv7hi: https://koji.fedoraproject.org/koji/buildinfo?buildID=879783
09:04:10 <gjanssens> I don't know what version or the rpi you have
09:04:22 <gjanssens> So it may or may not be packaged for it
09:05:03 <Aussie_matt> it's a pi2 , so it should be a goer
09:06:33 <Aussie_matt> gjanssens: anyways, given it's good on fedora, and I can work that well, maybe I'll just spinn up a minimal install with gnucash :) on a x86
09:12:03 <gjanssens> Aussie_matt: just go with what is most comfortable to you
09:41:25 *** fabior has joined #gnucash
09:44:45 *** kael has joined #gnucash
09:48:16 *** rickoehn has quit IRC
09:53:55 *** mrklintscher2 has quit IRC
09:55:15 *** mrklintscher has joined #gnucash
10:13:34 *** fekepp has quit IRC
10:24:41 *** rickoehn has joined #gnucash
10:25:03 *** Aussie_matt has quit IRC
10:26:10 *** User_ has joined #gnucash
10:26:44 *** User__ has quit IRC
10:32:15 *** User_ has quit IRC
10:38:44 *** Mechtilde has joined #gnucash
10:43:36 *** mrklintscher has quit IRC
10:45:02 *** mrklintscher has joined #gnucash
11:01:23 *** Mechtilde has quit IRC
11:21:52 <jralls> gr8kodr: Sorry, transaction ordering isn't a reason to post at finer resolution than a day. If that's a concern to you it's because you're confusing your book with your bank's book.
11:26:35 <jralls> gr8kodr: Also, the pricedb isn't used at all for pricing splits. GnuCash stores an amount and a value and calculates the price on-the-fly for presentation. You enter two of amount, price, and value and GnuCash calculates the third at the time of entry.
11:27:00 *** jralls sets mode: +o gncbot
12:09:09 *** mrklintscher has quit IRC
12:10:23 *** mrklintscher has joined #gnucash
12:35:01 *** mrklintscher has quit IRC
12:36:30 *** mrklintscher has joined #gnucash
12:59:47 *** mrklintscher has quit IRC
13:01:02 *** nitin has joined #gnucash
13:01:11 *** mrklintscher has joined #gnucash
13:11:11 *** User_ has joined #gnucash
13:13:04 *** User__ has joined #gnucash
13:15:03 *** User_ has quit IRC
13:21:44 <nitin> Shouldnt we move to double instead of float?
13:24:43 <jralls> nitin: In general we shouldn't be using either floats or doubles, we should use GncRational/gnc_numeric.
13:25:41 <jralls> Aside from that why would it make a difference? There isn't enough money in the world to require a double.
13:26:10 *** nitin has quit IRC
13:39:09 *** Mechtilde has joined #gnucash
13:39:29 *** nitin-mobile has joined #gnucash
13:42:15 *** fabior has quit IRC
13:45:18 <nitin-mobile> jralls: https://blockchain.info/block/0000000000000000021902ec487e6721612d5bca59841fd6484a3a5419b29b84 a typical bitcoin transaction cannot be captured right?
13:48:22 <jralls> nitin-mobile: Oh, BTC. Yes, doubles will be required for BTC import. Once inside GnuCash they'll be represented as xxxx/1000000000.
13:52:18 <nitin-mobile> People might start using gnucash for crypto currency record management, should I start an effort on this?
13:56:25 <jralls> nitin-mobile: People have been asking about that for some time. BTC is AFAIK special because of its ridiculous SCU, but part of the motivation for my redoing the rational number code was to accomodate it. The old code had overflow problems and so 2.6 and earlier have a hard-coded clamp on the maximum fraction at 10^7 - 1.
14:00:01 <jralls> That aside, I think we do actually use doubles in most places we use floating point. I was a bit surprised to see the floats in the expression parser code the other day.
14:02:27 <jralls> Do you want to take on rewriting the expression parser in C++ using GncRational?
14:03:53 <nitin-mobile> Sure I can take that up.
14:07:16 *** frakturfreak has joined #gnucash
14:09:03 <jralls> OK. Set up a github account, clone gnucash, make a feature branch and push to it often for review. We want C++11 (not C++14, so be careful of initializer lists), templates where appropriate but don't go too deep into metaprogramming, and no new dependencies. Use boost where possible.
14:12:17 <nitin-mobile> Cool perfect
14:12:47 <jralls> http://wiki.gnucash.org/wiki/Development has some useful information, and be sure to comply with http://wiki.gnucash.org/wiki/CodingStandard.
14:18:43 *** bertbob has quit IRC
14:21:34 *** fekepp has joined #gnucash
14:21:45 <nitin-mobile> Thanks
14:25:29 *** kael has quit IRC
14:25:38 *** bertbob has joined #gnucash
14:32:00 *** bertbob has quit IRC
14:34:04 *** bertbob has joined #gnucash
14:50:58 *** kael has joined #gnucash
14:54:01 *** nitin-mobile has quit IRC
14:56:46 *** nitin-mobile has joined #gnucash
15:07:31 *** nitin-mobile has quit IRC
15:10:31 *** nitin-mobile has joined #gnucash
15:26:09 *** Mechtilde has quit IRC
15:30:46 *** nitin-mobile has quit IRC
15:32:17 <gjanssens> jralls: I saw your comments on powershell (and jhbuild).
15:32:37 <gjanssens> The signing issue will need some consideration
15:33:19 <gjanssens> Particularly because on gnucash-on-windows there are more than one dev pushing changes
15:33:40 <gjanssens> So one single signing cert (like you have on OS X) is probably not sufficient.
15:34:07 <gjanssens> What options do we have ?
15:34:52 <gjanssens> The first one that comes to mind is sharing a cert with the active devs, which sounds like the worst option to me.
15:34:52 *** mrklintscher has quit IRC
15:35:30 <gjanssens> Another is having code.gnucash.org add a signature each time a powershell script is altered
15:36:36 <gjanssens> Seems a bit clumsy as well as that would mean each push could potentially add one commit
15:36:55 *** mrklintscher has joined #gnucash
15:37:46 <gjanssens> Third option would be each dev having his/her own certificate and tell interested (non-committer) devs to import all core dev certificates.
15:38:08 <gjanssens> A but rude to the users IMO.
15:39:21 <gjanssens> Fourth: provide all devs with commit rights with a certificate signed by the same CA or intermediate CA and have the users wishing to run the build scripts trust all certs from that CA.
15:39:58 <gjanssens> I don't know if this would work. I don't know the details of the signing restrictions on Windows
15:40:33 <gjanssens> To be practical that would also most likely mean maintaining our own CA.
15:40:38 <gjanssens> Other options ?
15:44:40 <gjanssens> jralls: a totally different question
15:45:28 <gjanssens> Bob's PR from earlier today prompted me to check what would be needed to integrate the custom date parsing from the csv importer into your GncDate(Time) code
15:46:30 <gjanssens> While studying this I found the boost libraries it is based on also have a date and a datetime class, and there the date class is a specialization of the datetime class
15:47:47 <gjanssens> (or at least I *thought* I saw that, can't find it right now as I write this)
15:48:03 <gjanssens> This inheritance is not present in GncDate(Time) ?
15:49:20 <gjanssens> Nevermind. Re-reading the code, I find I confused a namespace with a class name.
15:49:27 <gjanssens> So that's a wrong assumption
15:50:52 <gjanssens> Anyway, my goal is to add functionality similar to gnc_dmy2timespec{,_end,_neutral} into GncDate(Time)
15:52:27 <gjanssens> My first thought was to add an extra constructor to GncDateTime that take a GncDate and a start,neutral,end enum to define which part of the day should be encoded in the time part
15:53:22 <gjanssens> Looking at your code it seems like this could be done quite easily when starting from the gregorian date which is the private data member of a GncDate.
15:53:41 <gjanssens> Unfortunately that member is not accessible to a GncDateTime by default.
15:54:27 <gjanssens> So my alternative design idea was to extend GncDate to be convertible into a GncDateTime and somehow pass the part of day preference as part of this conversion
15:55:21 <gjanssens> I liked how you imlemented a conversion of GncDateTime to time64 (to be used in a static_cast), but there's no way to pass it an extra conversion qualifier (part of day) that I could see
15:56:09 <gjanssens> So it would have to be an explicit conversion function like GncDateTime to_gncdatetime(part_of_day)
15:57:10 <gjanssens> While that's certainly the easiest way to handle it, it also introduces some time knowledge into GncDate where it previously didn't need this at all.
15:57:22 <gjanssens> So I'm hesitating.
15:57:39 <gjanssens> What direction would you go ?
16:00:08 *** mrklintscher has quit IRC
16:01:37 *** mrklintscher has joined #gnucash
16:10:15 *** ArtGravity has joined #gnucash
16:26:54 *** frakturfreak has quit IRC
16:34:10 <ArtGravity> Is it safe to delete an assoc_uri entry from the gnucash database?
16:45:21 <gjanssens> ArtGravity: it looks like you can safely remove an assoc_uri indeed. Just ran the test without any negative side effects
16:45:51 <gjanssens> Obviously the general mantra still stands: altering data outside of gnucash is at your own risk :)
16:46:00 <ArtGravity> It seemed safe from looking at the relationships, I just thought it worth asking before I did it.
16:47:28 <ArtGravity> It looks like the only thing that really will happen is the introduction of a gap in the auto-index digits
16:54:43 <jralls> gjanssens: GncDate and GncDateTime are mostly just wrappers around boost::gregorian::date and boost::local_time::local_date_time. There is a GncDateTime::date() function to get the GncDate from a GncDateTime. GncDateTime doesn't have a GncDate constructor but it would be easy enough to write one and we could provide an enum {begin, neutral, end} second argument for the time.
16:56:26 <jralls> Re: GncDateTime GncDate::to_gncdatetime(enum {begin, neutral, end}), you're thinking in C! ;-)
16:58:12 <gjanssens> jralls: almost
16:58:46 <gjanssens> Creating a GncDate constructor in GncDateTime still doesn't give me access to the greg_date which is private in GncDate
16:59:04 <gjanssens> I'd need that one to construct the GncDateTime
16:59:16 <jralls> Why?
16:59:30 <gjanssens> Currently the only way would be to make a detour via GncDate::year_month_day
16:59:53 <gjanssens> The enum part was obvious to me :)
17:00:50 <gjanssens> There's no GncDate::date() function
17:01:43 <gjanssens> So how is the GncDateTime to extract the date information from the GncDate passed in ?
17:02:05 <jralls> Ah, I see. That's what 'friend' is for, as in friend GncDateTime::GncDateTime(GncDate, enum{...}); in the GncDate class definition.
17:02:29 <jralls> We need a good name for that enum.
17:03:51 <gjanssens> Ok, friend crossed my mind as well. I never used it before so I wanted to verify with you on that. I didn't want to needlessly pollute your design. As you propose it yourself that's the right way to go then.
17:05:09 <gjanssens> And indeed we'd need a good enum name. My working title was "DayPart" which is short and somewhat describes the intention. I'm open for better suggestions.
17:05:59 <jralls> I can't see an situation where GncDate and GncDateTime wouldn't be closely coupled so I think a friend function is the right way to go here. I do want to keep the implementation hidden away because I can easily see switching from boost to icu for date/time support.
17:07:10 <jralls> ICU has better formatters and I have the (possibly unfounded) impression that it's easier to implement other calendars for it.
17:07:11 <gjanssens> Very well. I'm happy to go with friend. I agree to your reasoning.
17:20:24 *** ArtGravity has left #gnucash
17:38:03 *** User__ has quit IRC
17:43:07 *** gjanssens has quit IRC
18:06:53 *** User__ has joined #gnucash
18:23:04 *** User__ has quit IRC
18:25:54 *** mrklintscher has quit IRC
18:27:21 *** mrklintscher has joined #gnucash
18:27:58 *** User__ has joined #gnucash
18:32:44 <gr8kodr> jralls: so adding my historical rates to the price db isn't accomplishing anything for currency transactions then?
18:33:13 *** pilotauto has joined #gnucash
18:33:24 <jralls> gr8kodr: I don't know if it is or not. What are you trying to do?
18:34:14 <gr8kodr> list my historical rates so that I can enter paypal transactions and auto convert them from USD to AUD
18:36:54 <gr8kodr> a lot of my early paypal history doesn't provide me with the exchange rate as paypal was using USD as the base currency, then they switched their recording methods so that later transactions show their FX rate to convert from/to my home currency
18:37:58 <jralls> gr8kodr: No, it's unlikely that the PayPal exchange rate would match what you download from F::Q.
18:39:18 <jralls> I suppose that PayPal holds your current account in AUD. Before that did they hold it in USD?
18:39:20 <gr8kodr> I know ... for those transactions where I have a pp supplied rate I'm going with the rate they provide, but for the earlier transactions, I need to approximate using published rates
18:40:19 <gr8kodr> when I first opened the account (2003) USD was the base rate used, then later I was able to nominate a base currency
18:42:26 <jralls> The cleanest way to handle that would be to have two PayPal accounts, one USD the second AUD. Then the exchange rate that will apply is when they take AUD from your bank and convert it to USD to pay for something, or when you flush a PayPal balance back to your bank. In each case you'll have an amount in AUD and one in USD and GnuCash can figure out the price for you.
18:44:08 <jralls> Otherwise you can construct a spreadsheet of transactions and use a VLOOKUP() on a historic price table. When you've got the transactions created externally then you can convert it to a values-only CSV and import that into GnuCash.
18:44:35 <gr8kodr> that's what I have now, I have separate wallets in paypal for each currency I have transactions with ... pp automatically sweeps from my home currency to the trade currency
18:44:56 <gr8kodr> I'm attempting to account for the transactions before that was the case
18:47:22 <gr8kodr> within the csv, do I account for prices as decimal or split them into value/denom for import to gc?
18:47:41 <jralls> So in days of yore, did you use PayPal for multiple-currency transactions and they converted everything to USD but didn't tell you the rate?
18:47:57 <gr8kodr> yes :(
18:49:21 <gr8kodr> many of the transactions occurred in USD, so no rate was deemed necessary
18:50:21 <gr8kodr> any income was recorded as USD, then expenditure was recorded as "from paypal balance" and withdrawn in USD
18:50:22 *** mrklintscher has quit IRC
18:51:24 <jralls> Right. What about if the other end of the PayPal transaction was in something besides USD?
18:51:28 *** User__ has quit IRC
18:51:34 <gr8kodr> this was back in the days of E-Gold, Moneybookers and the like, they all used USD as their transfer currency
18:52:22 <gr8kodr> very first transaction was an E-Gold transfer in, it was recorded as USD
18:52:26 *** mrklintscher has joined #gnucash
18:53:42 <gr8kodr> Once I got to the point where I had a VISA card to use for funding, they started providing AUD rates
18:56:08 *** User_ has joined #gnucash
18:56:14 <gr8kodr> I was using Paypal before Australian banks became enlightened and provided VISA Debit cards
18:58:39 *** warlord has joined #gnucash
18:58:39 *** gncbot sets mode: +o warlord
18:58:52 <jralls> Right. So as far as PayPal was concerned it was always in USD. Your books should reflect that. The only time you had an exchange rate to worry about is when you moved money to or from your AUD bank account to PayPal.
19:00:48 <gr8kodr> within GC, I am accounting for Paypal in each wallet's currency, but I need to have some form of rate to convert expenses and income to AUD for reporting :)
19:00:59 <jralls> Create a limited set of expense and income accounts in USD to balance the USD transactions. You can periodically (annually?)flush those to the AUD Equity account.
19:01:23 <jralls> You do *now*. You don't for 10 years ago.
19:03:07 <jralls> Do you have to report for taxes or are the reports only for your own consumption?
19:03:27 *** User_ has quit IRC
19:04:13 <gr8kodr> would it be easier to just start the book with USD as the base rate, then import the CoA to a new AUD book once Paypal allows transaction rates and bring (converted) opening balances on accounts over to the new book?
19:05:12 <gr8kodr> since I was operating at a loss during that period, it's just for my consumption to establish just how far into the red I was
19:06:16 <jralls> You can do it in a separate book or just set up the USD accounts in the current book. Either way will work.
19:09:38 <gr8kodr> will keep the USD in current book then, that way I can flush the annual AUD using RBA rates and if I do get audited they will be happy with the rates I've used :)
19:10:07 <jralls> There you go. ;-) That should save you a lot of work as well.
19:11:02 <gr8kodr> and a lot more silly questions :D everybody wins !!!
19:12:14 <gr8kodr> ty
19:13:15 *** User__ has joined #gnucash
19:26:30 <gr8kodr> I fibbed ... I got another silly question :)
19:27:51 <gr8kodr> when I export Accounts to a new book, do the guids stay the same for the new book or is that auto-generated by GNUcash on save to new?
19:28:26 <gr8kodr> as in Book guid, and account guids
19:33:33 <gr8kodr> ... and if I'm only keeping 2 sets of books, one for personal and one for business, does it matter?
19:35:37 <gr8kodr> in the personal set, any business expenditure just gets dumped into a 'Business Equity' account, in the business book, all business stuff gets accounted for properly
20:07:14 <jralls> gr8kodr: I think--hope, actually--that exporting the accounts just exports the hierarchy and the importer creates a new book with new GUIDs. It shouldn't matter since books can't talk to each other anyway.
20:07:15 *** fekepp has quit IRC
20:08:20 <gr8kodr> jralls: thanks, was just curious after browsing docs
20:08:34 *** rickoehn has quit IRC
20:08:43 <jralls> NP
20:09:20 <gr8kodr> will run a test later to check and report back if actual result is as expected
20:27:32 *** User__ has quit IRC
20:36:32 *** CDB-Away has joined #gnucash
20:37:27 *** CDB-Man_ has joined #gnucash
20:38:21 *** CDB-Man has quit IRC
20:39:17 *** CDB-Away_ has quit IRC
20:39:31 <gr8kodr> why would filter not be saved for General Ledger?
20:40:40 <gr8kodr> I keep having to set filter to show earliest each time I open book, I select the 'save filter' checkbox, but it doesn't appear to be saving
20:41:28 <gr8kodr> GC v 2.6.16 on Windows
20:45:37 *** kael has quit IRC
20:45:37 *** User__ has joined #gnucash
20:52:23 *** User__ has quit IRC
20:58:28 *** meb has quit IRC
21:01:46 <jralls> gr8kodr: https://bugzilla.gnome.org/show_bug.cgi?id=714708.
21:04:32 <gr8kodr> jralls: thanks, I thought it best to check here before reporting, since is a known issue I will just wait for the implementation and continue resetting each time
21:05:06 <jralls> gr8kodr: Don't hold your breath. Too many bugs, too few developers. :(
21:07:12 <gr8kodr> is no biggy ... wont need to view earliest once I get all transactions in ... if I can work out how to implement, I'll give it a go and submit - may take a while though, need to be sure not breaking anything first
21:08:10 <jralls> Yeah, GnuCash's code isn't for the noob or faint-of-heart.
21:08:33 <gr8kodr> haven't really browsed code yet, was more focused on learning usage than debugging
21:08:51 <gr8kodr> what's it's base language?
21:09:34 *** GabrieleV has quit IRC
21:11:10 <gr8kodr> in theory, it should just be a matter of seeing how is implemented for Accounts, then expanding to cover General Ledger as well
21:11:12 <jralls> Mostly C, some Scheme in reports and a few strange places, and we're working on rewrites in C++. I think the General Ledger will all be C.
21:11:38 <jralls> Heh, theory is great, isn't it?
21:12:10 <gr8kodr> ouch ... am only at kindy level on C++ and no C at all
21:13:23 <gr8kodr> that could be a positive though - kindy level means I don't yet comprehend the impossible, and I haven't learned to be kind
21:14:21 <gr8kodr> heh heh, means C++ will do blah, blah - else I will bash it up until it complies
21:15:02 <gr8kodr> I'm OCD, with nothing but time to kill :)
21:15:12 <jralls> Well, C is mostly like C++ without classes or templates. The GnuCash code complicates it by using Gnome's GObject for half-baked OO.
21:15:30 *** GabrieleV has joined #gnucash
21:15:51 <jralls> Time for dinner. TTY Thursday.
21:15:59 *** jralls is now known as jralls_afk
21:16:17 <gr8kodr> enjoy, I'm off to study C for a bit :)
21:44:21 <pilotauto> Guys, do we know if gnucash can get Australian stock market and gold/silver prices?