---
id: object/table/1704
type: object
title: Table 1704 "Posted Deferral Header"
summary: Table 1704 "Posted Deferral Header" in Base Application (Microsoft.Finance.Deferral). 18 fields, 5 public procedures, 2 events. Present since at least BC23, still in BC30, changed in BC24, BC27-28.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "28"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 4c1c20e3da45f27d5c9db7882e33672fd37da7de2a4f658a744c8b593dbffb24
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Finance/Deferral/PostedDeferralHeader.Table.al
    title: src/Layers/W1/BaseApp/Finance/Deferral/PostedDeferralHeader.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/finance-how-defer-revenue-expenses
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/finance/work-with-the-chart-of-accounts-and-gene
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 1704
name: Posted Deferral Header
namespace: Microsoft.Finance.Deferral
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "27"
  - "28"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 18
  procedures: 8
  events: 2
  subscribers: 0
relations:
  out: 3
  referenced_by: 6
  pages: 1
  extended_by: 0
  event_subscribers: 0
  calls: 1
  called_by: 0
  implements: 0
---

# Table 1704 "Posted Deferral Header"

> Table 1704 "Posted Deferral Header" in Base Application (Microsoft.Finance.Deferral). 18 fields, 5 public procedures, 2 events. Present since at least BC23, still in BC30, changed in BC24, BC27-28.

Base Application · Microsoft.Finance.Deferral · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Finance/Deferral/PostedDeferralHeader.Table.al) · facts from BC29

Learn documents this table through its pages: [Page 1704 "Deferral Schedule View"](../page/1704.md) (1 Learn page).

## Properties

| Property | Value |
|---|---|
| Caption | Posted Deferral Header |
| DataClassification | CustomerContent |

## Fields

Explanation: the field's ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.

| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Deferral Doc. Type | Enum "Deferral Document Type" | — | enum [Enum 1702 "Deferral Document Type"](../enum/1702.md) |
| 2 | Gen. Jnl. Document No. | Code[20] | — |  |
| 3 | Account No. | Code[20] | — | TableRelation [Table 15 "G/L Account"](../table/15.md) ("G/L Account" where(Blocked = const(false))) |
| 4 | Document Type | Integer | — |  |
| 5 | Document No. | Code[20] | — |  |
| 6 | Line No. | Integer | — |  |
| 7 | Deferral Code | Code[10] | — | TableRelation [Table 1700 "Deferral Template"](../table/1700.md) ("Deferral Template"."Deferral Code"); NotBlank |
| 8 | Amount to Defer | Decimal | — |  |
| 9 | Amount to Defer (LCY) | Decimal | — |  |
| 10 | Calc. Method | Enum "Deferral Calculation Method" | — | enum [Enum 1700 "Deferral Calculation Method"](../enum/1700.md) |
| 11 | Start Date | Date | — |  |
| 12 | No. of Periods | Integer | — | NotBlank |
| 13 | Schedule Description | Text[100] | — |  |
| 15 | Currency Code | Code[10] | — | TableRelation Currency.Code |
| 16 | Deferral Account | Code[20] | — | TableRelation [Table 15 "G/L Account"](../table/15.md) ("G/L Account" where("Account Type" = const(Posting), Blocked = const(false))); NotBlank |
| 17 | CustVendorNo | Code[20] | — |  |
| 18 | Posting Date | Date | — |  |
| 19 | Entry No. | Integer | — |  |

## Keys

- Key1: Deferral Doc. Type, Gen. Jnl. Document No., Account No., Document Type, Document No., Line No. (clustered)
- Key2: Deferral Doc. Type, Account No., Posting Date, Gen. Jnl. Document No., Document Type, Document No., Line No.
- Key3: Deferral Doc. Type, CustVendorNo, Posting Date, Gen. Jnl. Document No., Account No., Document Type, Document No., Line No.

## Events published

- `OnBeforePostedDeferralHeaderInsert(var PostedDeferralHeader: Record "Posted Deferral Header"; DeferralHeader: Record "Deferral Header")` (integration)
- `OnDeleteLinesOnAfterSetFilters(var PostedDeferralLine: Record "Posted Deferral Line")` (integration)

## Procedures

- `DeleteHeader(DeferralDocType: Integer; GenJnlDocNo: Code[20]; AccountNo: Code[20]; DocumentType: Integer; DocumentNo: Code[20]; LineNo: Integer)`: Deletes a posted deferral header and all associated lines.
- `DeleteForDoc(DeferralDocType: Integer; GenJnlDocNo: Code[20]; AccountNo: Code[20]; DocumentType: Integer; DocumentNo: Code[20])`: Deletes all posted deferral headers and lines for a specific document. Used for cleanup when documents are deleted or corrected.
- `InitFromDeferralHeader(DeferralHeader: Record "Deferral Header"; GenJnlDocNo: Code[20]; AccountNo: Code[20]; NewDocumentType: Integer; NewDocumentNo: Code[20]; NewLineNo: Integer; DeferralAccount: Code[20]; CustVendNo: Code[20]; PostingDate: Date)`: Initializes a posted deferral header from a deferral header record during posting. Transfers data and sets up posting-specific fields.
- `DeferralEndsInAccountingPeriod(BalanceAsOfDateFilter: Date; PeriodStartDate: Date; PeriodEndDate: Date): Boolean`
- `CalculatePeriodFilter(BalanceAsOfDateFilter: Date; var StartDate: Date; var EndDate: Date)`

Plus 1 local procedures.

## Triggers

OnDelete

## Relations

- Account No.: TableRelation [Table 15 "G/L Account"](../table/15.md)
- Deferral Account: TableRelation [Table 15 "G/L Account"](../table/15.md)
- Deferral Code: TableRelation [Table 1700 "Deferral Template"](../table/1700.md)

## Referenced by

6 fields in 1 objects relate to this table (TableRelation or CalcFormula).

- [Table 1705 "Posted Deferral Line"](../table/1705.md): Account No., Deferral Doc. Type, Document No., Document Type, Gen. Jnl. Document No., Line No.

## Pages and codeunits on this table

- [Page 1704 "Deferral Schedule View"](../page/1704.md) (source table)

## Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an `Object::"Name"` argument. Interface dispatch and calls through events are not counted, so the list is not complete.

- [Codeunit 360 "Accounting Period Mgt."](../codeunit/360.md) (1 call: `CalculatePeriodFilter → AccPeriodStartEnd`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24, BC27-28

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "table", object_name: "Posted Deferral Header")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
