Skip to content
Toss ERP user manual
Sign in

Chapter 23 — Public website builder

Module code: WEBSITE Feature: website_editor Home: /website/

Design detail is kept at docs/TENANT_PUBLIC_WEBSITE.md.


23.1 What it is

The website builder gives your workspace a public home page at its own address — the same address staff sign in at, but showing your page to anyone who visits without signing in.

It is a content-block builder, not a free-form page designer. You choose a theme and stack a set of typed blocks. That constraint is deliberate: the result stays readable on a phone and consistent with your branding, without anyone needing design skills.


23.2 Screens

/website/                       editor dashboard
/website/settings/              site settings
/website/theme/                 choose a theme
/website/blocks/add/            add a block
/website/blocks/<id>/edit/      edit a block
/website/blocks/<id>/delete/    delete a block
/website/preview/               preview as a visitor
/website/publish/               publish

23.3 Settings

Screen: /website/settings/

Setting Effect
Site enabled Whether the public page is reachable at all
Show sign-in button Whether visitors see a link to the staff sign-in
Meta title The browser tab title and the headline in search results
Meta description The summary shown under it in search results
Contact email, phone, address Shown on the contact block; fall back to the company record when blank
WhatsApp number Adds a WhatsApp contact card
Social links Facebook, Instagram and X appear as footer icons

Fields left blank fall back to the company record (Chapter 3), so most sites need very little filled in here.


23.4 Choosing a theme

Screen: /website/theme/

Pick from the supplied themes. A theme sets the typography, colours and layout.

Switching a theme can offer to replace your existing blocks with that theme's starter content. Read the confirmation before accepting: it will discard what you have written.


23.5 Blocks

Blocks stack down the page in order. Seven types are available.

Block Use for
Hero The banner at the top: headline, subheading and up to two buttons
Rich text A body of formatted text
Features A grid of items, each with an icon, a title and a description
Call to action band A full-width strip with a message and a button
Contact Email, phone, address, WhatsApp — drawn from settings
Image A picture with an optional caption and an optional link
Custom HTML Raw HTML, for embedding something the other blocks do not cover. Restricted — see 23.7.

Adding a block

  1. Go to /website/ and choose Add block.
  2. Choose the type.
  3. Fill in its fields. A question-mark icon beside a label explains what the field does and what format it expects.
  4. Set visible and the sequence.
  5. Save.

The features block

Each item has an icon, a title and a description. Add and remove items with the buttons — there is no need to write anything technical.

The icon picker shows a grid of icons to choose from, with a live preview. A text box below it accepts any icon name directly, for the cases the grid does not cover.

The image block

Upload the image, add a caption, and optionally make the whole block a link. Keep uploads to a sensible size — a photograph straight from a phone camera is far larger than a web page needs and will make your page slow.

Button link fields accept three forms:

https://example.com/page      a full address
/some/path                    a path inside this site
#section                      an anchor on this page

Anything else is rejected when you save. This is a safety check: a link field that accepted arbitrary content would be a way to run code in a visitor's browser.


23.6 Reordering, hiding and deleting

  • Reorder by dragging blocks on the dashboard. The order saves immediately.
  • Hide a block by clearing visible. It stays in the editor list and can be brought back — the right way to take something down temporarily.
  • Delete removes it permanently.

23.7 Custom HTML — restricted

The Custom HTML block renders exactly what you type, unescaped, on a public page. Bad or malicious content there affects every visitor.

Only a superuser may create or edit a Custom HTML block. For anyone else the type does not appear in the menu, and an existing block of another type cannot be switched to HTML.

Use it for genuine embeds — a map, a video, a booking widget — from sources you trust, and prefer a normal block wherever one will do.


23.8 Preview and publish

/website/preview/       see it as a visitor would
/website/publish/       make it live
  1. Edit your blocks.
  2. Preview. Check it on a phone-sized window as well as a desktop one — most visitors will be on a phone.
  3. Publish.

Until published, visitors do not see the page. Staff visiting the address are taken to the dashboard as usual; the public page never gets in a signed-in user's way.


23.9 Permissions

Everything here is controlled by WEBSITE / website_editor:

Right Allows
View Open the editor and see the content
Edit Change settings, switch theme, reorder blocks, and publish
Create Add blocks
Delete Remove blocks

Edit includes publishing. A read-only grant genuinely is read-only: it cannot save settings, switch theme, reorder, or push the site live.

Custom HTML additionally requires superuser, whatever the feature rights say.


23.10 Checklist before publishing

[ ] Meta title and description written — they are what search results show
[ ] Contact details correct
[ ] Every button link goes where it should
[ ] Images load and are not enormous
[ ] The page reads well at phone width
[ ] Social links point at the right accounts
[ ] Nothing internal or unfinished is left visible

23.11 Troubleshooting

Symptom Cause Fix
Visitors see nothing The site is not published, or is disabled in settings Publish it; enable it
Settings will not save View-only rights on website_editor Edit rights are required
Custom HTML is not offered You are not a superuser This is by design
A link is rejected on save It is not a full address, a path, or an anchor Use one of the three accepted forms
Switching theme lost the content Theme switching can replace blocks with starter content Rebuild the blocks; read the confirmation next time
An image does not appear The upload failed, or the file is too large Re-upload a smaller version
A hidden block still shows Cached page Reload; confirm visible is cleared and republish
The page is slow Oversized images Reduce them before uploading