Statements are written for you
You cannot add, edit, or delete a statement entry. There is no button, no form, and no import. The ledger is built entirely from what you do elsewhere in Finance, and it is append-only — history is never rewritten. Four things write an entry, all automatically:
That last pair is the whole design: a mistake is corrected by posting an opposite entry, not
by removing the old one. You always keep the full trail of what happened.
How the money arrived makes no difference. A payment you record by hand and one a client
makes through a gateway pay link post the same credit, and a refund posts the same reversing
debit whether you issue it in DMLY or from the gateway’s own dashboard.
A draft invoice is not in the ledger. The debit posts the moment you send it. Void an
invoice and only the still-unpaid part is credited back, so a part-paid invoice doesn’t
double-count against the payment that was already recorded.
- Orders never post to the ledger on their own. An order reaches the statement only once you convert it to an invoice and send that invoice. See Invoices.
- Shopify and WooCommerce sales stay out of the ledger entirely — including a pay link you send against one. That sale was never invoiced here, so it has no debit for a payment to offset. See Orders.
- Session and package credits are a separate ledger with its own tab. Granting or using a credit changes nothing on the statement. See Plans and credits.
Read the Statements tab
Open Finance → Statements. The columns are Date, Client, Description, Debit, Credit, and Balance. Each row is either a debit or a credit, never both — the other column shows a dash. The tab lists entries from every client together, newest first. Balance is that one client’s balance after that one entry, so two rows in a row usually belong to different people and their balances have nothing to do with each other. There is no workspace total and no totals row: this tab is a log, not a report. Search by keyword filters the visible rows by client name and description. That is the only filter — there is no date range, no client picker, and the column headings don’t sort. Rows also aren’t clickable, so to see the underlying document open it from Invoices or Payments. To read one client’s history cleanly, open the contact instead and use the Statements tab on their profile. It shows Date, Type, Amount, Balance, and Description for that contact only. This tab only appears for contacts at the Client lifecycle stage — a lead with a sent, unpaid invoice has ledger entries but no Statements tab, and so does a contact you have moved to inactive or archived. Sending an invoice does not convert a lead to a client; taking a payment does. Their entries are still on Finance → Statements.Things worth knowing before you rely on it
The list stops early on a busy workspace
The list stops early on a busy workspace
Finance → Statements shows at most 200 entries, and a contact’s profile tab shows at
most 50. There is no paging and no “load more”, and nothing tells you the list was cut —
older entries simply aren’t there. Treat both as a recent view, not a complete archive.
A zero shows as a dash on Finance → Statements
A zero shows as a dash on Finance → Statements
A client who settles up completely lands on a balance of exactly 0.00, and on
Finance → Statements the Balance cell renders as a dash rather than a zero. An empty
balance cell there means paid off, not missing. The Statements tab on a contact’s
profile is unaffected — it renders a settled balance as 0.00.
The date is when the entry posted
The date is when the entry posted
Date is the day DMLY wrote the entry — the day you sent the invoice or recorded the
payment. It is not the invoice issue date, and entries can’t be backdated.
Nothing is here at all
Nothing is here at all
No statements yet. means no invoice has been sent and no payment recorded for this
workspace. No matches found. means your keyword filtered every row out — clear the
search box.
Invoices
Sending an invoice is what puts a debit on the ledger.
Payments
Every payment posts the matching credit, however it was collected.

