Sunday, for Sumary

Sumary finds every anomaly. One decision clears twenty.

Sumary already finds them: the rule fires, the correction is proposed. But Anomalies is still a list — sorted by date, one row at a time, no amounts. The finding scales with the ledger. The clearing scales with her.

I’m Carl, I design fintech products. I rebuilt Anomalies on your own nav tree and status names — no brief, no access. Then drawing it turned up the case a bulk button lives or dies on: the ledger writes 17 of 20, and the queue has to say so. It’s live below.

The concept, running

It’s live — pick a cause, expand it, clear it.

From finding the work to finishing it.

Same nav tree, same statuses, same words — nothing here is a new information architecture. What changed is what a row means: dates group into causes, each cause carries the money behind it, and the verb sits where the evidence is. An anomaly isn’t finished when it’s found. It’s finished when it’s posted.

The manual scan. Month-end, and a bookkeeper reads the ledger line by line looking for what is wrong.

Four decisions, and why:

Entry nameVoucherDateAt riskConfidence
EU services without reverse charge2263.729,00 krHigh
Duplicate payment to the same supplier2118.940,50 krHigh
Personal expense on a company card332.510,43 krMedium
Entertainment posted as office supplies79.554,25 krMedium
Currency difference above threshold12.118,00 krMedium
Missing document1232.006,00 krLow

Grouped by cause, not by date

Anomalies arrive date-sorted — the one order in which no two rows share a decision. Grouped by cause, 47 entries become 6 decisions, each priced by what it puts at risk.

At risk
63.729,00 kr
Changes
IY25IYEUVAT code

2 entries dated before the locked period stay open.

The decision lives where the evidence is

The money at stake, the field it changes and the verb, in one panel. Two of the 22 sit in a period that is already locked, so the button says 20 before she presses it, not after.

Rule3 rules
RuleEU services without reverse chargecovers 22 future entries
RuleDuplicate payment to the same suppliercovers 2 future entries
RulePersonal expense on a company cardcovers 3 future entries

One decision becomes a rule

Clearing a whole cause at once is a person saying something general. That’s the moment a rule is worth writing, so it is written then — and only then. Three cleared causes, 27 entries that don’t come back.

EU services without reverse charge511.680,00 krHigh
Datadog Ireland#1279128.01.20262.260,00 kr
Miro B.V.#1279830.01.20262.980,00 kr
Linear Orbit Inc#1284206.02.20263.080,00 krNot posted
Dropbox International#1288412.02.20261.620,00 krNot posted
Cloudflare Ireland#1292618.02.20261.740,00 krNot posted
17 written, 3 failedThe ledger timed out. Nothing was posted for them.

A bulk that half-fails says so

20 go to the ledger; the ledger writes 17. The 3 it refused don’t leave the queue — they stay, with the reason on the row, and the rule waits until they land.

Any tool can find the anomaly. Only a queue lets her finish it, and says so when it can’t.

A bit about me.

I’m Carl. I run Sunday, a product-design studio for fintech. Before this, Swedbank. I work embedded, like part of the team, from first research to the final interface.

The clients and vouchers in the demo are invented, modelled on a Danish ledger. Wired to real ones instead, this gets a lot sharper.

Carl Harrisson
“He champions user-centered design without ever losing sight of how it drives real business outcomes. That balance is rare.”
Joackim Zwahlen — UX Lead, Swedbank

That’s the idea.

Your product already won the hard argument — the anomalies find themselves. The next one is won by finishing. Grab 30 minutes and I’ll walk you through where I’d take it, or a two-week sprint makes the clearing flow shippable in your app.