DESCRIPTION

Applies user-defined mapping rules to transactions in the SQLite database. Rules can filter by account, match transaction fields (category, payee, memo, date, amount), and set or suppress categories. Rules are evaluated in order; the first match wins.

FUNCTIONS

Map

Finance::Tiller2QIF::Map::Map( $db_path, $mapfile );

Apply mapping rules from $mapfile to transactions in the database. $mapfile is optional; if omitted, transactions pass through unchanged. Rules are evaluated in order; the first matching rule sets the transaction's mapped_category and/or skipped flag.

Rule ordering

Rules are first-match-wins, so order matters. If a rule is not firing as expected, the most common cause is that an earlier rule is capturing the transaction first.

Place specific overrides before broad rules. For example, a payee | Wawa | blank rule must appear before any category | Groceries | Expenses:Groceries rule, or the category rule will match Wawa transactions first and the payee rule will never be evaluated.

A good convention is to put specific payee and memo overrides near the top, and broad category-renaming rules (which map source categories to chart-of-accounts names) near the bottom. Category renaming is the least specific operation and should generally be last.

AUTHOR

John Karr <brainbuz@cpan.org>

LICENSE

GPL version 3 or later.