---
id: object/table/461
type: object
title: Table 461 "Prepayment Inv. Line Buffer"
summary: Table 461 "Prepayment Inv. Line Buffer" in Base Application (Microsoft.Finance.ReceivablesPayables). 31 fields, 15 public procedures, 9 events. Present since at least BC23, still in BC30, changed in BC24, BC26-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: daf23986e94feba9fe9a37ed258bd11471e36560cabfc5267c379edae31aaa87
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Finance/ReceivablesPayables/PrepaymentInvLineBuffer.Table.al
    title: src/Layers/W1/BaseApp/Finance/ReceivablesPayables/PrepaymentInvLineBuffer.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations:
    - localization/au
    - localization/es
    - localization/it
    - localization/nz
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 461
name: Prepayment Inv. Line Buffer
namespace: Microsoft.Finance.ReceivablesPayables
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "26"
  - "27"
  - "28"
source_major: "29"
obsolete: null
countries:
  - au
  - es
  - it
  - nz
ms_search_form_ids: []
counts:
  fields: 31
  procedures: 25
  events: 9
  subscribers: 0
relations:
  out: 12
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Table 461 "Prepayment Inv. Line Buffer"

> Table 461 "Prepayment Inv. Line Buffer" in Base Application (Microsoft.Finance.ReceivablesPayables). 31 fields, 15 public procedures, 9 events. Present since at least BC23, still in BC30, changed in BC24, BC26-28.

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

## Properties

| Property | Value |
|---|---|
| Caption | Prepayment Inv. Line Buffer |
| 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 | G/L Account No. | Code[20] | — | TableRelation [Table 15 "G/L Account"](../table/15.md) (G/L Account); DataClassification SystemMetadata |
| 2 | Line No. | Integer | — | DataClassification SystemMetadata |
| 3 | Amount | Decimal | — | DataClassification SystemMetadata |
| 4 | Description | Text[100] | — | DataClassification SystemMetadata |
| 5 | Gen. Bus. Posting Group | Code[20] | — | TableRelation [Table 250 "Gen. Business Posting Group"](../table/250.md) (Gen. Business Posting Group); DataClassification SystemMetadata |
| 6 | Gen. Prod. Posting Group | Code[20] | — | TableRelation [Table 251 "Gen. Product Posting Group"](../table/251.md) (Gen. Product Posting Group); DataClassification SystemMetadata |
| 7 | VAT Bus. Posting Group | Code[20] | — | TableRelation [Table 323 "VAT Business Posting Group"](../table/323.md) (VAT Business Posting Group); DataClassification SystemMetadata |
| 8 | VAT Prod. Posting Group | Code[20] | — | TableRelation [Table 324 "VAT Product Posting Group"](../table/324.md) (VAT Product Posting Group); DataClassification SystemMetadata |
| 9 | VAT Amount | Decimal | — | DataClassification SystemMetadata |
| 10 | VAT Calculation Type | Enum "Tax Calculation Type" | — | enum [Enum 254 "Tax Calculation Type"](../enum/254.md); DataClassification SystemMetadata |
| 11 | VAT Base Amount | Decimal | — | DataClassification SystemMetadata |
| 12 | Amount (ACY) | Decimal | — | DataClassification SystemMetadata |
| 13 | VAT Amount (ACY) | Decimal | — | DataClassification SystemMetadata |
| 14 | VAT Base Amount (ACY) | Decimal | — | DataClassification SystemMetadata |
| 15 | VAT Difference | Decimal | — | DataClassification SystemMetadata |
| 16 | VAT % | Decimal | — | DataClassification SystemMetadata |
| 17 | VAT Identifier | Code[20] | — | not editable; DataClassification SystemMetadata |
| 19 | Global Dimension 1 Code | Code[20] | — | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(1))); DataClassification SystemMetadata |
| 20 | Global Dimension 2 Code | Code[20] | — | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(2))); DataClassification SystemMetadata |
| 21 | Job No. | Code[20] | Project No. <small>caption</small> | TableRelation [Table 167 "Job"](../table/167.md); DataClassification SystemMetadata |
| 22 | Amount Incl. VAT | Decimal | — | DataClassification SystemMetadata |
| 24 | Tax Area Code | Code[20] | — | TableRelation [Table 318 "Tax Area"](../table/318.md) (Tax Area); DataClassification SystemMetadata |
| 25 | Tax Liable | Boolean | — | DataClassification SystemMetadata |
| 26 | Tax Group Code | Code[20] | — | TableRelation [Table 321 "Tax Group"](../table/321.md) (Tax Group); DataClassification SystemMetadata |
| 27 | Invoice Rounding | Boolean | — | DataClassification SystemMetadata |
| 28 | Adjustment | Boolean | — | DataClassification SystemMetadata |
| 29 | VAT Base Before Pmt. Disc. | Decimal | — | DataClassification SystemMetadata |
| 30 | Orig. Pmt. Disc. Possible | Decimal | Original Pmt. Disc. Possible <small>caption</small> | DataClassification SystemMetadata |
| 31 | Location Code | Code[10] | — | DataClassification SystemMetadata |
| 480 | Dimension Set ID | Integer | — | TableRelation [Table 480 "Dimension Set Entry"](../table/480.md) (Dimension Set Entry); not editable; DataClassification SystemMetadata |
| 1001 | Job Task No. | Code[20] | Project Task No. <small>caption</small> | TableRelation [Table 1001 "Job Task"](../table/1001.md) (Job Task); DataClassification SystemMetadata |

## Keys

- Key1: G/L Account No., Job No., Tax Area Code, Tax Liable, Tax Group Code, Invoice Rounding, Adjustment, Line No., Dimension Set ID (clustered)
- Key2: Adjustment

## Events published

- `OnAfterCopyFromPurchLine(var PrepaymentInvLineBuffer: Record "Prepayment Inv. Line Buffer"; PurchaseLine: Record "Purchase Line")` (integration): Integration event raised after copying data from a purchase line. Allows customization of purchase line data transfer to prepayment buffer.
- `OnAfterCopyFromSalesLine(var PrepaymentInvLineBuffer: Record "Prepayment Inv. Line Buffer"; SalesLine: Record "Sales Line")` (integration): Integration event raised after copying data from a sales line. Allows customization of sales line data transfer to prepayment buffer.
- `OnAfterIncrAmounts(var PrepaymentInvLineBuffer: Record "Prepayment Inv. Line Buffer"; PrepmtInvLineBuf: Record "Prepayment Inv. Line Buffer")` (integration): Integration event raised after incrementing amounts in the buffer. Allows custom amount processing during buffer consolidation.
- `OnAfterFillFromGLAcc(var PrepaymentInvLineBuffer: Record "Prepayment Inv. Line Buffer"; GLAccount: Record "G/L Account"; CompressPayment: Boolean)` (integration): Integration event raised after filling buffer from G/L account. Allows customization of G/L account data transfer to prepayment buffer.
- `OnAfterFillAdjInvLineBuffer(PrepaymentInvLineBuffer: Record "Prepayment Inv. Line Buffer"; var PrepaymentInvLineBufferRec: Record "Prepayment Inv. Line Buffer")` (integration): Integration event raised after filling adjustment invoice line buffer. Allows customization of adjustment line processing.
- `OnAfterReverseAmounts()` (integration): Integration event raised after reversing amounts in the buffer. Allows custom processing after amount reversal operations.
- `OnBeforeCompressBuffer(var PrepaymentInvLineBuffer: Record "Prepayment Inv. Line Buffer"; var IsHandled: Boolean)` (integration): Integration event raised before compressing the buffer. Allows custom buffer compression logic or skipping standard compression.
- `OnBeforeFillFromGLAcc(var PrepaymentInvLineBuffer: Record "Prepayment Inv. Line Buffer"; var IsHandled: Boolean)` (integration): Integration event raised before filling buffer from G/L account. Allows custom G/L account processing or skipping standard fill logic.
- `OnAfterUpdateVATAmounts(var PrepaymentInvLineBuffer: Record "Prepayment Inv. Line Buffer"; Currency: Record Currency)` (integration): Integration event raised after updating VAT amounts. Allows custom VAT amount processing after standard calculations.

## Procedures

- `IncrAmounts(PrepmtInvLineBuf: Record "Prepayment Inv. Line Buffer")`: Increments amounts in the current record with amounts from another prepayment invoice line buffer. Adds all financial amounts including VAT, base amounts, and discount amounts.
- `ReverseAmounts()`: Reverses all amounts in the current record by changing signs. Used for creating credit memo entries or reversing prepayment entries.
- `SetAmounts(AmountLCY: Decimal; AmountInclVAT: Decimal; VATBaseAmount: Decimal; AmountACY: Decimal; VATBaseAmountACY: Decimal; VATDifference: Decimal)`: Sets the financial amounts for the prepayment invoice line buffer. Updates amount, VAT amounts, and base amounts in both LCY and ACY.
- `InsertInvLineBuffer(PrepmtInvLineBuf2: Record "Prepayment Inv. Line Buffer")`: Inserts or updates a prepayment invoice line buffer record. If record exists, increments amounts; otherwise inserts new record.
- `CopyWithLineNo(PrepmtInvLineBuf: Record "Prepayment Inv. Line Buffer"; LineNo: Integer)`: Copies a prepayment invoice line buffer record with a new line number. Creates a new record with the specified line number.
- `CopyFromPurchLine(PurchLine: Record "Purchase Line")`: Copies posting group information from a purchase line to the prepayment buffer. Transfers VAT and posting group settings for prepayment processing.
- `CopyFromSalesLine(SalesLine: Record "Sales Line")`: Copies posting group information from a sales line to the prepayment buffer. Transfers VAT and posting group settings for prepayment processing.
- `SetFilterOnPKey(PrepmtInvLineBuf: Record "Prepayment Inv. Line Buffer")`: Sets filters on the primary key fields of the prepayment invoice line buffer. Used for finding existing records with matching key values.
- `FillAdjInvLineBuffer(PrepmtInvLineBuf: Record "Prepayment Inv. Line Buffer"; GLAccountNo: Code[20]; CorrAmount: Decimal; CorrAmountACY: Decimal)`: Fills the buffer with adjustment invoice line data for amount corrections. Creates adjustment entries for prepayment amount differences.
- `FillFromGLAcc(CompressPrepayment: Boolean)`: Fills the buffer with G/L account information for prepayment processing. Copies posting group information from the specified G/L account.
- `AdjustVATBase(VATAdjustment: array[2] of Decimal)`: Adjusts VAT base amount and VAT amount based on provided adjustment values. Recalculates amount including VAT after adjustments.
- `AmountsToArray(var VATAmount: array[2] of Decimal)`: Converts buffer amounts to an array format for processing. Returns base amount and VAT amount in array elements.
- `CompressBuffer()`: Compresses multiple buffer lines with same key into consolidated entries. Combines amounts for lines with identical posting group and dimension combinations.
- `UpdateVATAmounts()`: Updates VAT amounts based on VAT posting setup and calculated percentages. Recalculates VAT amount in both local and additional reporting currency.
- `GetVATPct(): Decimal` (internal)

Plus 1 local procedures.

## Relations

- Job Task No.: TableRelation [Table 1001 "Job Task"](../table/1001.md)
- G/L Account No.: TableRelation [Table 15 "G/L Account"](../table/15.md)
- Job No.: TableRelation [Table 167 "Job"](../table/167.md)
- Gen. Bus. Posting Group: TableRelation [Table 250 "Gen. Business Posting Group"](../table/250.md)
- Gen. Prod. Posting Group: TableRelation [Table 251 "Gen. Product Posting Group"](../table/251.md)
- Tax Area Code: TableRelation [Table 318 "Tax Area"](../table/318.md)
- Tax Group Code: TableRelation [Table 321 "Tax Group"](../table/321.md)
- VAT Bus. Posting Group: TableRelation [Table 323 "VAT Business Posting Group"](../table/323.md)
- VAT Prod. Posting Group: TableRelation [Table 324 "VAT Product Posting Group"](../table/324.md)
- Global Dimension 1 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Global Dimension 2 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Dimension Set ID: TableRelation [Table 480 "Dimension Set Entry"](../table/480.md)

## Across versions

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

## Countries that replace it

[AU](../../localizations/au.md), [ES](../../localizations/es.md), [IT](../../localizations/it.md), [NZ](../../localizations/nz.md)

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). 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: "Prepayment Inv. Line Buffer")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
