All guides▾
Customers & data

Object Customization

How to add your own custom fields to Companies, Plans, Products, and other Kribana records.

Kribana ships with a set of standard fields on core records like Companies, Plans, and Products — but every business tracks a few things that aren't standard. Object Customization is where you extend those records with your own fields, without needing a developer.

What this does for you

Instead of being stuck with a fixed list of fields, you can add custom fields to the record types your organization uses — a "Renewal risk" dropdown on Companies, a "Cost center" text field on Plans, whatever your team needs to track. Once a field is published, it shows up as a real, fillable field wherever that record is created or edited throughout the app.

The record types you can customize today are: Company, Plan, Product, Market, Billing Units, Usage Sources, Usage Compilation, User Management, and System Features. Check the object picker in the product for the current set, since it can grow over time.

Who can use it

Object Customization is an admin-level configuration screen, gated by a dedicated set of permissions:

  • objectCustomisation.view — see the customization screens.
  • objectCustomisation.create — add new custom fields.
  • objectCustomisation.edit — modify existing fields.
  • objectCustomisation.publish — make a field live.
  • objectCustomisation.discard — discard an unpublished draft field.
  • objectCustomisation.archive — retire a field.
  • objectCustomisation.activate — bring an archived field back.

Some of the more specialized actions (publish, discard, archive, activate) may not be individually assignable through the Roles screen today — if an action stays unavailable even after your admin double-checks your role, that's a known gap rather than a misconfiguration.

Where to find it

Go to Settings → Object Customization and choose the record type you want to customize from the object picker.

How to use it

  1. You'll see a table of the fields already on that record type, split into Default fields (built into Kribana) and Custom fields (added by your organization), showing each field's name, type, group name, and whether it's required.
  2. Click + Add field to create a new one. Give it a label, choose a field type (text, number, dropdown, date, and other common types), decide whether it's required, and assign it to a group to sit it alongside related fields on the form.
  3. Click Save as draft to save your work without going live. A draft field isn't visible on the actual record forms until you publish it.
  4. Publish the field when it's ready so it appears on the real form. Reopening a field you're still working on shows Update field instead of Save as draft.
  5. To retire a field without losing its historical data, use Archive — archived fields disappear from the form but the data already collected isn't deleted. Use Activate to bring one back.

Tips / things to know

  • Archiving a custom field is non-destructive — it hides the field going forward but preserves whatever data was already recorded against existing records.
  • Group names let you visually cluster related custom fields together on the form instead of one long flat list.
  • Field types available may vary slightly depending on which object you're customizing — check what's offered for your specific record type.
  • Since Company (and other customizable records) don't have a hardcoded set of guaranteed fields, other documentation describing "the Company form fields" is describing the defaults — your organization's actual form may look different depending on what's been added or removed here.
  • Renaming a field after it's already been published isn't blocked in the interface, but it's also not fully supported — the rename can be silently ignored on the backend without an error message. Avoid renaming a live field; archive it and create a new one instead if you need a different label.
  • Object Customization only covers the record types listed above — you can't add custom fields to every object in the product yet.