74 lines
3.3 KiB
Org Mode
74 lines
3.3 KiB
Org Mode
#+TITLE: Finance layer
|
||
|
||
[[file:img/ledger.png]]
|
||
|
||
* Table of Contents :TOC_4_gh:noexport:
|
||
- [[#description][Description]]
|
||
- [[#features][Features:]]
|
||
- [[#install][Install]]
|
||
- [[#layer][Layer]]
|
||
- [[#configuration][Configuration]]
|
||
- [[#ledger][Ledger]]
|
||
- [[#key-bindings][Key bindings]]
|
||
- [[#ledger-1][Ledger]]
|
||
- [[#ledger-reconcile][Ledger-Reconcile]]
|
||
|
||
* Description
|
||
This layer integrates a full fledged accounting system into Spacemacs.
|
||
|
||
** Features:
|
||
- Support for maintaining a double-entry accounting system run by text files via [[https://www.emacswiki.org/emacs/LedgerMode][ledger-mode]].
|
||
- Display of finance reports directly within emacs.
|
||
- Integration of emacs calculator mode for editing post amounts.
|
||
- Support for easy account reconciliation via =Ledger-Reconcile=.
|
||
- Extended support for ~evil~ style editing with [[https://github.com/atheriel/evil-ledger][evil-ledger]].
|
||
|
||
* Install
|
||
** Layer
|
||
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
|
||
add =finance= to the existing =dotspacemacs-configuration-layers= list in this
|
||
file.
|
||
|
||
For this layer to work properly you also need to install the native package [[https://github.com/ledger/ledger][ledger]].
|
||
|
||
* Configuration
|
||
** Ledger
|
||
You can set what column transaction posts are aligned to on
|
||
the right by setting the variable =ledger-post-amount-alignment-column= in
|
||
your =dotspacemacs/user-config=. The default value, set in the layer, is =62=.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(defun dotspacemacs/user-config ()
|
||
(setq ledger-post-amount-alignment-column 68))
|
||
#+END_SRC
|
||
|
||
* Key bindings
|
||
** Ledger
|
||
|
||
| Key binding | Description |
|
||
|-------------+-----------------------------------------------|
|
||
| ~SPC m a~ | add a transaction |
|
||
| ~SPC m b~ | edit a post amount with Emacs Calculator mode |
|
||
| ~SPC m c~ | toggle ’cleared’ flag on transaction or post |
|
||
| ~SPC m C~ | sort and align the entire buffer |
|
||
| ~SPC m d~ | delete current transaction |
|
||
| ~SPC m p~ | display balance at point |
|
||
| ~SPC m q~ | align a single transaction’s posts |
|
||
| ~SPC m r~ | reconcile an account |
|
||
| ~SPC m R~ | display a report |
|
||
| ~SPC m t~ | append an effective date to a post |
|
||
| ~g j~ | go to the next transaction |
|
||
| ~g k~ | go to the previous transaction |
|
||
|
||
evil-ledger additionally adds a transaction text object, bound to ~x~, so you
|
||
can for example use ~dix~ or ~vax~ to delete or mark the transaction at point.
|
||
|
||
** Ledger-Reconcile
|
||
|
||
| Key binding | Description |
|
||
|-------------+---------------------------------------------------------------------------|
|
||
| ~SPC m ,~ | toggle the current transaction pending |
|
||
| ~SPC m a~ | quickly add a transaction, without exiting the reconciliation buffer |
|
||
| ~SPC m t~ | change the target amount for the selected account |
|
||
| ~SPC m q~ | quit reconciliation |
|
||
| ~SPC m RET~ | finalize the reconciliation, changing all pending transactions to cleared |
|