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

Sales Quote Approval

(7) ShareShare
ReportReport
Posted on by 439
Hi Experts,
 
I have a customised field call " Margin" in my sales quote lines. I need to setup a workflow , If the margin>15%, it should send for approval. And margin>10% it should go for approvar 1 or if margin>5%, that sales quote should be approved by approver 2.
 
How can I setup above scenario using standard sales quote approval workflow in dynamic 365 business central.
I have the same question (0)
  • Suggested answer
    Mohamed Amine Mahmoudi Profile Picture
    26,803 Super User 2026 Season 1 on at
    Hi @Niki,
     
    You will have to make a customization if you want this functionality or use Power Automate.
     
    Best regards,
    Mohamed Amine MAHMOUDI
  • Suggested answer
    YUN ZHU Profile Picture
    99,978 Super User 2026 Season 1 on at
    Hi, You can create multiple workflows for Sales Quote and set different conditions, which does not require customization.
    For example,
     
    Hope this helps.
    Thanks.
    ZHU
  • Suggested answer
    Andrés Arias Profile Picture
    5,168 Super User 2026 Season 1 on at
    Hello,

    You should create as many flows as you have conditions, i.e. one flow for >15, another for >10 and so on. It is important that this is set up as filters within the flow so that it can be triggered correctly.

    By having a field created, you should also be able to select it within the filter.
     
    I hope you can help.
     
    Regards,
     
    Andres
  • Suggested answer
    Ramesh Kumar Profile Picture
    7,547 Super User 2026 Season 1 on at
    Hi Nikki,
     
    As everyone suggest 2 options 
     
    1. Expose the Custom Field to Workflow Since “Margin” is a custom field, you need to make it available for workflow conditions:
     
    [EventSubscriber(ObjectType::Codeunit, Codeunit::"Workflow Setup", 'OnAddSalesQuoteApprovalConditions', '', false, false)]
    local procedure AddMarginConditionToWorkflow(WorkflowStepArgument: Record "Workflow Step Argument")
    begin
        WorkflowStepArgument.AddField(
            Database::"Sales Line",
            FieldNo("Your Custom Margin Field"),
            "Your Custom Margin Field");
    end;
     
     
    2. Using Power Automate with BC connector
     
    I prefer using Power automate to keep simple
     
    Thanks
    Ramesh
     
    If this was helpful, please check the "Does this answer your question?" box and mark it as verified.
     
     
     
  • Suggested answer
    Kamal Khakhkhar Profile Picture
    3,341 on at
    Hii there, as per @YUN ZHU suggested, 
    you can add conditions as per your requirement you can create workflow as per using template,
     
    if you found answer, Mark it answered.
     
    Thank You.
    Kamal Khakhkhar.
  • Suggested answer
    Mansi Soni Profile Picture
    8,981 Super User 2026 Season 1 on at
    Hello @Niki,

    You can first try setting up the workflow conditions using your custom field (Margin) by exposing it through conditions. If that doesn’t fully meet your requirement such as routing approvals to different approvers based on varying margin thresholds you can implement a customization to handle the conditional approval logic more effectively.

    Hope this answer will help you as well!

    Regards,
    Mansi Soni
  • Suggested answer
    Jun Wang Profile Picture
    8,212 Moderator on at
    You could also create a dimension: Margin, then create values like greater than 10%, greater than 15% etc., then you could use the out of box to set up condition of the quote workflow. This might be simpler to implement.
     
     
  • Suggested answer
    Jainam M. Kothari Profile Picture
    15,835 Super User 2026 Season 1 on at
    Hello,
     
    you'll need a custom workflow since the standard approval workflows don't support complex conditional logic.
     
    This involves creating a custom workflow event that triggers on quote creation or modification, adding logic to evaluate the margin thresholds (e.g., >15% for general approval, >10% for Approver 1, >5% for Approver 2), and configuring workflow responses to route the quote to the correct approver.
     
    You can use workflow user groups to manage approvers and may need AL development to implement the margin-based conditions.
     
     
  • Suggested answer
    RockwithNav Profile Picture
    9,081 Super User 2026 Season 1 on at
    Lot of good suggestions we already have here, so only I thing I will add is , whatsoever manipulation or tweak you can do to achieve this via standard functionality is the best before you land on to doing customizations.
  • Suggested answer
    Jeffrey Bulanadi Profile Picture
    9,114 Super User 2026 Season 1 on at

    Hi Niki,

    Standard approval workflow in BC doesn’t support multi-tiered conditional logic out of the box, especially when based on a custom field like “Margin.”

    Here’s what you can do to implement your scenario:

    • First, expose the custom “Margin” field to the workflow engine. This requires a small AL customization:
      • Subscribe to the OnAddSalesQuoteApprovalConditions event in the Workflow Setup codeunit
      • Add your custom field from the Sales Line table to the workflow condition list
      • This makes it available for filtering in workflow steps
    • Next, create multiple workflows with different conditions:
      • One workflow for Margin > 15%
      • Another for Margin > 10%
      • A third for Margin > 5%
      • Each workflow should route to a different approver or approval user group
    • If you need more flexibility, consider using Power Automate:
      • Trigger the flow when a Sales Quote is created or modified
      • Read the Margin value and apply conditional logic
      • Route the approval request to the correct approver based on thresholds
    • You can also use dimensions as a workaround:
      • Create a “Margin Level” dimension with values like “>15%”, “>10%”, “>5%”
      • Assign the dimension based on the calculated margin
      • Use standard workflow filters on the dimension value

     

    Helpful references:

    Use Approval Workflows – Microsoft Docs
    Create a Custom Approval Workflow – Mercurius IT
    Approval Workflow Guide – BC Geek
    Power Automate with BC – Enavate Blog


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

    Cheers
    Jeffrey

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 March Top 10 Community Leaders

These are the community rock stars!

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

#1
OussamaSabbouh Profile Picture

OussamaSabbouh 1,796 Super User 2026 Season 1

#2
YUN ZHU Profile Picture

YUN ZHU 965 Super User 2026 Season 1

#3
Teagen Boll Profile Picture

Teagen Boll 664 Super User 2026 Season 1

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans