---
id: object/table/520
type: object
title: Table 520 "Availability Info. Buffer"
summary: Table 520 "Availability Info. Buffer" in Base Application (Microsoft.Inventory.Availability). 33 fields, 8 public procedures, 5 events. Present since at least BC23, still in BC30, changed in BC24-26, BC28.
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: 239c93ac2c79bb167c0977f8c52e12f258c4d905143569fa57ea307cedd4f3e7
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Inventory/Availability/AvailabilityInfoBuffer.Table.al
    title: src/Layers/W1/BaseApp/Inventory/Availability/AvailabilityInfoBuffer.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 520
name: Availability Info. Buffer
caption: Availability Information Buffer
namespace: Microsoft.Inventory.Availability
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "25"
  - "26"
  - "28"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 33
  procedures: 13
  events: 5
  subscribers: 0
relations:
  out: 22
  referenced_by: 0
  pages: 1
  extended_by: 1
  event_subscribers: 21
  calls: 0
  called_by: 0
  implements: 0
---

# Table 520 "Availability Info. Buffer"

> Table 520 "Availability Info. Buffer" in Base Application (Microsoft.Inventory.Availability). 33 fields, 8 public procedures, 5 events. Present since at least BC23, still in BC30, changed in BC24-26, BC28.

Base Application · Microsoft.Inventory.Availability · captioned "Availability Information Buffer" · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Inventory/Availability/AvailabilityInfoBuffer.Table.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Availability Information Buffer |
| TableType | Temporary |
| 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 | Item No. | Code[20] | — | TableRelation [Table 27 "Item"](../table/27.md); NotBlank |
| 3 | Lot No. | Code[50] | Specifies a location code for the warehouse or distribution center where your items are handled and stored before being sold. |  |
| 4 | Serial No. | Code[50] | — |  |
| 5 | Package No. | Code[50] | — |  |
| 6 | Expiration Date | Date | Specifies expiration date for the specified lot. |  |
| 7 | Quality | Option | Specifies the test quality of the specified lot. | FlowField: lookup("Lot No. Information"."Test Quality" where("Item No." = field("Item No."), "Lot No." = field("Lot No."))); OptionCaption: ,Good,Average,Bad |
| 8 | Certificate Number | Code[20] | Specifies the certificate number of the specified lot. | FlowField: lookup("Lot No. Information"."Certificate Number" where("Item No." = field("Item No."), "Lot No." = field("Lot No."))) |
| 9 | Blocked | Boolean | — | FlowField: lookup("Lot No. Information".Blocked where("Item No." = field("Item No."), "Lot No." = field("Lot No."))) |
| 20 | Inventory | Decimal | — | FlowField: sum("Item Ledger Entry"."Remaining Quantity" where("Item No." = field("Item No."), Open = const(true), "Lot No." = field("Lot No. Filter"), "Location Code" = field("Location Code Filter"), "Variant Code" = field("Variant Code Filter"))); not editable |
| 21 | Date Filter | Date | — | FlowFilter |
| 23 | Variant Code Filter | Code[10] | — | TableRelation [Table 5401 "Item Variant"](../table/5401.md) (Item Variant); FlowFilter |
| 24 | Location Code Filter | Code[10] | — | TableRelation [Table 14 "Location"](../table/14.md); FlowFilter |
| 25 | Lot No. Filter | Code[50] | — | FlowFilter |
| 30 | Qty. In Hand | Decimal | Specifies the inventory level of an item. |  |
| 31 | Gross Requirement | Decimal | Specifies the sum of the total demand for the item. The gross requirement consists of independent demand (which include sales orders, service orders, transfer orders, and demand forecasts) and dependent demand (which include production order components for planned, firm planned, and released product... |  |
| 32 | Planned Order Receipt | Decimal | Specifies the item's availability figures for the planned order receipt. |  |
| 33 | Scheduled Receipt | Decimal | Specifies the sum of items from replenishment orders. |  |
| 34 | Available Inventory | Decimal | Specifies the quantity of the item that is currently in inventory and not reserved for other demand. |  |
| 503 | Qty. on Sales Order | Decimal | Qty. on Sales Orders <small>caption</small> | FlowField: - sum("Reservation Entry"."Quantity (Base)" where("Item No." = field("Item No."), "Source Type" = const(37), "Source Subtype" = const("1"), "Reservation Status" = filter(Reservation \| Tracking \| Surplus), "Lot No." = field("Lot No. Filter"), "Location Code" = field("Location Code Filter"), "Variant ...; not editable |
| 504 | Qty. on Service Order | Decimal | Qty. on Service Orders <small>caption</small> | FlowField: - sum("Reservation Entry"."Quantity (Base)" where("Item No." = field("Item No."), "Source Type" = const(5902), "Source Subtype" = const("1"), "Reservation Status" = filter(Reservation \| Tracking \| Surplus), "Lot No." = field("Lot No. Filter"), "Location Code" = field("Location Code Filter"), "Varian...; not editable |
| 505 | Qty. on Job Order | Decimal | Qty. on Project Order <small>caption</small> | FlowField: - sum("Reservation Entry"."Quantity (Base)" where("Item No." = field("Item No."), "Source Type" = const(1003), "Source Subtype" = const("2"), "Reservation Status" = filter(Reservation \| Tracking \| Surplus), "Lot No." = field("Lot No. Filter"), "Location Code" = field("Location Code Filter"), "Varian...; not editable |
| 506 | Qty. on Component Lines | Decimal | Res. Qty. on Prod. Order Comp. <small>caption</small> | FlowField: - sum("Reservation Entry"."Quantity (Base)" where("Item No." = field("Item No."), "Source Type" = const(5407), "Source Subtype" = filter("1" .. "3"), "Reservation Status" = filter(Reservation \| Tracking \| Surplus), "Lot No." = field("Lot No. Filter"), "Location Code" = field("Location Code Filter"),...; not editable |
| 507 | Qty. on Trans. Order Shipment | Decimal | Qty. on Transfer Order Shipment <small>caption</small> | FlowField: - sum("Reservation Entry"."Quantity (Base)" where("Item No." = field("Item No."), "Source Type" = const(5741), "Source Subtype" = const("0"), "Reservation Status" = filter(Reservation \| Tracking \| Surplus), "Lot No." = field("Lot No. Filter"), "Location Code" = field("Location Code Filter"), "Varian...; not editable |
| 509 | Qty. on Asm. Component | Decimal | Qty. on Asm. Comp. <small>caption</small> | FlowField: - sum("Reservation Entry"."Quantity (Base)" where("Item No." = field("Item No."), "Source Type" = const(901), "Source Subtype" = const("1"), "Reservation Status" = filter(Reservation \| Tracking \| Surplus), "Lot No." = field("Lot No. Filter"), "Location Code" = field("Location Code Filter"), "Variant...; not editable |
| 510 | Qty. on Purch. Return | Decimal | Qty. on Purch. Returns <small>caption</small> | FlowField: - sum("Reservation Entry"."Quantity (Base)" where("Item No." = field("Item No."), "Source Type" = const(39), "Source Subtype" = const("5"), "Reservation Status" = filter(Reservation \| Tracking \| Surplus), "Lot No." = field("Lot No. Filter"), "Location Code" = field("Location Code Filter"), "Variant ...; not editable |
| 511 | Qty. on Purch. Order | Decimal | Qty. on Purch. Orders <small>caption</small> | FlowField: sum("Reservation Entry"."Quantity (Base)" where("Item No." = field("Item No."), "Source Type" = const(39), "Source Subtype" = const("1"), "Reservation Status" = filter(Reservation \| Tracking \| Surplus), "Lot No." = field("Lot No. Filter"), "Location Code" = field("Location Code Filter"), "Variant Co...; not editable |
| 512 | Planned Order Receipt (Qty.) | Decimal | — | FlowField: sum("Reservation Entry"."Quantity (Base)" where("Item No." = field("Item No."), "Source Type" = const(5406), "Source Subtype" = const("1"), "Reservation Status" = const(Prospect), "Lot No." = field("Lot No. Filter"), "Location Code" = field("Location Code Filter"), "Variant Code" = field("Variant Co...; not editable |
| 513 | Purch. Req. Receipt (Qty.) | Decimal | — | FlowField: sum("Reservation Entry"."Quantity (Base)" where("Item No." = field("Item No."), "Source Type" = const(246), "Source Subtype" = const("0"), "Reservation Status" = const(Prospect), "Lot No." = field("Lot No. Filter"), "Location Code" = field("Location Code Filter"), "Variant Code" = field("Variant Cod...; not editable |
| 514 | Qty. on Prod. Receipt | Decimal | — | FlowField: sum("Reservation Entry"."Quantity (Base)" where("Item No." = field("Item No."), "Source Type" = const(5406), "Source Subtype" = filter("2" .. "3"), "Reservation Status" = filter(Reservation \| Tracking \| Surplus), "Lot No." = field("Lot No. Filter"), "Location Code" = field("Location Code Filter"), "...; not editable |
| 516 | Qty. on Trans. Order Receipt | Decimal | Qty. on Transfer Order Receipt <small>caption</small> | FlowField: sum("Reservation Entry"."Quantity (Base)" where("Item No." = field("Item No."), "Source Type" = const(5741), "Source Subtype" = const("1"), "Reservation Status" = filter(Reservation \| Tracking \| Surplus), "Lot No." = field("Lot No. Filter"), "Location Code" = field("Location Code Filter"), "Variant ...; not editable |
| 517 | Qty. on Assembly Order | Decimal | — | FlowField: sum("Reservation Entry"."Quantity (Base)" where("Item No." = field("Item No."), "Source Type" = const(900), "Source Subtype" = const("1"), "Reservation Status" = filter(Reservation \| Tracking \| Surplus), "Lot No." = field("Lot No. Filter"), "Location Code" = field("Location Code Filter"), "Variant C...; not editable |
| 518 | Qty. on Sales Return | Decimal | — | FlowField: sum("Reservation Entry"."Quantity (Base)" where("Item No." = field("Item No."), "Source Type" = const(37), "Source Subtype" = const("5"), "Reservation Status" = filter(Reservation \| Tracking \| Surplus), "Lot No." = field("Lot No. Filter"), "Location Code" = field("Location Code Filter"), "Variant Co...; not editable |
| 99000777 | Qty. on Prod. Order | Decimal | — | FlowField: sum("Reservation Entry"."Quantity (Base)" where("Item No." = field("Item No."), "Source Type" = const(5406), "Source Subtype" = filter("1" .. "3"), "Reservation Status" = filter(Reservation \| Tracking \| Surplus), "Lot No." = field("Lot No. Filter"), "Location Code" = field("Location Code Filter"), "...; not editable |

## Keys

- Key1: Lot No., Serial No., Package No. (clustered)

## Events published

- `OnLookupAvailableInventory(var TempReservationEntry: Record "Reservation Entry" temporary)` (integration)
  - subscribers: [Codeunit 6452 "Serv. Availability Mgt."](../codeunit/6452.md) OnLookupAvailableInventory, [Codeunit 99000871 "Job Planning Availability Mgt."](../codeunit/99000871.md) OnLookupAvailableInventory, [Codeunit 99000872 "Sales Availability Mgt."](../codeunit/99000872.md) OnLookupAvailableInventory, [Codeunit 99000874 "Assembly Availability Mgt."](../codeunit/99000874.md) OnLookupAvailableInventory, [Codeunit 99000875 "Prod. Order Availability Mgt."](../codeunit/99000875.md) OnLookupAvailableInventory, [Codeunit 99000876 "Transfer Availability Mgt."](../codeunit/99000876.md) OnLookupAvailableInventory, [Codeunit 99000973 "Purch. Availability Mgt."](../codeunit/99000973.md) OnLookupAvailableInventory
- `OnLookupGrossRequirement(var TempReservationEntry: Record "Reservation Entry" temporary)` (integration)
  - subscribers: [Codeunit 99000871 "Job Planning Availability Mgt."](../codeunit/99000871.md) OnLookupGrossRequirement, [Codeunit 99000872 "Sales Availability Mgt."](../codeunit/99000872.md) OnLookupGrossRequirement, [Codeunit 99000874 "Assembly Availability Mgt."](../codeunit/99000874.md) OnLookupGrossRequirement, [Codeunit 99000875 "Prod. Order Availability Mgt."](../codeunit/99000875.md) OnLookupGrossRequirement, [Codeunit 99000876 "Transfer Availability Mgt."](../codeunit/99000876.md) OnLookupGrossRequirement, [Codeunit 99000973 "Purch. Availability Mgt."](../codeunit/99000973.md) OnLookupGrossRequirement
- `OnLookupScheduledReceipt(var TempReservationEntry: Record "Reservation Entry" temporary)` (integration)
  - subscribers: [Codeunit 99000872 "Sales Availability Mgt."](../codeunit/99000872.md) OnLookupScheduledReceipt, [Codeunit 99000874 "Assembly Availability Mgt."](../codeunit/99000874.md) OnLookupScheduledReceipt, [Codeunit 99000875 "Prod. Order Availability Mgt."](../codeunit/99000875.md) OnLookupScheduledReceipt, [Codeunit 99000876 "Transfer Availability Mgt."](../codeunit/99000876.md) OnLookupScheduledReceipt, [Codeunit 99000973 "Purch. Availability Mgt."](../codeunit/99000973.md) OnLookupScheduledReceipt
- `OnLookupPlannedOrderReceipt(var TempReservationEntry: Record "Reservation Entry" temporary)` (integration)
  - subscribers: [Codeunit 99000872 "Sales Availability Mgt."](../codeunit/99000872.md) OnLookupPlannedOrderReceipt, [Codeunit 99000875 "Prod. Order Availability Mgt."](../codeunit/99000875.md) OnLookupPlannedOrderReceipt, [Codeunit 99000973 "Purch. Availability Mgt."](../codeunit/99000973.md) OnLookupPlannedOrderReceipt
- `OnAddEntriesForLookUpOnBeforeVariantCodeGetFilter(var AvailabilityInfoBuffer: Record "Availability Info. Buffer"; var IsHandled: Boolean)` (integration)

## Procedures

- `LookupInventory(var ItemLedgerEntry: Record "Item Ledger Entry")` (internal)
- `LookupGrossRequirement(var TempReservationEntry: Record "Reservation Entry" temporary)` (internal)
- `LookupPlannedOrderReceipt(var TempReservationEntry: Record "Reservation Entry" temporary)` (internal)
- `LookupScheduledReceipt(var TempReservationEntry: Record "Reservation Entry" temporary)` (internal)
- `LookupAvailableInventory(var TempReservationEntry: Record "Reservation Entry" temporary)` (internal)
- `AddEntriesForLookUp(var TempReservationEntry: Record "Reservation Entry" temporary; SourceType: Integer; SourceSubTypeFilter: Text; ReservationStatusFilter: Text; DateFilterOption: Enum "Reservation Date Filter")`
- `GetRangeFilter(FromVariant: Variant; ToVariant: Variant): Text`
- `GetOptionFilter(Option1Variant: Variant; Option2Variant: Variant; Option3Variant: Variant): Text`

## Relations

- Location Code Filter: TableRelation [Table 14 "Location"](../table/14.md)
- Item No.: TableRelation [Table 27 "Item"](../table/27.md)
- Inventory: CalcFormula [Table 32 "Item Ledger Entry"](../table/32.md)
- Planned Order Receipt (Qty.): CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Purch. Req. Receipt (Qty.): CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Qty. on Asm. Component: CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Qty. on Assembly Order: CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Qty. on Component Lines: CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Qty. on Job Order: CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Qty. on Prod. Order: CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Qty. on Prod. Receipt: CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Qty. on Purch. Order: CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Qty. on Purch. Return: CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Qty. on Sales Order: CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Qty. on Sales Return: CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Qty. on Service Order: CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Qty. on Trans. Order Receipt: CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Qty. on Trans. Order Shipment: CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Variant Code Filter: TableRelation [Table 5401 "Item Variant"](../table/5401.md)
- Blocked: CalcFormula [Table 6505 "Lot No. Information"](../table/6505.md)
- Certificate Number: CalcFormula [Table 6505 "Lot No. Information"](../table/6505.md)
- Quality: CalcFormula [Table 6505 "Lot No. Information"](../table/6505.md)

## Pages and codeunits on this table

- [Page 514 "Item Avail. by Lot No. Lines"](../page/514.md) (source table)

## Extended by

- [Table extension 20404 "Qlty. Avail. Info. Buffer"](../tableextension/20404.md)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24-26, BC28

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