Here are some Tips about ToolTips

ToolTips are among the best ways to help users understand and use your app. With BC24, ToolTips has become even better. Check out the video:

https://youtu.be/803896e3YWk

In this video, Erik shares practical tips about ToolTips in AL and Business Central — one of the most underutilized yet effective ways to help users understand your application. He walks through how ToolTips work, demonstrates creating meaningful ToolTip text (rather than placeholder content), and covers the BC24 enhancement that allows you to define ToolTips at the table level.

Why ToolTips Matter

ToolTips in Business Central provide dedicated, contextual instruction on a specific field — right when the user is hovering over it. Erik considers them one of the very best ways for a developer to help users understand how to operate the software. Despite this, he believes they are significantly underutilized across most apps.

When you mouse over a field caption on a list or card page, a ToolTip appears with helpful information. Some of the base application ToolTips are genuinely useful — for example, the Credit Limit field on the Customer Card says: “Specifies the maximum amount you allow the customer to exceed the payment balance before warnings are issued.” That’s clear, actionable guidance.

However, many default ToolTips are little more than placeholder text. A field called “Document Number” with a ToolTip that reads “Specifies the entry’s document number” doesn’t add much value. Erik argues we can do better and should aim higher.

Creating a Table and Page with ToolTips

Erik demonstrates creating a simple test table and card page using the AL wizard (from the ALD extension). The table has three fields: Code, Name, and Credit Limit.

Here’s what the table definition might look like:

table 50100 "Test Tool Tips"
{
    DataClassification = ToBeClassified;

    fields
    {
        field(1; "Code"; Code[20])
        {
            Caption = 'Code';
            ToolTip = 'The code is a unique value that identifies the customer. Best case is to only use numbers and letters in this field.';
        }
        field(2; "Name"; Text[100])
        {
            Caption = 'Name';
        }
        field(3; "Credit Limit"; Decimal)
        {
            Caption = 'Credit Limit';
        }
    }

    keys
    {
        key(PK; "Code")
        {
            Clustered = true;
        }
    }
}

Writing Meaningful ToolTip Text

Instead of the generic “Specifies the value of the Code field” pattern, Erik recommends writing ToolTips that genuinely help users. Here are his examples:

  • Code: “The code is a unique value that identifies the customer. Best case is to only use numbers and letters in this field.”
  • Name: “Specifies the name of the customer. This should be the legal name, not a public common name. Please include company definition like Inc, LLC, etc.”
  • Credit Limit: “The credit limit specifies how much this customer can owe us before we stop taking new orders from them. The credit limit is defined by Peter in finance based on our entire exposure.”

Notice that last example — it’s specific to the organization, referencing a real person and process. This is perfectly valid for per-tenant extensions or internal apps. The point is to make ToolTips genuinely helpful rather than bureaucratically generic.

The Card Page with ToolTips

Here’s what the card page looks like with ToolTips defined at the page level:

page 50100 "Test Tool Tips Card"
{
    PageType = Card;
    SourceTable = "Test Tool Tips";
    Caption = 'Test Tool Tips Card';

    layout
    {
        area(Content)
        {
            group(General)
            {
                field("Code"; Rec."Code")
                {
                    ApplicationArea = All;
                    ToolTip = 'Only use numbers and letters in this field.';
                }
                field("Name"; Rec."Name")
                {
                    ApplicationArea = All;
                    ToolTip = 'Specifies the name of the customer. This should be the legal name. Please include company definition like Inc, LLC.';
                }
                field("Credit Limit"; Rec."Credit Limit")
                {
                    ApplicationArea = All;
                    ToolTip = 'The credit limit specifies how much this customer can owe us before we stop taking new orders from them.';
                }
            }
        }
    }
}

BC24: ToolTips on Table Fields

Starting with Business Central 2024 Wave 1 (BC24), you can define ToolTips directly on table fields, not just on page controls. This is a significant enhancement that changes how you can architect your ToolTip strategy.

How It Works

If you define a ToolTip on a table field and then use that field on a page without specifying a ToolTip on the page control, the table-level ToolTip is displayed automatically. This means you can create a list page with no ToolTips defined on it, and the ToolTips from the underlying table will still appear.

Erik demonstrates this by creating a list page with no ToolTips:

page 50101 "Test Tool Tips List"
{
    PageType = List;
    SourceTable = "Test Tool Tips";
    Caption = 'Test Tool Tips List';
    CardPageId = "Test Tool Tips Card";

    layout
    {
        area(Content)
        {
            repeater(General)
            {
                field("Code"; Rec."Code")
                {
                    ApplicationArea = All;
                }
                field("Name"; Rec."Name")
                {
                    ApplicationArea = All;
                }
                field("Credit Limit"; Rec."Credit Limit")
                {
                    ApplicationArea = All;
                }
            }
        }
    }
}

Because the Code field has a ToolTip defined on the table, it appears on the list page even though no ToolTip was specified on the page itself. The Name and Credit Limit fields, having their ToolTips only on the card page, do not show ToolTips on the list.

Page-Level ToolTips Override Table-Level ToolTips

Here’s the key rule: a ToolTip on a page control overrides (replaces) the ToolTip on the table field. It does not append — it completely replaces. This gives you a clean inheritance model:

  1. Define generic, broadly applicable ToolTips on the table fields.
  2. On specific pages where a field has a different context or meaning, define a page-level ToolTip to override the table-level one.

This approach reduces duplication. You write the ToolTip once on the table, and it automatically appears everywhere that field is used — unless you explicitly choose to provide a more specific ToolTip on a particular page.

Practical Tips for Better ToolTips

Erik also shares a creative use case from his Shogun Connector app: fields where users can insert substitution tokens like %1 for a date stamp in a document title. The ToolTip is the perfect place to document these tricks — right there at the user’s fingertips, without requiring them to hunt for a separate document or web page.

  • Don’t just repeat the field caption — add real value and context.
  • Be specific — mention business rules, responsible people, or processes when appropriate.
  • Document special syntax or tricks — if a field supports tokens, patterns, or special values, explain them in the ToolTip.
  • Use the table-level ToolTip (BC24+) for generic descriptions, and override on specific pages where needed.
  • Think of the user in context — what do they need to know right now, on this field, on this page?

Summary

ToolTips are one of the most effective — and most underutilized — tools for improving user experience in Business Central. With BC24’s ability to define ToolTips at the table level, developers now have a clean inheritance model: set a sensible default on the table, override it on specific pages when the context demands something different. Most importantly, take the time to write ToolTips that genuinely help your users rather than simply restating the field caption. Your users will thank you.