Category 4 of 6

Accountants

Keep the books: cash, receivables, delivery cost, forecast and the close.

Who this is forthe person who keeps the books — the practice accountant, the bookkeeper, the finance officer, the external firm that closes the month. If your job is to answer what came in, what is owed, what did delivery cost, and what will we earn, this dashboard is yours.
Where you workthe finance dashboard at /my/finance — a landing page of figures and twenty-one reports. It is a separate dashboard from the administrator's, on purpose: chasing an unpaid invoice on the floor is the administrator's job on /my/admin/invoices, and the ledger stays here.
Where the Platform liveshttps://clinic.raznameh.org. Your dashboard starts at https://clinic.raznameh.org/my/finance. Every web address in this guide is under that domain.
What you will never see hereclinical content. Not a note, not a questionnaire answer, not a goal, not a diagnosis. The books name a client, a service, a professional and an amount — and stop there. That is a property of the group you hold, not a filter you could switch off.
A note on naming"the Platform" is used throughout as a neutral term — swap it for your product name when you brand this guide. Menu names and button labels match what is on screen.
How to use this guideevery section opens with three short lines — what this section is, why it matters, and what you will see. If you are new, read §1 to §4 in order: §4 is the one that stops you misreading a number. After that, use §5 to §10 as a reference for the report in front of you, and §11 when you close the month.

1Getting access#

1.1 The group you need#

You need the Accountant group of OnDelights, and you must be an Internal User rather than a portal user. An administrator grants both in the back office under Settings → Users.

Two things about that grant are worth knowing before you ask for it:

  • No other role implies it. Being a clinic manager, a platform manager or an administrator does not give you /my/finance. This is deliberate — the ledger is a separate hat, and it is put on deliberately.
  • A person who needs both hats is two grants. The platform-manager role implies the portal Expert chain, and a single account cannot be a portal user and an Internal User at once. If you run the practice and keep the books, ask for the accountant grant on an internal account.

A database administrator (Settings → Technical) holds the group implicitly, so the person who installs the Platform can always open the page to check it works.

1.2 The second role, and why it has no page yet#

There is a second finance role, Business manager, meant for the person who asks is this business working rather than do the books balance. It reads aggregates only and holds no ledger group — and wage columns stay hidden from it unless the same person also holds Accountant.

The manager's own dashboard is not built yet. The role exists so the permissions are right when it is. Until then, a manager reads the administrator's dashboard (/my/admin/health) and the reports under it.

1.3 If you do not hold the group#

Every page under /my/finance checks the group first. Without it you get a short page saying so rather than an error — nothing on it leaks a figure. Send that page's address to your administrator; it names the grant they need to make.


2The dashboard at a glance#

/my/finance

2.1 The four money tiles#

TileWhat it countsBasis
BilledWhat you invoiced in the period, with the invoice count and the averageAccrual
CollectedWhat actually arrived, with the payment count and the percentage of billedCash
Owed to usOpen residual on customer invoices, and how much of it is overdueCurrent
Owed by usOpen payout bills plus accrued expert share not yet on a runCurrent

Billed and Collected are not two views of one number. Billed is what you asked for in the period; Collected is what turned up in it, including money billed earlier. They differ, and the gap is the point of the pair — it is the working capital question in two tiles.

Each tile carries a comparison with the previous period of the same length when Compare is on (§3.4). "Same as last period" is written in words rather than shown as a flat zero, because a zero delta and an unavailable delta look identical otherwise.

2.2 The six ratio tiles#

These are the health ratios, three of them with a twelve-month sparkline underneath:

  • Days sales outstanding — how long the average invoice waits, trailing, with the change on last month marked good or bad (down is good here).
  • Collection rate — collected as a percentage of billed, with the two amounts underneath.
  • Average invoice — billed divided by the number of invoices, with that count.
  • Refund rate — credit notes as a percentage of billed, with the count, and the change on the previous period (down is good).
  • Gross margin — what is left after the cost of delivery, with the two amounts.
  • Cost of delivery — expert share plus attributed wage, as a percentage.

A ratio with no denominator reads —, never 0%. A month with nothing billed has no collection rate; writing zero there would mean you collected nothing, which is a different and much worse statement.

2.3 The six charts#

ChartFormWhat it answers
Cash in, month by monthGrouped columns, twelve monthsBilled against collected, side by side
Receivables ageingHorizontal barsHow old the money owed to you is
Where the revenue goesStacked columnsWhat the company keeps against the expert share
Revenue by serviceHorizontal barsWhich services actually carry the practice
Deferred revenue waterfallWaterfallOpening, + sold, − delivered, − expired, − refunded, closing
Cash in, by methodHorizontal barsCard, transfer, cash, and whatever else you take

Each chart has Open graph, which opens the full-page version of the report behind it with the filters you already had set.

The server draws these. There is no charting library and no JavaScript: the chart is in the page on first paint, it survives printing, it renders in high-contrast mode, and a screen reader can read it. That is why they look plain and load instantly.

2.4 The forecast band and who owes the most#

The forecast band shows the three layers of what is still to come — scheduled, contracted and recurring — each linking into its report. They are shown side by side and never added up; §4 says why.

Who owes the most is the short table underneath: the clients with the largest open residual, worst first. Its caption tells you what you are looking at and over what period. If a payment has arrived that nothing has been matched to yet, a note says so here — an unmatched payment makes every debtor row look worse than it is.

2.5 The flag list#

At the bottom is the list of things that are out of line:

FlagWhat it means
Invoices overduePast their due date and unpaid
Receivable over 90 daysThe oldest ageing bucket has something in it
Held, never invoicedSessions delivered and never billed
Payments unmatchedMoney in the bank not tied to an invoice
Fees charged, no invoiceCancellation fees taken and never billed
Payout runs overdue in draftA run that should have gone out is still a draft
Delivering with no terms on fileSomebody is working without a contract
Credits expiring in 30 daysClient credit about to lapse
Refunds this periodMoney given back — for review, not necessarily wrong
Deferred balance does not reconcileThe waterfall does not close on the balance
Payment proof submitted, not confirmedAn offline payment waiting for somebody to confirm it
Posted lines with no tax configuredPosted revenue with no tax on it

An empty flag list is the good outcome, and the page says so in a sentence rather than showing a row of zeros. Every flag is a link into the report that lists the underlying rows.

2.6 If the counters cannot be computed#

If a figure cannot be worked out, the page says the counters could not be computed and points at the server log. It does not show zero. A zero you cannot distinguish from a failure is worse than no number at all — and on a finance page it is the kind of zero somebody reports to a board.


3The controls every page carries#

3.1 Period#

Five chips, plus a custom range:

ChipCoversTense
This monthThe current month to dateForecast — the month has not finished
Past monthThe month before this oneCurrent
Past 3 monthsThe trailing quarterCurrent
Past 6 monthsThe trailing half-yearCurrent
This yearFrom 1 JanuaryForecast

Every page states which tense it is in, next to the title. A period that has not finished is labelled Forecast so that nobody quotes a part-month as a result. For a fixed range of your own, use the custom period with a start and end date.

3.2 Accrual or cash#

Two chips. Accrual counts the invoice on the day it was raised; cash counts the money on the day it arrived. The same report under the two bases will legitimately differ, and the basis is written on the page so a screenshot cannot be misread later.

3.3 Company#

If you keep more than one company, a chip per company appears and only your own companies are offered. There is no "all companies" chip: a consolidated figure across ledgers is a different piece of accounting and is not pretended at here.

3.4 Narrowing, and the flagged toggle#

Every report takes service, expert and client. Two take one more: Payments received takes the payment method, and Receivables and ageing takes the ageing bucket.

Only flagged hides every row that is fine and leaves the exceptions. Compare turns the previous-period comparison on the tiles on and off.

Filters are carried in the address, so a filtered page is a link you can send to a colleague and they will see what you saw.

3.5 Dashboard, Graph, and CSV#

Each report has two views, switched by chips in the same window:

  • Dashboard — the KPI row and the table.
  • Graph — the same report as a full-page chart, with the same filters.

Export CSV downloads what is on screen, under the filters you set — not the whole table. Long tables are paged; the export is not limited to the page you are looking at.


4Six rules that make a money figure trustworthy#

1. Nothing is netted. Money in and money out are never collapsed into one figure. A refund is not a negative payment; it is a refund, and it has its own report. Netting hides both sides.

2. A figure that could not be computed reads as unavailable. Never as zero. This holds for tiles, ratios, charts and table cells alike.

3. A rate with too small a denominator is suppressed. Below the minimum sample it renders

4. Forecast layers are never summed. Scheduled, contracted and recurring are three different certainties. Adding them produces a number that is true of nothing. The reports show them side by side and refuse to total them.

5. Splits are frozen, never re-derived. An expert's share was fixed when the session was booked. Margin and cost of delivery read the frozen split — so a change to a rate today does not silently rewrite last year's margin.

6. An empty exception list is the good outcome. Month-end close and money chain are checklists where empty means you are done. They say so in a sentence; they do not show a wall of zeros and leave you to work out which zero is good.

Where a number measures a person — margin per expert, cost of delivery — the fairness rules of the administrator's guide apply unchanged: the number is context for a conversation, not a verdict.


5Cash — what actually moved#

5.1 Payments received — A1#

/my/finance/a1 — how many payments, for how much, by which method. Narrow by payment method as well as the usual three. This is the report you reconcile against the bank.

5.2 Receivables and ageing — A2#

/my/finance/a2 — who owes you what, and for how long. Narrow by ageing bucket. Days sales outstanding on the landing page comes from here, and so does the ageing chart.

5.3 Refunds and credit notes — A3#

/my/finance/a3 — what you gave back, and why. A refund appearing here is not an error by itself; the refund rate tile tells you whether the level has changed.


6Revenue — what we earned#

6.1 Revenue by month — A4#

/my/finance/a4 — what you earned each month and how it split. The trend report.

6.2 Revenue by service — A5#

/my/finance/a5 — which services actually make money. Read it with §7: a service with good revenue and a high delivery cost is not the same business as one with less revenue and a better margin.

6.3 Revenue by client — A6#

/my/finance/a6 — what each client generated, and what they still owe. Concentration risk lives here: if the top row is a large share of the total, one client leaving is a different event than the revenue line suggests.


7The cost of delivery#

7.1 Held, not invoiced — A7#

/my/finance/a7 — delivered and not billed. Work you have paid for and not charged for. Clear this before the close.

7.2 Payout runs — A8#

/my/finance/a8 — what each run collected, and whether it has been billed.

7.3 Payments to experts — A9#

/my/finance/a9 — what each expert was paid, for what, under which terms.

7.4 Wage bill and terms — A10#

/my/finance/a10 — who is on which contract, and whether a wage is being paid. The delivering with no terms on file flag on the landing page lands here, and it is a compliance problem as much as a finance one.

7.5 Cost of delivery and margin — A11#

/my/finance/a11 — what each expert's delivery costs and what is left. Frozen splits, never re-derived (§4, rule 5).

7.6 Accrued, not yet paid — A12#

/my/finance/a12 — held sessions not yet on a confirmed run, with the payout calendar. This is the liability behind the Owed by us tile.


8Forecast — what is still to come#

8.1 Deferred revenue — A13#

/my/finance/a13 — what you have been paid for and not yet delivered. A liability, not income.

8.2 Forecast revenue — A14#

/my/finance/a14 — three layers, three totals, never added together:

LayerCertainty
ScheduledNear-certain — booked into the calendar
Contracted, unscheduledContracted; the timing is unknown
RecurringExpected, from membership plans

If someone asks you for "the forecast", give them the layer and the word next to it. There is no fourth number that is the sum, and the report will not produce one.

8.3 Deferred revenue waterfall — A15#

/my/finance/a15 — where the undelivered balance went this period: opening, plus sold, minus delivered, minus expired, minus refunded, closing. If the closing balance does not reconcile, the landing page flags it.


9Lost and leaking#

9.1 Lost and leaking — A16#

/my/finance/a16 — what you did not earn that you could have.

9.2 Credits expiring — A17#

/my/finance/a17 — credits that will expire, or already have. Acting on this one early is a client-service act as much as a finance one: a client whose credit lapsed unused rarely comes back.

9.3 Fees charged, no invoice — A18#

/my/finance/a18 — cancellation fees taken and never billed.

9.4 Write-offs — A19#

/my/finance/a19 — credit notes that wrote a residual off. Read with A2: a write-off is how a receivable stops being a receivable without being paid.


10Control — the two that are checklists#

10.1 Money chain — A20#

/my/finance/a20 — posted work whose money trail is incomplete: a session that was delivered with something missing between it and the ledger. Every row is flagged, because every row is an exception. Empty is the good outcome.

The administrator has the same list on /my/admin/money-chain, from the floor's point of view. It is the same underlying rows; fixing it is usually operational work rather than an accounting entry.

10.2 Month-end close — A21#

/my/finance/a21 — the checklist, with a tick or a cross and a count against each line:

CheckPasses when
No overdue customer invoicesNothing is past due and unpaid
No held sessions unbilledEverything delivered has been billed
No payout runs overdue in draftNo run that should have gone out is still a draft
No posted lines with tax missingEvery posted line has tax configured
Refunds reviewedInformational — it shows the count for the period

All ticks is the good close. A cross carries the count, and the count is the work.


11Closing the month, in order#

  1. Set the period to Past month and check the basis you close on. Do this first; every step below inherits it.
  2. Bill what was delivered — A7, Held, not invoiced. Billing after you have looked at revenue means looking at revenue twice.
  3. Match the money — A1 against the bank, and clear the payments unmatched flag. Unmatched payments distort every debtor row.
  4. Chase and age — A2. Anything in the over-90 bucket needs a decision: chase, arrange, or write off (A19).
  5. Settle delivery — A8 and A12. Confirm the runs, and check A10 for anybody delivering with no terms on file.
  6. Reconcile the deferred balance — A15. The waterfall should close on the balance; the landing page flags it when it does not.
  7. Run the close — A21. Work each cross until the checklist is all ticks, then export what you need (§3.5) for the file.

Then look at the landing page once more. The flag list should be empty, or every flag left on it should be one you have made a decision about.


12When a number looks wrong#

What you seeMost likely cause
Billed and collected differ by a lotNormal. They are different questions (§2.1) — check the basis chip before treating it as a fault
A ratio reads —No denominator, or too small a sample to be honest (§4, rules 2 and 3)
The forecast "does not add up"It is not meant to. Three layers, never summed (§8.2)
A debtor owes more than you expectedLook for the unmatched-payment note on the landing page first
Margin changed for a past periodIt should not — splits are frozen. If it did, raise it; that is a real defect, not a preference
A figure differs from the administrator's dashboardCheck the period, the basis and the company chip on both. The admin dashboard counts operational exceptions; this one counts ledger entries
The page says the counters could not be computedA failure, not a zero. The detail is in the server log — send your administrator the page address and the time
You cannot see wage columnsYou hold Business manager but not Accountant (§1.2)

13Quick reference#

Cash

ReportAnswers
A1Payments receivedHow many payments, for how much, by which method?
A2Receivables and ageingWho owes us what, and for how long?
A3Refunds and credit notesWhat did we give back, and why?

Revenue

ReportAnswers
A4Revenue by monthWhat did we earn each month, and how did it split?
A5Revenue by serviceWhich services actually make money?
A6Revenue by clientWhat did each client generate, and what do they still owe?

Delivery cost

ReportAnswers
A7Held, not invoicedWhat have we delivered and not billed?
A8Payout runsWhat did each payout run collect, and is it billed?
A9Payments to expertsWhat did each expert get paid, for what, under which terms?
A10Wage bill and termsWho is on which contract, and is a wage being paid?
A11Cost of delivery and marginWhat does each expert's delivery cost, and what is left?
A12Accrued, not yet paidHeld sessions not on a confirmed run, and the payout calendar

Forecast

ReportAnswers
A13Deferred revenueWhat have we been paid for and not yet delivered?
A14Forecast revenueWhat will we earn, and how sure are we? Layers are never summed
A15Deferred revenue waterfallWhere did the undelivered balance go this period?

Lost

ReportAnswers
A16Lost and leakingWhat did we not earn that we could have?
A17Credits expiringCredits that will expire, or already have
A18Fees charged, no invoiceCancellation fees taken and not billed
A19Write-offsCredit notes that wrote residual off

Control

ReportAnswers
A20Money chainPosted work whose money trail is incomplete
A21Month-end closeA checklist. Empty (all ticks) is the good close

Words this guide uses

WordMeaning here
AccrualCounted on the day the invoice was raised
CashCounted on the day the money arrived
ResidualWhat is still open on an invoice after payments and credit notes
HeldA session delivered and recorded, whether or not it has been billed
Frozen splitThe expert's share as fixed when the session was booked — never recalculated
Deferred revenuePaid for and not yet delivered: a liability, not income
FlagA row that is out of line. An empty flag list is the good outcome
TenseWhether the period has finished. An unfinished period is labelled Forecast