Table "Deferral Posting Buffer"
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.