---
title: "Table 49 Invoice Post. Buffer"
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/table/49-invoice-post-buffer/
type: table
id: 49
name: "Invoice Post. Buffer"
app: "Base Application"
namespace: Microsoft.Finance.ReceivablesPayables
versions: "17-28"
build: 28.5.54151.54365
obsolete: "Removed 27.0"
source: "https://jonas-paprotka.de/ref/table/49-invoice-post-buffer/source/29/"
checked: 2026-09-20
subject: "Microsoft Dynamics 365 Business Central"
license: "Content © 2026 Jonas Paprotka. Quote freely with attribution and a link."
---

# Table 49 Invoice Post. Buffer

Jonas Paprotka, https://jonas-paprotka.de/ref/table/49-invoice-post-buffer/

| | |
| --- | --- |
| App | Base Application |
| Namespace | Microsoft.Finance.ReceivablesPayables |
| Versions | 17-28 |
| Obsolete | Removed 27.0, seen from 18. This table will be replaced by table Invoice Posting Buffer in new Invoice Posting implementation. |
| Source file | Finance/ReceivablesPayables/InvoicePostBuffer.Table.al |

## Fields

| Id | Name | Type | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| 1 | Type | Enum Invoice Posting Line Type | 17-28 | - | - |
| 2 | G/L Account | Code[20] | 17-28 | - | - |
| 4 | Global Dimension 1 Code | Code[20] | 17-28 | - | - |
| 5 | Global Dimension 2 Code | Code[20] | 17-28 | - | - |
| 6 | Job No. | Code[20] | 17-28 | - | - |
| 7 | Amount | Decimal | 17-28 | - | - |
| 8 | VAT Amount | Decimal | 17-28 | - | - |
| 10 | Gen. Bus. Posting Group | Code[20] | 17-28 | - | - |
| 11 | Gen. Prod. Posting Group | Code[20] | 17-28 | - | - |
| 12 | VAT Calculation Type | Enum Tax Calculation Type | 17-28 | - | - |
| 14 | VAT Base Amount | Decimal | 17-28 | - | - |
| 17 | System-Created Entry | Boolean | 17-28 | - | - |
| 18 | Tax Area Code | Code[20] | 17-28 | - | - |
| 19 | Tax Liable | Boolean | 17-28 | - | - |
| 20 | Tax Group Code | Code[20] | 17-28 | - | - |
| 21 | Quantity | Decimal | 17-28 | - | - |
| 22 | Use Tax | Boolean | 17-28 | - | - |
| 23 | VAT Bus. Posting Group | Code[20] | 17-28 | - | - |
| 24 | VAT Prod. Posting Group | Code[20] | 17-28 | - | - |
| 25 | Amount (ACY) | Decimal | 17-28 | - | - |
| 26 | VAT Amount (ACY) | Decimal | 17-28 | - | - |
| 29 | VAT Base Amount (ACY) | Decimal | 17-28 | - | - |
| 31 | VAT Difference | Decimal | 17-28 | - | - |
| 32 | VAT % | Decimal | 17-28 | - | - |
| 35 | VAT Base Before Pmt. Disc. | Decimal | 17-28 | - | - |
| 215 | Entry Description | Text[100] | 17-28 | - | - |
| 480 | Dimension Set ID | Integer | 17-28 | - | - |
| 1000 | Additional Grouping Identifier | Code[20] | 17-28 | - | - |
| 1700 | Deferral Code | Code[10] | 17-28 | - | - |
| 1701 | Deferral Line No. | Integer | 17-28 | - | - |
| 5600 | FA Posting Date | Date | 17-28 | - | - |
| 5601 | FA Posting Type | Enum Purchase FA Posting Type | 17-28 | - | - |
| 5602 | Depreciation Book Code | Code[10] | 17-28 | - | - |
| 5603 | Salvage Value | Decimal | 17-28 | - | - |
| 5605 | Depr. until FA Posting Date | Boolean | 17-28 | - | - |
| 5606 | Depr. Acquisition Cost | Boolean | 17-28 | - | - |
| 5609 | Maintenance Code | Code[10] | 17-28 | - | - |
| 5610 | Insurance No. | Code[20] | 17-28 | - | - |
| 5611 | Budgeted FA No. | Code[20] | 17-28 | - | - |
| 5612 | Duplicate in Depreciation Book | Code[10] | 17-28 | - | - |
| 5613 | Use Duplication List | Boolean | 17-28 | - | - |
| 5614 | Fixed Asset Line No. | Integer | 17-28 | - | - |
| 6200 | Non-Deductible VAT % | Decimal | 22-28 | - | - |
| 6201 | Non-Deductible VAT Base | Decimal | 22-28 | - | - |
| 6202 | Non-Deductible VAT Amount | Decimal | 22-28 | - | - |
| 6203 | Non-Deductible VAT Base ACY | Decimal | 22-28 | - | - |
| 6204 | Non-Deductible VAT Amount ACY | Decimal | 22-28 | - | - |
| 6205 | Non-Deductible VAT Diff. | Decimal | 22-28 | - | - |

## Keys

| Name | Fields | Versions |
| --- | --- | --- |
| Key1, clustered | Type, G/L Account, Gen. Bus. Posting Group, Gen. Prod. Posting Group, VAT Bus. Posting Group, VAT Prod. Posting Group, Tax Area Code, Tax Group Code, Tax Liable, Use Tax, Dimension Set ID, Job No., Fixed Asset Line No., Deferral Code, Additional Grouping Identifier | 17-28 |

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| PrepareSales | (var Record Sales Line) | - | public | 17-26 | Pending 20.0 | Replaced by procedure in codeunit Sales Post Invoice |
| CalcDiscount | (Boolean, Decimal, Decimal) | - | public | 17-26 | Pending 20.0 | Replaced by procedure in table Invoice Posting Buffer |
| SetAccount | (Code[20], var Decimal, var Decimal, var Decimal, var Decimal) | - | public | 17-26 | Pending 20.0 | Replaced by procedure in table Invoice Posting Buffer |
| SetAmounts | (Decimal, Decimal, Decimal, Decimal, Decimal, Decimal, Decimal) | - | public | 17-26 | Pending 20.0 | Replaced by procedure in table Invoice Posting Buffer |
| PreparePurchase | (var Record Purchase Line) | - | public | 17-26 | Pending 20.0 | Replaced by procedure in table Invoice Posting Buffer |
| CalcDiscountNoVAT | (Decimal, Decimal) | - | public | 17-26 | Pending 20.0 | Replaced by procedure in table Invoice Posting Buffer |
| SetSalesTaxForPurchLine | (Record Purchase Line) | - | public | 17-26 | Pending 20.0 | Replaced by procedure in codeunit Purch Post Invoice |
| SetSalesTaxForSalesLine | (Record Sales Line) | - | public | 17-26 | Pending 20.0 | Replaced by procedure in codeunity Sales Post Invoice |
| ReverseAmounts | () | - | public | 17-26 | Pending 20.0 | Replaced by procedure in table Invoice Posting Buffer |
| SetAmountsNoVAT | (Decimal, Decimal, Decimal) | - | public | 17-26 | Pending 20.0 | Replaced by procedure in table Invoice Posting Buffer |
| PrepareService | (var Record Service Line) | - | public | 17-26 | Pending 20.0 | Replaced by procedure in codeunit Service Post Invoice |
| FillPrepmtAdjBuffer | (var Record Invoice Post. Buffer, Record Invoice Post. Buffer, Code[20], Decimal, Boolean) | - | public | 17-21 | Pending 19.0 | Replaced by PreparePrepmtAdjBuffer(). |
| Update | (Record Invoice Post. Buffer, var Integer, var Integer) | - | public | 17-26 | Pending 20.0 | Replaced by procedure in table Invoice Posting Buffer |
| UpdateVATBase | (var Decimal, var Decimal) | - | public | 17-26 | Pending 20.0 | Replaced by procedure in table Invoice Posting Buffer |
| ApplyRoundingForFinalPosting | () | - | internal | 18-25 | - | - |
| PreparePrepmtAdjBuffer | (Record Invoice Post. Buffer, Code[20], Decimal, Boolean) | - | public | 19-26 | Pending 20.0 | Replaced by procedure in table Invoice Posting Buffer |
| Update | (Record Invoice Post. Buffer) | - | public | 19-26 | Pending 20.0 | Replaced by procedure in table Invoice Posting Buffer |
| CopyToGenJnlLine | (var Record Gen. Journal Line) | - | public | 19-26 | Pending 20.0 | Replaced by procedure in table Invoice Posting Buffer |
| CopyToGenJnlLineFA | (var Record Gen. Journal Line) | - | public | 19-26 | Pending 20.0 | Replaced by procedure in table Invoice Posting Buffer |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnAfterInvPostBufferPrepareSales | (var Record Sales Line, var Record Invoice Post. Buffer) | 17-26 | Pending 20.0 | This procedure is no longer invoked. Replaced by event in table Invoice Posting Buffer |
| Integration event | OnAfterInvPostBufferPreparePurchase | (var Record Purchase Line, var Record Invoice Post. Buffer) | 17-26 | Pending 20.0 | This procedure is no longer invoked. Replaced by event in table Invoice Posting Buffer |
| Integration event | OnAfterInvPostBufferPrepareService | (var Record Service Line, var Record Invoice Post. Buffer) | 17-26 | Pending 20.0 | This procedure is no longer invoked. Replaced by event in table Invoice Posting Buffer |
| Integration event | OnAfterInvPostBufferModify | (var Record Invoice Post. Buffer, Record Invoice Post. Buffer) | 17-26 | Pending 20.0 | This procedure is no longer invoked. Replaced by event in table Invoice Posting Buffer |
| Integration event | OnAfterInvPostBufferUpdate | (var Record Invoice Post. Buffer, var Record Invoice Post. Buffer) | 17-26 | Pending 20.0 | This procedure is no longer invoked. Replaced by event in table Invoice Posting Buffer |
| Integration event | OnBeforeCalcDiscount | (var Record Invoice Post. Buffer, var Boolean) | 17-26 | Pending 20.0 | This procedure is no longer invoked. Replaced by event in table Invoice Posting Buffer |
| Integration event | OnBeforeCalcDiscountNoVAT | (var Record Invoice Post. Buffer, var Boolean) | 17-26 | Pending 20.0 | This procedure is no longer invoked. Replaced by event in table Invoice Posting Buffer |
| Integration event | OnBeforeInvPostBufferUpdate | (var Record Invoice Post. Buffer, var Record Invoice Post. Buffer) | 17-26 | Pending 20.0 | This procedure is no longer invoked. Replaced by event in table Invoice Posting Buffer |
| Integration event | OnBeforeInvPostBufferModify | (var Record Invoice Post. Buffer, Record Invoice Post. Buffer) | 17-26 | Pending 20.0 | This procedure is no longer invoked. Replaced by event in table Invoice Posting Buffer |
| Integration event | OnBeforePrepareSales | (var Record Invoice Post. Buffer, var Record Sales Line) | 17-26 | Pending 20.0 | This procedure is no longer invoked. Replaced by event in table Invoice Posting Buffer |
| Integration event | OnFillPrepmtAdjBufferOnBeforeAssignInvoicePostBuffer | (var Record Invoice Post. Buffer, Record Invoice Post. Buffer) | 17-26 | Pending 20.0 | This procedure is no longer invoked. Replaced by event in table Invoice Posting Buffer |
| Integration event | OnAfterSetAmountsNoVAT | (var Record Invoice Post. Buffer, Decimal, Decimal, Decimal) | 18-26 | Pending 20.0 | This procedure is no longer invoked. Replaced by event in table Invoice Posting Buffer |
| Integration event | OnAfterCopyToGenJnlLine | (var Record Gen. Journal Line, Record Invoice Post. Buffer) | 19-26 | Pending 20.0 | This procedure is no longer invoked. Replaced by event in table Invoice Posting Buffer |
| Integration event | OnAfterCopyToGenJnlLineFA | (var Record Gen. Journal Line, Record Invoice Post. Buffer) | 19-26 | Pending 20.0 | This procedure is no longer invoked. Replaced by event in table Invoice Posting Buffer |
| Integration event | OnAfterAdjustRoundingForUpdate | (var Record Invoice Post. Buffer, Record Invoice Post. Buffer) | 22-26 | Pending 20.0 | This procedure is no longer invoked. Replaced by event in table Invoice Posting Buffer |
| Integration event | OnAfterApplyRoundingForFinalPosting | (var Record Invoice Post. Buffer, Record Invoice Post. Buffer) | 22-26 | Pending 20.0 | This procedure is no longer invoked. Replaced by event in table Invoice Posting Buffer |

## Source

Symbols: Microsoft.BaseApplication.symbols.437dbf0e-84ff-417a-965d-ed2bb9650972, https://dynamicssmb2.pkgs.visualstudio.com/DynamicsBCPublicFeeds/_packaging/MSSymbols/nuget/v3/index.json, highest build per major on 2026-09-20.
AL source 29: https://github.com/microsoft/BCApps, MIT, releases/29.x at a66254c3b8b5bb1cea290dc8f9d097aec4381153.

Jonas Paprotka, 2026-09-20.
