Skip to content
Dazlab
Building SaaS for Interior Designers vs Agencies: What Changes — illustration
Product Building

Building SaaS for Interior Designers vs Agencies⁠: What Changes

Agencies and interior designers have the same four problems on paper: billing clients, getting approvals, sharing progress through a client portal, and knowing what a project really costs. In practice those problems take completely different shapes, because an agency sells time and an interior designer sells things. We build a product for each, Handl for agencies and Mortar for interior designers, and almost every feature has had to be built twice, differently.

Why we build two products instead of one

From a distance, Handl and Mortar look like they could be the same app. Both have projects, clients, invoices, a client portal and an AI assistant. A generic tool would put them on one screen with a settings toggle.

That view falls apart the moment you look at a real project. An agency's cost is the team's hours. An interior designer's cost is a sofa, a few square metres of tile and a light fitting with a long lead time. Everything downstream of that difference (how you bill, what the client approves, what the portal shows, where the margin comes from) changes shape.

That's the core argument for vertical SaaS over horizontal tools. Here's what it looks like from the inside.

Side by side

ProblemAgencies (Handl)Interior designers (Mortar)
Where cost comes fromTeam hours, from timesheets and project toolsProducts, from suppliers and retailers
How billing worksFixed price, time and materials, retainers, milestone payment schedulesDeposit up front, balance billed against what's approved, ordered or received
What the client approvesThe quote, the project, sometimes the invoiceIndividual selections, options for the same spot, mood boards
What the portal showsProgress, invoices, the work behind each invoiceSelections, boards, approvals, comments on items
What goes wrongScope creep, unbilled hours, late paymentLate orders, double orders, budget drift

Billing: time versus things

Agencies bill for time, in four different ways

Agencies don't get paid one way. There's the fixed-price project with a deposit and a final payment, the monthly retainer, the time and materials client billed on a schedule, and the one-off invoice for something that came up mid-week.

In Handl, those all run on one billing engine. Every project has a billing plan, and payments can trigger on a date, when a milestone starts, when it completes, when the project starts, or manually. Retainers carry included hours: go over and the overage lands on the next invoice, come in under and the agency chooses whether leftover hours do nothing, carry over up to a cap, or become a credit.

We also learned to keep two plans apart. How an agency gets paid and how it does the work are different shapes. Five milestones of work might map to three payments. Forcing them into one list means one of them ends up being a bit of a fiction.

Designers bill for things, against a deposit

Interior designers bill differently. There's a deposit up front, then things get ordered, arrive and get installed, and the balance is billed against all of that.

So Mortar's invoicing starts from procurement. Every item shows its billing status. A designer selects a room's approved items, or everything that's been received, and generates an invoice in two clicks. Mortar won't bill the same item twice. A paid deposit gets applied to the balance invoice as a credit line, with the tax handled.

Generic invoicing tools assume one invoice for one job. That's why so many designers end up running billing in a spreadsheet next to their project tool and hoping the two agree.

Client approvals: the project versus the selection

For agencies, approval happens at the start

In agency work, the big approval is up front. The client accepts a quote, the quote becomes milestones, and the project is approved on a branded page, optionally with a card saved for auto-pay.

That's where scope creep is won or lost. When we spent time reading agency owners talk about billing in forums, scope creep is what kept coming up. A vague agreement at the start is a fight at the end, so Handl puts the agreement in writing before any hours are logged.

Later approvals are lighter. Anyone with portal access can mark an invoice approved, and a client can ask a question about a specific line. But approval is a label, not a gate: the person in accounts can still pay while the project manager is on leave.

For designers, approval happens item by item

Interior design is the opposite. The approvals keep coming for the whole project: this tile, that lamp, which of these three sofas.

So Mortar's approvals live on the item. Clients approve straight from a shared mood board. Comment threads sit on each item, so the conversation about a selection stays with the selection, not in a text message. When a designer shows two or three alternatives for the same spot, the portal shows them as "choose one". The client's pick is advisory, though. It never moves the budget on its own. The designer confirms it.

That last detail is the kind of thing you only get right when you build for one industry. A client choosing between options and a designer committing to a budget are two different acts, and a generic "approve" button flattens them into one.

Client portals: showing the work versus showing the room

Both products have a client portal. They show very different things.

Handl's portal is about progress and money. Clients see their projects, milestones, invoices and payment options. Each invoice carries a snapshot of the work behind it (hours, tasks, who did what), captured when it's sent so it never changes afterwards. New client-facing tabs like Tasks and Time start switched off, because every agency shares differently and nobody should find out about a new view from their client. Rates, costs and team names never show.

Mortar's portal is about the room. Clients see selections, boards and approvals, react to items and comment on them. Board PDFs in the portal respect what the designer has chosen to share, including prices and suppliers. Emails carry the designer as the reply-to address, so when a client hits reply it lands with the designer.

The shared principle is the same: the professional decides what the client sees. The things worth hiding are different. Agencies protect cost rates and who's on the team. Designers protect trade prices and supplier details.

Both products also hide margin from the professional's own staff. Handl has a per-member toggle for seeing cost rates. Mortar's team roles keep trade cost, markup and margin out of view for members. Different industries, same instinct.

Procurement versus time tracking

This is the biggest difference, and the one generic tools handle worst.

Agencies: the cost is the hours

For an agency, the hard part is knowing what a project cost. The hours live in Jira, Linear, Harvest, Toggl or wherever the team logs time. So Handl connects to those tools, pulls the hours in, applies each person's cost rate, and shows the margin as the work happens. Allocate people to a milestone on the roadmap, and the margin chip goes green, amber or red against the agency's own threshold. Non-time costs, like a contractor's bill, go on a cost ledger so labour plus expenses is the real number.

Designers: the cost is the order

For a designer, the hard part is getting things ordered in time. Interior design projects don't usually go wrong on the design. They go wrong because something with a long lead time wasn't ordered early enough.

So Mortar's equivalent of time tracking is procurement. Each item carries a cost price and a client price with the studio's markup. It has a procurement schedule (ordered, lead time, expected delivery, received), and Mortar works backwards from the build start to give each item an order-by date. Supplier quotes forwarded to a project's private address get read into lines for the designer to review. Purchase orders go to suppliers, with a guard against ordering the same item twice.

A tool that tracks hours can't do this, and a tool that tracks orders can't do the agency version. That's not a missing feature. It's a different product.

What travels between them

Building both isn't twice the work from scratch. Some ideas travel.

The clearest example happened by accident. In the same weekend in August 2026, Handl and Mortar both shipped client statements: one place that says "here's everything this client owes you", with a clean way to send it. Nobody planned it. Two very different customers needed the same thing.

Other things carry across too: the rule that anything emailing a client is opt-in, AI connectors that start read-only, and sent invoices that stay exactly as the client received them. We write those down in how we build so each product benefits from what the other learned.

The good ideas travel. The screens don't.

Why generic tools fight both

A general project tool plus a general invoicing tool covers some of each industry. In our experience that's where the pain lives.

  • The plan and the budget live in different places. Someone pushes a milestone or adds a senior developer, and nobody sees what it did to the margin until the project's nearly over.
  • Billing assumes one shape. One invoice per job doesn't fit a designer's deposit-and-balance, or an agency's retainer with rollover hours.
  • Approvals are a single button. It can't tell the difference between a client approving a quote, picking between three sofas, or signing off an invoice for accounts to pay.
  • The portal shows too much or too little. Without industry-specific defaults, every business has to configure what's safe to share, and most don't.

That's what vertical SaaS actually means in practice. Not a generic tool with an industry logo, but different answers to the same questions.

You can see each product in more detail on the Handl and Mortar pages.

FAQ

What's the main difference between software for agencies and for interior designers?

Agencies sell time, so their software has to track hours and turn them into margin and invoices. Interior designers sell products, so their software has to track orders, lead times, supplier quotes and markup. The same problems, like billing and approvals, change shape because of that.

Can one tool serve both agencies and interior designers?

It can cover the basics, but it ends up fighting both. Billing, approvals and the client portal all work differently in each industry, and a generic tool makes each business configure around the gaps.

Do Handl and Mortar share any code or features?

They share ideas more than screens. Both have client statements, opt-in client emails, read-only AI connectors and invoices that stay fixed once sent. The way each feature works is built for its own industry.

How do interior designers bill clients differently from agencies?

Designers usually take a deposit up front and bill the balance against items as they're approved, ordered or received. Agencies bill fixed-price milestones, time and materials, or retainers with included hours.

If you're planning software for a specific industry and want a studio that has built for more than one, here's how we work.

Let’s Work Together

Dazlab is a Product Studio

Our products come first. Consulting comes second. Whichever path you take, you’ll see how a small team can deliver outsized results.