diff --git a/src/clj/auto_ap/graphql/checks.clj b/src/clj/auto_ap/graphql/checks.clj index df0e8f7c..287f47fb 100644 --- a/src/clj/auto_ap/graphql/checks.clj +++ b/src/clj/auto_ap/graphql/checks.clj @@ -164,7 +164,7 @@ [[:cell {:colspan 12} [:spacer]]] [[:cell {:colspan 12} [:spacer]]] - [[:cell {:colspan 5}] + [[:cell {:colspan 3}] [:cell {:align :right :colspan 2} "Check:\n" "Vendor:\n" @@ -174,7 +174,7 @@ "Amount:\n" "Date:\n"] - [:cell {:colspan 5} + [:cell {:colspan 7} [:paragraph check] [:paragraph vendor-name] [:paragraph (:client/name client)] diff --git a/src/clj/auto_ap/jobs/ntg.clj b/src/clj/auto_ap/jobs/ntg.clj index 36b95842..c7ebe4b9 100644 --- a/src/clj/auto_ap/jobs/ntg.clj +++ b/src/clj/auto_ap/jobs/ntg.clj @@ -65,40 +65,43 @@ (defmethod extract-invoice-details :general-produce [k input-stream clients] (log/info ::parsing-general-produce :key k) - (try - (->> (read-csv input-stream) - (drop 1) - (filter (fn [[_ _ _ _ _ _ _ _ _ _ _ break-flag]] - (= "Y" break-flag))) - (map (fn [[_ location-hint invoice-number ship-date invoice-total ]] - (let [matching-client (and location-hint - (parse/exact-match clients location-hint)) - location (parse/best-location-match matching-client location-hint location-hint ) - vendor (d/pull (d/db conn) '[:vendor/default-account] :vendor/general-produce)] - (when-not matching-client - (log/warn ::missing-client - :client-hint location-hint)) - {:invoice/location location - :invoice/date (coerce/to-date (atime/parse ship-date atime/normal-date)) - :invoice/invoice-number invoice-number - :invoice/total (Double/parseDouble invoice-total) - :invoice/vendor :vendor/general-produce - :invoice/outstanding-balance (Double/parseDouble invoice-total) - :invoice/client (:db/id matching-client) - :invoice/import-status :import-status/imported - :invoice/status :invoice-status/unpaid - :invoice/client-identifier location-hint - :invoice/expense-accounts [{:invoice-expense-account/account - (-> vendor :vendor/default-account :db/id) - :invoice-expense-account/location location - :invoice-expense-account/amount (Math/abs (Double/parseDouble invoice-total)) - }]}))) - (filter :invoice/client) - (into [])) - (catch Exception e - (log/error ::cant-import-general-produce - :error e) - []))) + (let [missing-client-hints (atom #{})] + (try + (->> (read-csv input-stream) + (drop 1) + #_(filter (fn [[_ _ _ _ _ _ _ _ _ _ _ break-flag]] + (= "Y" break-flag))) + (map (fn [[_ location-hint invoice-number ship-date invoice-total ]] + (let [matching-client (and location-hint + (parse/exact-match clients location-hint)) + location (parse/best-location-match matching-client location-hint location-hint ) + vendor (d/pull (d/db conn) '[:vendor/default-account] :vendor/general-produce)] + (when-not (and matching-client + (not (@missing-client-hints location-hint))) + (log/warn ::missing-client + :client-hint location-hint) + (swap! missing-client-hints conj location-hint)) + {:invoice/location location + :invoice/date (coerce/to-date (atime/parse ship-date atime/normal-date)) + :invoice/invoice-number invoice-number + :invoice/total (Double/parseDouble invoice-total) + :invoice/vendor :vendor/general-produce + :invoice/outstanding-balance (Double/parseDouble invoice-total) + :invoice/client (:db/id matching-client) + :invoice/import-status :import-status/imported + :invoice/status :invoice-status/unpaid + :invoice/client-identifier location-hint + :invoice/expense-accounts [{:invoice-expense-account/account + (-> vendor :vendor/default-account :db/id) + :invoice-expense-account/location location + :invoice-expense-account/amount (Math/abs (Double/parseDouble invoice-total)) + }]}))) + (filter :invoice/client) + (into [])) + (catch Exception e + (log/error ::cant-import-general-produce + :error e) + [])))) (defmethod extract-invoice-details :unknown [k input-stream clients] @@ -247,6 +250,7 @@ (->> (extract-invoice-details k is clients) + (set) (map (fn [i] (log/info ::importing-invoice :invoice i) diff --git a/src/clj/auto_ap/square/core3.clj b/src/clj/auto_ap/square/core3.clj index 066cd85c..1e47b05b 100644 --- a/src/clj/auto_ap/square/core3.clj +++ b/src/clj/auto_ap/square/core3.clj @@ -631,7 +631,7 @@ (defn cash-drawer-shifts ([client l] - (cash-drawer-shifts client l (time/plus (time/now) (time/days -14)) (time/now))) + (cash-drawer-shifts client l (time/plus (time/now) (time/days -75)) (time/now))) ([client l start end] (de/chain (manifold-api-call {:url (str "https://connect.squareup.com/v2/cash-drawers/shifts" "?" @@ -639,7 +639,8 @@ (url/map->query {:location_id (:square-location/square-id l) :begin_time (->square-date start) - :end_time (->square-date end)})) + :end_time (->square-date end) + :limit 1000})) :method :get :headers (client-base-headers client "2023-04-19")