diff --git a/src/clj/auto_ap/routes/invoices.clj b/src/clj/auto_ap/routes/invoices.clj index 4931501d..e16bcd3a 100644 --- a/src/clj/auto_ap/routes/invoices.clj +++ b/src/clj/auto_ap/routes/invoices.clj @@ -209,27 +209,29 @@ :status :payment-status/cleared :date (:invoice/date invoice)})}) transaction (when (= :invoice-status/paid (:invoice/status invoice)) - (let [[[bank-account]] (dc/q '[:find ?ba - :in $ ?c - :where [?c :client/bank-accounts ?ba] - [?ba :bank-account/type :bank-account-type/cash] - ] - (dc/db conn) - client-id)] - #:transaction {:amount (- (:invoice/total invoice)) - :payment payment-id - :client (:invoice/client invoice) - :status "POSTED" - :bank-account bank-account - :id #_ {:clj-kondo/ignore [:unresolved-var]} (digest/sha-256 transaction-id) - :raw-id transaction-id - :vendor (:invoice/vendor invoice) - :description-original "Cash payment" - :date (to-date date) - :approval-status :transaction-approval-status/approved - :accounts [{:transaction-account/account (:db/id (a/get-account-by-numeric-code-and-sets 21000 ["default"])) - :transaction-account/location "A" - :transaction-account/amount (Math/abs (:invoice/total invoice))}]})) + (let [[[bank-account]] (seq (dc/q '[:find ?ba + :in $ ?c + :where [?c :client/bank-accounts ?ba] + [?ba :bank-account/type :bank-account-type/cash] + ] + (dc/db conn) + client-id))] + [:upsert-transaction #:transaction {:amount (- (:invoice/total invoice)) + :payment payment-id + :client (:invoice/client invoice) + :status "POSTED" + :bank-account bank-account + :db/id #_ {:clj-kondo/ignore [:unresolved-var]} (digest/sha-256 transaction-id) + :id #_ {:clj-kondo/ignore [:unresolved-var]} (digest/sha-256 transaction-id) + :raw-id transaction-id + :vendor (:invoice/vendor invoice) + :description-original "Cash payment" + :date (to-date date) + :approval-status :transaction-approval-status/approved + :accounts [{:db/id (str #_ {:clj-kondo/ignore [:unresolved-var]} (digest/sha-256 transaction-id) "-account") + :transaction-account/account (:db/id (a/get-account-by-numeric-code-and-sets 21000 ["default"])) + :transaction-account/location "A" + :transaction-account/amount (Math/abs (:invoice/total invoice))}]}])) ] [[:propose-invoice (d-invoices/code-invoice (validate-invoice (remove-nils invoice) user))]