Most agencies and SMBs that build a client-facing app inside ViibeStack didn't plan to sell it. It started as a way to save your own team time -- a portal so clients could check order status, submit requests, or track a project without emailing you. Then a client asked if their competitor could use it too, or a prospect asked what your "client portal" costs as a separate line item. That's the moment an internal tool becomes a product decision. The good news: the same builder that let you spin up a customer self-service portal or a tenant maintenance request tracker also gives you the pieces to price, gate, and bill for it without hiring an engineering team.
There are really three ways to sell an internal tool to your clients, and each has a different implication for how you build the app itself.
The first is a flat add-on: clients pay a fixed monthly fee to unlock the portal or dashboard, full stop. This is the simplest to explain and the easiest to bill, and it works well when usage doesn't vary much between clients -- a maintenance tracker for a 20-unit landlord and a 200-unit landlord probably cost you about the same to run. The second is a usage-tiered model: a base fee that includes a set number of seats, submissions, or records, with overage charged past that. This fits tools where usage really does scale with client size, like an order and inventory tracker or a returns tracker that sees more volume from bigger accounts. The third is bundling it into an existing retainer as a premium tier -- clients on your top service plan get the portal free, everyone else pays extra to add it. Agencies already running time tracking and billing through ViibeStack often find this third model the easiest sell, since it's framed as an upgrade rather than a new bill.
Before you set any limit, figure out what actually strains your system or your team's time -- because that's the only thing worth metering. If the app is mostly read-only (a status page, a report viewer), usage limits barely matter and you should just charge flat. If clients are creating records, uploading files, or triggering workflows that hit integrations, that's where real limits belong: number of active users, number of submissions per month, storage, or number of automated workflow runs. ViibeStack's workflow automation and analytics & reporting modules make it straightforward to see which clients are actually driving load, so pull that data before you draw tier lines instead of guessing. Set limits generous enough that a normal client never hits them -- the goal is a natural upgrade trigger for your biggest accounts, not a penalty box for your average one.
White-labeling requests usually come in two flavors, and they're not the same amount of work. Light white-labeling -- your client's logo, colors, and a custom domain or subdomain on their portal -- is table stakes for anything you're charging money for, and it's the part clients notice first. Most agencies can offer this as included in the paid tier without much extra setup. Full white-labeling -- where the client can't tell it's built on ViibeStack at all, resells it under their own brand, or gives it to their own customers -- is a different commitment and should be priced like one. That's less "add-on" and more "we're now your software vendor," and it deserves its own contract terms, not just a pricing row. If you're an agency considering that path at scale, it's worth reading how ViibeStack for Agencies frames multi-client builds before you commit to reselling under someone else's name for a dozen accounts.
The fastest way to kill a new revenue line is to spend more time chasing invoices for it than you earn from it. Don't build a separate billing system for this add-on. If you're already tracking client work in ViibeStack, connect the paid tier to the same Finance & Billing setup you use for everything else -- one invoice, one line item, one place clients look. For agencies that already send proposals or retainers through ViibeStack, this is the same logic covered in pricing a client proposal generator: the tool and the billing for the tool should live in the same system, not two. Avoid annual contracts for a brand-new add-on until you've had a few months of real usage data -- month-to-month lets you adjust tier limits without renegotiating anything, and it lowers the risk for a client trying the feature for the first time.
The temptation is to build the full-featured, multi-tenant, fully white-labeled version before you charge anyone a dollar. Don't. Launch the flat-fee version with your logo swap and basic usage limits to two or three willing clients first, watch what they actually use, and let that usage data set your real tiers. Most of the tools worth turning into a paid add-on -- portals, trackers, intake forms like the multi-step client intake form -- started as one internal build before anyone thought to charge for them. Pricing them well is less about picking the perfect number up front and more about not over-engineering the packaging before you know what your clients will actually pay for.