CASE 02Solace LedgerSHIPPED 2025–2026LIVE
02CASE
STUDY

A unified payment system for 9,000 funeral homes

Designed and shipped the platform that converted a fragmented, manual payment workflow into the company's single largest revenue lever, moving ARR by $525K and adding 456 new clients in 12 months.

+25%ARR LIFT · $525K
+30%CLIENT GROWTH · 456
+25%PAYMENTS VOLUME
+10%CASE POSTING
ROLELead Product DesignerPayments + Operations UX
TIMELINE14 months4 release waves
TEAM3 PMs9 engineers · 1 compliance counsel · 5 QAs · 4 stakeholders · 1 tech leadership
SHIPPEDQ1 2025 → Q1 2026 (full platform)

SECTION 01WHAT THIS CASE STUDY WON'T TELL YOU

    • Stripe contract terms and per-transaction economics are confidential. I'll discuss the design decisions shaped by them; I won't share the rates.
    • Compliance logic varies by U.S. state and Canadian province. The system handles it via configurable rules; I designed the configuration UX, not the legal framework.
    • I did not own the payment-processor selection. Stripe was chosen before I joined the project. I designed the experience inside that constraint.
    • Two terminal hardware iterations were tested. Only the S700 shipped to production. The earlier device is omitted from this case study because the lessons duplicate.
    • Some screens shown are reconstructed from production for presentation clarity. No data is real. No client is identifiable.

SECTION 02STAKES

Solace serves 9,000 funeral homes across the U.S. and Canada with case management, operations, and, increasingly, payments. The payments product was the company's primary growth lever for FY2024. It was also the most operationally dangerous surface the company shipped.

Funeral home staff process payments at the worst possible moment for a transaction: a family is grieving, the staff member is often handling arrangements and finances simultaneously, and any error, a duplicate charge, a missed reconciliation, a payment recorded against the wrong case, becomes not just an operational problem but a relational one. Funeral homes lose clients over payment errors more often than over service quality.

The existing system was set up to produce those errors. Cash, check, ACH, and card payments lived in separate workflows. None of them updated the system of record in real time. Reconciliation happened weekly, by hand, by people whose primary job was funeral arrangements, not bookkeeping. The error rate was high. The trust in the data was low. And the company's ability to expand the payments product was capped by the fact that no operator believed the existing one yet.

The mandate: build the version they would believe.

SECTION 02ROLE

I owned the end-to-end payment experience as Lead Product Designer. That included the payment architecture at the UX layer, the invoice-to-payment flow, the multi-channel surfaces (web, mobile link, in-person terminal), the integration UX between the case management software and the Stripe processor layer, and all error and edge-case states.

I worked daily with three PMs (one each for terminal, web, and platform), six engineers, a compliance counsel, and a payment-ops lead who'd previously run operations at a payment processor. The compliance counsel and the payment-ops lead were unusual for a design partnership; I leaned on both heavily, because the constraints they surfaced shaped more of the final design than the user research did.

I did not own processor selection (Stripe, set before my involvement) or the underlying ledger schema (eng-led, with my input on UX implications). Everything visible to the user, and every state the system needed to expose to the user, was mine.

SECTION 03THE FRAME

The principle that drove every decision below.

The work that mattered most on this project was deciding what payments were, structurally, before we designed how they looked.

The legacy system treated a payment as an event, something that happened, was recorded somewhere, and was reconciled later. That model is why the system was broken. Events can be missed. Events can be duplicated. Events can be entered against the wrong invoice by a tired staff member at 7pm on a Tuesday. As long as a payment was an event, no amount of UI work would fix the data problem.

The reframe was not a UX reframe. It was a data reframe, and I argued for it in the third week of the project against pushback from engineering, who saw it as scope creep:

A payment is not an event. A payment is a record with a state machine. It is created the moment intent is captured, transitions through known statuses, and is closed only when reconciled. Every UI surface in the product is a view onto that record.

This sounds technical. It is technical. But it's also the single decision that made the rest of the design possible. Once payments were modeled as stateful records with a defined lifecycle, the unification work, across cash, check, ACH, card, terminal, and mobile link, became expressible as a single system instead of six glued-together ones. The duplicate-entry problem disappeared not because we designed against it, but because the data model no longer permitted it.

Everything below, the terminal flow, the mobile link, the reconciliation dashboard, the surcharge disclosure UI, is downstream of this one frame. I am leading with it because it is the work I am most proud of on this project, and it is the work that is hardest to see in screenshots.

THE PAYMENT RECORD · STATE MACHINE. Initiated → Authorized → Captured → Reconciled → Closed. Branches: Refunded · Failed · Disputed. The single artifact the rest of the product is built on.
THE PAYMENT RECORD · STATE MACHINE. Initiated → Authorized → Captured → Reconciled → Closed. Branches: Refunded · Failed · Disputed. The single artifact the rest of the product is built on.

SECTION 04THE ANCHOR DECISION

Unify capture. Real-time, from the moment of intent.

SECTION 05CONSEQUENCES

Four surfaces the unified model made possible.

MOVE 01 · 01 OF 04
MOVE 01

IN-PERSON TERMINAL (S700)

Once the capture layer was unified, an in-person terminal stopped being a separate product and became another surface writing to the same pipeline. Tap, swipe, chip. Real-time write-back to the case record. Offline queueing for venue Wi-Fi failures.

SOURCE · TERMINAL TELEMETRY · Q4 2023
71%ADOPTION, NEW CLIENTS
22sAVG CAPTURE TIME
MOVE 02

MOBILE PAYMENT LINKS

A payment link sent via SMS or email became a third capture surface, same pipeline, no staff entry required, the family pays themselves. Unlocks remote payment for the (large) share of arrangements done by phone.

SOURCE · PAYMENT-METHOD TELEMETRY
38%OF DIGITAL PAYMENTS, 6 MO.
−40%STAFF ENTRY TIME
MOVE 03

RECONCILIATION DASHBOARD

Because every payment was a record with a state, a single dashboard could show end-of-day, end-of-week, and end-of-month reconciliation across all methods in one view. Replaced spreadsheet workflows used by 60%+ of operators.

SOURCE · ADOPTION SURVEY + USAGE LOGS
3hr → 25minTIME-TO-CLOSE-BOOKS
n=84OPERATOR SURVEY SAMPLE
MOVE 04

COMPLIANCE CONFIGURATION UI

U.S. state and Canadian provincial law varies on surcharge disclosure, itemized pricing, and refund timing. Built a rules-config UI for the compliance team to set per-tenant policy without eng involvement. Removes design from the critical path on regulatory changes.

SOURCE · INTERNAL OPS · 2-QUARTER ROLLING
weeks → 1dONBOARD NEW REGION
~0ENG TICKETS, COMPLIANCE

SECTION 06SOLUTION

Five surfaces where the unification became visible.

SCROLL FOR ANNOTATED SURFACES

SURFACE 01 / 05· TIES TO FRAME · ANCHOR DECISION

THE PAYMENT RECORD

What the system thinks a payment is.

01
STATE INDICATOR · CURRENT STATUSThe payment's current state in the lifecycle. Not just 'paid' / 'pending', Initiated, Authorized, Captured, Reconciled, Closed.
02
STATE HISTORY · LOGGED TRANSITIONSEvery status transition is timestamped and attributed. A staff member can answer 'what happened to this payment' without calling support.
03
LINKED INVOICE + CASEPayment is bound to its invoice and case at creation. Cannot exist without that binding. The data model enforces correctness.
04
METHOD-AGNOSTIC ACTIONSRefund, dispute, void, same controls regardless of original method (cash, check, card, ACH, terminal, link).
SURFACE 02 / 05· TIES TO ANCHOR DECISION · CONSEQUENCE 04

UNIFIED CAPTURE (WEB)

One flow, six methods.

01
METHOD SELECTOR · SIX OPTIONSCard · ACH · Cash · Check · Terminal · Link. Same form structure, method-specific fields conditional.
02
CASE-LINK AFFORDANCEPayment must be tied to a case at creation. Search-as-you-type with recent cases pre-loaded. No orphan payments.
03
REAL-TIME STATUS INDICATORCapture status updates inline as the payment moves through processor states. No 'check back later.'
04
SURCHARGE DISCLOSURECompliance-driven. Surfaces appropriate disclosure based on tenant region and payment method. Configured by compliance, not eng.
SURFACE 03 / 05· TIES TO CONSEQUENCE 01

THE TERMINAL FLOW (S700)

Hardware as another surface, not another system.

01
CASE-CONTEXT DISPLAYMost payment terminals show only an amount. This one shows the case context, family name, service date, so the staff member can confirm before the family taps.
02
OFFLINE-MODE INDICATORVenue Wi-Fi fails often (cemeteries, remote locations). Terminal queues payments locally and writes back when reconnected. State is visible.
03
AUDIT-TRAIL HANDOFFOn success, the payment record updates with terminal ID, location stamp, and staff member ID. Same audit trail as any other surface.
SURFACE 04 / 05· TIES TO CONSEQUENCE 02

MOBILE PAYMENT LINK (RECIPIENT VIEW)

The family experience, designed with the same care as the operator experience.

01
TONE CALIBRATIONPayment page renders in funeral home's brand. Copy is sober, not promotional. No 'Pay Now!', just 'Payment for [service].' This is the family's view at a hard moment.
02
CASE-CONTEXT DISCLOSUREConfirms the right transaction without graphic detail. 'Service for [name], [date]', enough for the family to verify, no more.
03
PAYMENT CONFIRMATION HANDOFFOn success, the operator sees the payment in their dashboard within seconds. The family receives a clean receipt. No staff entry required.
SURFACE 05 / 05· TIES TO CONSEQUENCE 03

RECONCILIATION DASHBOARD

The single view the unification made possible.

01
CROSS-METHOD AGGREGATIONCash, check, card, ACH, terminal, link, all in one view. Filterable by method, but defaulting to all-methods because that's the operator's actual question.
02
STATUS FILTERINGFilter by payment state (Authorized, Captured, Reconciled). Operators close their books by walking the funnel, not by hunting through methods.
03
EXPORT-TO-ACCOUNTINGOne-click export to QuickBooks, Sage, and the major funeral-industry accounting tools. Removes the manual transcription step that defined the legacy workflow.
04
SAVED FILTER SETS · v1.2Power users save common filter combinations (e.g., 'this week, all cash and check, unreconciled'). Shipped in v1.2, should have been in v1.
THE SYSTEM · END-TO-END. Six capture surfaces. One payment record. Feeds case management, accounting, and reconciliation. The unification made everything downstream possible.
THE SYSTEM · END-TO-END. Six capture surfaces. One payment record. Feeds case management, accounting, and reconciliation. The unification made everything downstream possible.

SECTION 07IMPACT

What moved, by category, over 12 months.

TIER 1: BUSINESS OUTCOMES · TIER 2: PRODUCT OUTCOMES · METHODOLOGY NOTED

TIER 1 · BUSINESS OUTCOMES

ARR LIFT+25%$525K · 12-MONTH POST-LAUNCH. ATTRIBUTION VIA FINANCE TEAM.
Attributable lift from existing client expansion + new Solace Ledger adopters.
CLIENT GROWTH+30%456 NET NEW TENANTS · FY. TRIBUTEPAY CITED IN 64% OF SALES NOTES.
Causation is mixed, sales tailwind plus product fit. The 64% figure is sales CRM.

TIER 2 · PRODUCT OUTCOMES

PAYMENTS VOLUME+25%$378K INCREMENTAL VOLUME THROUGH UNIFIED CAPTURE SURFACES.
Stripe-confirmed throughput, net of refunds and disputes.
CASE/OBIT POSTING+10%ATTRIBUTED TO REDUCED OPS LOAD ON STAFF (TIME FREED FOR CASE WORK).
Indirect signal, not a primary KPI of this project.

SECONDARY SIGNALS

WHAT COMPOUNDED

Secondary signals

SignalValue
Time to close end-of-day books~3 hrs → 25 min
Duplicate payment entriesEliminated (0 reported)
Reconciliation-related tickets−78%
Terminal adoption among new clients71%
Mobile-link share of digital payments38%
Time to onboard new compliance regionweeks → 1 day

METHODOLOGY · WHAT THE NUMBERS ARE AND AREN'T

ARR and client-growth attribution were calculated by the Finance team, not by me. I report them here as the company reported them internally. The attribution method weights Solace Ledger's contribution based on customer-cited reasons in renewal calls and sales-CRM notes; it is directional, not exact, and I'd describe the $525K as "the lower bound of a defensible attribution range" rather than a precise figure.

Payment volume figures are Stripe-confirmed and exact. They reflect transactions through the unified capture layer only, pre-existing direct-Stripe volume from before Solace Ledger shipped is excluded.

Operational metrics (book-close time, reconciliation ticket reduction) come from a combination of usage logs and an operator survey (n=84) conducted at the 6-month post-launch mark. Self-reported numbers in the operator survey are roughly consistent with usage-log behavior, which I take as a soft signal that the self-reports are honest.

Case/obituary posting growth is the softest number in this section. The 10% lift is real and observable, but the causal link to Solace Ledger is inferred, staff report having more time for case work because payments take less time. I include it because it matters operationally, not because I have a clean attribution model for it.

WHAT THIS SECTION DOESN'T SHOW

    • Per-transaction Stripe economics, which materially affect Solace Ledger's actual margin contribution. The $525K ARR is a top-line figure; bottom-line contribution is a different number I'm not at liberty to share.
    • Churn data on Solace Ledger-adopting tenants. The retention story is strong but the specific numbers are confidential.
    • Performance during peak (early-week reconciliation cycles). The system held up; I don't have public numbers.
    • The two regional rollouts that were paused for compliance reasons after the primary launch. Both shipped later. The pauses are part of the project's honest history.

SECTION 08POSTMORTEM

CLOSING NOTE

The work I'm proudest of on this project is invisible in the screenshots. The data-model reframe was the decision the entire product is built on, and it's the decision a Dribbble shot will never capture. Some of the highest-leverage product design work happens at the schema level, in conversations with engineering leads, in arguments about what an object is before anyone designs what it looks like. That work is harder to credential than UI work, and it's the work I want to keep doing more of.

The reframe, that a payment is not an event but a record with a state machine, is the move I'd repeat on any similar engagement. Reading the system as one surface across many capture methods, then designing the coherence rather than the decoration, is what made the +$525K ARR possible. The rest of the project is downstream of that one judgment call.

What I'd change is political, not technical. I conceded the reconciliation dashboard hierarchy in v1 on the grounds that ship-date discipline mattered. I was right that ship-date discipline mattered. I was wrong about which feature was load-bearing. Power users, the operators handling 100+ cases a month, were a small share of users but a large share of revenue contribution. Next time, I'd hold harder for the load-bearing surface, even at the cost of a six-week slip.

I'm proud of the +25% ARR. I'm prouder of the schema decision underneath it.

ManiyarasiSolace Ledger · 2025–2026
CASE 02 · END