Saas Dash
Architecture

Financial App Boundaries

How to separate financial apps from shared payment infrastructure

Core decision

Financial apps can share the same payment infrastructure without sharing the same app boundary.

Payment execution is shared infrastructure. Business workflow is the app boundary.

Shared payment infrastructure

These belong to shared platform services:

  • checkout session creation
  • payment records
  • provider adapters
  • refunds
  • saved methods
  • webhook processing
  • payout/provider abstractions
  • tenant billing and commission logic

These should not become top-level business apps.

Financial app examples

Shop

shop is a commerce app.

It owns:

  • sales workflow
  • product and order lifecycle
  • fulfillment workflow
  • commerce reporting

It uses shared payments, but it is not the payment app.

Giving

giving is a separate top-level app.

It owns:

  • donor-facing intents
  • campaigns, funds, or causes
  • giving messages and donation context
  • donor-specific reporting and recurring giving journeys

It also uses shared payments, but it should not be collapsed into shop or into a generic payment app.

Subscriptions

Subscriptions must be split by meaning.

  • tenant SaaS subscription billing belongs to the platform
  • recurring commerce belongs under shop
  • memberships or access subscriptions can justify a separate app if they become a broader business workflow

A future subscriptions app is acceptable if it becomes a workspace-facing management surface that aggregates recurring agreements from multiple sources.

That app should be a read and operator surface, not the owner of every recurring rule in the system.

Service billing / accounts receivable

A WHMCS-style recurring service billing surface can justify its own app if it owns:

  • service invoices
  • quotes
  • contract billing
  • receivables workflow
  • service renewals

It still uses the same shared payment infrastructure.

Wallet / credits

Wallet or stored-value functionality only becomes a separate app if customer balances, credit usage, and ledger workflow become a primary product surface.

Otherwise it should stay a shared service or extension.

Outcome

Use this rule consistently:

  • payment infrastructure is shared
  • financial workflow defines app boundary
  • plans entitle apps, not raw payment components

On this page