Brown Box Software

SMRP Self Service On-boarding

White-Label Partner Onboarding Guide

Overview

This guide takes you from a new white-label account to a branded platform on your own domain, where clients can sign themselves up and pay you. Most partners finish it in an afternoon; the only waiting is for DNS (minutes to a few hours) and PayPal's permission change (up to a day).

You do everything from Admin (your settings app) and Accounts, signed in as your own company's administrator. Work through the steps in order — later steps depend on earlier ones.

Step

Where

What you end up with

Required?

1. Account and trial

manage.brownboxsoftware.com/start, then Admin → Get started

Your partner company, a free trial, a setup checklist

Yes

2. Branding

Admin → Branding, Admin → Company Settings

Your product name, colours, logo and icon everywhere

Yes

3. Custom domain

Your DNS provider + Admin → Branding

Apps at accounts.yourdomain.com etc., with HTTPS

Strongly recommended

4. PayPal

PayPal developer dashboard + Accounts → Bank Reconciliation → Connections

A connection that takes client payments and records them automatically

Yes, if clients pay you

5. Self-service sign-up

Admin → Clients

A public sign-up page with your plans, prices and free trial

Optional

6. Email and users

Admin → Email, Admin → Users

Email sent in your name; your team signed in

Recommended

7. Test and go live

Your sign-up page + Admin → Get started

A tested sign-up, and your subscription activated

Yes

Keep a note of these as you go — you will need them more than once:

  • Your Company ID (the short name you sign in with, e.g. splinge)

  • Your base domain (e.g. smrp.yourcompany.com)

  • Your PayPal Client ID, Secret and Webhook ID

Step 1 — Create your account and start the trial

Your white-label account is a company of its own, with a 30-day free trial and up to 3 clients before you pay anything.

  1. Go to https://manage.brownboxsoftware.com/start and fill in your company name, your name, email and a password. Pick a Company ID — short, lowercase, no spaces (e.g. acme). It can't be changed later.

  2. Open the confirmation email and click the link. Your company is created at that point.

  3. Sign in at https://smrp.brownboxsoftware.com with your Company ID, email and password. (Once your own domain is live in Step 3, you sign in there instead.)

  4. Open Admin → Get started. It shows your trial's end date and a checklist that ticks itself off as you complete this guide:

    • Create your white-label account

    • Set your product name, colours and logo

    • Connect your own domain (optional)

    • Add your first client

    • Add a billing contact

    • Activate your subscription

  5. Under Billing contact, enter the name and email our invoices to you should go to.

If your account was set up for you by Brown Box, skip 1–2: you'll have received your Company ID and sign-in details directly.

During the trial nothing is invoiced. If the trial ends before you activate, your clients can't sign in and you can only reach Admin → Get started / Billing until you activate — so activate (Step 7) before the end date.

Step 2 — Set your branding

Your branding replaces ours in every app, sign-in page, email and on your clients' screens — clients inherit it automatically and can't change it.

  1. Admin → Company Settings: upload your logo (used in every app header, the sign-in screens and on documents) and check your company name, address and contact details.

  2. Admin → Branding:

    • Product name — what your platform is called, e.g. "Acme Accounts". It replaces "SMRP" in titles, the browser tab and emails.

    • Primary colour and Secondary colour — hex codes such as #1A73E8. The preview shows buttons and chips in your colours.

    • Favicon — the small browser-tab icon. A square PNG, 64×64 or larger, works best.

    • Hide "Powered by Brown Box Software" — tick to remove our name from sign-in pages and footers.

  3. Click Save. Open any app in a new tab to check the result; it can take a minute to show everywhere.

Step 3 — Connect your own domain (DNS)

With your own domain, every app runs at <app>.<your base domain> with its own HTTPS certificate, and your clients never see our address. You need access to your domain's DNS settings (GoDaddy, Cloudflare, Route 53, Namecheap, etc.).

Choose a base domain. A subdomain you don't use for anything else works best, e.g. smrp.yourcompany.com. Your apps will then be at:

Address

What it is

https://smrp.yourcompany.com

Your sign-in / launch page

https://smrp.yourcompany.com/signup/

Your client sign-up page (Step 5)

https://accounts.smrp.yourcompany.com

Accounts

https://crm.smrp.yourcompany.com

CRM (and public booking pages)

https://admin.smrp.yourcompany.com

Admin

scm, hr, manufacturing, bi, stocktake, expenses .smrp.yourcompany.com

The other apps

Add the domain in Admin

  1. Go to Admin → Branding → Custom domains, type your base domain (without https:// and without an app name) and click Add domain.

  2. A table of three DNS records appears. Each value has a copy button — copy them from there rather than retyping.

Add the records at your DNS provider

Type

Name / Host

Value / Points to

Why

TXT

_brownbox-verify.smrp.yourcompany.com

brownbox-verify=<your token> (shown in Admin)

Proves you own the domain

CNAME

smrp.yourcompany.com

custom.brownboxsoftware.com

Your launch and sign-up pages

CNAME

*.smrp.yourcompany.com

custom.brownboxsoftware.com

Every app subdomain (wildcard)

Notes for your DNS provider:

  • Many providers want only the part before your main domain in the Name field: for yourcompany.com, enter _brownbox-verify.smrp, smrp and *.smrp. If your provider adds the domain itself, don't type it twice.

  • Cloudflare: set both CNAMEs to DNS only (grey cloud), not Proxied, or the certificate can't be issued.

  • Using a bare domain like yourcompany.com where a CNAME isn't allowed at the root: use an A record for yourcompany.com pointing to 3.144.5.168. The wildcard *.yourcompany.com can stay a CNAME.

  • Leave a low TTL (e.g. 300 seconds) while setting up.

Verify and wait for HTTPS

  1. Back in Admin → Branding, click Verify. If it says the record isn't found yet, wait 10–60 minutes and try again.

  2. Once verified, the status moves to Verified — setting up. We issue the HTTPS certificate automatically; this runs every 2 minutes and usually finishes within 10.

  3. The status turns Live. Click Open launcher to see your sign-in page on your domain.

Keep all three records in place permanently — they keep the apps reachable and let the certificate renew. From now on, sign in and send clients to your own domain.

Step 4 — Set up PayPal

Clients who sign up pay you, through your own PayPal business account; each payment is recorded against the client's invoice in your Accounts. This takes a PayPal REST app (for API credentials), a connection in Accounts, one extra PayPal permission and a webhook. Stripe works the same way if you prefer it.

4a. Create a PayPal REST app

  1. Sign in at https://developer.paypal.com with your PayPal business account.

  2. Go to Apps & Credentials and switch the toggle at the top to Live (Sandbox is only for testing with fake money).

  3. Click Create App, name it (e.g. "Acme Accounts"), type Merchant, and create it.

  4. Copy the Client ID and Secret from the app page.

4b. Turn on Transaction Search — needed for the Sync button

  1. On the same app page, find Features (older layouts: Live App Settings → Other features).

  2. Tick Transaction search and save.

  3. PayPal can take several hours — occasionally until the next day — to apply this. Until then, Sync fails with "PayPal API 403: Authorization failed due to insufficient permissions". Payments still work in the meantime.

4c. Add the connection in Accounts

  1. In Accounts, open Bank Reconciliation → Connections and click Add Connection.

  2. Fill in:

    • Provider: PayPal (payments + payouts)

    • Connection Name: anything you'll recognise, e.g. "PayPal"

    • Bank Account (where payouts land): the bank account PayPal transfers to

    • Clearing Account and Processing Fee Account: leave the suggested accounts unless your accountant wants others

    • Environment: Live

    • Client ID and Client Secret: from 4a

  3. Click Test. You should see Connected to PayPal. Then click Save.

4d. Add the webhook — so payments are recorded automatically

  1. In Connections, click Edit on your PayPal connection. Copy the Webhook URL with the copy button. It looks like https://accounts.smrp.yourcompany.com/api/webhooks/paypal/<company id>/<connection id>.

  2. In the PayPal app page (Live), under Webhooks, click Add Webhook and paste the URL.

  3. Tick these two event types, then save:

    • Checkout order approved (CHECKOUT.ORDER.APPROVED)

    • Payment capture completed (PAYMENT.CAPTURE.COMPLETED)

  4. PayPal now lists the webhook with a Webhook ID — a code like 8PT597110X687430LKGECATA. Copy it.

  5. Back in Accounts, paste it into Webhook ID on the connection and Save. The Webhook pending chip disappears.

The Webhook ID must be PayPal's code, not a name you make up — every webhook is checked against it, and a wrong ID means PayPal's notifications are refused.

When you're done you should have: a Live connection that tests OK, a Webhook ID saved, and (once PayPal applies it) a Sync that runs without errors.

Step 5 — Switch on self-service client sign-up

Self-service sign-up puts a public page on your domain where new clients choose a plan, get a free trial, then subscribe and pay you monthly. You can still add clients by hand under Admin → Clients and bill them however you like.

Turn it on

  1. Go to Admin → Clients. On the Self-service sign-up card, click Set up (or Edit).

  2. Fill in:

Setting

What to enter

Take sign-ups on my sign-up page

On

Offer Full system / Offer Accounting only

The plans you want to sell (one or both)

Full system / Accounting only price

Your monthly price per client. Blank or 0 = free (no payment, never invoiced)

Currency

e.g. USD

Free trial

Days before the first payment is due (default 30)

Grace period

Days after a renewal falls due before access pauses (default 7)

Clients pay through

Your PayPal connection from Step 4

Revenue account

Leave on Automatic, or pick the income account for subscriptions

Notify me at

Where to email you about new sign-ups, subscriptions and lapses (blank = your billing email)

Terms of service link

Optional; shown on the sign-up page

  1. Click Save. The card now shows your sign-up link with a copy button.

Price your plans above what we charge you per active client (shown in Admin → Billing) — that's your margin.

Where the sign-up page is

  • With your domain live: https://smrp.yourcompany.com/signup/ — and a Sign up link appears on your sign-in page automatically.

  • Before your domain is live: https://smrp.brownboxsoftware.com/signup/?partner=<your company id> (in your branding).

What your client experiences

  1. Fills in company name, their name, email, password and chosen plan, and accepts your terms.

  2. Confirms their email; their company is created and they're signed in, on the free trial.

  3. Uses the system as normal. Reminder emails go out 7 and 2 days before the trial ends.

  4. Subscribes in Admin → Subscription: pays by PayPal for their first month (paying during the trial pays for the month after it).

  5. Each month a renewal invoice is raised 7 days before the period ends and emailed with a pay link. Unpaid past the grace period, access pauses until they pay — only the Subscription page still works.

What you see

  • New clients appear under Admin → Clients with their subscription status. You can extend a client's days or switch them to "billed by you".

  • Each month's charge is a posted invoice in your Accounts with the client as the customer; PayPal payments land on it automatically, and a manual payment you record there counts too.

  • Cards are never charged automatically — each month the client pays the invoice.

Step 6 — Email, users and company settings

These make the platform feel like yours day to day; none of them blocks sign-ups.

  • Email — Admin → Email. By default mail goes out through our service. To send from your own address, choose Gmail, click Connect Gmail and sign in with your Google Workspace or Gmail account. Choose whether replies go to the CRM inbox or straight to Gmail.

  • Your team — Admin → Users. Invite the people who will run the platform and give them roles. Anyone managing clients and sign-up settings needs Admin settings access; anyone handling payments needs Accounts access.

  • Company details — Admin → Company Settings. Address, tax details and payment details appear on the invoices your clients receive from you — check them before the first client pays.

  • Tax on subscriptions. Subscription invoices are raised at exactly the plan price you set. If you must charge sales tax / GST / VAT, agree the approach with your accountant (and with us) before your first paying client.

Step 7 — Test, then go live

Run one real sign-up yourself before you share the link, then activate your subscription before the trial ends.

Test checklist

  • Your domain shows Live in Admin → Branding, and https://smrp.yourcompany.com shows your logo, colours and product name.

  • The sign-in page has a Sign up link, and /signup/ shows your plans and prices.

  • Sign up a test company with an email address you can read. The confirmation email arrives in your branding, and the link signs you in.

  • In the test company, Admin → Subscription shows the trial and the right price. Click subscribe, pay a small real amount with PayPal, and come back.

  • In your own Accounts, the test client's invoice shows Paid, and the payment appears on your PayPal connection.

  • In Admin → Clients, the test client shows as Active. Then ask us to remove it, or switch it to "billed by you", so it isn't left as a client — and refund the test payment in PayPal.

Activate your subscription

  1. Go to Admin → Get started (or Admin → Billing).

  2. Review the terms shown, tick I agree to these subscription terms and click Activate subscription.

  3. Your trial ends and our first invoice to you is issued and emailed to your billing contact, with a PayPal pay link. If every fee on your plan is $0, nothing is invoiced until there's something to charge.

How our billing to you works

Charge

When

Setup fee

Once, on your first invoice

Platform fee

Monthly

Per client, Full system

Monthly, for each active client

Per client, Accounting only

Monthly, for each active client

Your actual fees are shown in Admin → Billing. Self-service clients on their free trial, or whose access is paused, are not counted. Invoices are monthly and paid by PayPal from the link in the email.

Then share your sign-up link — on your website, in emails, wherever your customers are.

Troubleshooting

What you see

Cause

Fix

Domain stuck on Waiting for DNS

TXT record missing, mistyped, or not visible yet

Check the name and value against Admin → Branding (watch for the domain added twice). Wait up to an hour, then click Verify

Verified, but none of the app addresses point at us yet

CNAME records missing or wrong

Add both CNAMEs (smrp… and *.smrp…) to custom.brownboxsoftware.com; they're picked up automatically within minutes

HTTPS problem / browser says "not secure"

Certificate couldn't be issued — often Cloudflare proxying, or a conflicting A/AAAA record

Set Cloudflare to DNS only (grey cloud); remove other A/AAAA records for those names

No Sign up link on your sign-in page

Self-service sign-up is off, or no plan is offered

Admin → Clients → Self-service sign-up: switch it on and offer at least one plan

/signup/ says Sign-up is not available right now

Same as above, or a paid plan has no payment connection

Choose your PayPal connection under "Clients pay through"

Sync fails: PayPal API 403: Authorization failed due to insufficient permissions

Transaction Search isn't enabled on your PayPal app

Step 4b — tick Transaction search on the Live app with the same Client ID; allow up to a day

Webhook pending chip, or payments only recorded when the client returns to the site

No Webhook ID saved, or a name typed instead of PayPal's ID

Step 4d — paste PayPal's Webhook ID (e.g. 8PT597110X687430LKGECATA)

PayPal Test fails

Sandbox credentials with Environment = Live, or the reverse

Make the Environment match the tab you copied the Client ID from

Client says they can only see the Subscription page

Their trial or paid period ended unpaid

They pay in Admin → Subscription; or you extend their days in Admin → Clients

All your clients are signed out

Your own trial ended without activating

Admin → Get started → Activate subscription

Still stuck? Email us with your Company ID, the page you were on and the exact message you saw.