Host setup

Your books, under your name.

We run the books and the login for them, wearing your brand. For almost every host there is nothing to build: your branded login is live the moment your account is, and putting it on your own web address takes one form and one DNS record. Work through the steps below in order — the whole thing is a coffee, not an afternoon.

Who this page is for

Hosts and resellers — you offer bookkeeping to your own clients, and their books run under your name instead of ours. If that is you, you are in the right place.

Just keeping the books for your own business? You do not need any of this. Choose the One business plan on the sign-up form and sign in when your welcome email arrives.

Your login link works today

Nothing to switch on. Your branded sign-in page is already live at your day-one address:

https://theguybooks.com/login?host=YOUR-SLUG

Swap YOUR-SLUG for the short name in your welcome email — your slug is just the nickname we file your account under, like acme-books.

Put that link wherever your Sign in or Books button lives on your website. Your people land on your branded login, and once they are in, on their books. Nothing gets installed on your site.

This address stays on our domain, so it reads as your brand hosted by us. Step 3 moves it onto a web address of your own, which is the full white-label finish.

Signing in, and the extra check

We own the login — passwords, resets and sign-in security — all under your brand. You run no login and store nobody’s password.

The first owner of a set of books is invited by email: a “set your password” link that carries your name and logo. That owner then invites their own staff or accountant from the settings menu inside the books, under Manage users. You never touch their passwords.

Signing in has two layers:

  • Always on. The first time someone signs in from a browser we do not recognise, we email them a one-time 6-digit code. They type it in and we remember that browser for 30 days. This layer cannot be switched off.
  • Optional. Anyone can switch on an authenticator app from their account screen, under Sign-in security. While it is on, the app’s code takes the place of the emailed one — nobody is ever asked for both.

Your own console sign-in works the same way. Its controls are in the console sidebar under Account & Security.

Put it on your own domain

This is the step that makes it fully yours: your books served from an address like books.yourcompany.com, with your name in the browser bar the whole way through. Your clients never see ours. There is still no code to add — just one entry at your domain registrar.

The easy way — from your console

Sign in, open Set up in the sidebar, and find Option B — Connect your own domain. Type just your domain, for example yourcompany.com. The books. part in front is fixed, so your books land at books.yourcompany.com. Press Connect a domain and the records you need appear right there.

Open your host console

Or by API, if you prefer

Same job, from your own server, using your management key (step 4):

curl -X POST https://theguybooks.com/v1/hosts/me/domains \
  -H "Authorization: Bearer $THEGUYBOOKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain": "books.yourcompany.com"}'

The answer comes back with status set to pending and a dns_records list. Each record has three fields — type, name and value — which are exactly the three boxes you fill in next.

Adding the DNS record

A DNS record is the little pointer entry you add where you bought your domain — GoDaddy, Namecheap, Cloudflare, whoever. It tells the internet where that address should go.

Sign in there, find the DNS settings for your domain, and add each record we showed you. Copy Type, Name and Value exactly as given. Most registrars add the rest of your domain to the Name box for you, so enter it precisely as shown and do not add your domain on the end again.

What “verified” looks like

Nothing else to press. We watch for the record and switch the domain on by ourselves, usually within the hour — DNS changes take a little while to travel, so a wait is normal, not a fault.

On the Set up page your domain carries a little status tag. It reads verifying while it waits, and flips to active once the record is found and the security certificate is issued. Active means your login and books are being served from your address. Your records stay on screen afterwards on purpose — if the entry is ever deleted at your registrar, you need them again.

One domain per account. You can hold 1 connected domain at a time, and that limit is enforced on our side — the API refuses an extra one just as the console does. Once yours is connected the console replaces the entry box with the domain you have. Typed it wrong, or moving to a different domain? Email support@theguys.app and we will switch it for you.

Once your domain is live, go back and point the Sign in link on your website at it instead of the day-one address from step 1.

Keeping your key safe

Your welcome email carries two values. They are not the same kind of thing, and the difference matters:

THEGUYBOOKS_API_KEY=…
THEGUYBOOKS_HOST_ID=…
  • THEGUYBOOKS_API_KEY is a secret, and it is the full-access one — anything the API can do, it can do. Treat it like the key to the shop.
  • THEGUYBOOKS_HOST_ID is not a secret. It just names your account — include it when you email us about something.

Three rules for the key, and they are short:

  • Keep it on your server only, in your environment settings.
  • Never put it in a page your visitors load, and never in your code repository.
  • Think it has leaked? Email support@theguys.app and we will rotate it.

You never have to use the key at all. Everything on this page can be done from the console with a mouse.

Optional — books at a path on a site you already run

Skip this unless you specifically want the books at something like yourcompany.com/books rather than on a domain of their own. This is the only setup that touches your code, and it is four lines: answer that route with a 302 redirect — a “moved, go here instead” answer — to your white-label address.

// app/books/page.tsx — ONLY for putting the books at a path on a site you
// already run. A dedicated domain needs no code at all.
import { redirect } from 'next/navigation';

export default function Books() {
  redirect('https://theguybooks.com/login?host=YOUR-SLUG');
  // once your own domain is live, point this at it instead:
  // redirect('https://books.yourcompany.com');
}

The stack does not matter; the rule is the same everywhere. There is still nothing to gate and nothing to install — we own the login and the books either way.

The rest of your console

Two more places worth knowing about once you are signed in. Neither is needed to get live, so come back to them when you are ready.

Branding. The Branding page in the sidebar is where your logo and accent colour live. Upload a PNG, JPEG or WebP up to 2 MB — SVG is not supported. Your name and logo then appear on the sign-in page and in the top bar of every client’s books, and new client books pick them up automatically. Your business name is shown there but locked; email us to change it.

Automation keys (white-label seat-block plans). Under Set upAdvanced: API & automation you can mint narrow keys — up to 5 live at a time — that can do exactly two things: pause a client and reinstate one. They cannot read books, create clients or change settings. Use one of those in your own billing system instead of the full key from step 4. Each is shown once when you mint it, and you can revoke any of them from the same page.

There is also an embed integration, for showing the books inside a page you already run in an iframe. It is not written up here — email support@theguys.app and we will send you the notes.

Check that it worked

Three checks, about two minutes, in a browser.

  1. Open your address in a private window. YOUR branded login appears — your name, your logo, your colour. It never says “TheGuyBooks”.
  2. Sign in. Your books open, with your brand in the top bar.
  3. Click the Sign in / Books link on your own website. It lands on that same branded login.

If you connected your own domain, check one more thing: its status tag on the Set up page reads active, not verifying. Still verifying after an hour or two is nearly always a DNS record that did not save, or saved with the domain name typed on the end twice — open the record at your registrar and compare it to the one we show you, character for character.

Stuck on any step? Reply to your welcome email — that thread is your support channel — or write to support@theguys.app. A person reads every one.