From 3ee6bade7ee7388b75421bb11ebaf40ec41ff229 Mon Sep 17 00:00:00 2001 From: Bryce Date: Tue, 23 Jul 2024 21:48:43 -0700 Subject: [PATCH] More generous check parsing --- src/clj/auto_ap/import/transactions.clj | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/clj/auto_ap/import/transactions.clj b/src/clj/auto_ap/import/transactions.clj index 17e20b75..fd27e2a8 100644 --- a/src/clj/auto_ap/import/transactions.clj +++ b/src/clj/auto_ap/import/transactions.clj @@ -156,13 +156,25 @@ invoice-payments))))) (defn extract-check-number [{:transaction/keys [description-original]}] - (if-let [[_ _ check-number] (re-find #"(?i)check(card|[^0-9]+([0-9]*))" description-original)] + (if-let [[_ _ check-number] (re-find #"(?i)check(card|.*?([0-9]{4,}))" description-original)] (try (Integer/parseInt check-number) (catch NumberFormatException _ nil)) nil)) +(comment + (= 1234 (extract-check-number {:transaction/description-original "Check 1234"})) + + (= 1234 (extract-check-number {:transaction/description-original "Check abc 1234"})) + +(= 1234 (extract-check-number {:transaction/description-original "Check abc 4/10 1234"})) +(= 1234 (extract-check-number {:transaction/description-original "Check abc 4/10 1234 12/3"})) + +(not= 1234 (extract-check-number {:transaction/description-original "Checkcard 4/10 1234"})) + + ) + (defn find-expected-deposit [client-id amount date] (when date (-> (dc/q