added the ability to credit invoices. Also made it so check numbers pop up for intuit even if they're not in the description.
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
(:require
|
||||
[auto-ap.datomic :refer [conn]]
|
||||
[auto-ap.import.transactions :as t]
|
||||
[auto-ap.time :as atime]
|
||||
[auto-ap.intuit.core :as i]
|
||||
[auto-ap.utils :refer [allow-once]]
|
||||
[clj-time.coerce :as coerce]
|
||||
@@ -10,7 +11,9 @@
|
||||
[datomic.api :as d]
|
||||
[mount.core :as mount]
|
||||
[unilog.context :as lc]
|
||||
[yang.scheduler :as scheduler]))
|
||||
[yang.scheduler :as scheduler]
|
||||
[clojure.string :as str]
|
||||
[clojure.tools.logging :as log]))
|
||||
|
||||
(defn get-intuit-bank-accounts [db]
|
||||
(d/q '[:find ?external-id ?ba ?c
|
||||
@@ -22,10 +25,18 @@
|
||||
db))
|
||||
|
||||
(defn intuit->transaction [transaction]
|
||||
{:transaction/description-original (:Memo/Description transaction)
|
||||
:transaction/amount (Double/parseDouble (:Amount transaction))
|
||||
:transaction/date (coerce/to-date (auto-ap.time/parse (:Date transaction) auto-ap.time/iso-date))
|
||||
:transaction/status "POSTED"})
|
||||
(let [check-number (when (not (str/blank? (:Num transaction)))
|
||||
(try
|
||||
(Integer/parseInt (:Num transaction))
|
||||
(catch NumberFormatException e
|
||||
(log/warn "Got an invalid check number " e)
|
||||
nil)))]
|
||||
(cond-> {:transaction/description-original (:Memo/Description transaction)
|
||||
:transaction/amount (Double/parseDouble (:Amount transaction))
|
||||
:transaction/date (coerce/to-date (atime/parse (:Date transaction) atime/iso-date))
|
||||
:transaction/status "POSTED"}
|
||||
check-number (assoc :transaction/check-number check-number))))
|
||||
|
||||
|
||||
(defn intuits->transactions [transactions bank-account-id client-id]
|
||||
(->> transactions
|
||||
|
||||
Reference in New Issue
Block a user