This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/layers/+tools/finance/README.org
2018-07-23 09:22:13 +02:00

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 |