Client Statements: Generate, Reconcile, Review and Send
Send each client one statement per period — opening balance, charges, payments and balance due, with every invoice and every shipment charge listed. Docklify checks each charge line against the contract rate sheet before the statement can be reviewed and emailed.
A statement of account answers the question every client asks at month end: "What do I owe, and what is it for?" Open Accounting → Statements (/accounting/statements) to generate one statement per client and period. The statement always moves in one direction only — Draft → Reviewed → Sent — and it is never emailed automatically: a person reviews it first, every time.
Step 1 — Generate the statement#
- On Accounting → Statements, click "Generate statement", pick the client and the period (both dates included), and confirm.
- Docklify builds the summary from your invoices and payments: opening balance (what was still unpaid before this period), charges this period, payments received this period, and the balance due. Below the summary you get every invoice in the period, and below that every single shipment charge — order, container and charge item — that makes up those invoices.
- One client, one period, one currency: if the period contains invoices in two currencies, Docklify asks you to split them instead of mixing numbers that do not belong together. Generating the same period twice is blocked — void or delete the old draft first.
Step 2 — Run the pre-billing reconciliation#
Open the statement and click "Run reconciliation". Docklify re-prices every charge line with the contract rate sheet that was in effect on the day the charge happened — including tiered prices — and lists every line that does not match as a difference: no contract price, price mismatch, a manual price that differs from the contract (quote vs. settle), a charge that was priced in the period but never invoiced, and more. While any difference is still open, the statement cannot be sent.
- Fix the source first when you can: correct the rate sheet or the charge, then run the reconciliation again — a clean run clears the queue by itself.
- If a difference is expected and correct — for example an agreed manual price — open it and choose "Resolve" (already handled) or "Waive with note". A note is required either way, and who wrote it and when stays on the record. Waiving is a deliberate, recorded decision, not a silent skip.
Step 3 — Review, then send#
- A reviewer opens the draft and clicks "Approve (reviewed)". Approval is only possible after a reconciliation run exists — reconcile first, review second. To send it back for changes, use "Return to draft".
- On a reviewed statement, click "Send statement". The recipient defaults to the billing email on the client record (Master Data → Clients → contact email); you can type a different address for this send. Docklify emails the statement with the PDF attached and records the send — time, recipient and delivery id — on the statement itself.
- If sending fails — for example the mail service is not configured — the statement stays "Reviewed", the failed attempt is recorded in the send history with the reason, and you can simply send again after fixing the problem. Nothing is ever marked sent that was not actually delivered.
How statements and AR aging fit together#
The aging numbers on a statement use exactly the same math as Accounting → Reports → AR Aging: outstanding = invoice total − amount paid, grouped by due date into Current / 1–30 / 31–60 / 61–90 / 90+ days. One scope difference to know: aging counts only invoices already issued (sent, partially paid or overdue), while a statement also includes fresh draft invoices from the latest billing run — the statement page shows that draft amount separately, so the two numbers always reconcile with a visible explanation instead of a silent gap.
Docklify features used in this article#
- Statement list with client/status filters — Accounting → Statements (/accounting/statements)
- Generate a statement by client + period (summary + invoice detail + per-shipment charge detail) — Accounting → Statements → Generate statement (/accounting/statements)
- Pre-billing reconciliation against the contract rate sheet, difference queue with resolve / waive-with-note — statement detail → Run reconciliation (/accounting/statements)
- Review (approve / return), email sending with PDF attachment and send history — statement detail (/accounting/statements)
- AR Aging report (same outstanding and bucket math as statements) — Accounting → Reports (/accounting/reports)