emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Orgmode for budgeting/expense recording
@ 2009-10-01 16:13 Raffi R
  2009-10-01 17:43 ` Russell Adams
  0 siblings, 1 reply; 12+ messages in thread
From: Raffi R @ 2009-10-01 16:13 UTC (permalink / raw)
  To: emacs-orgmode

I was wondering if anyone has any experience using orgmode for
budgeting and (more particularly) keeping track of daily and
day-to-day expenses, and would be interested in describing their
workflow.

Thanks!

- Raffi.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Orgmode for budgeting/expense recording
  2009-10-01 16:13 Orgmode for budgeting/expense recording Raffi R
@ 2009-10-01 17:43 ` Russell Adams
  2009-10-01 21:36   ` Raffi R
  2009-10-02 10:55   ` Eric S Fraga
  0 siblings, 2 replies; 12+ messages in thread
From: Russell Adams @ 2009-10-01 17:43 UTC (permalink / raw)
  To: emacs-orgmode

I use John Wiegley's Ledger:

http://wiki.github.com/jwiegley/ledger

Good luck!

On Thu, Oct 01, 2009 at 12:13:56PM -0400, Raffi R wrote:
> I was wondering if anyone has any experience using orgmode for
> budgeting and (more particularly) keeping track of daily and
> day-to-day expenses, and would be interested in describing their
> workflow.
> 
> Thanks!
> 
> - Raffi.
> 
> 
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
> 


------------------------------------------------------------------
Russell Adams                            RLAdams@AdamsInfoServ.com

PGP Key ID:     0x1160DCB3           http://www.adamsinfoserv.com/

Fingerprint:    1723 D8CA 4280 1EC9 557F  66E8 1154 E018 1160 DCB3

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Orgmode for budgeting/expense recording
  2009-10-01 17:43 ` Russell Adams
@ 2009-10-01 21:36   ` Raffi R
  2009-10-01 22:07     ` Matt Lundin
  2009-10-02 10:55   ` Eric S Fraga
  1 sibling, 1 reply; 12+ messages in thread
From: Raffi R @ 2009-10-01 21:36 UTC (permalink / raw)
  To: emacs-orgmode

Thank you, I will have a look.

On Thu, Oct 1, 2009 at 1:43 PM, Russell Adams <RLAdams@adamsinfoserv.com> wrote:
> I use John Wiegley's Ledger:
>
> http://wiki.github.com/jwiegley/ledger
>
> Good luck!
>
> On Thu, Oct 01, 2009 at 12:13:56PM -0400, Raffi R wrote:
>> I was wondering if anyone has any experience using orgmode for
>> budgeting and (more particularly) keeping track of daily and
>> day-to-day expenses, and would be interested in describing their
>> workflow.
>>
>> Thanks!
>>
>> - Raffi.
>>
>>
>> _______________________________________________
>> Emacs-orgmode mailing list
>> Remember: use `Reply All' to send replies to the list.
>> Emacs-orgmode@gnu.org
>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>
>
>
> ------------------------------------------------------------------
> Russell Adams                            RLAdams@AdamsInfoServ.com
>
> PGP Key ID:     0x1160DCB3           http://www.adamsinfoserv.com/
>
> Fingerprint:    1723 D8CA 4280 1EC9 557F  66E8 1154 E018 1160 DCB3
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Orgmode for budgeting/expense recording
  2009-10-01 21:36   ` Raffi R
@ 2009-10-01 22:07     ` Matt Lundin
  0 siblings, 0 replies; 12+ messages in thread
From: Matt Lundin @ 2009-10-01 22:07 UTC (permalink / raw)
  To: Raffi R; +Cc: emacs-orgmode

Raffi R <raffir@gmail.com> writes:

> Thank you, I will have a look.

You might also want to have a look at this thread:

http://thread.gmane.org/gmane.emacs.orgmode/12892/

Best,
Matt

>
> On Thu, Oct 1, 2009 at 1:43 PM, Russell Adams <RLAdams@adamsinfoserv.com> wrote:
>> I use John Wiegley's Ledger:
>>
>> http://wiki.github.com/jwiegley/ledger
>>
>> Good luck!
>>
>> On Thu, Oct 01, 2009 at 12:13:56PM -0400, Raffi R wrote:
>>> I was wondering if anyone has any experience using orgmode for
>>> budgeting and (more particularly) keeping track of daily and
>>> day-to-day expenses, and would be interested in describing their
>>> workflow.
>>>
>>> Thanks!
>>>
>>> - Raffi.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Orgmode for budgeting/expense recording
  2009-10-01 17:43 ` Russell Adams
  2009-10-01 21:36   ` Raffi R
@ 2009-10-02 10:55   ` Eric S Fraga
  2009-10-02 13:21     ` Eric S Fraga
                       ` (2 more replies)
  1 sibling, 3 replies; 12+ messages in thread
From: Eric S Fraga @ 2009-10-02 10:55 UTC (permalink / raw)
  To: emacs-orgmode

At Thu, 1 Oct 2009 12:43:25 -0500,
Russell Adams wrote:

> On Thu, Oct 01, 2009 at 12:13:56PM -0400, Raffi R wrote:
> > I was wondering if anyone has any experience using orgmode for
> > budgeting and (more particularly) keeping track of daily and
> > day-to-day expenses, and would be interested in describing their
> > workflow.

> 
> I use John Wiegley's Ledger:
> 
> http://wiki.github.com/jwiegley/ledger
> 
> Good luck!
> 

As do I and highly recommended indeed!

It would be interesting to see a org-babel interface to ledger...
what ledger is missing, in the context of emacs, is an easy way to see
the actual output of the ledger command (e.g. bal or reg) while
looking at the ledger file.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Orgmode for budgeting/expense recording
  2009-10-02 10:55   ` Eric S Fraga
@ 2009-10-02 13:21     ` Eric S Fraga
  2009-10-02 14:08     ` Russell Adams
  2009-10-02 14:52     ` Matt Lundin
  2 siblings, 0 replies; 12+ messages in thread
From: Eric S Fraga @ 2009-10-02 13:21 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1396 bytes --]

At Fri, 02 Oct 2009 11:55:22 +0100,
Eric S Fraga wrote:
> It would be interesting to see a org-babel interface to ledger...
> what ledger is missing, in the context of emacs, is an easy way to see
> the actual output of the ledger command (e.g. bal or reg) while
> looking at the ledger file.

okay, interesting enough that I've done a first attempt (good enough
for what I need but probably incredibly clumsy elisp code as I'm
really not an elisp programmer...).  Attached is org-babel-ledger.el
which works with this simple example ledger:

--8<---------------cut here---------------start------------->8---
#+begin_src ledger :results output :cmdline -s bal
2009/09/30 salary
  account:bank       £2000.00
  income:salary
2009/10/01 rent
  payee:landlord     £ 500.00
  account:bank
#+end_src ledger
--8<---------------cut here---------------end--------------->8---

If you change "-s bal" to "reg" you get a register output, for
instance.  I have no idea what happens if you try some of the esoteric
ledger commands but I only tend to use bal and reg with various
arguments...

Works on Debian linux with emacs 23 and most recent org and org-babel.

The definitely clumsy code is in extracting the output of the ledger
command so any input would be more than welcome!

Oh, use by (require 'org-babel-ledger) as per the other languages...

Thanks,
eric


[-- Attachment #2: org-babel-ledger.el --]
[-- Type: application/octet-stream, Size: 2551 bytes --]

;;; org-babel-ledger.el --- org-babel functions for ledger evaluation

;; Copyright (c) 2009 Eric S Fraga

;; based on code by
;; Copyright (C) 2009 Eric Schulte

;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; Version: 0.01

;;; License:

;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING.  If not, write to the
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.

;;; Commentary:

;; Org-Babel support for evaluating ledger entries.
;;
;; This differs from most standard languages in that
;;
;; 1) there is no such thing as a "session" in ledger
;;
;; 2) we are generally only going to return output from the leger program
;;
;; 3) we are adding the "cmdline" header argument
;;
;; 4) there are no variables

;;; Code:
(require 'org-babel)

(org-babel-add-interpreter "ledger")

(add-to-list 'org-babel-tangle-langs '("ledger" "ledger"))

(defvar org-babel-default-header-args:ledger
  '((:results . "output") (:cmdline . "bal"))
  "Default arguments to use when evaluating a ledger source block.")

(defun org-babel-execute:ledger (body params)
  "Execute a block of Ledger entries with org-babel.  This function is
called by `org-babel-execute-src-block'."
  (message "executing Ledger source code block")
  (let ((result-params (split-string (or (cdr (assoc :results params)) "")))
	(cmdline (cdr (assoc :cmdline params)))
        (in-file (make-temp-file "org-babel-ledger"))
	(out-file (make-temp-file "org-babel-ledger-output"))
	)
    (with-temp-file in-file (insert body))
    (message (concat "ledger -f " in-file " " cmdline))
    (with-output-to-string (shell-command (concat "ledger -f " in-file " " cmdline " > " out-file)))
    (with-temp-buffer (insert-file-contents out-file) (buffer-string))
    ))

(defun org-babel-prep-session:ledger (session params)
  (error "Ledger does not support sessions"))

(provide 'org-babel-ledger)
;;; org-babel-ledger.el ends here

[-- Attachment #3: Type: text/plain, Size: 204 bytes --]

_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Orgmode for budgeting/expense recording
  2009-10-02 10:55   ` Eric S Fraga
  2009-10-02 13:21     ` Eric S Fraga
@ 2009-10-02 14:08     ` Russell Adams
  2009-10-02 14:25       ` Eric S Fraga
  2009-10-02 14:52     ` Matt Lundin
  2 siblings, 1 reply; 12+ messages in thread
From: Russell Adams @ 2009-10-02 14:08 UTC (permalink / raw)
  To: emacs-orgmode

On Fri, Oct 02, 2009 at 11:55:22AM +0100, Eric S Fraga wrote:
> what ledger is missing, in the context of emacs, is an easy way to see
> the actual output of the ledger command (e.g. bal or reg) while
> looking at the ledger file.

I use the watch command in another window, its a very useful
combination.

ie: watch ledger -sEV bal

Enjoy.

------------------------------------------------------------------
Russell Adams                            RLAdams@AdamsInfoServ.com

PGP Key ID:     0x1160DCB3           http://www.adamsinfoserv.com/

Fingerprint:    1723 D8CA 4280 1EC9 557F  66E8 1154 E018 1160 DCB3

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Orgmode for budgeting/expense recording
  2009-10-02 14:08     ` Russell Adams
@ 2009-10-02 14:25       ` Eric S Fraga
  2009-10-02 18:12         ` Russell Adams
  0 siblings, 1 reply; 12+ messages in thread
From: Eric S Fraga @ 2009-10-02 14:25 UTC (permalink / raw)
  To: emacs-orgmode

At Fri, 2 Oct 2009 09:08:07 -0500,
Russell Adams wrote:
> 
> On Fri, Oct 02, 2009 at 11:55:22AM +0100, Eric S Fraga wrote:
> > what ledger is missing, in the context of emacs, is an easy way to see
> > the actual output of the ledger command (e.g. bal or reg) while
> > looking at the ledger file.
> 
> I use the watch command in another window, its a very useful
> combination.
> 
> ie: watch ledger -sEV bal

Yes, that would work although I don't need to watch my ledger that
often!  Maybe if I were into day trading... but that requires actual
funds, not to mention a strong constitution these days ;-)

More importantly, it means looking somewhere else other than my org
file.  Nothing exists outside org-mode these days!!  When I turn on my
computer, it immediately starts ratpoison with emacs as the sole
application and my agenda immediately in view filling the whole
monitor...

Thanks,
eric

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Orgmode for budgeting/expense recording
  2009-10-02 10:55   ` Eric S Fraga
  2009-10-02 13:21     ` Eric S Fraga
  2009-10-02 14:08     ` Russell Adams
@ 2009-10-02 14:52     ` Matt Lundin
  2009-10-02 15:01       ` Eric S Fraga
  2 siblings, 1 reply; 12+ messages in thread
From: Matt Lundin @ 2009-10-02 14:52 UTC (permalink / raw)
  To: Eric S Fraga; +Cc: emacs-orgmode

Eric S Fraga <ucecesf@ucl.ac.uk> writes:

> As do I and highly recommended indeed!
>
> It would be interesting to see a org-babel interface to ledger...
> what ledger is missing, in the context of emacs, is an easy way to see
> the actual output of the ledger command (e.g. bal or reg) while
> looking at the ledger file.
>

Do you use ledger.el, which comes with the ledger source? It makes it
very easy to enter new items and to invoke ledger commands from within a
ledger file. I also find it indispensable for reconciling accounts.

Best,
Matt

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Orgmode for budgeting/expense recording
  2009-10-02 14:52     ` Matt Lundin
@ 2009-10-02 15:01       ` Eric S Fraga
  2009-10-02 15:30         ` Matthew Lundin
  0 siblings, 1 reply; 12+ messages in thread
From: Eric S Fraga @ 2009-10-02 15:01 UTC (permalink / raw)
  To: Matt Lundin; +Cc: emacs-orgmode

At Fri, 02 Oct 2009 10:52:37 -0400,
Matt Lundin wrote:
> Do you use ledger.el, which comes with the ledger source? It makes it
> very easy to enter new items and to invoke ledger commands from within a
> ledger file. I also find it indispensable for reconciling accounts.

Thanks Matt.  

I do use the ledger mode (of course ;-) and it helps for adding and
reconciling.  It's the viewing of balances and the register for
specific accounts that I find is missing (i.e. just 'reg' and 'bal'
commands on the command line).  It would be nice if, for instance, a
small window could show a subset of the output of ledger, updated with
any change made to the ledger.  It can obviously be done by executing
a shell command within emacs, of course (cf. the watch command already
suggested!).

But the integration with org-mode via org-babel is so seductive...
and nothing is lost in terms of ledger.el in that it can still be used
to edit the source code block?

Thanks again,
eric

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Orgmode for budgeting/expense recording
  2009-10-02 15:01       ` Eric S Fraga
@ 2009-10-02 15:30         ` Matthew Lundin
  0 siblings, 0 replies; 12+ messages in thread
From: Matthew Lundin @ 2009-10-02 15:30 UTC (permalink / raw)
  To: Eric S Fraga; +Cc: Matt Lundin, emacs-orgmode

Eric S Fraga <ucecesf@ucl.ac.uk> writes:

> At Fri, 02 Oct 2009 10:52:37 -0400,
> Matt Lundin wrote:
>> Do you use ledger.el, which comes with the ledger source? It makes it
>> very easy to enter new items and to invoke ledger commands from within a
>> ledger file. I also find it indispensable for reconciling accounts.
>
> Thanks Matt.  
>
> I do use the ledger mode (of course ;-) and it helps for adding and
> reconciling.  It's the viewing of balances and the register for
> specific accounts that I find is missing (i.e. just 'reg' and 'bal'
> commands on the command line).  

This is OT for the org-mode list, but I believe you can call
ledger-report (C-c C-o C-r) with a prefix argument, which will allow you
to enter a more complex ledger command. Or you can type C-c C-o C-r and
then RET for the same thing.

Best,
Matt

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Orgmode for budgeting/expense recording
  2009-10-02 14:25       ` Eric S Fraga
@ 2009-10-02 18:12         ` Russell Adams
  0 siblings, 0 replies; 12+ messages in thread
From: Russell Adams @ 2009-10-02 18:12 UTC (permalink / raw)
  To: emacs-orgmode

On Fri, Oct 02, 2009 at 03:25:21PM +0100, Eric S Fraga wrote:
> At Fri, 2 Oct 2009 09:08:07 -0500,
> Russell Adams wrote:
> > 
> > On Fri, Oct 02, 2009 at 11:55:22AM +0100, Eric S Fraga wrote:
> > > what ledger is missing, in the context of emacs, is an easy way to see
> > > the actual output of the ledger command (e.g. bal or reg) while
> > > looking at the ledger file.
> > 
> > I use the watch command in another window, its a very useful
> > combination.
> > 
> > ie: watch ledger -sEV bal
> 
> Yes, that would work although I don't need to watch my ledger that
> often!  Maybe if I were into day trading... but that requires actual
> funds, not to mention a strong constitution these days ;-)

Often? Only while matching changes or reconciling. My WM makes it easy
to swap around windows so I'll let one or two reports (bal & rec)
running split screen and emacs full screen on another desktop.

------------------------------------------------------------------
Russell Adams                            RLAdams@AdamsInfoServ.com

PGP Key ID:     0x1160DCB3           http://www.adamsinfoserv.com/

Fingerprint:    1723 D8CA 4280 1EC9 557F  66E8 1154 E018 1160 DCB3

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2009-10-02 18:12 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-10-01 16:13 Orgmode for budgeting/expense recording Raffi R
2009-10-01 17:43 ` Russell Adams
2009-10-01 21:36   ` Raffi R
2009-10-01 22:07     ` Matt Lundin
2009-10-02 10:55   ` Eric S Fraga
2009-10-02 13:21     ` Eric S Fraga
2009-10-02 14:08     ` Russell Adams
2009-10-02 14:25       ` Eric S Fraga
2009-10-02 18:12         ` Russell Adams
2009-10-02 14:52     ` Matt Lundin
2009-10-02 15:01       ` Eric S Fraga
2009-10-02 15:30         ` Matthew Lundin

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).