2018-10-29 GnuCash IRC logs

00:20:51 *** boldstripe has quit IRC
00:21:07 *** boldstripe has joined #gnucash
01:09:29 *** inode has joined #gnucash
01:16:47 *** msekar has joined #gnucash
02:02:45 *** Mechtilde has joined #gnucash
02:20:51 *** boldstripe has quit IRC
02:21:48 *** boldstripe has joined #gnucash
02:26:38 *** storyjesse has quit IRC
02:39:51 *** frakturfreak1 has joined #gnucash
02:41:33 *** frakturfreak has quit IRC
02:53:12 *** Mechtilde has quit IRC
02:53:47 *** msekar has quit IRC
03:11:15 *** marusich has joined #gnucash
03:29:18 *** bertbob has quit IRC
03:35:54 *** GabrieleV has quit IRC
03:35:56 *** gjanssens has joined #gnucash
03:36:00 *** ChanServ sets mode: +o gjanssens
03:36:05 <gjanssens> .
03:44:09 *** fekepp has joined #gnucash
04:21:33 *** boldstripe has quit IRC
04:21:48 *** boldstripe has joined #gnucash
04:42:44 *** Aussie_matt_ has joined #gnucash
04:43:25 *** Aussie_matt has quit IRC
04:51:44 *** marusich has quit IRC
04:54:55 *** ncv has joined #gnucash
04:55:20 *** GabrieleV has joined #gnucash
05:00:17 *** gour has joined #gnucash
05:15:38 *** jerryq_ has quit IRC
05:16:18 *** jerryq_ has joined #gnucash
05:36:37 *** POPCORNrules has joined #gnucash
05:49:37 *** gnomey has quit IRC
05:50:36 *** gl has joined #gnucash
05:53:04 *** Mechtilde has joined #gnucash
05:55:32 *** Aussie_matt_ has quit IRC
06:20:11 *** Jimraehl1 has joined #gnucash
06:20:57 *** Jimraehl1 has left #gnucash
06:21:33 *** boldstripe has quit IRC
06:26:44 *** fell has joined #gnucash
06:32:24 *** storyjesse has joined #gnucash
06:46:33 *** oozer has joined #gnucash
06:50:41 *** bertbob has joined #gnucash
06:53:45 *** bertbob has quit IRC
06:55:23 *** warlord has quit IRC
06:57:55 *** warlord has joined #gnucash
07:09:32 *** bertbob has joined #gnucash
07:21:51 *** jotrago has quit IRC
07:37:06 *** gnomey has joined #gnucash
07:46:37 *** gour_ has joined #gnucash
07:48:38 *** gour has quit IRC
07:49:59 *** msekar has joined #gnucash
08:10:02 *** Mechtilde has quit IRC
08:21:37 *** GuiltyLemon has joined #gnucash
08:22:35 *** forScience has joined #gnucash
08:55:34 *** oozer has quit IRC
09:06:03 *** boldstripe has joined #gnucash
09:12:03 *** JayC has quit IRC
09:12:38 *** JayC has joined #gnucash
09:17:31 *** JayC has quit IRC
09:17:41 *** Mechtilde has joined #gnucash
09:18:55 <gnomey> sounds intersting, but I suspect the quotes feature wouldn't be as advanced as I would like. E.g. I buy a t-shirt in a foreign country at 12:45pm eastern time, and see that the local timestamp is on the receipt. A week later when I'm back from the trip, I convert the time to ET. But since gnucash does not have a field for time (only date) i put the time in the description. Then I check the realtime
09:19:01 <gnomey> bid/ask at the time I bought the shirt, and calculate the mid-market rate, and use that for the actual entered exchange rate of the minute. When the bank statement comes, I book the difference as an FX fee.
09:19:33 <gnomey> frakturfreak: in your case, it seems you're getting the FX rate at the time you enter the transaction into gnucash, not the time of the transaction. No?
09:19:52 *** JayC has joined #gnucash
09:20:30 <gnomey> i've never used the gnucash quoting mechanism, but I'm not sure how it can know what time of day the transaction is, in order to look up the mid-market rate of that moment.
09:20:42 *** Mechtilde has quit IRC
09:22:19 *** kael has joined #gnucash
09:24:53 *** Mechtilde has joined #gnucash
09:25:02 *** jerryq_ has quit IRC
09:25:13 *** jerryq has joined #gnucash
09:27:57 *** Mechtilde has quit IRC
09:32:41 *** maxfx has joined #gnucash
09:32:47 *** Mechtilde has joined #gnucash
09:33:21 <warlord> .
09:35:05 *** gncbot sets mode: +o fell
10:00:39 *** chf has quit IRC
10:01:23 *** chf has joined #gnucash
10:10:34 <fell> frakturfreak: Can you put your approach to avoid foreign expense accounts somewhere in the wiki?
10:11:22 <fell> (or send apatch for the docs)
10:15:20 *** oozer has joined #gnucash
10:29:34 *** Mechtilde has quit IRC
10:31:14 *** fell has quit IRC
10:32:46 *** fell has joined #gnucash
10:33:33 *** gncbot sets mode: +o fell
10:51:12 <gjanssens> jralls: I saw your comment on bug 796775
10:51:25 <gjanssens> Good find on the separate IM contexts
10:51:59 <gjanssens> So I guess the only way to get this fixed is to ensure only one widget is responsible for text entry.
10:52:13 <gjanssens> That's what I was aiming at, but never managed to finish.
10:53:35 <gjanssens> I still have a few very busy weeks ahead, but I hope to revisit it in time for the 3.4 release.
10:55:24 *** buoyantair has joined #gnucash
10:56:53 *** fabior has joined #gnucash
11:18:48 *** alreece45 has joined #gnucash
11:19:48 *** storyjesse has quit IRC
11:23:40 *** Adam has joined #gnucash
11:28:54 <Adam> I'm trying to setup online banking. I have an account at schwab. This account contains a bunch of different stocks/funds. I created a placeholder account in GnuCash corresponding to that account, then GnuCash sub-accounts in that account for the different funds. I thought this was correct, and it was working well until I tried to setup online banking.
11:29:17 *** fabior has quit IRC
11:29:31 <Adam> When I tried to indicate that the placeholder account in GnuCash matched a particular online account, I got an error that this account is a placeholder, and cannot have transactions.
11:30:16 <Adam> I'm not sure how to have the account in GnuCash though, as the account has tranactions/funds with different "currency" types. Any suggestions?
11:32:42 <warlord> Adam: a single gnucash account can only be tied to a single currency.
11:32:56 <warlord> So, ... not sure how to handle this case, honestly.
11:33:23 <Adam> Okay - thanks for listening.
11:34:17 <warlord> What if you let the importer create the accounts for you?
11:34:26 <warlord> Also, what if you make it NOT a placeholder?
11:34:45 <Adam> I didn't try that. I can give it another try, and see what it creates.
11:35:41 <Adam> Another question/suggestion. Prior to the first entry in my register, I'd like to see the beginning balance - the balance prior to the first transaction. Is it possible to have this displayed? If not, can I submit an enhancement request?
11:36:31 <warlord> Adam: I dont understand the question. The first entry in your register should always be the "opening balance" transaction. That is exactly what sets it. There *is* no balance prior to the "opening balance".
11:36:47 *** fell has quit IRC
11:37:02 *** fabior has joined #gnucash
11:40:37 <Adam> I tried allowing GnuCash to import online data to a new account. It said there were no transactions found.
11:41:07 <Adam> Maybe it doesn't work with this bank or type of account? I think the setup is correct, as it correctly identified my accounts from the bank.
11:42:45 <Adam> For the opening balance: Suppose I have my account register open, and the filter is configured to not show reconciled transactions. The first non-reconciled transaction is listed as the first entry in the register. Suppose this transaction adds $10 to my account - this is shown in the "Tot Increase" column.
11:43:03 <Adam> Then, after this transaction, if my balance is $30, this is shown in the "Balance" column.
11:43:25 <Adam> I'd like to see $20 as the balance prior to the first shown transaction.
11:43:40 *** Mechtilde has joined #gnucash
11:43:45 *** fell has joined #gnucash
11:46:44 *** Mechtilde has quit IRC
11:47:17 <warlord> Adam: I see. Note that there is another problem -- if you have "holes" in your displayed transactions (e.g. because you hide reconciled transactions, but you have a check that didn't clear), you might see something that looks like:
11:47:35 <warlord> Check xxxx: $100, balance $301
11:47:45 <warlord> Check yyyy: $200, balance $517
11:47:48 <warlord> etc.
11:48:00 <warlord> So the fact that you don't see the OPENING balance is the least of your concerns.
11:48:32 <warlord> Also, what version of GnuCash are you using? The OFX-DC importer may not handle stock accounts. I honestly don't recall. gjanssens, fell -- do you know
11:49:30 <gjanssens> No idea either. I never used or worked on the ofx importer :(
11:49:58 *** buoyantair has quit IRC
11:53:05 <warlord> I suspect this is more a general AqB question
12:05:58 *** jonp has quit IRC
12:06:03 <Adam> Sorry for slow reply. I am okay with having holes, as you have shown. I think having the balance prior to the first transaction would be useful though.
12:06:22 <Adam> I'm using version 2.6.18.
12:07:35 <warlord> Okay, that SHOULD be recent enough to have any AqB bugs fixed.
12:07:57 <warlord> You're certainly welcome to file an RFE to see the "balance before the first transaction" displayed somewhere in the register.
12:19:13 *** Mechtilde has joined #gnucash
12:20:48 <Adam> For an RFE - does this go in the same bugzilla as bugs? I don't see a place for enhancement requests specifically.
12:21:11 *** ArtGravity has joined #gnucash
12:21:19 <warlord> yes, with a level of "enhancemnet"
12:22:17 *** Mechtilde has quit IRC
12:30:52 <fell> Because OFX-DC is not common in DE, I would suggest to ask on gnucash-user or https://lists.aquamaniac.de/listinfo/aqbanking-user
12:33:17 <fell> AFAIK the banks provide data for last month, quarter or a similar range.
12:34:04 <fell> If you opened the account before, I see no way to get the opening balance online.
12:34:47 <fell> Or did you mean the balance at the begin of the fime frame?
12:35:58 <fell> time
12:43:52 <warlord> fell: he wants gnucash to display the balance of the account before the first displayed transaction.
12:46:47 <fell> recalculated from the first downloaded txn?
12:46:50 <jralls> Adam: I surprised you got Schwab to even connect via AQBanking; AFAICT from my Schwab account they don't support even OFX downloads never mind OFX Direct Connect.
12:47:02 *** bertbob has quit IRC
12:47:44 <warlord> fell: I think what they want to see is "split->balance - split->value" from the first-displayed transaction.
12:48:05 <warlord> not that I really understand why this is useful, Adam could just compute it manually.
12:50:15 <fell> ... or by reconciling.
12:55:15 <jralls> Take Adam's suggestion another step: If you filter out reconciled transactions and there's a period at the end of the last reconciliation where there are a few unreconciled, then a few reconciled, then the rest of the new reconciled transactions the balance column jumps at spot where the reconciled transactions go.
12:56:32 <warlord> jralls: I already pointed that out to Adam, but claimed to only care about the start. I don't understand why. Adam?
12:58:28 <jralls> Even if *he* cares only about the start others will want to see a summary line, maybe a blank date and number, ***Filtered Transactions*** for a description, and the net debit or credit. Like a voided transaction it should refuse to take focus.
13:01:15 <jralls> gjanssens: The GtkEntry's im_context is private. There's no way we can connect to its signals.
13:02:04 *** bertbob has joined #gnucash
13:04:40 <gjanssens> jralls: do we have to ?
13:05:37 *** mohave has joined #gnucash
13:07:26 <gjanssens> We're mostly trying to mimic the behaviour of a GtkCompletion
13:07:39 <gjanssens> So probably we should just use a real one on our GtkEntry
13:07:56 <gjanssens> The completion function may differ from column to column though.
13:08:05 <gjanssens> The only oddball is the date field
13:08:17 <gjanssens> That should display a calendar instead of a completion.
13:08:35 <gjanssens> I didn't have a solution for that one yet when I ran out of time.
13:09:03 <jralls> Each cell has its own editor, built in two parts split between register-core and register-gnome.
13:09:26 <gjanssens> Yep, I believe that should be ripped out
13:10:26 <jralls> That's a ground-up rewrite.
13:10:40 <gjanssens> That's indeed what it looks like.
13:11:01 <gjanssens> Do you have another idea ?
13:11:16 <gjanssens> You *have* been digging deep into this code after all recently
13:12:43 <jralls> It follows the MVC pattern: ledger-core, register-core, and register-gnome respectively. Squashing it would mean heavy rewriting is required for switching GUI frameworks.
13:13:21 <jralls> Oops, switch regiter-core and register-gnome, the latter is the View and the former the Controller.
13:15:19 <jralls> Gtk also provides MVC separation for GtkTreeView, and I suppose partly for GtkCompletion, that being more of a Controller function than a View function.
13:16:02 <gjanssens> I saw the MVC pattern
13:16:38 <gjanssens> But IMO this particular impelementation is making it very hard to follow what's going on
13:16:54 <gjanssens> That may be me not used to other MVC patterns than the one Gtk offers though
13:17:05 <gjanssens> not *being* used to
13:17:45 <gjanssens> And the reference to GtkTreeView was that a suggestion for an alternative ?
13:17:58 <jralls> Indeed, and it's perhaps a misapplication of the pattern. The register is a View component, so perhaps squashing it is the right approach.
13:18:59 <jralls> Remember Reg2 is GtkTreeView-based. It occurs to me that Bob's problems with getting it to work was the collision of two misapplications of MVC.
13:19:28 <gjanssens> I do remember yes.
13:20:06 <gjanssens> My recollection was he was seeing severe performance problems in the end which he didn't find a good solution for back then.
13:20:17 <jralls> Because instead of doing a ground-up rewrite he copied the reg code, moved some of it around a bit, and changed as little as he could get away with to wrap it in a GtkTreeView.
13:20:32 <gjanssens> Indeed
13:20:59 <gjanssens> So likely it was needlessly jumping through lots of hoops
13:21:19 <jralls> Not to mention a lot of really ugly code.
13:21:31 <gjanssens> :)
13:22:06 <gjanssens> I do think GtkTreeView can be revisited as a possible solution.
13:22:34 <gjanssens> But I can't decide what's the least impact on the 3.x series
13:22:37 <Adam> Sorry, I'm at work - had to go to a meeting. Looks like you have moved on to the programming details, which I can't help with. For online-banking: The GnuCash has an option for date range of "oldest available" for start date, and today for end date - this is what I used.
13:23:05 <jralls> gjanssens: I don't think we want to do a ground-up rewrite of register in 3.x!
13:23:16 <gjanssens> I agree
13:23:38 <gjanssens> However what can we do to get to a reasonably working IM state ?
13:24:12 <Adam> For schwab: if you have an account, and want to try - you have to enable this. Log in, go to Service -> Security -> Third party access -> OFX -> Enable.
13:24:51 <jralls> Adam: Aha! Thanks, I'll try that out when I have some time.
13:25:25 <Adam> For the "balance before first transaction" - I don't (or rarely) have non-reconciled transactions between reconciled ones; or generally have transactions in the middle of others not displayed due to filters.
13:26:28 <jralls> I figured it was something like that, but we have to work to the general use-case.
13:26:30 <Adam> But frequently filter to not show reconciled transactions. So the first transactions shown are not the first in the account; therefore there is a balance prior to the first transaction.
13:27:50 *** Mechtilde has joined #gnucash
13:27:50 <Adam> Yes - I understand. For a more general use-case, I'm not sure what it would show today? I guess you would see the balance change more than the difference between transactions. Ideally, that should be addressed. However, I think displaying the balance prior to the first transaction is an independent request.
13:29:06 <jralls> Actually the approach I suggested would take care of that too, since all of the filtered transactions before the first displayed one would get a summary line.
13:30:46 <jralls> gjanssens: Looking at GtkEntryCompletion, it needs a GtkTreeModel to search for the previous values. But we could subclass it and use our current logic instead.
13:37:43 <warlord> jralls: I think the easiest approach would be a summary line of split->balance - split->amount for the first visible split.
13:37:56 <warlord> No need to actually add up anything else; it's already done.
13:38:48 <gjanssens> jralls: that last message is slightly ambiguous: what would you subclass: a GtkEntryCompletion or a GtkTreeModel ?
13:39:24 *** fabior has quit IRC
13:39:45 <gjanssens> I know one can implement GtkTreeModel interfaces (our Account hierachy logic does so), I don't know if a GtkEntryCompletionInterface exists as well.
13:39:55 <Adam> I've submitted bug 796929. I think this has enough detail to be clear, and I mentioned the more generic use case discussed here.
13:39:57 <jralls> I had GtkEntryCompletion in mind, but GtkTreeModel might work too.
13:41:01 <jralls> Adam: Thanks. Standard disclaimer, we've only got a very few regular contributors and we're pretty tightly focussed on the core plan and fixing serious bugs. It may be a long time before your request gets looked at.
13:41:53 <warlord> Adam: indeed, you might be best served if you try to submit a patch :)
13:43:01 <jralls> gjanssens: For all of its problems GObject is a more-or-less functional object hierarchy. One can subclass almost any other class even if there's no formal interface description.
13:43:56 <gjanssens> Oh, right. I didn't consider that. It just takes lots of code lines to do so.
13:46:04 <jralls> The limitation is that only virtual functions can be overridden. In GObject that means the vtable in gtk_entry_completion_class_init. I'm still looking over gtkentrycompletion.c to find out if it's possible.
13:47:02 <jralls> But converting the current register model to a GtkTreeModel is another reasonable approach. They're both based on the same gnumeric root.
13:47:49 <jralls> I guess s/register model/ledger model/.
13:49:55 <jralls> Rats. The core function, gtk_entry_completion_complete, is public and not virtual. GtkTreeModel it will have to be.
13:55:10 <gjanssens> Ok
13:55:29 *** boldstripe has quit IRC
13:56:25 <gjanssens> Note I find the chosen names to be extremely confusing: ledger, register, split register,... I have wasted lots of time trying to find the correct source files due to these very similar names
14:05:36 <jralls> Agreed, it's a bit of a headache keeping all of that straight. I think it was Peticolas trying to provide for generality. He might have envisioned other uses for each layer. The teaching is the other way now, thanks largely to Agile™: Write specifically what you need and generalize later only if you need to.
14:05:53 <jralls> It generates a lot less cruft.
14:07:08 <gjanssens> Technical debt to pay off...
14:07:16 <jralls> It's also easier to do in newer languages. In the C/Fortan era languages it's easy to box yourself if you're not careful.
14:07:25 <jralls> Yeah.
14:08:20 <gjanssens> Oh well, for the next couple of weeks there will be little coding for me
14:08:34 <gjanssens> I'm actually doing accounting instead...
14:09:12 <jralls> Getting the company ready for the end of the year?
14:09:27 <gjanssens> No, more like catching up :(
14:09:43 <gjanssens> And working through an upgrade from OpenERP 7 to Odoo 11
14:10:12 <gjanssens> Tbh, we have our share of issues in gnucash, but I think we're doing great in the support area
14:10:36 <gjanssens> I have been quite frustrated with commercial support lately
14:11:17 <gjanssens> And after accounting, I'll be spending time helping my wife's shop with preparations for our annual November expo
14:11:58 <jralls> Fun...
14:12:18 <gjanssens> :D
14:12:30 <jralls> And I'm off to Japan on Sunday, so I won't be doing much coding for the next month either.
14:13:15 <gjanssens> Yeah. I imagine that will be a nice trip
14:13:36 <gjanssens> We had planned it for our honeymoon, but then Fukoshima exploded...
14:13:53 <gjanssens> So we have it on our to visit list still
14:14:30 <jralls> Too bad, you should have gone anyway. There's lots of Japan besides Fukushima.
14:16:17 <gjanssens> Aside from the register stuff I was preparing an experiment for a different documentation translation process. That's currently also on hold but plan to pick that up as well.
14:17:38 <gjanssens> I have high hopes for a po/itstool based workflow after all, but conversion from our current documents may be a challenge.
14:18:03 <gjanssens> More on that when I got a bit further
14:19:02 <jralls> Did you see the suggestion about https://weblate.org/en/ on the pt PR?
14:19:19 <gjanssens> I saw it, but haven't looked at the site yet.
14:19:59 <gjanssens> It's worth investigating
14:20:29 <jralls> The software itself is FOSS so we could run our own server if we prefer not to user theirs.
14:22:36 <gjanssens> The other suggestion I had in mind was https://pootle.translatehouse.org/
14:23:29 *** alhariel has quit IRC
14:25:24 <jralls> I have a vague memory of hearing of that before. Another self-serve option.
14:27:06 *** boldstripe has joined #gnucash
14:32:06 <Adam> I'm not sure I'd be able to make the code changes that are necessary. I can take a look, but that is most likely a futile effort.
14:33:00 <Adam> I do have some programming experience, so I thought I might be able to do something. I tried to create my own report though - I spent a some hours looking at examples, but in the end, wasn't successful.
14:34:14 <jralls> Adam: Yeah, it's a pretty steep learning curve, even if you're already fluent in C. Reports are in Scheme, another pretty steep learning curve.
14:35:15 <Adam> My data is in the sqlite format: I was able to get the report I wanted by reading the file directly, and writing an .html file. I know this isn't an officially supported workflow, and might fail at some future point, but it's working for now.
14:37:03 <jralls> Actually it's the direction we're heading. We know that ad-hoc report generation is Way Too Hard, and we also know that our current in-memory data model has proven not to scale well.
14:37:39 <jralls> That's part of the "core plan" I referred to earlier.
14:38:06 <Adam> Oh, that sounds good. Right now, in order to have all of the data that I want for my report, I have a second sqlite database. I open them both, and run queries between them.
14:38:39 <Adam> The rewrite-entire-file method prevented me from adding my own tables to the existing database. So, if that is the future direction, that would save me from needing a second file.
14:38:41 <jralls> The second DB having additional information that doesn't go into GnuCash?
14:39:11 <Adam> Correct.
14:39:50 <Adam> The short version: For my budget, I want a "min" and "max" amount for each category, not just a single value. This way I can see if I'm spending either less or more than expected.
14:40:17 <Adam> Also, I can add up all of the min and max values, and have a yearly "best case" and "worst case" budget plan.
14:41:17 <Adam> Then, for reporting, I have a table (each column is a month, each row an account); the cell is highlighed red if over budget, blue if under budget. (light red if a sub-account is over budget, light blue if a sub-account is under budget)
14:41:58 <Adam> So, I needed some additional fields in the db. If I used a "CREATE TABLE...." on the regular database, those tables would be gone the next time GnuCash saved the file.
14:47:21 *** calvinct has joined #gnucash
14:49:20 <jralls> OK, sounds like a nice system. Note that with a SQL backend GnuCash doesn't resave the whole file very often, but it is possible. It also doesn't make backups so be sure that you have a scheduled backup service running, and encrypting the DB and sending it offsite is always good insurance.
14:54:14 <Adam> Yeah, I have nightly backups.
14:55:05 <Adam> If I figure out a way to share the report, I'll submit a patch for the changes. It might be more detail/effort than most people want for their finances, but it makes it easy for me.
14:56:05 <Adam> I found if I put all of my budget limits around my max monthly allowed value, I'd come out negative for the year. Of course, I didn't hit the max in each category every month. I tried just putting them all at the average, but then I was over-budget half the time - also not what I wanted.
15:00:05 *** kael has quit IRC
15:00:06 *** kael has joined #gnucash
15:03:42 *** Mechtilde has quit IRC
15:06:32 <frakturfreak1> gnomey: Well, yes the get-quotes feature overrides previous quotes for the same day
15:07:35 *** jotrago has joined #gnucash
15:08:55 <frakturfreak1> however if you got the quotes first e. g. via Finance::Quote or by importing a CSV-file it will remember them from previous dates. So e. g. if you happen to have the quotes for 01.10.2018 and 02.10.2018 and you’re recording an transaction of 01.10.2018 on 02.10.2018 it will suggest the quotes from the 1st of October not the second.
15:10:19 *** calvinct has quit IRC
15:20:11 *** Adam has quit IRC
15:25:13 *** User_ has joined #gnucash
15:28:16 *** User_ has quit IRC
15:40:50 <gnomey> frakturfreak1: so it gets the correct day, but lacks more resolution than that. It's probably good enough for most use-cases. I got anal one day and wrote a script to grab the relevant time range of realtime quotes, which I run outside of gnucash. I don't really need that much precision, but I might as well use it now.
15:41:40 <gnomey> it shows me more precisely how much the bank is screwing me over
15:46:14 *** gncbot sets mode: +o fell
15:47:04 <frakturfreak1> According for whom you’re accounting different rates might be used, e. g. my country’s VAT laws require to use monthly avarage quotes first foreign currency transactions, however the financial authorities may allow daily quotes. However liabilities for the balance sheet should use the mid-quote as of the end of the accounting period.
15:47:23 <fell> Hm, I have the impression, ninja does not update .mo after a .po changed.
15:48:54 <frakturfreak1> gnomey: Also there’ll always be flunctuations in transactions involving foreign currencies.
15:51:11 *** msekar_ has joined #gnucash
15:51:23 *** msekar has quit IRC
15:51:23 *** msekar_ is now known as msekar
15:54:06 <frakturfreak1> I could give you 4 different quotes for a transaction in USD that was paid in EUR via PayPal and finally a credit card: The quote from alphavantage/finance:quote, the ecb reference quote, paypal’s dcc rate, which you usually screws you, and the quote from the credit card company, which you might not know yet, because they didn’t process that payment at the time of entry
15:57:10 *** bertbob has quit IRC
15:57:51 *** msekar_ has joined #gnucash
15:58:04 *** msekar has quit IRC
15:58:04 *** msekar_ is now known as msekar
16:08:08 <gnomey> when it comes to tax efficiency, i find gnucash underpowered. E.g., the US is flexible. You can use the spot rate or daily rate on each transaction, or you can use the annual average rate (and can select which annual rate you want from a variety of popular sites). But you can't choose a spot rate for one txn from one quote source, and a different quote source for a different txn. It would be useful if
16:08:14 <gnomey> gnucash would support a variety of different kinds of quotes from difference sources for each txn, and in the end calculate which mechanism is efficient.
16:08:32 <gnomey> i wouldn't want to be the guy to implement that complexity though
16:09:13 <jralls> gnomey: Me either! ;-)
16:10:04 <gnomey> we need to find some poor sucker to do the work.. a college intern or something
16:10:16 <jralls> Then it will be done wrong.
16:10:54 <frakturfreak1> Also as I said for some case you’re actually almost required to use certain quoting mechanisms
16:12:06 <jralls> What exactly are you talking about, though? If you gut £100 from Wells Fargo and they debit your account (remember it's a liability to them) $132.50 then your exchange rate is 1.325. There's no pickiing a quote source.
16:13:07 <gnomey> i'm not sure if you can pick your quote source in cases where the bank does it for you
16:13:16 *** bertbob has joined #gnucash
16:13:51 <jralls> Doesn't matter who does it. You pay $X for £Y and the rate for that txn is Y/X.
16:14:02 <gnomey> but if you're filing in the US (they want all USD figures), and the transaction and bank account denomination are both in euros, then you can pick your quote source
16:14:59 <gnomey> but if you pay 100 EUR in europe using cash euro notes, what quote source do you use when reporting the USD to the US? It's your choice
16:16:37 <gnomey> some stock brokers let you maintain assets in different currencies, so when you're buying stocks in those other currencies there's no conversion. Yet the US wants the USD figure on the day of the transaction
16:16:55 <frakturfreak1> Well … it depends. Just as real life example, merchants here in Germany if they’re using daily quotes will often use those offered by the bundesbank which in return gets those from the ECB. The ECB say though that those are only reference values and should not be used for actual currency trading. However for the actual payment of liabilities they might be used, as I said before with the
16:16:57 <frakturfreak1> balance sheet stuff.
16:17:25 <jralls> If €100 from a european bank account then no tax event exists. I suppose if I spend €100 on some deductible expense or I'm paid for work in € then that's what you're talking about converting back to USD.
16:17:42 *** ncv has quit IRC
16:17:58 <frakturfreak1> To bad there’s no (api) connection via finance quote to the ECB rates, I’d also rather prefare to use those rates instead of the ones provided by alphavantage.
16:18:26 <jralls> If US stock brokers are involved they'll report an exchange rate to the IRS and you'd be well advised to use that on your tax return.
16:19:13 <frakturfreak1> And I don’t want to download and import csv files either.
16:20:05 <gnomey> jralls: there are tax events though.. earning foriegn wages, trading stocks, and even shopping. If you buy euro notes before going on vacation, the rate changes between the time you buy the notes and the time you shop. Even if the purchases are not relevant to tax, there is an FX gain or loss that technically must be reported (though it's not generally done)
16:20:59 <gnomey> the USD might get weaker after you buy the notes. Then you have an FX gain to report spanning the time you held those euro notes
16:21:27 *** calvinct has joined #gnucash
16:22:26 <jralls> No, you only pay capital gains on foreign money held for investment. If the dollar goes up against the Euro between the time you get the money and the time you spend it that's just equivalent to buying something on sale. There's no tax event.
16:23:15 <jralls> Getting paid in Euro certainly is, and paying a big enough medical bill to put you over the deduction threshold would be too if you itemize.
16:23:16 <gnomey> that's not true, according to accountants in r/tax iirc
16:23:47 <gnomey> anytime you hold on to a foreign currency and the value changes, that's a gain or loss and it's reportable
16:24:54 <gnomey> i wouldn't worry about it though. I've never heard of that being enforced
16:25:25 <jralls> Because even if it were true it would be unenforceable.
16:25:26 <gnomey> ..notwithstanding bitcoin
16:25:52 <gnomey> well, bitcoin is really getting a spotlight.. taxman wants a piece of that action too
16:26:07 <jralls> Bitcoin is different because the Dept of the Treasury says it's a security, not money, and using it as money is a barter transaction.
16:26:23 <gnomey> the belgians have tried to force US BTC exchangers to rat out Belgians who gain by holding on to currency
16:26:40 <gnomey> well Europe has ruled that bitcoin is a currency
16:27:14 <jralls> So has Japan. The IRS doesn't care about that.
16:27:15 <gnomey> (to ensure it's not subject to VAT)
16:28:09 <jralls> Is trading stocks in Europe (the actual gains, not the commissions) subject to VAT?
16:28:09 <gnomey> the IRS cares about currency gains and losses though (perhaps only bitcoin as a security or whatever)
16:29:01 <gnomey> i don't think so, but bitcoin was declared a currency, and the consequence of that was to make it VAT exempt
16:29:35 <jralls> US Tax law cares about gains and losses on foreign currency *held for investment*. They don't give a rat's patootee about what currency you use to buy your grocereis as long as the recognize it as a currency.
16:29:55 <frakturfreak1> Well bitcoin is really treated as a real currency by european authorities. However the fees involved get zero rated because it’s a financial instrument
16:30:08 <gnomey> i really doubt the rationale for currency gains/losses matters
16:30:27 <gnomey> whether you hold it b/c you expect it to gain, or whether you're doing it for fun, a gain is a gain
16:30:36 <frakturfreak1> https://www.ecb.europa.eu/explainers/tell-me/html/what-is-bitcoin.en.html
16:30:46 <jralls> That's equally true of AAPL.
16:31:39 <gnomey> otherwise, I would just buy a shit-ton if cash notes, and claim it's not an "investment". IRS would laugh at that
16:31:46 <gnomey> s/if/of/
16:31:56 <jralls> The point is that they tax the event where you convert the asset to USD or use it in a barter exchange. If you're spending a recognized currency there's no conversion to USD and it's not a barter as defined.
16:31:59 <frakturfreak1> http://curia.europa.eu/juris/document/document.jsf?text=&docid=170305&pageIndex=0&doclang=EN&mode=req&dir=&occ=first&part=1
16:32:06 <frakturfreak1> https://home.kpmg.com/xx/en/home/insights/2018/04/tnf-germany-vat-treatment-of-bitcoin-virtual-currencies-and-transactions.html
16:32:17 <gnomey> bitcoiners try that angle
16:32:35 <gnomey> they try to spend their bitcoin on /stuff/, but taxman isn't phased by that iirc
16:32:49 <frakturfreak1> So bitcoin is no real currency according to european authorities, but to make life easier in regards to VAT it’s treated as if it were one.
16:33:02 <gnomey> when it's being /spent/, at that point the asset is being sold
16:33:45 <jralls> Because bitcoin isn't currency, so they have to report a barter exchange. https://www.irs.gov/taxtopics/tc420.
16:34:55 <gnomey> i'm not convinced that you've found a loophole out of forex gain reporting
16:35:25 <gnomey> ..just b/c you buy a boat or something, you don't get off the hook for the gain in value
16:35:38 <gnomey> bitcoin, euro, or otherwise
16:36:19 <gnomey> at the time you buy the yacht, the asset you're spending is being sold and the value is realized at that moment
16:36:32 <jralls> Why would the IRS care if I spend Euro or USD on the boat? They care if I trade it for AAPL or BTC because those aren't money and they expected a cap gain tax when I sold the asset.
16:36:59 <gnomey> the IRS wants a piece of your gains.. that's how they make revenue
16:37:52 *** calvinct has quit IRC
16:37:53 <gnomey> an asset gains in value, and it just sits that way, you're fine. The instant you sell it, or benefit, the value is realized and countable
16:38:58 <jralls> So the IRS would have to prove to the tax court that I normally hold that EUR as investment and used that money to pay for the boat to avoid paying tax on the gain. But if I have a EUR bank account because I regularly do business in Europe then they'll have trouble proving that.
16:39:56 <gnomey> consider this: I do a one-way forex transaction. I buy EUR with USD, but I don't buy back. When the EUR goes up, I don't want to pay tax, so I withdraw the EUR instead, and buy a boat. You seem to think this is a plausible loop hole. I think not
16:41:19 *** calvinct has joined #gnucash
16:41:28 <gnomey> otherwise all forex traders would only do business with brokers that offer accounts that let you draw the money out
16:43:53 <gnomey> in your example, you earn EUR wages, and then spend them. Your EUR income will be reported in USD. then you spend the euros later, after they gain in value against the dollar. indeed that would be hard to audit
16:44:06 *** bertbob has quit IRC
16:44:09 <frakturfreak1> gnomey: You would have an fx gain anyway if you’re buying the boat for all your EUR, simply because you’re reporting in USD and the EUR bank account should also be listed with 0 USD then.
16:45:09 <jralls> There's where your missing the point. If you're a forex trader then the IRS *can* prove to the tax court that you normally hold the EUR for investment, so if you want to stay out of trouble you wire the money from a USD account directly to the boatyard's bank and let the banks sort out the exchange rate.
16:46:36 <jralls> Not only hard to audit, the courts would hold that requiring an expat to keep track of the daily fluctuations in the exchange rate imposed an "undue burden".
16:48:59 <gnomey> that would be more of a defense than a right.. could work though
16:49:09 *** gjanssens has quit IRC
16:49:13 <jralls> It works the other way, too, BTW: If the USD had gone *down* against the EUR between buying the EUR and buying the boat and you tried to take a capital loss on your sked D the IRS would shoot it down and send you a letter asking for more money.
16:55:00 *** gour_ has quit IRC
16:58:16 *** bertbob has joined #gnucash
17:05:55 *** kinlo has joined #gnucash
17:11:22 *** calvinct has joined #gnucash
17:12:23 *** calvinct has quit IRC
17:16:59 *** fell has quit IRC
17:20:19 *** fell has joined #gnucash
17:20:19 *** gncbot sets mode: +o fell
17:37:55 *** Aussie_matt has joined #gnucash
18:14:51 *** kael has quit IRC
18:14:52 *** mohave has quit IRC
18:20:03 *** Bysmyyr_ has joined #gnucash
18:20:49 *** JayC has quit IRC
18:21:06 *** JayC has joined #gnucash
19:00:02 *** boldstripe has quit IRC
19:15:38 *** JayC_ has joined #gnucash
19:16:01 *** JayC has quit IRC
19:52:37 *** boldstripe has joined #gnucash
20:10:14 *** jerryq has quit IRC
20:18:37 *** ArtGravity has quit IRC
20:50:20 *** john has joined #gnucash
20:51:22 *** john has quit IRC
21:16:58 *** edwin has joined #gnucash
21:34:01 *** edwin has quit IRC
21:40:52 *** oozer has quit IRC
21:49:13 *** chris has quit IRC
21:50:32 *** chris has joined #gnucash
21:52:17 *** chris has quit IRC
21:52:22 *** boldstripe has quit IRC
21:52:38 *** boldstripe has joined #gnucash
21:59:29 *** chris has joined #gnucash
22:21:02 *** datagutt has joined #gnucash
22:43:44 *** boldstripe has quit IRC
22:46:13 *** boldstripe has joined #gnucash
23:13:19 *** msekar has quit IRC
23:16:48 *** jerryq has joined #gnucash
23:20:22 *** msekar has joined #gnucash