Law firms · MOFU
Law firm walkthrough: client portal for boutique firms
How a 2-partner commercial law firm runs the matter lifecycle in one client portal: engagement letters, KYC, audited approvals, 9-day payment cycle, real screenshots.
By ClientNest365 team · Published · 16 min read

About this walkthrough: Marchetti Avvocati is a composite firm. The firm name and partners are illustrative; the workflow, technology choices, and outcomes describe how real boutique practices use the product as of mid-2026. Every screenshot below is from the live product, captured on a freshly seeded demo workspace. We'll publish named case studies as real customers consent to being featured.
The firm
Marchetti Avvocati is a 2-partner commercial law firm in Milan. Founded 2018 by Giulia Marchetti and Lorenzo Bianchi. One paralegal (Sofia), one part-time bookkeeper (Marco), no salaried associates.
The practice handles:
- Commercial contracts (sale of goods, distribution agreements, supplier contracts): ~14 matters/year
- Corporate transactions (M&A advisory for SMEs, share purchases under €5M): ~6 matters/year
- Employment disputes (mostly senior management exits): ~8 matters/year
- Regulatory advice (Italian Codice Civile, data protection, consumer law): ongoing retainers with 5 clients
Total: about 35-40 distinct matters per year, with an average matter value of €4,500-€18,000 and a few outliers in the €40K+ range. Annual revenue around €420K.
Giulia handles the corporate transactions and commercial contracts. Lorenzo handles employment and regulatory. Sofia (paralegal) supports both partners with document collection, KYC, and filing.
Why they started looking for a client portal for law firms
Two specific events triggered the search.
February 2025: a contested-fee dispute with a former retainer client. The client argued they had never approved the strategy memo for an employment dispute; Lorenzo had emailed the memo for review, the client had replied "thanks Lorenzo, looks good", and that reply was the only "approval" in the file. The Milan Bar's mediation panel ruled against Marchetti on €4,200 of the €11,500 fee because the approval trail was insufficient. Lorenzo lost the fee and the client.
June 2025: payment-cycle calculation. Sofia ran the numbers for Q2: average invoice payment cycle was 38 days from invoice date. For a 35-matter practice, that means roughly €60K of partner cash flow trapped in receivables at any given time. The firm was funding clients' law work through their own credit line.
Giulia and Lorenzo agreed in their July 2025 partner retreat that the practice needed a tool. They evaluated three options:
| Tool | Pricing (2026) | What stopped them |
|---|---|---|
| Clio Suite | $169/user/month = $4,056/year for 2 partners | US-focused, no Italian language UI for clients, billing module felt heavy |
| MyCase Pro | $79/user/month = $1,896/year | Same US-leaning UX issues; document collection module weaker than they wanted |
| ClientNest365 | €75 one-off for 25 client slots, no per-user fee | Per-matter, not per-user pricing. Italian-language compatible (UI is English; their client-facing copy is bilingual). Document classification was the deciding feature. |
Giulia ran the math:
- Marchetti opens ~35 new matters/year. A €75 (25-slot) pack plus a €35 (10-slot) pack would cover them.
- Total Year 1 cost: €110 + €10 branding pack + €20 custom domain (
portal.marchetti.legal) = €140 - Versus Clio Suite at $4,056/year (€3,840) or MyCase Pro at $1,896/year (€1,795)
The branding decision mattered. Marchetti's clients are mid-market Italian companies; the portal needed to feel like Marchetti's portal, not a US legaltech product. The €10 branding pack and €20 custom domain gave them that.
They purchased ClientNest365 in late July 2025 and rolled it out matter by matter starting August. Existing retainer clients were migrated by October. New matters from August onwards went into the portal natively.
The workspace overview
The first screen Giulia sees after morning login is the workspace overview. It collapses every open matter into four numbers and a live activity feed.

For a 2-partner firm with 35-40 matters a year, the four cards across the top map directly to partner attention:
- Active matters is the slot-pack consumption ("2 / 25 slots" in the demo screenshot, ~22-28 in real life depending on month).
- Pending approvals is the most-watched number after the 2025 fee dispute. Every strategy memo, every draft contract, every settlement term that's waiting on client sign-off counts here.
- Unread messages is the inbound question count from clients across all matters.
- Outstanding is the live receivables snapshot. This was €61K average in 2025; it's €14K average now (more on that below).
The activity feed underneath is what replaced Sofia's manual matter-tracking spreadsheet. Every portal open, file upload, approval decision, and invoice payment lands here in real time, newest first. Each row links straight into the matter.
The matters list
The matters list (called "Clients" in the UI but each row is a matter for Marchetti's per-matter portal pattern) is the rolodex. Two fields plus one click to send a magic-link invite.

Marchetti's naming convention puts the matter name into the slug so partners can scan: "Trasporto Veloce, Distribution France 2026", "Marni Industries, Employment dispute 2026", etc.
Setting up the workspace
Giulia ran the configurator with Sofia present:
- What service do you sell?
- "Commercial law, corporate transactions, and employment advisory in Italy"
- Who is your typical client?
- "Mid-market Italian companies, founders of SMEs, senior executives in employment disputes"
- What deliverables do you share?
- "Engagement letters, draft contracts, M&A documentation, strategy memos, court filings, invoices"
- What approvals do you need?
- "Engagement letter at start, strategy memo before each major decision, settlement terms, final contract before signing"
The AI configurator returned a portal scaffold tuned for legal: folder structure with sections for Engagement, Discovery, Strategy, Documents, Filings, Invoices. Six message templates including "Confidential strategy update" and "Filing deadline approaching." An FAQ block addressing the Italian-specific questions about VAT on legal fees, escrow accounts, and confidentiality.
Sofia spent an afternoon editing the templates: she rewrote the welcome message in formal Italian register, removed two folders they wouldn't use, and added one folder for VAT-related documentation ("Documentazione fiscale").
The legal-specific configuration:
- One portal per matter, not per client. A client with three active matters gets three portals. This was the most important design decision. Matter scoping prevents accidental cross-disclosure and matches how the firm bills.
- Custom domain (
portal.marchetti.legal) so the URL clients click looks like the firm's, not a third-party SaaS. - Per-client branding with Marchetti's wordmark, deep navy accent, and the firm's serif typography.
- Outbound webhooks to a private Slack workspace (just the two partners + Sofia) for
invoice.paid,approval.decided, andfile.uploadedevents. - AI concierge disabled by default per matter, enabled selectively. Clients with sensitive disputes get a no-AI portal; routine commercial-contract clients get the concierge enabled.
A typical commercial matter, end to end
Here's how a new commercial contract engagement runs inside the portal. This is the actual sequence Marchetti uses now.
Day 0: intake call
Giulia takes the call. A logistics startup, "Trasporto Veloce", needs help structuring a supplier contract with a new EU partner. After a 25-minute scoping call, Giulia opens her workspace and creates the matter.
She picks "create new matter" in the sidebar, types:
- Client: Trasporto Veloce SRL
- Matter: Distribution agreement, France 2026
- Primary contact: Andrea Russo (CEO)
- Estimated value: €6,500 (4-week scope)
She ticks "send the magic-link invite now." Andrea gets an email from noreply@marchetti.legal (Resend, with Marchetti's domain authenticated via SPF/DKIM/DMARC). Subject: "Marchetti Avvocati: portale del nuovo incarico." Body in Italian, signed by Giulia.
Andrea clicks the link. He lands at portal.marchetti.legal in a portal branded with Marchetti's deep navy and serif typography. The header reads "Marchetti Avvocati · Trasporto Veloce · Distribution agreement". The welcome message confirms the matter scope and the next steps.
This is what Andrea sees on first open:

The four stat cards mirror the agency-side cards but framed from Andrea's perspective. "Pending approvals" tells him what's waiting on his decision. "Files requested" tells him what to upload. The activity feed below is the running record of the matter.
The privacy reassurance card at the bottom matters in a legal context. Andrea's first reaction is "who else can see this?" The card answers it before he asks: only Marchetti Avvocati team members can see this portal. No third-party advertising. No data resale.
Day 1: engagement letter
Sofia generates the engagement letter in the firm's letterhead template (Word doc), exports to PDF, uploads to the portal Documents folder. The agency-side files view shows the file the moment it lands:

She creates an approval request. From the firm's side, the approvals view lists every pending decision across every matter:

Each card shows the matter, the title, when it was sent, when it's due, and the mode (any reviewer, specific reviewer, all reviewers). The New approval button in the top right opens a builder for the subject, body, attached files, and due date. Sending the engagement-letter approval takes Sofia about 90 seconds.
From Andrea's side, the same approval appears in his portal:

The approval body in Italian:
Subject: Lettera di incarico, Distribution agreement Francia Body: Andrea, in allegato la lettera di incarico per l'attività. Stimiamo 4 settimane di lavoro, fatturazione a fine mensile. Cliccare "Approva" per accettare l'incarico.
Andrea opens the portal, reads the PDF in-browser (PDF preview built in), and clicks Approva. The approval is logged with:
- Timestamp: 2026-08-12 14:23:07 CET
- IP address: 87.10.45.221
- Session ID: HMAC-signed cookie value
- Approver display name: Andrea Russo
This is the audit trail that didn't exist in the firm's previous email-based workflow. If a future fee dispute ever happens, the approval is provably real and provably from Andrea's session.
Day 2: KYC + document collection
Sofia creates a file request in the portal:
Required for engagement (Italian KYC obligations under D.Lgs. 231/2007):
- Visura camerale (company registration) of Trasporto Veloce
- Power of attorney for Andrea Russo
- Beneficial ownership declaration
- Tax code (codice fiscale) for the company
- The current draft supplier contract from your French partner
Each request appears as a card in Andrea's portal with a deadline (day 5). Andrea uploads the documents over the next 48 hours through the portal's Files panel:

ClientNest365's classifier runs on each upload. Filename heuristics catch the obvious cases (visura-trasporto-veloce.pdf is classified as a corporate registration document). Ambiguous filenames go to Claude Haiku via Kie.ai, which returns categories: "corporate registration", "POA", "beneficial ownership statement", "tax registration", "contract draft". Files land in the right sub-folders automatically.
The supplier contract draft from the French partner gets classified as "contract draft" and lands in Documents → Contracts → Drafts. Giulia opens it in the portal, marks it for review.
Days 3-12: contract analysis + strategy
Giulia does the work outside the portal: she analyzes the draft contract in Word, marks up issues, identifies risk points. Sofia drafts a strategy memo summarizing the analysis.
The memo is uploaded as an approval request:
Subject: Memoria strategica, contratto distribuzione Francia Body: Andrea, in allegato la nostra analisi del contratto francese. Punti chiave da concordare con voi prima di proseguire: (1) clausola di esclusività territoriale (pag. 4), (2) penali per ritardo consegne (pag. 7), (3) giurisdizione e diritto applicabile (pag. 12). Cliccare "Approva" per confermare la strategia oppure "Richiedi modifiche" con i Vostri commenti.
Andrea reads the memo, comments on point 2 (he wants softer penalties), and clicks Richiedi modifiche. The approval is logged with his comment. Giulia revises, uploads V2, Andrea approves.
The audit trail records the full deliberation: V1 strategy → Andrea's comment → V2 → Andrea's approval. If anyone ever questions the basis for the firm's recommendations, the trail is complete.
Days 13-21: negotiation + final draft
Giulia negotiates with the French counterparty over email and a phone call, finalizes contract terms, uploads the final negotiated draft as an approval request:
Subject: Contratto finale per firma Body: Andrea, la versione finale del contratto, negoziato e accettato da entrambe le parti. Cliccare "Approva" per autorizzare la firma da parte Vostra.
Andrea approves. Giulia signs on behalf of the firm via the portal's e-signature; Andrea signs separately for Trasporto Veloce. The signed PDF lands in the Documents → Signed Contracts folder.
Messages during the matter
Most negotiation happens through the portal messages view, scoped per matter. The firm sees every active thread aggregated:

Andrea, on his side, only sees the thread for his own matter:

Real-time: when Giulia types a reply, Andrea sees a typing indicator. When the message lands, his portal updates without refresh. Both sides have read receipts. This replaced six different email threads that previously crossed Giulia's inbox, Sofia's inbox, and Andrea's company email.
Day 22: invoice
Sofia generates the invoice from the workspace:
- Line items: hours worked broken down by date (Sofia pulled them from Marchetti's time-tracking spreadsheet, no integration yet)
- Subtotal: €6,500
- VAT (22%): €1,430
- Total: €7,930
The invoice posts to the portal. Andrea gets an email pointing to it.
The agency-side invoices view shows the full receivables ledger:

The three cards at the top (Outstanding, Paid, Drafts) are the cashflow snapshot Sofia checks each morning. The list below is filterable (All, Drafts, Sent, Viewed, Paid, Overdue).
Andrea sees the invoice from his side of the portal:

The invoice card shows the breakdown, the total, and a Pay invoice button.
Days 23-31: payment
Andrea pays via the portal's payment-provider link (Marchetti's chosen provider, MockProvider in the dev environment, real provider configured for production). The webhook fires invoice.paid to the Marchetti Slack channel.
The invoice marks itself paid. Sofia sees the status change. The matter closes.
Total time from engagement letter to paid invoice: 31 days. Of which the work itself took ~20 days; the rest is approval cycles and payment processing.
Compared with Marchetti's pre-portal cadence: same matter would have taken 40-50 days end to end, with ~38 days from invoice to payment. The portal-based payment cycle is now 9 days from invoice to paid (Italian SMEs paying within their standard cycle, but no chasing required).
Deadline tracking, per matter
Italian commercial-contract matters and employment disputes both have hard-stop dates: 30 days to respond to a court filing, statutory deadlines for filing an appeal, 6-month limitation periods on certain claims. The deadlines view replaces Sofia's spreadsheet:

Each deadline fires three reminder bands (14 days, 7 days, 1 day) into the client's portal as well as the firm's activity feed. Critical for employment-tribunal work where missing a statutory date kills the case.
Workspace settings, branding, and integrations
Branding, integrations, webhook endpoints, and team permissions live in one place.

Marchetti configured:
- Custom domain
portal.marchetti.legal(€20 one-off), so the magic-link emails land from the firm's own subdomain and the URL clients click isportal.marchetti.legal/c/<matter-slug>. - Branding pack (€10 one-off) for navy accent, firm wordmark, serif typography.
- Webhook endpoints for
invoice.paid→ private Slack channel (partners + Sofia),approval.decided→ same channel,file.uploaded→ backup script that copies files to the firm's encrypted onsite NAS for archive. - Team access with roles: Giulia and Lorenzo as partners (full access), Sofia as paralegal (full access except billing settings), Marco the bookkeeper as billing-only.
The pricing details
Marchetti's annual ClientNest365 spend:
- Year 1 setup: €75 (25 slots) + €35 (10 slots, top-up Q4) + €10 branding + €20 custom domain = €140
- Year 2 ongoing: €75 × 2 (two 25-slot refills) = €150/year
The billing view shows every purchase, the slot inventory, and the storage inventory in one place:

Compared with the alternatives at the same matter volume:
| Tool | Annual cost for 2 partners + 1 paralegal |
|---|---|
| Clio Suite | $4,056 (€3,840) |
| MyCase Pro | $1,896 (€1,795) |
| ClientNest365 | €140 year 1 / €150 year 2 |
Saving versus Clio: €3,700/year. Saving versus MyCase: €1,655/year.
Giulia's note in the Q1 2026 partner review:
"We considered Clio for six months in 2025. The blocker was always the per-seat math, plus the US-leaning UX. ClientNest365 priced per matter, gave us a custom domain, and let us brand the portal in our serif typography. The deciding feature wasn't price; it was that the portal felt like our portal."
The outcome
Marchetti's January 2027 internal review tracked these changes:
- Average payment cycle, invoice to paid: 9 days (down from 38 days in 2025)
- Working capital tied up in receivables: €14K average (down from €61K)
- Fee disputes: 0 (was 1 with €4,200 loss in 2025)
- Partner admin time (filing, chasing, re-uploading): 2 hours/week per partner (down from 8 hours/week per partner in 2025)
- Sofia's document collection time per matter: 45 minutes (down from 3-4 hours)
- Matters opened in 2026: 38 (was 34 in 2025), partly because saved admin time enabled accepting 4 more matters
Lorenzo's note:
"The fee dispute in 2025 changed how I think about audit trails. The portal records every approval with timestamp and session. That's not just a quality-of-life thing. That's malpractice insurance."
What changed about the firm's posture
The unexpected outcome was a shift in client perception. Marchetti's clients are mid-market Italian companies. Their previous client-facing tools (email, DocuSign) felt utilitarian. The branded portal at portal.marchetti.legal signaled investment in the relationship.
Two new referrals in 2026 came from clients who specifically mentioned the portal as a differentiator when their colleagues asked for a Milan commercial firm recommendation. Andrea Russo (the Trasporto Veloce CEO from the walkthrough above) brought his board chair as a new client in Q4 2026.
The firm's branding pack and custom domain (€30 one-time, total) became one of the highest-ROI line items in the practice.
What this would look like in a competitor tool
If you've used Clio, MyCase, PracticePanther, or Smokeball and want to map ClientNest365:
- Clio's matter management is similar to ClientNest365's per-matter portal model, but Clio bills per user. ClientNest365 bills per matter (slot), which fits smaller firms better.
- Clio's document automation is more powerful than ClientNest365's; if you generate hundreds of similar contracts from templates, Clio's HotDocs integration is hard to beat. ClientNest365 is document collection-focused, not document generation-focused.
- MyCase's billing module is more mature than ClientNest365's. If you have complex hourly billing rules, multi-currency retainer accounts, or trust accounting, MyCase wins. ClientNest365's invoicing is straightforward line-items + VAT.
- Clio Grow for intake forms has no direct ClientNest365 equivalent. You'd use a separate intake form (Typeform, Tally) and create the matter manually.
- PracticePanther's calendar has no ClientNest365 equivalent. Use Calendly or Cal.com via a link in the portal.
- AI document classification is a strong ClientNest365 win for legal: receipts, statements, returns, and contracts all classify with about 96% accuracy on filename heuristics, ambiguous cases hand off to Claude Haiku.
- Approval audit log matches the e-signature audit trails in most legal SaaS but works for any approval, not just signatures. Strategy memos, draft contracts, settlement terms, all approvable with timestamp + IP + actor.
The honest fit: ClientNest365 is for boutique firms (1-10 partners) with 20-200 matters/year who care more about client experience than internal practice management depth. If you're a 30-lawyer firm running thousands of matters, Clio Suite is probably right. If you're Marchetti's size, ClientNest365 wins on price, branding, and time-to-value.
Try the same setup
Open a workspace for €15. The configurator picks the legal profile when you mention "commercial law", "advisory", or "matter" in your service description. The custom domain add-on (€20 one-off) and branding pack (€10 one-off) live in your workspace Settings → Branding.
The for law firms page covers the matter-based portal pattern in more depth, including the audit trail design and multi-jurisdiction deadline tracking (for firms with cross-border work).
If you want to talk through a migration from Clio or MyCase, the contact page has direct lines to the team.