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

Notifications

Announcements

No record found.

Community site session details

Community site session details

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

Creating a quote without converting non-stock items to real items

(0) ShareShare
ReportReport
Posted on by

I am interested in some customization where a quote can be generated without converting non-stock items to real items. What's best way to handle this situation?

I have the same question (0)
  • Suggested answer
    keoma Profile Picture
    32,729 on at

    edit table sales line

    field type: add value nonstockitem to optionstring, also to property optioncaption

    field no.: property tablerelation: add condition Type=CONST(NonStockItem), table=nonstock item

    code changes:

    no.-onvalidate:

    ...

    CASE Type OF
    Type::" ":

    ...

    Type::NonStockItem:
    BEGIN
    NonstockItem.GET("No.");
    Description := NonstockItem.Description;
    END;

    instead of 

    IF NOT (Type IN [Type::" ",Type::"Fixed Asset"]) THEN

      VALIDATE("VAT Prod. Posting Group");


    set

    IF NOT (Type IN [Type::" ",Type::"Fixed Asset",Type::NonStockItem]) THEN

    VALIDATE("VAT Prod. Posting Group");





     

  • mbharodia Profile Picture
    on at

    Thank you for your response. I am following your suggestions. I will let you know how this goes.

  • mbharodia Profile Picture
    on at

    I have looked into this; as I am developing an extension for Business central online edition I believe that I may not be able to merely update the base Item Line table object. Is there any way I can introduce something with table extender object? Obviously table extender does not allow any update to options list of TYPE field as you have indicated above. If there are any other suggestions, please let me know. Thanks again for your help.

  • Suggested answer
    Teddy Herryanto (That NAV Guy) Profile Picture
    14,284 Super User 2025 Season 2 on at

    Are you going to convert it to Item eventually ? If not, you can try using Resource.

  • mbharodia Profile Picture
    on at

    Hi Teddy. Thanks for your reply.

    Yes. It will be a real item if a quote is accepted.

    The business users have a valid case. This business has a unique business model and as per that they create lots of quotes, however, only a few get accepted. If they keep creating real items while doing quotes, then the item list would be a mess. It may have thousands of items never sold and without inventory. If quote is accepted, then they would generate a sales order and relevant purchase order accordingly.

    I was looking into source of code of Sales Line table. I found that it is calling ShowNonStock() procedure to show a list of non-stock items for selection. When selection happens, the selected NonStock is converted into a real item. I am hoping to extend this Sales Line table and introduce a custom procedure which is going to be similar to ShowNonStock() except it may not have a logic to do a real item conversion. I will also extend relevant page part so that I can add a custom action (button) to call this procedure. This way I believe that a non stock item can be added without creating a real item.

    However, at this point, I am not sure how the sales order conversion is going to behave if a quote is accepted. Does it need a real time to convert a quote into a sales order or it is capable enough to figure this out? If you are aware of this, please let me know.

    Thanks again!!

  • Suggested answer
    Teddy Herryanto (That NAV Guy) Profile Picture
    14,284 Super User 2025 Season 2 on at

    I don't think you can do that in standard. You also can't extend the option type on BC Cloud.

    What I can recommend is to setup some item master (you can set it up as non-inventory) as non-stock item.

    When doing the quote, you use that item. When converting from quote to order, you convert that item into a new item.

  • Suggested answer
    keoma Profile Picture
    32,729 on at

    then create your own copies of tables sales header and sales line (e.g. sales header cust., sales line cust.). add a field "accepted" to custom table sales header. add also custom pages sales quote and sales quotes (list), add only that fields you really need. add my above changes to these tables. the quotes including non-stock items should then be created with this custom sales quote page. if a quote is accepted by the customer, then field accepted should be set. in the last step accepted quotes can be converted into "real" sales quotes by a kind of document copy function. only during this doc. copy step the non-stock items will be converted to real items, otherwise not. not accepted quotes can then be deleted or archived. so no need to create items with each quote. could be a real nice extension. 

  • mbharodia Profile Picture
    on at

    Thanks a lot for your help. I ended up following your suggestion and recreated custom quote setup by copying existing quote setup. Looks like that it is working.

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

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

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

#1
OussamaSabbouh Profile Picture

OussamaSabbouh 3,143

#2
Jainam M. Kothari Profile Picture

Jainam M. Kothari 1,694 Super User 2025 Season 2

#3
YUN ZHU Profile Picture

YUN ZHU 1,067 Super User 2025 Season 2

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans