
Almost no business stores exactly the same things as another. A workshop keeps vehicles on file; a clinic, patients; a maintenance company, equipment and properties.
Entities are how Heyllave solves that without forcing your business into fields somebody else decided.
Type and record
Two words worth keeping apart:
- An entity type is the mould: “Customer”, with the fields name, email, phone, tax ID.
- A record is one specific card: “Transportes Andes”, with those fields filled in.
You define the type once; after that you create as many records as you like.
Create an entity type
Entities → New typeThe quick way: install a template
Heyllave ships an entity catalog with ready-made types. Install the one closest to what you need and adjust it afterwards — renaming and changing fields is easy; starting from scratch is slower.
Entities → View catalogFrom scratch
-
Identity. Display name (“Customer”) and internal identifier (
customer). The identifier is generated from the name, you can edit it, and after that it cannot be changed. -
Appearance. Icon, color, whether it appears in the sidebar and in which position.
-
Fields. Add one for each piece of data you want to store. Each field is a table column and a form entry. There is a live preview of the form you are building.
-
Behaviour. See below.
Field types
| Type | What for |
|---|---|
| Text | Names, references, short notes. |
| Email addresses, with validation. | |
| Integer / decimal number | Quantities, measurements, amounts. |
| Yes / No | Switches. |
| Date / Date and time | Due dates, start dates. |
| Duration | Times. |
| Selection | A closed list of options you define. |
| Image / File / Document | Photos, manuals, attachments. |
Any field can be marked required.
Behaviour
Four settings worth thinking through:
The field that titles each record
Which field is used as the record’s title. It appears in the table, in the side view, in the detail header and in every relationship. Choose badly and your customer list looks like a column of identifiers.
The fields indexed for search
Which fields feed the workspace’s search. With none, only the title is searchable.
The email field for the portal
Which address the customer portal invitation is sent to from the record’s card.
Public identifier
How this type’s visible ids are generated:
| Strategy | Result |
|---|---|
| Sequential | cus-1, cus-2, cus-3… |
| Sequential per year | cus-2026-1, cus-2026-2… |
| Random | An id with no apparent order. |
| Prefix + random | Your prefix, then something random. |
| Record text (slug) | Derived from the record’s title. |
You can set the prefix and the counter’s digits (4 produces 0001).
Relationships
A business’s data does not live in isolation: a customer owns vehicles, a property contains equipment, a policy belongs to a customer.
Entities → Relationships → New relationshipA relationship is defined once between two types and then used on each record:
| Field | What it is |
|---|---|
| Relationship type | The identifier it travels under in the API and in rules: owns, belongs_to. Lower case, no spaces. |
| Source → Target | The direction. A record of the source type points at one of the target type. |
| Required for the source | Whether a record of the source type cannot exist without this relationship. |
On a record’s card you will see two blocks: Related to (the relationships going out of it) and Referenced by (the ones coming in).
Working with records
Entities → (your type) → View records- Search by text across the records.
- Filter with simple expressions:
status = open and quantity >= 10. Heyllave validates the filter as you type and warns you if a field does not exist or the operator does not apply to that field. - Choose which columns are visible.
- Create, edit and archive records.
Deleting a record actually archives it: it leaves the lists but its history is not lost.
Activating and deactivating a type
A type can be created inactive: it exists, but nobody can create records and it does not appear. Activate it when it is ready.
Deactivating a type that already has records hides it without deleting anything.
Deleting a type, by contrast, removes the type and its schema, and cannot be undone.
Link a record to a person
On a record’s card you can link a user. That is what connects your customer to their account and gives them access to the portal, where they will see their orders, their payments and their documents.
From the same card you can invite them to the portal at the address in the email field you configured.
Validation rules
Every field accepts rules: ranges, formats, conditional requirements. There are common rules available in one click, and an advanced mode where you write the rule in Heyllave’s validation language, with a Test button to check it before applying.
Review the detail and the timeline
Open the record for the customer, equipment or other item. Depending on its configuration, the detail can bring together data, relationships, activity, documents and records from other modules. Check the type and the reference before adding information.
Where there is a timeline, use its filters to find the entry type or period you need. Photos and metrics belong to the entries that recorded them; do not mistake an earlier reading for the current state.
Create an entry
- From the record, choose New entry when it is available.
- Select the entry type that card allows.
- Fill in its fields and sections, date, notes and files as appropriate.
- Review and save.
- Back on the detail, confirm it appears on the right timeline.
If you leave with unsaved changes, the screen asks you to confirm whether to discard them. If no entry types are available, ask your administrator to review their configuration and your permission to update the record.
Compare photos and correct an entry
If the card has a comparison block, pick the before and after photos and check dates, labels and zone where those filters are configured. The block can only compare images that exist and that you have permission to see.
If something doesn’t work
Entities is a foundation module, so what is missing is permissions or configuration. Managing types, reading them, linking a record to a person and managing its files are four separate permissions. If a field is absent from the form, that lives in the type’s schema, not in your role; if the record rejects a value, check the field type before changing a permission.