Share via


Table "Deferral Posting Buffer"

ID 1706
Namespace: Microsoft.Finance.Deferral

Temporary buffer table that accumulates deferral posting entries before they are written to G/L Entry. Consolidates multiple deferral lines with identical posting parameters into single G/L entries.

Properties

Name Value
Caption Deferral Posting Buffer
DataClassification CustomerContent

Fields

Name Type Description
"Entry No." Integer

Unique sequential identifier for each buffer entry.

Type Option

Source type of the deferred item (G/L Account, Item, Resource, Fixed Asset).

"G/L Account" Code[20]

G/L Account number for posting the deferral entry. Must be a posting account that is not blocked.

"Gen. Bus. Posting Group" Code[20]

General Business Posting Group for VAT and tax calculations.

"Gen. Prod. Posting Group" Code[20]

General Product Posting Group for VAT and tax calculations.

"VAT Bus. Posting Group" Code[20]

VAT Business Posting Group for VAT calculation and posting.

"VAT Prod. Posting Group" Code[20]

VAT Product Posting Group for VAT calculation and posting.

"Tax Area Code" Code[20]

Tax Area Code for sales tax calculations in North American localization.

"Tax Group Code" Code[20]

Tax Group Code for sales tax calculations in North American localization.

"Tax Liable" Boolean

Indicates whether the entry is subject to sales tax.

"Use Tax" Boolean

Indicates whether the entry is subject to use tax.

"Job No." Code[20]

Project number for job-related deferral entries.

"Posting Date" Date

Date when this deferral entry will be posted to the G/L.

Amount Decimal

Deferral amount in document currency to be posted to G/L.

"Amount (LCY)" Decimal

Deferral amount in local currency (LCY) to be posted to G/L.

"System-Created Entry" Boolean

Indicates whether this entry was created automatically by the system.

"Global Dimension 1 Code" Code[20]

Global Dimension 1 code from the source document for reporting and analysis.

"Global Dimension 2 Code" Code[20]

Global Dimension 2 code from the source document for reporting and analysis.

Description Text[100]

Description of the deferral entry for identification and reporting.

"Deferral Account" Code[20]

G/L Account used for the temporary deferral balance.

"Period Description" Text[100]

Period-specific description for the deferral entry.

"Deferral Doc. Type" Enum Microsoft.Finance.Deferral."Deferral Document Type"

Type of source document that generated this deferral buffer entry.

"Document No." Code[20]

Document number from the source document.

"Sales/Purch Amount" Decimal

Original sales or purchase amount in document currency before deferral.

"Sales/Purch Amount (LCY)" Decimal

Original sales or purchase amount in local currency (LCY) before deferral.

"Gen. Posting Type" Enum Microsoft.Foundation.Enums."General Posting Type"

General posting type (Purchase or Sale) for proper G/L entry classification.

"Partial Deferral" Boolean

Indicates whether this represents a partial deferral of the original amount.

"Dimension Set ID" Integer

Dimension Set ID containing all dimension values for this deferral entry.

"Deferral Code" Code[10]

Deferral template code that generated this buffer entry.

"Deferral Line No." Integer

Line number from the deferral schedule that generated this buffer entry.

SystemId Guid
SystemCreatedAt DateTime
SystemCreatedBy Guid
SystemModifiedAt DateTime
SystemModifiedBy Guid
SystemRowVersion BigInteger

Methods

PrepareSales

Prepares the deferral posting buffer for sales line posting. Initializes buffer fields with sales line dimensions and tax information.

procedure PrepareSales(SalesLine: Record "Sales Line", DocumentNo: Code[20])

Parameters

Name Type Description
SalesLine Table Microsoft.Sales.Document."Sales Line"

Sales line containing the deferral information

DocumentNo Code[20]

Document number for the posting

ReverseAmounts

Reverses the signs of all amount fields in the posting buffer. Used for credit transactions and corrections.

procedure ReverseAmounts()

PreparePurch

Prepares the deferral posting buffer for purchase line posting. Initializes buffer fields with purchase line dimensions and tax information.

procedure PreparePurch(PurchLine: Record "Purchase Line", DocumentNo: Code[20])

Parameters

Name Type Description
PurchLine Table Microsoft.Purchases.Document."Purchase Line"

Purchase line containing the deferral information

DocumentNo Code[20]

Document number for the posting

PrepareRemainderSales

Prepares the deferral posting buffer for remainder sales amounts. Handles partial deferrals where only part of the line amount is deferred.

procedure PrepareRemainderSales(SalesLine: Record "Sales Line", NewAmountLCY: Decimal, NewAmount: Decimal, GLAccount: Code[20], DeferralAccount: Code[20], DeferralLineNo: Integer)

Parameters

Name Type Description
SalesLine Table Microsoft.Sales.Document."Sales Line"

Sales line containing the deferral information

NewAmountLCY Decimal

LCY amount for the remainder

NewAmount Decimal

Amount for the remainder

GLAccount Code[20]

G/L account for posting

DeferralAccount Code[20]

Deferral account for posting

DeferralLineNo Integer

Line number for the deferral

PrepareRemainderPurchase

Prepares the deferral posting buffer for remainder purchase amounts. Handles partial deferrals where only part of the line amount is deferred.

procedure PrepareRemainderPurchase(PurchaseLine: Record "Purchase Line", NewAmountLCY: Decimal, NewAmount: Decimal, GLAccount: Code[20], DeferralAccount: Code[20], DeferralLineNo: Integer)

Parameters

Name Type Description
PurchaseLine Table Microsoft.Purchases.Document."Purchase Line"

Purchase line containing the deferral information

NewAmountLCY Decimal

LCY amount for the remainder

NewAmount Decimal

Amount for the remainder

GLAccount Code[20]

G/L account for posting

DeferralAccount Code[20]

Deferral account for posting

DeferralLineNo Integer

Line number for the deferral

PrepareInitialAmounts

Prepares initial amounts for deferral posting buffer. Overload method without discount parameters.

procedure PrepareInitialAmounts(AmountLCY: Decimal, AmountACY: Decimal, RemainAmtToDefer: Decimal, RemainAmtToDeferACY: Decimal, GLAccount: Code[20], DeferralAccount: Code[20])

Parameters

Name Type Description
AmountLCY Decimal

LCY amount

AmountACY Decimal

ACY amount

RemainAmtToDefer Decimal

Remaining amount to defer

RemainAmtToDeferACY Decimal

Remaining ACY amount to defer

GLAccount Code[20]

G/L account for posting

DeferralAccount Code[20]

Deferral account for posting

PrepareInitialAmounts

Prepares initial amounts for deferral posting buffer including discount handling. Extended version with discount amount parameters.

procedure PrepareInitialAmounts(AmountLCY: Decimal, AmountACY: Decimal, RemainAmtToDefer: Decimal, RemainAmtToDeferACY: Decimal, GLAccount: Code[20], DeferralAccount: Code[20], DiscountAmount: Decimal, DiscountAmountACY: Decimal)

Parameters

Name Type Description
AmountLCY Decimal

LCY amount

AmountACY Decimal

ACY amount

RemainAmtToDefer Decimal

Remaining amount to defer

RemainAmtToDeferACY Decimal

Remaining ACY amount to defer

GLAccount Code[20]

G/L account for posting

DeferralAccount Code[20]

Deferral account for posting

DiscountAmount Decimal

Discount amount to consider

DiscountAmountACY Decimal

ACY discount amount to consider

InitFromDeferralLine

Initializes the posting buffer from a deferral line record. Copies amounts, dates, and description from the deferral line.

procedure InitFromDeferralLine(DeferralLine: Record "Deferral Line")

Parameters

Name Type Description
DeferralLine Table Microsoft.Finance.Deferral."Deferral Line"

Deferral line to copy data from

Update

Updates an existing deferral posting buffer record with values from another buffer. Accumulates amounts if a matching record exists, otherwise creates a new record.

procedure Update(DeferralPostBuffer: Record "Deferral Posting Buffer")

Parameters

Name Type Description
DeferralPostBuffer Table Microsoft.Finance.Deferral."Deferral Posting Buffer"

Source buffer containing the values to add

GetLastEntryNo

Gets the last entry number used in the deferral posting buffer table. Used for assigning sequential entry numbers to new buffer records.

procedure GetLastEntryNo(): Integer

Returns

Type Description
Integer

The highest entry number currently in use

Events

OnAfterPrepareSales

Integration event raised after preparing deferral posting buffer for sales line processing. Enables custom field updates or additional processing after sales line preparation.

[IntegrationEvent(False,False)]
local procedure OnAfterPrepareSales(var DeferralPostingBuffer: Record "Deferral Posting Buffer", SalesLine: Record "Sales Line")

Parameters

Name Type Description
DeferralPostingBuffer Table Microsoft.Finance.Deferral."Deferral Posting Buffer"

Deferral posting buffer record prepared for sales

SalesLine Table Microsoft.Sales.Document."Sales Line"

Source sales line record used for preparation

Remarks

Raised from PrepareSales procedure after standard sales line preparation logic.

OnAfterPreparePurch

Integration event raised after preparing deferral posting buffer for purchase line processing. Enables custom field updates or additional processing after purchase line preparation.

[IntegrationEvent(False,False)]
local procedure OnAfterPreparePurch(var DeferralPostingBuffer: Record "Deferral Posting Buffer", PurchaseLine: Record "Purchase Line")

Parameters

Name Type Description
DeferralPostingBuffer Table Microsoft.Finance.Deferral."Deferral Posting Buffer"

Deferral posting buffer record prepared for purchase

PurchaseLine Table Microsoft.Purchases.Document."Purchase Line"

Source purchase line record used for preparation

Remarks

Raised from PreparePurch procedure after standard purchase line preparation logic.

OnUpdateOnAfterSetFilters

Integration event raised after setting filters on deferral posting buffer during update operation. Enables custom filter modification or additional processing on filtered records.

[IntegrationEvent(False,False)]
local procedure OnUpdateOnAfterSetFilters(var DeferralPostingBufferRec: Record "Deferral Posting Buffer", DeferralPostBuffer: Record "Deferral Posting Buffer")

Parameters

Name Type Description
DeferralPostingBufferRec Table Microsoft.Finance.Deferral."Deferral Posting Buffer"

Deferral posting buffer record with filters applied

DeferralPostBuffer Table Microsoft.Finance.Deferral."Deferral Posting Buffer"

Source deferral posting buffer for filter context

Remarks

Raised from Update procedure after applying standard filters for buffer updates.

OnUpdateOnBeforeDeferralPostBufferInsert

Integration event raised before inserting deferral posting buffer record during update operation. Enables custom field updates or validation before buffer record insertion.

[IntegrationEvent(False,False)]
local procedure OnUpdateOnBeforeDeferralPostBufferInsert(var ToDeferralPostingBuffer: Record "Deferral Posting Buffer", FromDeferralPostingBuffer: Record "Deferral Posting Buffer")

Parameters

Name Type Description
ToDeferralPostingBuffer Table Microsoft.Finance.Deferral."Deferral Posting Buffer"

Target deferral posting buffer record to be inserted

FromDeferralPostingBuffer Table Microsoft.Finance.Deferral."Deferral Posting Buffer"

Source deferral posting buffer record for data copying

Remarks

Raised from Update procedure before inserting new deferral posting buffer entries.

OnAfterPrepareRemainderPurchase

Integration event raised after preparing remainder deferral posting buffer for purchase processing. Enables custom processing of remainder amounts for purchase transactions.

[IntegrationEvent(False,False)]
local procedure OnAfterPrepareRemainderPurchase(var DeferralPostingBuffer: Record "Deferral Posting Buffer", PurchaseLine: Record "Purchase Line")

Parameters

Name Type Description
DeferralPostingBuffer Table Microsoft.Finance.Deferral."Deferral Posting Buffer"

Deferral posting buffer record prepared for purchase remainder

PurchaseLine Table Microsoft.Purchases.Document."Purchase Line"

Source purchase line record for remainder calculation

Remarks

Raised from PrepareRemainderPurchase procedure after calculating purchase remainder amounts.

OnAfterPrepareRemainderSales

Integration event raised after preparing remainder deferral posting buffer for sales processing. Enables custom processing of remainder amounts for sales transactions.

[IntegrationEvent(False,False)]
local procedure OnAfterPrepareRemainderSales(var DeferralPostingBuffer: Record "Deferral Posting Buffer", SalesLine: Record "Sales Line")

Parameters

Name Type Description
DeferralPostingBuffer Table Microsoft.Finance.Deferral."Deferral Posting Buffer"

Deferral posting buffer record prepared for sales remainder

SalesLine Table Microsoft.Sales.Document."Sales Line"

Source sales line record for remainder calculation

Remarks

Raised from PrepareRemainderSales procedure after calculating sales remainder amounts.

See also