X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=plugins%2Ftransfer-matcher.pl;fp=plugins%2Ftransfer-matcher.pl;h=d1739901f72ba20148ab5454a50d2a1c57f23a57;hb=5b7b5519d955cd0c99d094ba140514e0a2b73083;hp=0000000000000000000000000000000000000000;hpb=8988b3bef0760b4cab8144715cc3d8f55688861c;p=chaz%2Fhomebank diff --git a/plugins/transfer-matcher.pl b/plugins/transfer-matcher.pl new file mode 100644 index 0000000..d173990 --- /dev/null +++ b/plugins/transfer-matcher.pl @@ -0,0 +1,28 @@ + +# NAME: Transfer Matcher +# VERSION: 0.01 +# ABSTRACT: Automatically find and pair together internal transfers. +# AUTHOR: Charles McGarvey +# WEBSITE: http://www.homebank.free.fr/ + +eval { HomeBank->version } or die "Cannot run outside of HomeBank"; + +use warnings FATAL => 'all'; +use strict; + +my $days = 3; + +sub on_transaction_inserted { + my ($self, $txn) = @_; + + my @match = grep { + $txn->account_num != $_->account_num && + $txn->amount == -$_->amount && + abs($txn->date - $_->date) <= $days + } HomeBank::File->transactions; + + return unless @match; + + $txn->pair_with(@match); +} +