On 05/21/2014 08:59 AM, John Ralls wrote:
On 20 May 2014, at 22:45, Bob Gustafson <[email protected]> wrote:

On 05/20/2014 07:20 PM, John Ralls wrote:
On May 20, 2014, at 4:02 PM, Bob Gustafson <[email protected]> wrote:
No, I am not doing it in GnuCash - but I wish I could.

My comment is to encourage any effort in the direction of time and timezone 
support and discourage attempts to close off that path.
I don’t think that that’s a direction we want to go. I can’t see many users 
making the effort to include the time they wrote a check, or swiped their debit 
card, or whatever. FWIW, one CC company seems to post everything at 1700. Every 
transaction looks like
           <STMTTRN>
             <TRNTYPE>DEBIT
             <DTPOSTED>20140121170000.000

Everybody else I use just reports posted dates.

As an example, here is a box of chocolates complete with timestamps..

viewspread13.27.csv:12345678    09/23/2013              -40.32          EINZUG 
AUSLANDSLASTSCHRIFT|9208|CHF      49,50KURS1,2276000|KURS VOM 20.09.13    
MAFD|ZUERICH-FL AM19.09.13 15.50|      LINDT ZRH CHXR          CHE| 10010000|  
959566027|      EC-POSMAGNET6   GEB.EU 0,00|    002|    
I see two dates and one timestamp. The timestamp may or may not be useful; 
there’s no way of knowing without detailed information from the bank about what 
it means. Here’s one guess: You made a purchase for CHF49.50 at 1550 on 19 Sept 
2013 in Zurich. It was posted to the seller’s bank on 20 Sept and to your bank 
at $40.32 on the 23rd. That’s an effective exchange rate of $1.230/CHF.
The rates, according to 
http://www.exchangerates.org.uk/CHF-USD-exchange-rate-history-full.html,
were

Monday 23 September 2013        1 CHF = 1.0979 USD
Sunday 22 September 2013        1 CHF = 1.0984 USD
Saturday 21 September 2013      1 CHF = 1.0987 USD
Friday 20 September 2013        1 CHF = 1.0987 USD
Thursday 19 September 2013      1 CHF = 1.0979 USD

The actual rate used by the banks could have been any of those, or something else, 
but the spread is $.0008, or < 4¢ on the transaction out of the $4.25 the bank 
charged you. Talk about sweating the small stuff. I don’t see how you gain 
anything at all by knowing you made the purchase — or whatever actually happened — 
at 1550.

Regards,
John Ralls
Pretty good analysis!

The exchange was into Euros, so the historical exchange rate would have been:
<Head-slap> D'oh.
Monday 23 September 2013        1 CHF = 0.8136 EUR  or 40.2732 EUR
Sunday 22 September 2013        1 CHF = 0.8120 EUR  or 40.1940
Saturday 21 September 2013      1 CHF = 0.8124 EUR  or 40.2138
Friday 20 September 2013        1 CHF = 0.8124 EUR  or 40.2138
Thursday 19 September 2013      1 CHF = 0.8115 EUR  or 40.1692

The actual euros deducted was -40.32 and the CHF spent was 49.50 or an exch 
rate of 0.8145

Picking the rate of 0.8124 gives a Euro deduction of 40.2138 - the actual 
deduction was 40.32, so whatever exchange rate the banks used, they did not 
lose money.

(The convenience of using a plastic card at the point of sale is certainly 
worth 10 euro cents!)

-------

All of this analysis and reporting can be done without human keystrokes, as 
long as the data is available. The fact that the transaction was done on a 
Thursday at 15:50 and not reported until the following Monday rather increases 
the time slop.

Suppose that the transaction was done at 12:50 and that was early enough to 
make an earlier bank forex time window and the deduction could then be reported 
on Friday 20 Sept (yes, unlikely..)

With enough transactions, some of these details of the forex mechanism could be 
teased out of an otherwise very boring bunch of numbers.
But irrelevant to GnuCash, because from the standpoint of your own books, only 
the entry date of the transnaction -- the date that you recognize the payment 
in your book -- is relevant and recorded. The date it's recognized by the 
merchant's bank and by your bank isn't part of your book, it's part of theirs, 
and so there's no reason to record it in GnuCash. The time the transaction is 
posted in the merchant's book, which is the only one you have, is also 
irrelevant and tells you nothing about the forex transaction, which took place 
sometime between being posted to the merchant's bank and to yours.

The best tool for playing with that sort of analysis is a spreadsheet program, 
which is no doubt what you're using.

Regards,
John Ralls


I have control of the purchase date/time. In the ideal case, the date/time of payment from the bank account should be a few milliseconds later. If it is longer (like 3.5 days..), you might say that the banking system is loaning me money for that time period. This time period is interesting to me.

On my personal credit card, I am aware of the date the monthly statement closes. If I purchase stuff just after this date, my bank 'loan' is for a longer period.

--------

The programs I use are a parser and database to load up the data from downloaded bank transactions (MT940 format). Everything in the bank files is loaded into the database.

Once the data is loaded, it is processed by several different programs, the primary one is a pattern recognition system to sort transactions into categories (bank charges, taxes, wages, .. 30 different slots). Other programs zero in on whatever is of interest - steep changes in insurance costs, cash payments, etc. and are created ad hoc. It is a management system.

Most of the code is in Ruby. The parser and database are managed within Ruby on Rails with RubyMine as the IDE. A spreadsheet is only used to view intermediate files.

GnuCash is tantalizing - it has a lot of multi-currency pieces that could be useful. However, there remains a gap between my use case and GnuCash's current capabilities.

Bob G
_______________________________________________
gnucash-devel mailing list
[email protected]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to