---
id: post/demiliani-com/12267
type: post
title: "Dynamics 365 Business Central: finally we’ll have TRUNCATE table in SaaS."
summary: Business Central version 27 introduces the Rec.Truncate AL method to enable efficient bulk deletion of table rows in SaaS environments. This method supports filters and AutoIncrement field management but has limitations including no support for OnDelete triggers, media fields, or use within try functions.
tier: community
language: en
tags:
  - data deletion
  - bulk operations
  - saas
  - performance
  - truncate method
  - record api
  - retention
system: development
review:
  state: reviewed
  by: opus
  at: "2026-10-08T02:00:16.469Z"
  flags: []
generated:
  at: "2026-10-08T01:26:53.141Z"
  pipeline: 0.2.0
  prompts:
    extract-post: 1
  input_hash: 9bc9d68855f7150e5aadfe8ea77057b4ba017a3ff3c6de22d2ed4b4a62730867
evidence:
  - kind: blog
    url: https://demiliani.com/2025/08/04/dynamics-365-business-central-finally-well-have-truncate-table-in-saas/
    title: "Dynamics 365 Business Central: finally we’ll have TRUNCATE table in SaaS."
    date: "2025-08-04"
    commit: null
    t: null
    quote: null
  - kind: blog
    url: https://demiliani.com/2025/08/04/dynamics-365-business-central-finally-well-have-truncate-table-in-saas/
    title: "Dynamics 365 Business Central: finally we’ll have TRUNCATE table in SaaS."
    date: "2025-08-04"
    commit: null
    t: null
    quote: This method lets developers delete table rows, matching filters in the most efficient way.
  - kind: blog
    url: https://demiliani.com/2025/08/04/dynamics-365-business-central-finally-well-have-truncate-table-in-saas/
    title: "Dynamics 365 Business Central: finally we’ll have TRUNCATE table in SaaS."
    date: "2025-08-04"
    commit: null
    t: null
    quote: Only use filters when you're deleting significant numbers of rows (using filters for smaller deletions creates unnecessary overhead).
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
post_id: "12267"
source_id: demiliani-com
source_name: Stefano Demiliani
url: https://demiliani.com/2025/08/04/dynamics-365-business-central-finally-well-have-truncate-table-in-saas/
published_at: "2025-08-04T07:01:15.000Z"
author: Stefano Demiliani
full_text: false
words: 328
quotes:
  - text: This method lets developers delete table rows, matching filters in the most efficient way.
    why_it_matters: Describes the core capability of Truncate for efficient bulk operations that are significantly faster than DeleteAll
  - text: Only use filters when you're deleting significant numbers of rows (using filters for smaller deletions creates unnecessary overhead).
    why_it_matters: Important performance guidance for developers to avoid overhead when using the feature
code_objects_mentioned: []
systems:
  - development
  - platform
versions_mentioned:
  - "27"
preview:
  embeddable: true
  frame_url: https://demiliani.com/2025/08/04/dynamics-365-business-central-finally-well-have-truncate-table-in-saas/embed/
  image: https://demiliani.com/wp-content/uploads/2021/08/d365bclogowhite.jpg
  image_alt: null
  image_w: 394
  image_h: 362
  site_name: Stefano Demiliani
  favicon: https://demiliani.com/wp-content/uploads/2022/09/sd_wordpress_logo.png?w=32
  probed_at: "2026-10-07T11:51:50.780Z"
---

# Dynamics 365 Business Central: finally we’ll have TRUNCATE table in SaaS.

[Read the post](https://demiliani.com/2025/08/04/dynamics-365-business-central-finally-well-have-truncate-table-in-saas/) · Stefano Demiliani (Stefano Demiliani, MVP) · 2025-08-04 · 328 words · tier community · reviewed (checked by Opus)

> Business Central version 27 introduces the Rec.Truncate AL method to enable efficient bulk deletion of table rows in SaaS environments. This method supports filters and AutoIncrement field management but has limitations including no support for OnDelete triggers, media fields, or use within try functions.

## Key points

- Business Central version 27 adds the AL method Rec.Truncate on the Record API to delete table rows matching filters as efficiently as possible
- Parameters let you check whether a table cannot be truncated and choose whether AutoIncrement fields restart at 0 or keep their previous value
- With filters, the platform moves the kept data to a temporary table and back, so filters are only worth using when deleting many rows
- The user needs delete permission and must have no security filters on the table
- Not supported: tables with OnDelete triggers or event subscriptions, media or mediaset fields, use inside try functions, and filters on FlowFields; IF Rec.Truncate THEN can be used to fall back to DeleteAll

## Quotes

- "This method lets developers delete table rows, matching filters in the most efficient way." (Describes the core capability of Truncate for efficient bulk operations that are significantly faster than DeleteAll)
- "Only use filters when you're deleting significant numbers of rows (using filters for smaller deletions creates unnecessary overhead)." (Important performance guidance for developers to avoid overhead when using the feature)

## Context

- Features: Truncate method, bulk deletion, filter support, AutoIncrement management, efficient data removal
- Versions: 27

Source: Stefano Demiliani, community blog. Summary, key points and quotes are derived (CONTENT-NOTICE.md); read the original for the full text.
