Getting Started
Overview
BBase.pro lets you store, view, edit, and report on your business data through
a set of custom tables, pages, and reports — all accessible from the sidebar
navigation. No spreadsheets, no code, no developer required.
Every app you build in BBase.pro is isolated and purpose-built for your
organisation. You control what data is stored, how it is displayed, who can
access it, and what automated actions occur when records change.
What you can do in BBase.pro
- Browse and search data in configurable report tables
- Open individual records on custom pages to view or edit full detail
- Create new records using the Add Record button on any table
- Export any report to a CSV file for use in Excel or Google Sheets
- Generate formatted Word (.docx) or PDF documents from any record
- Run automated actions when records are created or updated
- Control exactly what each team member can see and edit via permissions
Note on formula fields: Any field labelled with a formula icon is
calculated automatically — you cannot type into it directly. Its value updates
whenever the record is saved.
Navigating the App
Sidebar
The sidebar on the left is the main way to move between areas of the app.
Click the hamburger icon (☰) in the top-left corner to
collapse or expand it.
- Home — the main landing page for this app.
- Tables — lists all available tables. Click Settings, Add Record, or open a report from here.
- Pages — custom pages for entering or viewing a single record (admin only).
- Automations — automated actions that run when records change (admin only).
- Users — manage user accounts and permissions (admin only).
Header buttons
The top-right corner of every page has a How To button that
opens this user guide, and a Logout button to end your session.
Working with Data
Viewing Records
Records are displayed in report tables. From the Tables
sidebar item, click Table or Summary next to
any report to open it.
Report Table view
The table view shows all records in rows. Each column header can be clicked
to sort. A search box under each column header lets you filter that column in
real time. Scroll right to see additional columns.
Opening a single record
Click any row in the table to open that record's detail page where you can
view and edit all its fields.
Tip: The column header row stays pinned at the top as you
scroll down through a long report.
Summary view
The summary view groups records by one or more fields and shows totals or
counts. Use the Summary button in any report toolbar to
switch to this view.
Creating Records
New records are created from the Tables page. If a table has a default page
assigned, an Add Record button will appear next to it.
- Open the Tables page from the sidebar.
- Find the table you want to add a record to.
- Click the Add Record button.
- Fill in the fields on the page that opens.
- Save the record using the save button on the page.
Note: Formula fields calculate automatically once the record
is saved — you do not need to fill them in.
Editing Records
Most records can be edited directly by clicking on them in a report table,
or by navigating to the record's page.
Inline editing in report tables
If a report is set to editable, you can click directly into a cell to change
its value. The change is saved automatically when you move to another field.
Editing on a record page
- Open the record by clicking a row in the report table.
- Modify any editable fields on the page.
- Click Save to store your changes.
Note: Fields shown in grey or without an input box are
read-only — either formula fields that calculate automatically, or fields
your account does not have permission to edit.
Searching & Filtering
Every column in a report table has a search box directly below the column
header. Type in any search box to filter the table to rows that match.
How filtering works
- Searching is not case-sensitive.
- You can filter multiple columns at once — all active filters apply together.
- Clear a search box to remove that filter.
- The table updates in real time as you type.
Tip: To find all records where a field is blank, type nothing
and press Enter — or ask your admin to set a report filter.
Pre-set report filters
Admins can pre-configure reports to only show certain records — for example,
only open items, or only records assigned to you. These filters are set in
Report Settings and are always active for that report.
Reports
Using Reports
Reports are pre-configured views of a table. Each report shows a specific set
of columns, sorted and filtered as configured by an admin.
Report toolbar buttons
| Button |
What it does |
| Settings | Opens the report configuration (admin only). |
| Table | Switches to the row-by-row table view. |
| Summary | Switches to the grouped summary view with totals. |
| Create CSV | Generates a CSV export of the current report data. |
| Download CSV | Downloads the most recently generated CSV file. |
Tip: Always click Create CSV first to
refresh the export file, then Download CSV to get the
latest data.
Exporting to CSV
Any report can be exported as a CSV (comma-separated values) file, which can
be opened in Excel, Google Sheets, or any spreadsheet application.
- Open the report you want to export.
- Click Create CSV to generate an up-to-date export file.
- Once it finishes, click Download CSV to save the file to your computer.
- Open the downloaded file in Excel or your preferred application.
Note: The CSV includes all rows matching the report's current
filters — not just what is visible on screen if you have searched within the table.
Formula Fields
About Formula Fields
Formula fields are fields whose values are calculated automatically based on
other fields in the same record. You cannot type into them — the system fills
them in when a record is saved.
Example: A TotalPrice formula field might
calculate [Quantity] * [UnitPrice] automatically whenever either
of those fields changes.
Referencing field names
To reference another field in the same record, wrap its name in square brackets:
[Quantity] * [UnitPrice]
If [Quantity] = 3 and [UnitPrice] = 25, the formula
returns 75.
Important: Field names must always be surrounded by square
brackets — [FieldName]. Without brackets the system will not
recognise the reference as a field.
Blank values
If a referenced field is blank, arithmetic operators skip it gracefully rather
than producing an error. Division by zero also returns blank instead of crashing.
Formula Operators
Operators perform arithmetic calculations or comparisons between values:
| Operator |
Description |
Example |
Result |
| + | Add numbers | [field1] + [field2] | 5 + 10 = 15 |
| - | Subtract numbers | [field1] - [field2] | 10 - 5 = 5 |
| * | Multiply numbers | [field1] * [field2] | 5 * 2 = 10 |
| / | Divide numbers | [field1] / [field2] | 10 / 2 = 5 |
| >= | Greater than or equal | [field1] >= [field2] | True if 10 ≥ 5 |
| <= | Less than or equal | [field1] <= [field2] | True if 5 ≤ 10 |
| > | Greater than | [field1] > [field2] | True if 10 > 5 |
| < | Less than | [field1] < [field2] | True if 5 < 10 |
| = | Equal to | [field1] = [field2] | True if same value |
| & | Join text strings | "Hello" & " " & "World" | Hello World |
Note: Arithmetic operators skip blank or empty values
automatically. Division by zero returns blank rather than an error.
Formula Functions
Functions transform or evaluate values in a formula:
| Function |
Description |
Example |
Result |
| IF(condition, true, false) | Returns one value if condition is true, another if false | IF([field1] > 10, "High", "Low") | "High" |
| CONCAT(a, b, ...) | Joins multiple values into one string | CONCAT("A", "B", "C") | "ABC" |
| ROUND(x, decimals) | Rounds a number to the specified decimal places | ROUND(3.14159, 2) | 3.14 |
| INT(x) | Converts a value to a whole number (integer) | INT("5") | 5 |
| STR(x) | Converts a number or value to text | STR(5) | "5" |
| LEFT(text, n) | Returns the first n characters of text | LEFT("Apple", 2) | "Ap" |
| RIGHT(text, n) | Returns the last n characters of text | RIGHT("Apple", 3) | "ple" |
| CONTAINS(text, search) | Returns True if the search value is found in text | CONTAINS("Hello", "ell") | True |
| DATEFORMAT(date, format) | Formats a date field using a format string | DATEFORMAT([field1], "%b %Y") | "Oct 2025" |
| JOIN(list, separator) | Joins a list of values with a separator string | JOIN(["A","B"], "-") | "A-B" |
Chained IF — testing multiple conditions: List additional
condition/value pairs inside the same IF() call:
IF([field1] > 10, "High", [field1] > 5, "Medium", "Low")
Returns "High" if
[field1] > 10, "Medium" if
> 5, otherwise "Low".
Date Format Codes
Use these codes inside a DATEFORMAT() call to control how dates
are displayed:
| Code |
Meaning |
Example output |
| %Y | 4-digit year | 2025 |
| %y | 2-digit year | 25 |
| %m | Month as a 2-digit number | 10 |
| %B | Full month name | October |
| %b | Abbreviated month name | Oct |
| %d | Day of the month (2 digits) | 05 |
| %A | Full weekday name | Monday |
| %a | Abbreviated weekday name | Mon |
| %H | Hour (24-hour clock) | 14 |
| %I | Hour (12-hour clock) | 02 |
| %M | Minutes | 30 |
| %p | AM or PM | PM |
Example: DATEFORMAT([InvoiceDate], "%B %d, %Y")
→ October 05, 2025
Example Formulas
| Goal |
Formula |
Result |
| Multiply two fields | [Quantity] * [UnitPrice] | 3 * 25 = 75 |
| Add two fields | [field1] + [field2] | 5 + 10 = 15 |
| Combine first and last name | [FirstName] & " " & [LastName] | "John Doe" |
| Format a date | DATEFORMAT([InvoiceDate], "%b %d, %Y") | "Oct 05, 2025" |
| Conditional label | IF([Amount] > 100, "Large", "Small") | "Large" |
| Three-way conditional | IF([Score] >= 90, "A", [Score] >= 70, "B", "C") | "B" |
| Round to 2 decimal places | ROUND([TotalPrice], 2) | 19.99 |
| Check if a field contains text | CONTAINS([Notes], "urgent") | True |
| First 3 characters of a field | LEFT([ProductCode], 3) | "SKU" |
| Convert a number to text | STR([RecordID]) | "42" |
Other Features
Document Templates
Document templates let you generate a formatted Word (.docx) or PDF document
directly from a record's data. An admin sets up the template; users then
generate documents from individual records with a single click.
Generating a document
- Open the record you want to generate a document for.
- Find the document link or button on the record page (set up by your admin).
- Click it to generate and download the document immediately.
Output formats
| Format | Use when… |
| .docx | You need to edit the document further in Microsoft Word. |
| .pdf | You need a fixed, print-ready document to send or archive. |
For admins: Templates are uploaded in Table Settings →
Document Templates. Use Jinja2 variable syntax — e.g.
{{ FieldName }} — to insert field values,
and Jinja2 conditionals for dynamic content.
User Permissions
Permissions control what each user can see and do in the app. Permissions
are set by an admin and stored on each user account.
Permission levels
| Permission |
What it unlocks |
| admin | Full access: create and modify tables, fields, reports, pages, automations, and manage all users. |
| (custom) | Admins may define custom permission keys on specific tables and reports to restrict which users can view or edit them. |
What happens without access
- Admin-only sidebar items (Pages, Automations, Users) will not appear.
- Tables and reports without permission will not be visible.
- Fields that cannot be edited appear as read-only.
Need access to something? Contact your administrator to have
the appropriate permission added to your account.
Editing Page Layouts
Admins can customise which fields appear on a record page, how they are
arranged into columns and sections, and how wide each field is displayed.
All layout changes are saved immediately.
Entering edit mode
- Open any record page.
- Click the Edit Page button in the top-right corner of the page panel.
- A yellow toolbar appears and each field gains a grey drag handle at the top. Click Done Editing to leave edit mode.
Adding a field
- In the yellow toolbar, open the Add field dropdown and select the field you want to add.
- Click Add Field. The field appears at the top of the first column immediately.
- Only fields not already on the page are shown in the dropdown.
Removing a field
Click the × button on the right side of a field's grey
drag handle. The field is removed from the page immediately. This does
not delete the field or its data — it only removes it from
this page layout.
Reordering and moving fields
Grab a field's grey drag handle and drag it to one of these drop targets:
| Drop target | Result |
| Another field | Inserts the dragged field directly above the target field. |
| Empty space in a column | Moves the dragged field to the bottom of that column. |
| + New column zone (dashed box at the right of a section) | Creates a new column in that section and places the field in it. |
| Drop here to create a new section zone (below all sections) | Creates a new section at the bottom of the page and places the field there. |
Tip: If you move the last field out of a column, the empty
column is removed automatically. The same applies to empty sections.
Controlling field width
Each drag handle includes a small width input. Enter any CSS width value to
constrain how wide the field appears:
| Value | Effect |
| 200px | Fixed pixel width — the field is exactly 200 pixels wide. |
| 50% | Percentage of the column width. |
| (blank) | No constraint — the field fills its column naturally. |
Tip: Fields are left-aligned within their column, so setting
a narrower width leaves whitespace to the right rather than centring the field.