Posts

Showing posts from September, 2025

Multi-Level Approval Workflows in Business Central

Image
Multi-Level Approval Workflows in Business Central Their requirement looked like this: Sales Order Approval Flow : First approval → Sales Managers (any one of them can approve) Second approval → Finance Managers (any one of them can approve) Final approval → Director (only one user, final approver) What is Multi-Level Approval in Business Central? In Business Central, multi-level approvals are managed through Workflow User Groups . Sequence No. (1, 2, 3, …) → defines the order of approvals. Multiple users in the same sequence → means approvals happen in parallel for that sequence. Standard BC logic → all users in a sequence must approve (AND logic). If you need any one user to approve (OR logic) , a customization may be required. Step-by-Step Setup 1. Create a Workflow User Group Go to Workflow User Groups in Business Central. Add approvers with the correct Sequence Numbers . Example setup: Seq 1 → Sales Managers (2 users, either can approve) Seq 2 ...

How to Hide the +New and Delete Action Buttons in Business Central Base Pages

Image
In Business Central, when you open a page (like the Customer List ), you usually see a + New button and a Delete action at the top. These allow users to create new records or delete existing ones directly from the list. However, in many businesses, you may want to restrict users from creating or deleting records. For example, you might allow users to view or edit existing records but not create or remove them. This can be controlled using the InsertAllowed and DeleteAllowed properties in a page extension. For Example, we can check in customer list page it's showing +new and Delete button. Example code: pageextension 50501 "Customer Card DC" extends "Customer Card" {     InsertAllowed = false ;     DeleteAllowed = false ; } After publishing this extension: The + New button hide. Users cannot create or delete customers. They can still open and edit existing records (unless you also set ModifyAllowed = false ). So basically: with a few ...