web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

No record found.

News and Announcements icon
Community site session details

Community site session details

Session Id :
Small and medium business | Business Central, N...
Suggested Answer

Custom Fields Not Showing on Item Card Despite PageExtension (BC25 On-Prem)

(7) ShareShare
ReportReport
Posted on by 259

Hi everyone,

 

I'm working on a Business Central 25 (on-prem) environment, and I've added a few custom fields to the Item table via a table extension. The fields are defined correctly, and everything compiles and publishes without errors.

 

However, some specific fields are not visible on the Item Card, despite:

  • Restarting the service tier multiple times

  • Changing field IDs and names

  • Moving the fields to different groups/layouts on the page

  • Confirming the fields are declared in the table extension

  • Verifying the extension is published and installed

Here’s a simplified example of what I’m doing:

  • And in my page extension:

 

Other custom fields are appearing correctly, but these specific ones just won’t show up, even in Page Inspection I'm able to see fields. I’ve also tried using a standard field to confirm that the page extension is being applied, and I'm getting standard field but not this custom one's which I had defined.

Any help or pointers would be greatly appreciated.

 

It would be much helpful for your immediate response — and thanks in advance!

I have the same question (0)
  • Suggested answer
    Ramesh Kumar Profile Picture
    7,561 Super User 2026 Season 1 on at
    Add the fields inside a group block. Right now, you’re using addlast("Posting Details") — that works only if "Posting Details" exists on the target page. If the group "Posting Details" doesn't exist on the Item Card, your fields won't render, even if the extension is applied.
     
    could be UI layout issue, not a schema problem
     
    Thanks
    Ramesh
     
    If this was helpful, please check the "Does this answer your question?" box and mark it as verified.
  • Suggested answer
    Mohana Yadav Profile Picture
    61,216 Super User 2026 Season 1 on at
    What is the Table IDs of IsProductPostingGroup/CF_ExciseProductPostingGroup tables that mentioned in TableRelation Property of those fields?
    Are those table IDs in your license range and can you access them?
  • Suggested answer
    Jeffrey Bulanadi Profile Picture
    9,121 Super User 2026 Season 1 on at

    Hi

    It confirms the issue is tied to the layout reference. You're using addlast("Posting Details"), but based on the image, the actual group caption is “Posting Details”, not the group name. In AL, addlast() must reference the group name, not the caption.

    Here’s how to fix it:

    1. Use a Valid Group Name or Create Your Own
    If "Posting Details" isn’t a valid group name in the base "Item Card" page, your fields won’t render. You have two options:

    Option A: Place fields in a known group
    Try using addlast("Inventory") or addlast("General")—these are standard groups that exist on the Item Card.

    Option B: Define a new group block
    Instead of relying on addlast(), explicitly create a new group:

    al
    layout
    {
        addlast(Content)
        {
            group(CustomPostingDetails)
            {
                Caption = 'Custom Posting Details';
                field(IRProdPostingGroup; Rec.IRProdPostingGroup)
                {
                    ApplicationArea = All;
                    Visible = true;
                    Editable = (Rec.Type = Rec.Type::Service);
                }
    
                field(ISProdPostingGroup; Rec.ISProdPostingGroup)
                {
                    ApplicationArea = All;
                    Visible = true;
                    Editable = (Rec.Type = Rec.Type::Inventory) or (Rec.Type = Rec.Type::"Non-Inventory");
                }
    
                field(CF_ExciseProdPostingGroup; Rec.CF_ExciseProdPostingGroup)
                {
                    ApplicationArea = All;
                    Visible = true;
                }
            }
        }
    }
     

    2. Confirm Field Licensing and TableRelation Access
    If any of these fields reference external tables (like CF_ExciseProdPostingGroup), make sure those table IDs are within your license range and accessible. Licensing restrictions can silently block rendering.

    3. Refresh and Personalization Check
    After publishing, clear browser cache or open BC in a new tab. Also check if personalization is hiding the group try resetting the page layout.

    If you find this helpful, feel free to mark this as the suggested or verified answer.

    Cheers
    Jeffrey

    Screenshot 2025-07-09 074028.png
  • SP-29040942-0 Profile Picture
    259 on at
     
    Thank you for your response.
     
     
    namespace TAX_Retention_Policy.TAX_Retention_Policy;
    
    using Microsoft.Inventory.Item;
    
    pageextension 50012 ItemCardExt extends "Item Card"
    {
        layout
        {
            addlast("Posting Details")
            {
                field(IRProdPostingGroup; Rec.IRProdPostingGroup)
                {
                    ApplicationArea = All;
                    Visible = true;
                    Editable = (Rec.Type = Rec.Type::Service);
                }
                field(ISProdPostingGroup; Rec.ISProdPostingGroup)
                {
                    ApplicationArea = All;
                    Visible = true;
                    Editable = (Rec.Type = Rec.Type::Inventory) or (Rec.Type = Rec.Type::"Non-Inventory");
                }
                field(CF_ExciseProdPostingGroup; Rec.CF_ExciseProdPostingGroup)
                {
                    ApplicationArea = All;
                    Visible = true;
                    // Always editable
                }
                field(CFTEST; Rec.CFTEST)
                {
                    ApplicationArea = All;
                }
            }
    
            addlast(Content)
            {
                group(CustomPostingDetails)
                {
                    Caption = 'Custom Posting Details';
                    field(IRProdPostingGroup_; Rec.IRProdPostingGroup)
                    {
                        ApplicationArea = All;
                        Visible = true;
                        Editable = (Rec.Type = Rec.Type::Service);
                    }
    
                    field(ISProdPostingGroup_; Rec.ISProdPostingGroup)
                    {
                        ApplicationArea = All;
                        Visible = true;
                        Editable = (Rec.Type = Rec.Type::Inventory) or (Rec.Type = Rec.Type::"Non-Inventory");
                    }
    
                    field(CF_ExciseProdPostingGroup_; Rec.CF_ExciseProdPostingGroup)
                    {
                        ApplicationArea = All;
                        Visible = true;
                    }
                }
            }
        }
    }
    
    I've added as mentioned by you, but still, I'm not able to see the fields but i don't know why i'm only able to see CFTEST 
     
    This is the table extension: 
    tableextension 50123 ItemTableExt extends Item
    {
        fields
        {
            field(50101; IRProdPostingGroup; Code[30])
            {
                //CaptionML = ENU = 'IR Product Posting Group', FRA = 'Groupe compta. produit IR';
                Caption = 'IR Product Posting Group';
                DataClassification = ToBeClassified;
                Access = Public;
                TableRelation = IRProductPostingGroup.Code;
            }
            field(50102; ISProdPostingGroup; Code[30])
            {
                //CaptionML = ENU = 'IS Product Posting Group', FRA = 'Groupe compta. produit IS';
                Caption = 'IS Product Posting Group';
                DataClassification = ToBeClassified;
                TableRelation = ISProductPostingGroup.Code;
            }
            field(50103; CF_ExciseProdPostingGroup; Code[30])
            {
                //CaptionML = ENU = 'Excise Product Posting Group', FRA = 'Groupe compta. produit DA';
                Caption = 'Excise Product Posting Group';
                DataClassification = ToBeClassified;
                TableRelation = CF_ExciseProductPostingGroup.Code;
            }
            field(50104; CFTEST; Code[10])
            {
                
            }
        }
    }
    
    and these are the table relations:
     
    IRProducPostingGroup
    table 50063 IRProductPostingGroup
    {
        //CaptionML = ENU = 'IR Product Posting Group', FRA = 'Groupe compta. produit IR';
        Caption = 'IR Product Posting Group';
    
        fields
        {
            field(1; Code; Code[30])
            {
                DataClassification = ToBeClassified;
            }
            field(2; Description; Text[100])
            {
                DataClassification = ToBeClassified;
            }
        }
        keys
        {
            key(PK; Code)
            {
                Clustered = true;
            }
        }
    }
    
    ISProductPostingGroup
    table 50062 ISBusinessPostingGroup
    {
        //CaptionML = ENU = 'IS Business Posting Group', FRA = 'Groupe compta. marché IS';
        Caption = 'IS Business Posting Group';
        DataClassification = ToBeClassified;
    
        fields
        {
            field(1; Code; Code[30])
            {
                DataClassification = ToBeClassified;
            }
            field(2; Description; Text[100])
            {
                DataClassification = ToBeClassified;
            }
        }
        keys
        {
            key(PK; Code)
            {
                Clustered = true;
            }
        }
    }
    CF_ExciseProductPostingGroup
    table 50100 CF_ExciseProductPostingGroup
    {
        //CaptionML = ENU = 'Excise Product Posting Group', FRA = 'Groupe compta. produit DA';
        Caption = 'Excise Product Posting Group';
    
        fields
        {
            field(1; Code; Code[30])
            {
                DataClassification = ToBeClassified;
            }
            field(2; Description; Text[100])
            {
                DataClassification = ToBeClassified;
            }
        }
        keys
        {
            key(PK; Code)
            {
                Clustered = true;
            }
        }
    }
    
     
  • Suggested answer
    SP-29040942-0 Profile Picture
    259 on at

    Hi,

    I just noticed that I only have a 10-table license assigned in BC250.

    Here are the details of my license:

    ****************************************************************************
    Name Amount
    -------------------------------------------------------- ----------
    Country Code: W1 1
    Dyn365 Business Central Codeunits (each) 10
    Dyn365 Business Central Essentials 8
    Dyn365 Business Central Pages (100) 100
    Dyn365 Business Central Queries (100) 100
    Dyn365 Business Central Reports (100) 100
    Dyn365 Business Central Tables (10) 10
    Dyn365 Business Central Team Members 6
    Dyn365 Business Central XML Ports (100) 100

    ****************************************************************************

    I've created more than 10 tables, and the fields which I had mentioned included TableRelations.

    Do you think this could be the reason certain fields aren’t showing up?

    Let me know if you'd like a more concise or technical version!

     

    Any help or pointers would be greatly appreciated.

     

    It would be much helpful for your immediate response — and thanks in advance!

  • Suggested answer
    RockwithNav Profile Picture
    9,142 Super User 2026 Season 1 on at
    Just try adding to some different groups OR grid  in the page and then see the behavior.
  • Suggested answer
    YUN ZHU Profile Picture
    101,385 Super User 2026 Season 1 on at
    Can you add this field using the Design feature?
    If it still doesn't work, try to modify the tableextension and field id (50000~50010). I suspect it may be a license issue.
     
    Hope this helps.
    Thanks.
    ZHU

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Stars!

Meet the Microsoft Dynamics 365 Contact Center Champions

We are thrilled to have these Champions in our Community!

Congratulations to the April Top 10 Community Leaders

These are the community rock stars!

Leaderboard > Small and medium business | Business Central, NAV, RMS

#1
OussamaSabbouh Profile Picture

OussamaSabbouh 2,024 Super User 2026 Season 1

#1
OussamaSabbouh Profile Picture

OussamaSabbouh 2,024 Super User 2026 Season 1

#3
YUN ZHU Profile Picture

YUN ZHU 1,383 Super User 2026 Season 1

Last 30 days Overall leaderboard

Featured topics

Microsoft Training Manuals

Product updates

Dynamics 365 release plans