• Home
  • About Me
  • Contact Me
  • Downloads
  • White Papers
  • Web Sites
  • Post List
  • Articles
  • FAQ

Olof Simren - Microsoft Dynamics 365 Business Central Blog

  • Home
  • About Me
  • Contact Me
  • Downloads
  • White Papers
  • Web Sites
  • Post List
  • Articles
  • FAQ

Record Deletion Tool for Business Central in AppSource

August 19, 2025 Posted by Olof Simren General, Miscellaneous 3 Comments

10+ years ago I created a Record Deletion tool for Dynamics NAV that I published here on my blog.

It was a tool that could be used to clean up test transactions in a company in Dynamics NAV, and it quickly became very popular. People have reach out to about getting this tool available for Business Central (I also think some have done the work of converting this tool into a BC extension themselves). So here we go; it is now available via AppSource and can be accessed for FREE here:

Record Deletion Tool for Business Central

The functionality is the same as back in the days, so reading the old blog post about the Record Deletion Tool for Dynamics NAV 2015 would give you an idea of how it is working and what it can be used for (if you have not tried it yet).

It looks like below, same functionality, different look.

Record Deletion Tool for Business Central

In addition, it is now also extendable, you can add code to make your own tables defaults in the suggestion of what to delete and if you have tables that are protected where record should be deleted then you can handle that as well through extending it.

To add to the list of tables that are included in the suggestion you create a subscriber function like this:

    [EventSubscriber(ObjectType::Codeunit, 70666591, 'OnSuggestRecordsToDelete', '', false, false)]
    local procedure OnSuggestRecordsToDelete(var IsHandled: Boolean)
    var
        RecordDeletionTable: Record "NMM RDT Record Deletion Table";
    begin
        if RecordDeletionTable.GET(DATABASE::"NMM Mobile Entry") then begin
            RecordDeletionTable."Delete Records" := true;
            RecordDeletionTable.Modify();
        end;

        if RecordDeletionTable.GET(DATABASE::"NMM Mobile Mfg. Time Entry") then begin
            RecordDeletionTable."Delete Records" := true;
            RecordDeletionTable.Modify();
        end;
    end;

And to delete records from a protected table that’s not already part of the tool you create a codeunit like the one below (note the permissions in the top part of the codeunit, that’s the key piece of why you need this a separate codeunit).

codeunit 50100 "Sample Record Deletion Add."
{
    Permissions =
            tabledata "NMM Mobile Entry" = D,
            tabledata "NMM Mobile Mfg. Time Entry" = D;

    [EventSubscriber(ObjectType::Codeunit, 70666591, 'OnBeforeDeleteRecordsFromTable', '', false, false)]
    local procedure OnBeforeDeleteRecordsFromTable(TableId: Integer; var IsHandled: Boolean)
    var
        RecRef: RecordRef;
    begin
        if TableId = DATABASE::"NMM Mobile Entry" then begin
            RecRef.Open(TableID);
            RecRef.DeleteAll();
            RecRef.Close();
            IsHandled := true;
        end;

        if TableId = DATABASE::"NMM Mobile Mfg. Time Entry" then begin
            RecRef.Open(TableID);
            RecRef.DeleteAll();
            RecRef.Close();
            IsHandled := true;
        end;
    end;
}

I have also made a video walking through the tool. Making videos like this is harder than it looks, but at least I tried. 🙂

Record Deletion Tool Walkthrough Video

And here is the documentation related to this tool: https://naviona.com/docs/record-deletion-tool/

As with other things on my blog, you can use this as you want, free of charge, but at your own risk. 🙂 Make sure to copy the company or have some kind of backup plan before you start deleting records.

Also, if you find tables that should be parts of the suggestion to delete records from then let me know and I will add them. I am sure there are newer tables that I have missed..

Cheers!

Share this:

  • Share on Facebook (Opens in new window) Facebook
  • Share on X (Opens in new window) X

Related


Discover more from Olof Simren - Microsoft Dynamics 365 Business Central Blog

Subscribe to get the latest posts sent to your email.

Tags: AppSourceBusiness CentralDevelopment
3 Comments
Share
3

About Olof Simren

I am a Microsoft Dynamics NAV and 365 Business Central Expert, I started implementing Microsoft Dynamics NAV in 2002, back then it was called Navision Attain. Throughout the years there has been many exciting implementations in different parts of the world, all of them with different challenges but with one common theme; manufacturing. As a consultant, I bring over 20 years of experience in implementing Microsoft Dynamics NAV and 365 Business Central within manufacturing and distribution companies. The services I offer includes project management, consultation, development and training. Feel free to contact me if you need help with anything related to Microsoft Dynamics NAV or 365 Business Central. I work through my company Naviona where I team up with other skilled Microsoft Dynamics NAV and 365 Business Central Experts.

You also might be interested in

Schedule MRP

Jan 7, 2016

If you have a relative large number of items to[...]

Activate Item Tracking for Items with Ledger Entries

Jun 15, 2014

A common request is to activate item tracking (lot numbers[...]

Turn Report Selections into a Selection Dialog

Jun 12, 2014

Here is a small trick that I have used a[...]

3 Comments

Leave your reply.
  • Priyanga
    · Reply

    August 22, 2025 at 2:22 PM

    Hi Olof, great to see you active on your blog again. I used the extension, but I found that certain tables don’t get erased. For instance, Table 241 – Job Register – even though it’s part of the suggested records to delete, it doesn’t get cleared.

    • Olof Simren
      · Reply

      Author
      October 6, 2025 at 10:32 PM

      Hi Priyanga,
      Thank you for your feedback, it is probably the permissions in the Codeunit. Do you know other tables that are behaving the same? Then I can add them to the permissions.

    • Olof
      · Reply

      Author
      October 7, 2025 at 10:11 AM

      This should be fixes now btw, you just need to update the extension via AppSource.

Leave a Reply

Your email is safe with us.
Cancel Reply

Subscribe to My Blog via Email

Check Out Our Apps in AppSource

My Dynamics NAV Partner

Naviona, LLC

Categories

  • Assembly (3)
  • Development (35)
  • Finance (14)
  • General (28)
  • Inventory (24)
  • Manufacturing (36)
  • Miscellaneous (27)
  • Purchase (9)
  • Sales (11)
  • Warehouse (7)

Tags

.net Add-in AI AppSource Assembly Assembly BOM Business Central CAL Capacity Consumption Contact Copilot Costs Customer Development Dimensions Excel Finance Flushing General Ledger Inventory Item Item Tracking Low-Level Code MRP NAV 2015 NAV 2016 Output Planning Production Production BOM Production Orders Purchase Orders Receipts Reporting Reports Routing Sales Sales Order Stockkeeping Unit Subcontracting Task List Warehouse Warehouse Shipment Work Center

Recent Posts

  • Business Central Configuration Audit using Vibe Coding
  • Copilot in Planning Parameter Worksheet
  • Copilot in Planning Worksheet
  • Copilot Inventory Queries
  • Record Deletion Tool for Business Central in AppSource
  • Reopen Finished Production Orders
  • XML Buffer and CSV Buffer Tables
  • Functionality Improvements in NAV 2017
  • Reversing Production Output and Consumption
  • Return Merchandise Authorization (RMA)

Categories

  • Assembly
  • Development
  • Finance
  • General
  • Inventory
  • Manufacturing
  • Miscellaneous
  • Purchase
  • Sales
  • Warehouse

Contact Us

We're currently offline. Send us an email and we'll get back to you, asap.

Send Message

Categories

  • Assembly (3)
  • Development (35)
  • Finance (14)
  • General (28)
  • Inventory (24)
  • Manufacturing (36)
  • Miscellaneous (27)
  • Purchase (9)
  • Sales (11)
  • Warehouse (7)

Tags

.net Add-in AI AppSource Assembly Assembly BOM Business Central CAL Capacity Consumption Contact Copilot Costs Customer Development Dimensions Excel Finance Flushing General Ledger Inventory Item Item Tracking Low-Level Code MRP NAV 2015 NAV 2016 Output Planning Production Production BOM Production Orders Purchase Orders Receipts Reporting Reports Routing Sales Sales Order Stockkeeping Unit Subcontracting Task List Warehouse Warehouse Shipment Work Center

Recent Posts

  • Business Central Configuration Audit using Vibe Coding
  • Copilot in Planning Parameter Worksheet
  • Copilot in Planning Worksheet
  • Copilot Inventory Queries
  • Record Deletion Tool for Business Central in AppSource
  • Reopen Finished Production Orders
  • XML Buffer and CSV Buffer Tables
  • Functionality Improvements in NAV 2017
  • Reversing Production Output and Consumption
  • Return Merchandise Authorization (RMA)

Recent Comments

  • Olof on Business Central Configuration Audit using Vibe Coding
  • Andrew Trayfoot on Business Central Configuration Audit using Vibe Coding
  • Barrett Allen on Reopen Finished Production Orders
  • Kateryna on Business Central Configuration Audit using Vibe Coding
  • Takeshi Setoya on Reopen Finished Production Orders
  • Steve on Consignment Inventory
  • Olof Simren on Copilot in Planning Worksheet
  • Omaer Amjad on Copilot in Planning Worksheet

© 2026 · Olof Simren

  • Home
  • About Me
  • Contact Me
  • Downloads
  • White Papers
  • Web Sites
  • Post List
  • Articles
  • FAQ
Prev Next