Let Clients See Their Own Invoices: The Miru Client Portal
How the Miru client portal works: secure token links, no login required, self-service invoice access, and fewer 'can you resend that?' emails.
The email arrives on a Tuesday morning: “Hey, can you resend the January invoice?” You dig through your sent folder, find the PDF, reattach it, and send it again. Fifteen minutes gone. This happens every month with at least one client. Sometimes three.
The client isn’t being difficult. They lost the email. Or their accounts payable team needs a copy. Or they’re reconciling their books and the PDF is buried in a thread with 40 replies. The problem isn’t the client. The problem is that email is a terrible document management system.
How the Client Portal Works

When you send an invoice through Miru, the client receives a link. Not a PDF attachment — a link to a hosted invoice page. The page shows the invoice exactly as you designed it: line items, totals, payment terms, your branding.
The client can view the invoice, download a PDF, and pay directly through Stripe. All from one page. No login required.
This is the key: no login required. Your client doesn’t need to create an account. They don’t need to remember a password. They don’t need to install anything. They click a link, they see their invoice, they pay it.
Secure Token Links
Each invoice link contains a unique, cryptographically random token. It’s not guessable. It’s not sequential. It’s not the invoice number with some base64 encoding sprinkled on top. It’s a proper random token that expires after the invoice is paid or after a configurable time period.
The URL looks something like: https://app.miru.so/invoices/view/a8f3e7b2c1d9...
You can share it over email, Slack, text, or carrier pigeon. Anyone with the link can view that specific invoice. They can’t see other invoices. They can’t access your account. They can’t modify anything. View and pay. That’s it.
If you need to revoke access, you regenerate the token. The old link stops working immediately.
What Clients Actually See
The client portal shows:
- Invoice details — line items, quantities, rates, subtotals, tax, and total
- Payment status — unpaid, partially paid, or paid in full
- Pay button — one-click Stripe payment (credit card or bank transfer, depending on your Stripe setup)
- PDF download — for their records, their accountant, or their accounts payable process
- Your branding — your logo, colors, and business details
The page is clean, mobile-friendly, and fast. It loads in under a second. There’s no Miru branding competing with yours. The client sees your invoice, not your tools.
Fewer Emails, Faster Payments
The client portal solves two problems simultaneously.
First, it eliminates the “can you resend that invoice?” email. The link is always valid (until you revoke it). The client can bookmark it, forward it to their AP team, or access it from any device. The invoice is always there.
Second, it shortens the payment cycle. When the pay button is right there on the invoice page, the friction between “I should pay this” and “I paid this” drops to near zero. We’ve seen teams report payment cycles shortening by 2-5 days after switching to portal links instead of PDF attachments.
Setting It Up
There’s nothing to set up. When you send an invoice through Miru, the client portal link is included automatically. If you’re using Stripe for payments, the pay button appears automatically. If you’ve uploaded your logo and set your brand colors, the portal reflects them automatically.
The whole point is that it works without configuration. Send an invoice. The client gets a link. The link works. They pay. You get paid. Nobody emails anyone asking for a PDF.
That’s how invoicing should work.
Vipul A M
Co-founder at Saeloun. Building Miru. Rails contributor. Shipping from Pune, India.
Read next
How to Bill Clients Without Losing Your Mind
A practical guide to client billing for agencies: time tracking, invoicing, expense management, and getting paid on time.
The Freelancer's No-BS Guide to Getting Paid
Track your hours, send professional invoices, and get paid without chasing. A practical guide for freelancers who'd rather do the work.
Self-Hosting Miru: A Complete Guide for Teams That Own Their Data
Step-by-step guide to deploying Miru on your own infrastructure. Docker, bare metal, or cloud -- your servers, your rules.
The article is the theory. Miru is the workflow.
If this post is about better billing, cleaner tracking, or fewer tools, Miru is the product version of that argument.