2018-02-19 GnuCash IRC logs

00:00:58 *** marusich has quit IRC
00:42:20 *** harshitaneja has joined #gnucash
00:43:39 <fell> @tell gjanssens AFAIK N_() has always been the shorthand of noopgettext() and _() for a real gettext(). xgettext will scan both, while the compiler will "optimize away" noopgetttext(), so you can use it in const declarations.
00:43:39 <gncbot> fell: The operation succeeded.
00:47:43 *** josephcocoa has quit IRC
00:59:27 *** BuschMan has joined #gnucash
01:08:40 *** BuschMan has quit IRC
01:14:44 *** fell has quit IRC
01:15:51 *** fell has joined #gnucash
01:20:02 *** Mechtilde has joined #gnucash
01:33:11 *** jotrago has quit IRC
02:00:25 *** Mechtilde has quit IRC
02:27:09 *** woodrec has joined #gnucash
02:40:51 *** gncbot sets mode: +o fell
03:06:24 *** harshitaneja has quit IRC
03:11:32 *** harshitaneja has joined #gnucash
03:21:06 *** mwa has joined #gnucash
03:21:39 <mwa> _ _
03:21:43 <mwa> (_)_ __ ___ _ __ _____ ____ _ _______ _ __ ___ _ __ ___| |_
03:21:47 <mwa> | | '__/ __| | '_ ` _ \ \ /\ / / _` |_ / _ \| '_ \ / _ \ | '_ \ / _ \ __|
03:21:51 <mwa> | | | | (__ _| | | | | \ V V / (_| |/ / (_) | | | | __/_| | | | __/ |_
03:21:56 <mwa> |_|_| \___(_)_| |_| |_|\_/\_/ \__,_/___\___/|_| |_|\___(_)_| |_|\___|\__|
03:21:56 *** mwa was kicked by fell (User terminated!)
03:31:59 *** gjanssens has joined #gnucash
03:31:59 *** ChanServ sets mode: +o gjanssens
03:36:29 *** jotrago has joined #gnucash
03:40:34 *** storyjesse has joined #gnucash
03:41:40 <gjanssens> .
03:41:40 <gncbot> gjanssens: Sent 2 hours and 58 minutes ago: <fell> AFAIK N_() has always been the shorthand of noopgettext() and _() for a real gettext(). xgettext will scan both, while the compiler will optimize away noopgetttext(), so you can use it in const declarations.
03:44:42 <gjanssens> fell: that is correct. In which context does your message fit ?
03:45:26 *** jotrago1 has joined #gnucash
03:45:33 <fell> [22:32] <gjanssens> It's also possible the definition of (N_ ) has moved since and maybe the eval-when's are no longer needed.
03:45:53 *** jotrago has quit IRC
03:45:53 *** jotrago1 is now known as jotrago
03:46:41 <gjanssens> Ah ok.
03:47:38 <fell> It's twice in the C headers: gettext and glib/i18n
03:49:05 <gjanssens> That remark came in the context of guile scripts. In guile (N_ ) is not part of the language, so we define it in app-utils/gettext.scm
03:49:38 <gjanssens> In order for guile to find it while compiling other scripts, that gettext.scm file should be included
03:50:59 <fell> How do we expose other libs interfaces to guile?
03:51:04 <gjanssens> So this is not related to our c code where your remark stands
03:51:41 <gjanssens> What do you mean ? How gettext gets exposed into guile ?
03:52:12 <fell> e.g. glib
03:52:26 <gjanssens> Via swig bindings
03:52:52 <gjanssens> If you want a c function to be exposed in guile, you need to add a swig wrapper for it.
03:53:15 <gjanssens> Those are defined via *.i files you can find all over gnucash (like libgnucash/engine/engine.i)
03:54:14 <gjanssens> Swig parses these files and generates a shared library one can import in guile scripts using guile's "load-extension" procedure
03:54:26 <fell> Why do we need our own definition, if it is in glib<version>/i18n.h?
03:55:03 <gjanssens> Because we don't wrap glib functions, only our own code
03:56:09 <gjanssens> In this case the definition of (N_ ) is so straightforward it would not benefit us from going through the complicated process of adding swig wrappers
03:56:18 <fell> And there is no srfi for suchbasic stuff?
03:57:10 <gjanssens> I admit I never looked for it. I just continued on what was already in our guile code
03:58:01 <fell> which includes some historical ballast, also from misunderstanding ;-)
03:58:17 <gjanssens> Absolutely :)
03:59:01 <gjanssens> For the guile side of gnucash, I restrict myself to trying to understand how it currently works.
03:59:19 <gjanssens> Others are invited to improve if they find historical cruft
04:00:28 <gjanssens> chris did a lot of such good work on the transaction report recently for example
04:01:16 <fell> Yeah, I try to follow him.
04:01:16 <gjanssens> Personally I'd be very happy if we managed to get the whole C/scheme interaction mess untangled in the 4.0 cycle
04:16:46 *** pilotauto has quit IRC
04:38:08 *** fekepp has joined #gnucash
05:05:57 *** fekepp has quit IRC
05:05:59 *** fekepp has joined #gnucash
05:06:59 <fell> So, I think, I got my first variadic macro ready, but I still have no test case because I am no often user of SXs.
05:16:39 <gjanssens> Nice job!
05:35:51 <fell> gjanssens: Can you review it? if yes shall I keep most of the old code in comments or remove?
05:41:13 <gjanssens> fell: I can review. You can drop the old code. I'm used to looking at diffs, so having the old code in comments would only confuse it more
05:41:40 <fell> OK, just a few minutes ...
05:50:54 <fell> gjanssens: it's in maint.
06:08:13 *** Jimraehl1 has joined #gnucash
06:08:41 <gjanssens> fell: looks good. My only suggestion would be to define the macro in the *.c file instead of the *.h file as it's tailored very specifically for the SX use case.
06:09:48 *** jotrago has quit IRC
06:10:49 <fell> and if Mectilde finds more modules with missing strings? ;-)
06:11:14 <gjanssens> Then you'll have to check whether your macro would fit there as well.
06:11:34 <gjanssens> The point is, we have generic functions like PWARN and PERR for most use cases
06:11:53 <gjanssens> You have a special case because the string is needed in both an untranslated and a translated from
06:11:58 *** Jimraehl1 has left #gnucash
06:12:21 <gjanssens> And the macro make assumptions on how to handle this: it epxects a variable to store the translated version in.
06:12:47 <gjanssens> This will not always match other situations
06:14:26 <fell> Behind #define G_LOG_DOMAIN ?
06:14:59 <gjanssens> On the other hand, if it turns out to be more generically useful, we should move the macro definition to the same header file that holds the PWARN and friends definition. But I'd do that only when it really turns out to be generically useful.
06:15:57 <gjanssens> Yes, that would be a good spot
06:18:34 *** oozer has joined #gnucash
07:24:40 *** jotrago has joined #gnucash
07:28:35 *** gjanssens is now known as gjanssens_afk
07:31:03 *** wget has quit IRC
07:38:18 *** wget has joined #gnucash
07:48:04 *** JustAskingAgain has joined #gnucash
07:49:01 <JustAskingAgain> Hi. New user here. I downloaded 500 transactions from my credit card bank site. Now, how can I set rules to automatically assign transaction to a specific account? I fail to find that information on the web.
07:52:26 <warlord> JustAskingAgain: GnuCash does not have a rules-based system. It has to be trained. Depending on whether you're using OFX or QIF, the training is different/
07:55:56 *** JustAskingAgain has quit IRC
07:59:07 *** hoijui has joined #gnucash
08:01:39 <fell> gjanssens: I get a merge conflict with https://github.com/Gnucash/gnucash/commit/45cb5504f3c7c0a8c9fa8917866e0addd349abbd
08:07:01 *** bob_ has joined #gnucash
08:08:28 <fell> OK, I think I can solve it.
08:42:48 *** KaiForce has quit IRC
08:43:01 *** oozer has quit IRC
08:47:30 *** bob_ has quit IRC
09:18:21 *** kus has joined #gnucash
09:36:30 *** fabior has joined #gnucash
09:38:01 *** fabior has quit IRC
09:43:08 *** hoijui has quit IRC
09:57:51 *** fabior has joined #gnucash
10:01:29 *** benoitg has joined #gnucash
10:03:26 *** fekepp has quit IRC
10:37:24 *** jralls_afk is now known as jralls
10:47:17 *** kael has joined #gnucash
11:01:40 *** harshitaneja has quit IRC
11:09:18 <jralls> gjanssens: Any idea how to set a breakpoint on a Guile exception?
11:16:21 *** jotrago has quit IRC
11:16:25 *** jotrago has joined #gnucash
11:29:52 *** ArtGravity has joined #gnucash
11:44:11 *** oozer has joined #gnucash
11:45:27 *** fabior has quit IRC
12:00:38 *** To7 has joined #gnucash
12:01:38 *** fabior has joined #gnucash
12:28:23 *** Mechtilde has joined #gnucash
12:37:53 *** gjanssens_afk is now known as gjanssens
12:38:18 <gjanssens> jralls: you have been working late last night :)
12:38:32 <gjanssens> As for the breakpoint, I'll look it up
12:39:26 <jralls> Travis pinged me that I'd left off part of a change and broken the build, so I committed the one file just before bed.
12:40:16 <jralls> Don't worry about the breakpoint, I found the location of the error that BobIT reported.
12:40:54 <gjanssens> Ok
12:41:03 *** storyjesse has quit IRC
12:41:21 <jralls> But rather than put fin.scm back into libgnucash/scm I want to put it in app-utils and have gnc-exp-parser.c load it explicitly in gnc_exp_parser_real_init(). What's the best way to do that?
12:43:00 *** storyjesse has joined #gnucash
12:54:09 *** anket has joined #gnucash
12:58:26 <gjanssens> jralls: It's probably best to convert fin.scm in a scheme module and then use scm_c_eval_string("(use-modules (gnucash fin))"); or whatever name you give the module
13:02:34 *** storyjesse has quit IRC
13:05:56 <jralls> gjanssens: I did the first part and picked scm_primitive_load_path(scm_from_utf8_string("fin"));. That seems to work with SLR, I'm just about to test the mortgage assistant.
13:06:44 <gjanssens> Ok
13:08:34 <jralls> Yup, that works too.
13:09:24 *** fabior has quit IRC
13:13:43 <jralls> It'd be better still to rewrite these functions into C++ and make them part of expression_parser, but that's for another day.
13:17:44 *** bob_ has joined #gnucash
13:25:07 *** BuschMan has joined #gnucash
13:56:20 *** BuschMan has quit IRC
14:01:47 <gjanssens> Totally agreed.
14:04:09 *** kael has quit IRC
14:04:42 *** bob_ has quit IRC
14:05:13 *** bob__ has joined #gnucash
14:06:58 *** kael has joined #gnucash
14:10:11 *** fekepp has joined #gnucash
14:27:34 *** fabior has joined #gnucash
14:33:44 <jralls> gjanssens: I think I've now got the dependency tree sorted for all of the scheme builds. Can you try it in kdevelop?
14:34:03 <gjanssens> Sure
14:36:09 <gjanssens> jralls: on a clean build I have one "failed to dllopen" left:
14:36:12 <gjanssens> [712/951] Generating ../../lib64/gnucash/scm/ccache/2.2/gnucash/app-utils.go
14:36:13 <gjanssens> (process:26124): gnc.module-WARNING **: Failed to dlopen() '/home/janssege/Development/builds/kdevelop/gnucash/unstable/lib64/gnucash/libgncmod-gnome-search.so': /home/janssege/Development/builds/kdevelop/gnucash/unstable/lib64/gnucash/libgncmod-gnome-search.so: file too short
14:36:15 <gjanssens> wrote `/home/janssege/Development/builds/kdevelop/gnucash/unstable/lib64/gnucash/scm/ccache/2.2/gnucash/app-utils.go'
14:37:22 <jralls> app-utils depends on gnome-search? That seems like a problem...
14:37:46 <gjanssens> Surprising indeed
14:39:29 <jralls> hmm. grep isn't finding gnome.search in app-utils.
14:42:24 <gjanssens> I don't see how this could happen either. The only place the gnucash/gnome-search module gets loaded is in gnucash-bin.c
14:43:24 <jralls> Yeah. That's what I found.
14:46:58 <gjanssens> I'm rerunning ninja-build with -j1 to see if the parallel build is interfering in message output
14:49:39 <gjanssens> It doesn't happen when not building in parallel
14:50:31 <jralls> I thought that it might not.
14:52:52 <jralls> Try adding gncmod-gnome-search to TARGET_LINK_LIBRARIES in gnucash/CMakeLists.txt line 60.
14:52:59 <gjanssens> I have restarted another (clean) parallel build. Now I get a "failed to dlopen" on libgncmod-html.so in the app-utils.go step
14:53:11 <gjanssens> So it's not directly related to gnome-search
14:53:16 <gjanssens> It appears to be random
14:53:47 <gjanssens> And this time I also got another one:
14:53:51 <gjanssens> [755/951] Generating ../../../lib64/gnucash/scm/ccache/2.2/test-account.go
14:53:52 <gjanssens> (process:4000): gnc.module-WARNING **: Failed to dlopen() '/home/janssege/Development/builds/kdevelop/gnucash/unstable/lib64/gnucash/libgncmod-qif.so': /home/janssege/Development/builds/kdevelop/gnucash/unstable/lib64/gnucash/libgncmod-qif.so: invalid ELF header
14:53:54 <gjanssens> wrote `/home/janssege/Development/builds/kdevelop/gnucash/unstable/lib64/gnucash/scm/ccache/2.2/test-account.go'
14:54:18 <gjanssens> These don't really make sense to me...
14:54:45 <gjanssens> Also note these aren't fatal. The build just continues
14:55:02 <gjanssens> Oh! I think I understand
14:56:02 *** christopher has quit IRC
14:56:04 <gjanssens> The problem is gnc:module-load being called when compiling scheme files will trigger a gnc_module_init
14:56:21 <gjanssens> That will try to create a list of available modules
14:56:25 *** christopher has joined #gnucash
14:56:42 <gjanssens> To test if the module is valid it will try to open the module file and find some symbols.
14:57:34 <gjanssens> In a heavily parallelized build, it may be this opening of the modules happens at an inconvenient moment
14:58:16 <gjanssens> It may be another thread is still creating one module file and hence it would not be in a state that gnc_module_init can extract the required symbols
14:58:39 <gjanssens> So nothing to worry about after all
14:59:47 *** Mechtilde has quit IRC
15:00:43 <jralls> OK, so noise. But it will upset people who don't know about it. Yet another reason to hate gnc-module. :-/
15:01:53 <gjanssens> Indeed. And something to note somewhere lest we forget it ourselves in a couple of months.
15:02:05 <gjanssens> What would be a good place to document this ?
15:02:17 <gjanssens> We have a wiki page on building I believe...
15:02:37 *** christopher has quit IRC
15:02:45 <jralls> We do. It's mostly per-distro instructions
15:02:45 *** christopher has joined #gnucash
15:04:20 *** christopher has quit IRC
15:04:26 *** christopher has joined #gnucash
15:05:22 *** christopher has quit IRC
15:05:28 *** christopher has joined #gnucash
15:07:05 <jralls> Or we could silence the message. It's coming from gnc_module_get_info, gnc-module.c line 303.
15:11:52 <jralls> gjanssens: Separate subject: I don't think that the de_DE tax stuff is getting built regardless of locale setting.
15:12:10 <gjanssens> Are there situations where we'd care about this gncmodule message?
15:13:11 * warlord is testing raid resync on Ovirt host -- please let me know if you lose contact with Code over the next hour or two.
15:13:22 <gjanssens> My build log shows txf-de_DE.go and de_DE.go being built
15:13:45 <gjanssens> Why do you think it's not getting built ?
15:15:11 <jralls> Because it complains that there's no gncmod-tax-de_DE.
15:15:49 <jralls> So it get compiled but it won't work.
15:16:02 <gjanssens> A right, I saw that message also
15:16:57 <jralls> But there's no C code for gncmod-tax-de_DE, so maybe it's just a mistake in tsc-de_DE.scm. fell?
15:17:20 *** kael has quit IRC
15:17:43 *** harshitaneja has joined #gnucash
15:18:13 <gjanssens> No, the hack is even uglier than I expected
15:19:05 <gjanssens> Have a look here:https://github.com/Gnucash/gnucash/blob/unstable/libgnucash/tax/us/gncmod-tax-us.c#L59
15:19:35 <gjanssens> If the locale is de_DE at build time, the module being built will be called gnucash/tax/de_DE
15:19:43 <gjanssens> Otherwise it will be gnucash/tax/US
15:19:57 <gjanssens> well, lowercase "us"
15:20:52 <gjanssens> jralls: I agree we better supress the failed to dlopen message
15:21:31 <gjanssens> If a module can't be dlopened after installation, any attempt to load it will equally emit a warning or message depending on whether the module was optional or not
15:21:50 <gjanssens> No need to get that warning twice
15:22:21 <gjanssens> We could make it debug just in case we want more detail of where it goes wrong at some point
15:22:38 <jralls> I Was just about to say that.
15:25:04 *** kael has joined #gnucash
15:28:33 <jralls> And pushed...
15:30:08 *** jotrago has quit IRC
15:30:12 *** jotrago has joined #gnucash
15:32:59 *** kael has quit IRC
15:34:04 *** hoijui has joined #gnucash
15:36:57 *** kael has joined #gnucash
15:48:48 <jralls> So the gncmod-tax-foo and gncmod-locale-reports-foo hack seems to be purely to get the locale and so select the report accordingly. Surely that can be done in Scheme without needing a gnc-module?
15:54:13 <warlord> I thought that there was also C code to do something?
15:55:56 <gjanssens> jralls: I would think so too. I don't know why it was done this way.
15:57:08 <jralls> The only C code calls setlocale() (or g_win32_getlocale()) then picks which Scheme module to use based on the result.
15:57:47 <gjanssens> Note there's a related module in report/locale_specific/us
15:58:04 <jralls> Yeah, that does the same thing.
15:58:14 <gjanssens> Indeed.
15:58:35 <gjanssens> Oh, perhaps locale handling was nog well supported in guile < 2.0
15:59:30 <gjanssens> I seem to remember reading something like that in my irc chat log I dug up yesterday
15:59:46 <gjanssens> The old chat with Wingo in 2013
16:00:04 <gjanssens> That may have motivated this weird workaround
16:00:14 <gjanssens> Anyway, I don't think this is still necessary.
16:00:54 <gjanssens> And an even better solution would be to allow the user to choose the tax system and not make it dependent on what happens to be the locale at build time.
16:01:10 <gjanssens> Correction, at run time
16:02:09 <jralls> Indeed. It's also possible that while Guile supports setlocale() on Unix it doesn't work on Windows, so C is needed for g_win32_setlocale().
16:02:47 <warlord> Yes, I agree that choosing it at runtime would be best..
16:03:03 <warlord> Similarly, it would be nice if there were some way the user could choose a translation of invoices, too, at runtime.
16:03:32 *** fekepp has quit IRC
16:03:55 <warlord> [MAINT] So far it looks like the upgrade (partial downgrade) I did has helped stabilize ovirt.
16:04:32 <jralls> I wrote a feature like that for Gramps. Any report can be run in any locale for which there are translations. It requires getting a bit into the weeds with the gettext API.
16:06:46 <warlord> Since 'setlocale()' is a global function I'm not sure how you'd do that "well"
16:07:00 <jralls> Python has a way to change the locale "locally" without messing with the global one. In C one needs ICU for that.
16:08:41 <jralls> In C++ one can use ICU (we already do via boost::locale). One can also "imbue" streams with any locale. boost::date_time uses that feature rather heavily.
16:09:10 <warlord> So we can move towards that as we move more to C++. Cool.
16:09:45 <jralls> Well... the reports are all in Scheme. I don't know offhand how it handles localization.
16:13:16 *** fabior has quit IRC
16:17:24 <gjanssens> https://www.gnu.org/software/guile/docs/master/guile.html/Internationalization.html#Internationalization
16:17:48 <gjanssens> It looks like guile has ways to manipulate locale as well
16:18:04 <jralls> I was just looking at that, and checked the 2.0 manual; it's there too.
16:18:17 <jralls> So, warlord, looks like you have a project! ;-)
16:18:26 <gjanssens> :D
16:18:37 *** kael has quit IRC
16:21:45 *** anket has quit IRC
16:21:47 <gjanssens> Is there a difference between "#ifdef" and "#if defined" ?
16:22:02 <gjanssens> I see we sometimes use one and sometimes the other.
16:24:08 <warlord> jralls: Right now it just uses (_ ..) which wraps the C _ macro
16:24:20 *** harshitaneja has quit IRC
16:24:21 <jralls> Yes. #ifdef foo can't be combined, so if you need to test two conditions you must use #if defined(foo) && defined(bar)
16:24:53 <jralls> warlord: I didn't say it wouldn't be a lot of work. ;-)
16:25:01 <warlord> LOL
16:25:14 <warlord> I'll work on it after I have a BZ instance up and running...
16:25:29 <warlord> I'm just glad I seem to have fixed the weekly system-hangs
16:25:59 <jralls> Sounds good. Have you tried talking to any of the Gnome admins about getting a DB dump?
16:33:04 <gjanssens> As you mention gettext: we can now also redefine (_ ) to use the guile native gettext function instead of our c based hack
16:33:16 <gjanssens> Support for gettext exists in guile 2 and up
16:38:35 <jralls> But it doesn't look like Guile supports specifying a language to gettext(). In fact, it doesn't look like C does, either. That must be a Python thing: https://docs.python.org/3/library/gettext.html#class-based-api
16:42:45 <gjanssens> Ah, indeed. That would make it harder to display reports in any language available...
16:43:33 <gjanssens> Could you do it by seting and resetting LC_MESSAGES around each call to a report ?
16:44:55 <jralls> Maybe. If LANGUAGES is set it takes precedence. Even if it isn't you'd have to block any GUI updates because it would get translated too.
16:48:21 <gjanssens> So it shows guile's gettext support is a thin wrapper around gnu gettext. As you wrote that doesn't support passing a language either.
16:49:29 <jralls> Right. We could always pinch the CPython gettext-class code and convert it for Guile.
16:51:18 <gjanssens> Heh, our plans for 4.0 are piling up ;-)
16:51:56 <warlord> I have not, yet.
16:52:01 <warlord> I will do that
16:52:15 <jralls> We had bigger plans for 3.0 than we accomplished. And for 2.6 and 2.4 ...
16:54:21 <gjanssens> Indeed :)
16:54:43 <gjanssens> Still I'm happy with all the cleanups that are going on now as well.
16:55:04 <jralls> Even if they're a bit last-minute.
16:55:10 *** BuschMan has joined #gnucash
16:55:29 <gjanssens> True
17:01:10 *** pilotauto has joined #gnucash
17:01:40 *** marusich has joined #gnucash
17:04:27 *** fekepp has joined #gnucash
17:20:34 *** BuschMan has quit IRC
17:33:07 <jralls> I've got to run some errands.
17:33:13 *** jralls is now known as jralls_afk
17:33:13 *** bob__ has quit IRC
17:33:58 *** bob_ has joined #gnucash
17:38:46 *** luc14n0 has quit IRC
17:38:51 *** luc14n0 has joined #gnucash
17:44:59 *** hoijui has quit IRC
17:46:46 *** User_ has joined #gnucash
17:51:33 *** User_ has quit IRC
17:59:52 <chris> sugar. travis-arch has srfi-64 but travis-ubuntu doesn't. https://travis-ci.org/christopherlam/gnucash/builds/343585770 - it can produce nice output http://i.imgur.com/tYCiqQc.png
18:01:58 *** JustAskingAgain has joined #gnucash
18:08:49 *** bob_ has quit IRC
18:14:16 *** JustAskingAgain has quit IRC
18:31:22 <fell> I am back.
18:33:45 *** chris has quit IRC
18:34:06 <arahael> I successfully ran GnuCash 1.7.4 on my mac. It's beautiful.
18:34:53 <jralls_afk> arahael: *2*.7.4, I imagine. It would be flipping amazing if you'd gotten 1.7.4 to run. ;-)
18:35:12 <arahael> D'oh. Indeed.
18:35:23 <arahael> And yes, it's 2.7.4. :)
18:35:34 <arahael> I'm a talented software guy, but I doubt I'm *that* talented. :)
18:37:04 <arahael> Expense Piechart works fine, too, as does several other reports.
18:37:11 <arahael> Scrolling is a bit iffy, though, but workable.
18:47:13 <fell> (use-modules (ice-9 i18n)) was also in Guile 1.8 available, but I didn't see it in 1.6. So we didn't update that part for a very long time.
18:55:45 *** gjanssens has quit IRC
18:56:23 *** fekepp has quit IRC
18:56:28 <fell> I might misunderstand something, but building gnucash/tax/de_DE only with LANG=de_DE would mean, it will not be in most distros.
18:56:30 *** marusich has quit IRC
19:05:20 *** marusich has joined #gnucash
19:07:41 *** kus has quit IRC
19:08:03 *** JustAskingAgain has joined #gnucash
19:16:00 *** kus has joined #gnucash
19:19:55 *** kus has joined #gnucash
19:34:25 *** ArtGravity has quit IRC
19:35:06 *** christopher has quit IRC
19:37:06 *** ArtGravity has joined #gnucash
19:55:29 *** kus has quit IRC
20:00:55 *** chris has joined #gnucash
20:04:08 *** josephcocoa has joined #gnucash
20:05:54 *** kus has joined #gnucash
20:40:31 *** kus has quit IRC
20:42:16 *** Uknowit has joined #gnucash
21:36:16 <arahael> Hmm, trying to figure out how to enter in my home loan... Lets say I buy an apartment, with an 80% loan. How do I record the associated figures?
21:37:00 <arahael> Mortgage loan looks like the obvious place for eht loan, but I need dto take the loan out of some other account (Because it's double-entry bookkeeping). Where does the "loan" come from?
21:37:26 <arahael> And where should I record the current value of the asset?
21:37:35 <arahael> (And where do I take that value out from?)
21:38:08 <arahael> A complication, I guess, is that I'm only starting my books from the start of this year, whereas I've already had the loan for longer.
21:40:20 <arahael> (On other topics: 2.7.4's FinanceQuote Update utility doesn't work; it has the error: The variable gnc_fq_update is not defined. (-2753))
21:41:02 <chris> arahael: say the apartment is $100,000 - you offer 20% deposit -- on the purchase date, Assets:Bank -$20,000, Liability:Loan -$80,000; Asset:House +$100,000
21:41:57 <arahael> Why the -$20,000 to the "bank"?
21:42:10 <arahael> Oh, I guess that represents the equity we own.
21:42:28 <arahael> Which balances the House against teh Loan?
21:43:17 <chris> if you're starting books *after* having had the loan for a while, then there must be a split to Equity account instead
21:43:39 <chris> I guess Asset:House +$100,000 Liability:Loan -$80,000 Equity:Opening -$20,000
21:44:04 <arahael> That works a bit better, thanks. :)
21:44:13 <arahael> Obviously, loan interest comes out of expenses.
21:44:25 <arahael> But what about the gain when I eventually sell?
21:44:27 <chris> arahael: s/represents the equity we own./represents the equity we *owe* .
21:45:02 <arahael> But we don't owe the $20k?
21:45:13 <chris> oh shoot yeah
21:45:21 <chris> correct always confusing this -/+equity
21:46:01 <chris> on selling house for $120,000; there must be a $20,000 split from Income:CapitalGains
21:46:24 <arahael> Ah, that works - thanks! :)
21:47:20 <chris> and later Expense:CapitalGains tax of $10,000 :-O
21:48:53 <arahael> This is CGT excempt. :)
21:49:06 <chris> whew lucky :-)
21:49:54 <arahael> It's a perk of the australian property market: The property you live in is, generally, excempt.
21:51:39 <arahael> Ok, so that lines up nicely: I ended up putting a split transaction into "Loans mortgage", adding the full original cost to "Assets:Property", and splitting the difference to Equity:Opening Balances.
21:52:18 <arahael> I don't think I should update the value of that asset until I sell it.
21:54:13 <arahael> The flipside is that Australian Property is super expensive. :(
21:54:54 <arahael> chris: Thanks for that! :)
21:57:10 <chris> Aussie here to in WA
22:03:41 *** oozer has quit IRC
22:05:57 <arahael> Nice. :)
22:06:14 <arahael> chris: Wait - are you chris from freenode, too?
22:06:58 <chris> no chrislck there
22:09:51 <arahael> Ah, interesting, because "Chris" there, if I recall, is also from Perth. :)
22:12:07 <arahael> Woo! All books balanced! Only stocks left, but will do that another time. :)
22:12:22 <arahael> Back to work, for me...
22:13:47 <arahael> Actually, just realised something: It says I have net assets at the bottom of the screen, but this isn't quite the same value as my "Equity" value?
22:16:17 *** woodrec has joined #gnucash
22:21:59 <arahael> I'll have to look at that later, it seems that Assets = Equity + Liabilities doesn't seem to hold for my books.
22:24:20 <arahael> Ah, they differ exactly by "Income-Expenses"
22:25:06 <arahael> Why this discrepency?
22:34:09 *** chris has quit IRC
22:44:38 *** woodrec has quit IRC
22:46:36 *** ArtGravity has quit IRC
22:48:41 *** Uknowit has quit IRC
22:49:06 *** chris has joined #gnucash
22:49:37 *** storyjesse has joined #gnucash
22:50:19 <chris> because you only got part of the full Accounting Equation
22:51:10 <chris> https://lists.gnucash.org/docs/C/gnucash-guide/accts-concepts1.html
22:52:12 *** storyjesse has quit IRC
22:52:22 <chris> which part of Austalia are you?
22:52:29 *** storyjesse has joined #gnucash
22:54:10 <chris> jralls_afk: from #guile - apparently travis-ubuntu is trusty which is stuck on guile-2.0.9 and guile.2.0.10 has srfi-64
23:20:20 *** Uknowit has joined #gnucash
23:21:37 *** JustAskingAgain has quit IRC
23:46:11 *** josephcocoa has quit IRC