Files
integreat/scratch-sessions/register_invoices.clj

24 lines
1.3 KiB
Clojure

(ns register-invoices)
(def totals
(into []
(d/q '[:find [(pull ?i [:db/id
:invoice/date
{:invoice/expense-accounts [:db/id
:invoice-expense-account/amount
{:invoice-expense-account/account [:db/id :account/numeric-code]}
:invoice-expense-account/location]}]) ...]
:in $
:where [?i :invoice/client [:client/code "MBD"]]
[?i :invoice/date ?d]
[(<= ?d #inst "2022-01-01T08:00:00")]]
(d/db conn))))
(clojure.data.csv/write-csv *out*
(doall (for [{:keys [:db/id :invoice/expense-accounts :invoice/date]} totals
{:keys [:invoice-expense-account/amount :invoice-expense-account/location :invoice-expense-account/account] :as g} expense-accounts
]
[id (:db/id g) (:db/id account) (atime/unparse (coerce/to-date-time date) atime/normal-date) amount (:account/numeric-code account) location]))
:separator \tab)