Skip to Content
Software as a Service

Build the product while the billing, the books, the logins, the support and the email behind it come set up and connected.

A software company's back office grows by accident: card payments in one place, the books in another, five logins per person, support in a shared inbox and a mailing list nobody trusts. We set up what sits around the product so it fits together: Stripe subscriptions landing in the accounting, single sign-on for staff and customers, team and support chat, transactional and marketing email, a customer portal, usage metered into billing, onboarding that runs automatically and a board that watches the whole thing. The tools are named on this page, because for a software company the tools are the point.

  • Stripe payouts reconciled in the books automatically
  • One login for staff and customers
  • Support in the chat the team already uses
Stripe sync

Every Stripe customer, subscription, invoice and payout lands in the accounting, so month end stops being an export.

Stripe is where the product charges the card, the books are somewhere else, and at month end someone exports the payouts and tries to make them agree. Connected, every Stripe customer is a contact, every subscription a recurring order, every Stripe invoice a posted invoice, and every payout a bank line reconciled against the fees and the invoices it paid. Revenue by plan, churn and the deferred balance come from the accounting rather than from a spreadsheet beside it.

  • Customers, subscriptions, invoices and payouts flowing into the accounting automatically
  • Fees and refunds reconciled line by line
  • Revenue by plan and the deferred balance from the books
  • Upgrades, downgrades and cancellations recorded as they happen
Stripe customers, subscriptions, invoices and payouts synced into the accounting
Single sign-on

Give your staff one account for everything and your customers the sign-in their company already uses.

Five logins per person means five places to remove a leaver and five password resets a week. Authentik is the identity provider we set up: staff sign in to the product, the back office, the chat and the dashboards with one account, with two-factor and groups that decide who sees what, and a leaver is removed in one place. Customers sign in to the portal with the same provider, or through the Microsoft Entra ID or Google sign-in their company already has, so the enterprise customer's security questionnaire gets a short answer.

  • Authentik for the staff: one account, two-factor, groups
  • Microsoft Entra ID or Google sign-in for the customers who have it
  • Access removed in one place when someone leaves
  • The same login on the product, the portal and the back office
Team and support chat

Customer questions reach the engineer who can fix them, in the chat the team already lives in.

Support in a separate inbox means the engineer who could fix the problem never sees it. Mattermost is the team chat, on your own server, with the engineering channels and the support channels in one place. A customer's message from the portal or the website chat lands in a support channel with the customer's record attached; the paid invoice, the failed deployment and the new signup post themselves; and threads become tickets when they need to, with the history searchable for as long as you keep it.

  • Support channels beside the engineering channels
  • The customer record attached to the conversation
  • Signups, payments and alerts posting themselves
  • On your own server, with the history yours to keep
A support channel in Mattermost with a customer conversation
Email

When the receipt and the newsletter share one sender, the marketing mail inherits the reputation the receipts earned.

Transactional mail from one provider and marketing mail from another means two reputations, two address books and a newsletter that lands in spam. Plunk sends both: the signup confirmation, the receipt, the password reset and the usage warning, as well as the onboarding series, the release notes and the upgrade offer, from your domain, open source and on your own server, with every event written back to the contact. The product calls one API, the marketing team uses one editor, and the sending reputation is yours.

  • Transactional and marketing mail from one sender and one reputation
  • Opens, clicks and bounces on the customer record
  • Onboarding series triggered by what the customer did
  • Your domain, your server, your list
A campaign and its events in Plunk
Onboarding and monitoring

A signup provisions itself, a trial expires on time and a failed payment reaches the chat before the customer writes in.

The jobs around a product are small, many and easy to forget: provision the new account, send the onboarding series, expire the trial, retry the card, import the customer's data, roll up usage for the invoice. Each one is a script in Windmill with a schedule, a retry and a log, written in the language it suits and synced to your repository, so the run that failed last night is opened rather than guessed at. Grafana watches the result: signups, active accounts, failed payments, error rates and queue depth on one board, with an alert to the team chat the moment a number crosses the line, and the same board watches the servers the product runs on.

  • Provisioning, trials, retries and usage roll-ups as scheduled jobs with a log
  • Windmill for the jobs, synced to your repository with one-click rollback
  • Grafana for signups, failed payments, errors and queues on one board
  • An alert to the chat before a customer notices

The rest of the back office

What else we set up around the product, and what it does for you.

Customer portal

Their subscription, their invoices, their usage and their support requests on one page, behind the single sign-on and branded as the product.

Usage metering and billing

The product reports what each account used, the invoice carries the overage or the tier change, Stripe charges it and the books record it.

Onboarding automations

Workflows between the signup, the chat, the mail and the records, and scheduled jobs for provisioning, expiring trials and data imports, written in real code where they need it.

Product analytics

Which features accounts use, where trials stall and which signups convert, with the sessions behind a drop-off recorded, on your own server.

Accounting behind the product

Real double-entry accounting with the Stripe feed, the bank feed and the supplier bills, so the revenue number investors ask for is the one the accountant signs.

Secrets and access

Passwords, keys and certificates in a vault with access by group, and staff onboarded and offboarded through the identity provider.

Schedule a demo

Schedule a demo.

Tell us a little about your business and what you would like to see. We walk you through how this would work for a company like yours, at a time that suits you. The first conversation is free.

Or email hello@adomisoftware.com.

You build the product, and everything behind it comes set up and connected.