xactmon: Deploy xactmon
`xactmon` is a new tool I developed to parse transaction notifications from banks and automatically import them into my personal finance tracker. It is designed in a modular fashion, composed of three main components: * Receiver * Processor * Importer Components communicate with one another using an AMQP exchange. Hypothetically, there could be multipel implementations of the receiver and importer components. Right now, there is only a JMAP receiver, which fetches email messages (from Fastmail), and a Firefly III importer. The processor is a singleton, handling notifications from the receiver, parsing them into a normalized format, and passing them on to the importer. It uses a set of rules to decide how to parse the messages, and supports using either a regular expression with named capture groups or an Awk script to extract the relevant information.
This commit is contained in:
19
xactmon/rules.toml
Normal file
19
xactmon/rules.toml
Normal file
@@ -0,0 +1,19 @@
|
||||
[[rule]]
|
||||
name = "Commerce Bank"
|
||||
match = "commercebankalerts@commercebank.com"
|
||||
date_fmt = "%m-%d-%Y"
|
||||
awk_script = "/etc/xactmon/commerce.awk"
|
||||
|
||||
[[rule]]
|
||||
name = "Chase (Amazon Rewards) Visa"
|
||||
match = "no.reply.alerts@chase.com"
|
||||
date_fmt = "%b %d, %Y at %-I:%M %p"
|
||||
regex = 'Account\s*(?P<account>.+)\n\s*Date\s+(?P<date>.+[AP]M).*\n\s*Merchant\s+(?P<description>.+)\n\s*Amount\s+\$(?P<amount>[0-9]+\.[0-9]{2})'
|
||||
|
||||
[[rule]]
|
||||
name = "HSA Bank"
|
||||
match = "hsabank.com"
|
||||
date_fmt = "%m/%d/%Y"
|
||||
account = "HSA Bank HSA"
|
||||
default_description = "Debit Card Purchase"
|
||||
regex = '\$(?P<amount>[0-9]+\.[0-9]{2}) on (?P<date>[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}).'
|
||||
Reference in New Issue
Block a user