summaryrefslogtreecommitdiff
path: root/src/journal.h
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2010-03-05 22:12:32 -0500
committerJohn Wiegley <johnw@newartisans.com>2010-03-05 22:14:14 -0500
commit33187220891dd8826ff4d5a53b724b0058f6fef9 (patch)
tree79328965f8c183d92267ca46585d4640f72eb982 /src/journal.h
parentdc1b3907207cc5ccf3d27a01aa877e841bf7ac6f (diff)
downloadfork-ledger-33187220891dd8826ff4d5a53b724b0058f6fef9.tar.gz
fork-ledger-33187220891dd8826ff4d5a53b724b0058f6fef9.tar.bz2
fork-ledger-33187220891dd8826ff4d5a53b724b0058f6fef9.zip
Added new "payee" and "capture" directives
The payee directive allows for transformation of payee names during the parsing of a Ledger file. This means you can record the payee name in one form, but always have it reported in another form. The syntax is (and will be): payee PAYEE_NAME REGEXP or payee PAYEE_NAME REGEXP1 REGEXP2 ... The account directive sets the account automatically based on the payee iff the base account name is Unknown. For example, if you have a bunch of transaction in Expenses:Unknown, you can assign accounts for several automatically using: account ACCOUNT_NAME PAYEE_REGEXP or account ACCOUNT_NAME PAYEE_REGEXP1 PAYEE_REGEXP2 ...
Diffstat (limited to 'src/journal.h')
-rw-r--r--src/journal.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/journal.h b/src/journal.h
index 2711c3b5..e54814aa 100644
--- a/src/journal.h
+++ b/src/journal.h
@@ -44,6 +44,7 @@
#include "utils.h"
#include "times.h"
+#include "mask.h"
namespace ledger {
@@ -58,6 +59,11 @@ typedef std::list<xact_t *> xacts_list;
typedef std::list<auto_xact_t *> auto_xacts_list;
typedef std::list<period_xact_t *> period_xacts_list;
+typedef std::pair<mask_t, string> payee_mapping_t;
+typedef std::list<payee_mapping_t> payee_mappings_t;
+typedef std::pair<mask_t, account_t *> account_mapping_t;
+typedef std::list<account_mapping_t> account_mappings_t;
+
class journal_t : public noncopyable
{
public:
@@ -110,6 +116,8 @@ public:
period_xacts_list period_xacts;
std::list<fileinfo_t> sources;
bool was_loaded;
+ payee_mappings_t payee_mappings;
+ account_mappings_t account_mappings;
journal_t();
journal_t(const path& pathname);