---
id: object/page/509
type: object
title: Page 509 "Blanket Purchase Order"
summary: Page 509 "Blanket Purchase Order" in Base Application (Microsoft.Purchases.Document). Present since at least BC23, still in BC30.
tier: official
language: en
tags:
  - page
  - base application
versions:
  introduced: null
  last_changed: null
  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: 0d1a4cf8aae4ca0dfe7b0d5a90a2e8a56fe7bf802d9533b32565f5746dd07387
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Purchases/Document/BlanketPurchaseOrder.Page.al
    title: src/Layers/W1/BaseApp/Purchases/Document/BlanketPurchaseOrder.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/across-how-to-track-document-lines
    title: Track order lines to related documents
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/sales-how-to-create-blanket-sales-orders
    title: Work with blanket sales orders or purchase orders
    date: null
    commit: null
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/across-how-to-track-document-lines
    - https://learn.microsoft.com/dynamics365/business-central/sales-how-to-create-blanket-sales-orders
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/general-business-functionality
    - topic/business-central/business-functionality/purchasing
    - topic/business-central/business-functionality/sales
  localizations:
    - localization/it
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/9044
object_type: page
object_id: 509
name: Blanket Purchase Order
namespace: Microsoft.Purchases.Document
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries:
  - it
ms_search_form_ids:
  - docs/learn-smb-docs/business-central/across-how-to-track-document-lines.md
  - docs/learn-smb-docs/business-central/sales-how-to-create-blanket-sales-orders.md
counts:
  fields: 0
  procedures: 9
  events: 0
  subscribers: 0
  controls: 81
  actions: 23
relations:
  out: 1
  referenced_by: 0
  pages: 1
  extended_by: 2
  event_subscribers: 0
  calls: 5
  called_by: 1
  implements: 0
---

# Page 509 "Blanket Purchase Order"

> Page 509 "Blanket Purchase Order" in Base Application (Microsoft.Purchases.Document). Present since at least BC23, still in BC30.

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

## Properties

| Property | Value |
|---|---|
| Caption | Blanket Purchase Order |
| SourceTable | Purchase Header |
| PageType | Document |

## Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control's own, else the bound field's (marked).

| Group | Control | Shows | ToolTip |
|---|---|---|---|
| General | No. | [No.](../table/38.md#fields) | Specifies the number of the involved entry or record, according to the specified number series. |
|  | Vendor No. | [Buy-from Vendor No.](../table/38.md#fields) | Specifies the number of the vendor who delivers the products. |
|  | Vendor Name | [Buy-from Vendor Name](../table/38.md#fields) | Specifies the name of the vendor who delivers the products. |
|  | Vendor Name 2 | [Buy-from Vendor Name 2](../table/38.md#fields) | Specifies an additional part of the name of the vendor that you’re buying from. <small>from the table field</small> |
| Buy-from | Address | [Buy-from Address](../table/38.md#fields) | Specifies the address of the vendor who ships the items. <small>from the table field</small> |
|  | Address 2 | [Buy-from Address 2](../table/38.md#fields) | Specifies additional address information. <small>from the table field</small> |
|  | City | [Buy-from City](../table/38.md#fields) | Specifies the city of the vendor who ships the items. |
| Control122 | Buy-from County | [Buy-from County](../table/38.md#fields) | Specifies the state, province or county of the address. <small>from the table field</small> |
| Buy-from | Post Code | [Buy-from Post Code](../table/38.md#fields) | Specifies the postal code. |
|  | Country/Region | [Buy-from Country/Region Code](../table/38.md#fields) | Specifies the country or region of the address. |
|  | Contact No. | [Buy-from Contact No.](../table/38.md#fields) | Specifies the number of your contact at the vendor. <small>from the table field</small> |
|  | Phone No. | `BuyFromContact."Phone No."` | Specifies the telephone number of the vendor contact person. |
|  | Mobile Phone No. | `BuyFromContact."Mobile Phone No."` | Specifies the mobile telephone number of the vendor contact person. |
|  | Email | `BuyFromContact."E-Mail"` | Specifies the email address of the vendor contact person. |
| General | Contact | [Buy-from Contact](../table/38.md#fields) | Specifies the name of the person to contact about shipment of the item from this vendor. |
|  | No. of Archived Versions | [No. of Archived Versions](../table/38.md#fields) | Specifies the number of archived versions for this document. <small>from the table field</small> |
|  | Document Date | [Document Date](../table/38.md#fields) | Specifies the date when the related document was created. <small>from the table field</small> |
|  | Due Date | [Due Date](../table/38.md#fields) | Specifies when the related sales invoice must be paid. |
|  | Order Date | [Order Date](../table/38.md#fields) | Specifies the date when the order was created. <small>from the table field</small> |
|  | Vendor Shipment No. | [Vendor Shipment No.](../table/38.md#fields) | Specifies the vendor's shipment number. It is inserted in the corresponding field on the source document during posting. |
|  | Order Address Code | [Order Address Code](../table/38.md#fields) | Specifies the order address code linked to the relevant vendor's order address. |
|  | Vendor Order No. | [Vendor Order No.](../table/38.md#fields) | Specifies the vendor's order number. <small>from the table field</small> |
|  | Purchaser Code | [Purchaser Code](../table/38.md#fields) | Specifies which purchaser is assigned to the vendor. <small>from the table field</small> |
|  | Campaign No. | [Campaign No.](../table/38.md#fields) | Specifies the campaign number the document is linked to. <small>from the table field</small> |
|  | Responsibility Center | [Responsibility Center](../table/38.md#fields) | Specifies the code of the responsibility center, such as a distribution hub, that is associated with the involved user, company, customer, or vendor. <small>from the table field</small> |
|  | Assigned User ID | [Assigned User ID](../table/38.md#fields) | Specifies the ID of the user who is responsible for the document. <small>from the table field</small> |
|  | Status | [Status](../table/38.md#fields) | Specifies whether the record is open, waiting to be approved, invoiced for prepayment, or released to the next stage of processing. <small>from the table field</small> |
|  | Language Code | [Language Code](../table/38.md#fields) | Specifies the language to be used on printouts for this document. <small>from the table field</small> |
|  | Format Region | [Format Region](../table/38.md#fields) | Specifies the format to be used on printouts for this document. <small>from the table field</small> |
| Content | PurchLines | part [Page 510 "Blanket Purchase Order Subform"](../page/510.md) | — |
| Invoice Details | Currency Code | [Currency Code](../table/38.md#fields) | Specifies the currency that is used on the entry. |
|  | Expected Receipt Date | [Expected Receipt Date](../table/38.md#fields) | Specifies the date you expect the items to be available in your warehouse. If you leave the field blank, it will be calculated as follows: Planned Receipt Date + Safety Lead Time + Inbound Warehouse Handling Time = Expected Receipt Date. <small>from the table field</small> |
|  | Prices Including VAT | [Prices Including VAT](../table/38.md#fields) | Specifies if the Unit Price and Line Amount fields on document lines should be shown with or without VAT. <small>from the table field</small> |
|  | VAT Bus. Posting Group | [VAT Bus. Posting Group](../table/38.md#fields) | Specifies the VAT specification of the involved customer or vendor to link transactions made for this record with the appropriate general ledger account according to the VAT posting setup. <small>from the table field</small> |
|  | Payment Terms Code | [Payment Terms Code](../table/38.md#fields) | Specifies a formula that calculates the payment due date, payment discount date, and payment discount amount. <small>from the table field</small> |
|  | Payment Method Code | [Payment Method Code](../table/38.md#fields) | Specifies how to make payment, such as with bank transfer, cash, or check. <small>from the table field</small> |
|  | Tax Liable | [Tax Liable](../table/38.md#fields) | Specifies if this vendor charges you sales tax for purchases. <small>from the table field</small> |
|  | Tax Area Code | [Tax Area Code](../table/38.md#fields) | Specifies the tax area code used for this purchase to calculate and post sales tax. <small>from the table field</small> |
|  | Transaction Type | [Transaction Type](../table/38.md#fields) | Specifies the type of transaction that the document represents, for the purpose of reporting to INTRASTAT. <small>from the table field</small> |
|  | Shortcut Dimension 1 Code | [Shortcut Dimension 1 Code](../table/38.md#fields) | Specifies the code for Shortcut Dimension 1, which is one of two global dimension codes that you set up in the General Ledger Setup window. <small>from the table field</small> |
|  | Shortcut Dimension 2 Code | [Shortcut Dimension 2 Code](../table/38.md#fields) | Specifies the code for Shortcut Dimension 2, which is one of two global dimension codes that you set up in the General Ledger Setup window. <small>from the table field</small> |
|  | Payment Discount % | [Payment Discount %](../table/38.md#fields) | Specifies the payment discount percentage that is granted if you pay on or before the date entered in the Pmt. Discount Date field. The discount percentage is specified in the Payment Terms Code field. |
|  | Pmt. Discount Date | [Pmt. Discount Date](../table/38.md#fields) | Specifies the date on which the amount in the entry must be paid for a payment discount to be granted. <small>from the table field</small> |
|  | Journal Templ. Name | [Journal Templ. Name](../table/38.md#fields) | Specifies the name of the journal template in which the purchase header is to be posted. <small>from the table field</small> |
|  | Location Code | [Location Code](../table/38.md#fields) | Specifies the code for the location where the items are to be received. When you select the vendor and the vendor has a location assigned, the value is taken from the Vendor card. If the vendor has no location, but a Responsibility Center is populated, the location code is taken from the Responsibil... <small>from the table field</small> |
|  | Shipment Method Code | [Shipment Method Code](../table/38.md#fields) | Specifies the delivery conditions of the related shipment, such as free on board (FOB). <small>from the table field</small> |
|  | On Hold | [On Hold](../table/38.md#fields) | Specifies that the related entry represents an unpaid invoice for which either a payment suggestion, a reminder, or a finance charge memo exists. <small>from the table field</small> |
| Ship-to | Name | [Ship-to Name](../table/38.md#fields) | Specifies the name of the company at the address to which you want the items in the purchase order to be shipped. |
|  | Name 2 | [Ship-to Name 2](../table/38.md#fields) | Specifies an additional part of the name of the company at the address to which you want the items in the purchase order to be shipped. |
|  | Address | [Ship-to Address](../table/38.md#fields) | Specifies the address that you want the items in the purchase order to be shipped to. <small>from the table field</small> |
|  | Address 2 | [Ship-to Address 2](../table/38.md#fields) | Specifies additional address information. <small>from the table field</small> |
|  | City | [Ship-to City](../table/38.md#fields) | Specifies the city the items in the purchase order will be shipped to. |
| Control124 | Ship-to County | [Ship-to County](../table/38.md#fields) | Specifies the state, province or county of the address. <small>from the table field</small> |
| Ship-to | Post Code | [Ship-to Post Code](../table/38.md#fields) | Specifies the postal code. |
|  | Country/Region | [Ship-to Country/Region Code](../table/38.md#fields) | Specifies the country/region code of the address that you want the items on the purchase document to be shipped to. |
|  | Phone No. | [Ship-to Phone No.](../table/38.md#fields) | Specifies the telephone number of the company's shipping address. <small>from the table field</small> |
|  | Contact | [Ship-to Contact](../table/38.md#fields) | Specifies the name of a contact person for the address where the items in the purchase order should be shipped. |
| Pay-to | Name | [Pay-to Name](../table/38.md#fields) | Specifies the name of the vendor sending the invoice. |
|  | Name 2 | [Pay-to Name 2](../table/38.md#fields) | Specifies an additional part of the name of the vendor who you receive the invoice or credit memo from. <small>from the table field</small> |
|  | Address | [Pay-to Address](../table/38.md#fields) | Specifies the address of the vendor sending the invoice. <small>from the table field</small> |
|  | Address 2 | [Pay-to Address 2](../table/38.md#fields) | Specifies additional address information. <small>from the table field</small> |
|  | City | [Pay-to City](../table/38.md#fields) | Specifies the city of the vendor sending the invoice. |
| Control123 | Pay-to County | [Pay-to County](../table/38.md#fields) | Specifies the state, province or county of the address. <small>from the table field</small> |
| Pay-to | Post Code | [Pay-to Post Code](../table/38.md#fields) | Specifies the postal code. |
|  | Country/Region | [Pay-to Country/Region Code](../table/38.md#fields) | Specifies the country/region code of the vendor on the purchase document. |
|  | Contact No. | [Pay-to Contact No.](../table/38.md#fields) | Specifies the number of the contact who sends the invoice. <small>from the table field</small> |
|  | Contact | [Pay-to Contact](../table/38.md#fields) | Specifies the name of the person to contact about an invoice from this vendor. <small>from the table field</small> |
|  | Phone No. | `PayToContact."Phone No."` | Specifies the telephone number of the vendor contact person. |
|  | Mobile Phone No. | `PayToContact."Mobile Phone No."` | Specifies the mobile telephone number of the vendor contact person. |
|  | Email | `PayToContact."E-Mail"` | Specifies the email address of the vendor contact person. |
| Foreign Trade | Transaction Specification | [Transaction Specification](../table/38.md#fields) | Specifies a specification of the document's transaction, for the purpose of reporting to INTRASTAT. <small>from the table field</small> |
|  | Transport Method | [Transport Method](../table/38.md#fields) | Specifies the transport method, for the purpose of reporting to INTRASTAT. <small>from the table field</small> |
|  | Entry Point | [Entry Point](../table/38.md#fields) | Specifies the code of the port of entry where the items pass into your country/region, for reporting to Intrastat. <small>from the table field</small> |
|  | Area | [Area](../table/38.md#fields) | Specifies the destination country or region for the purpose of Intrastat reporting. <small>from the table field</small> |
| FactBoxes | Documents | part [Page 1178 "Doc. Attachment List Factbox"](../page/1178.md) | — |
|  | Control5 | part [Page 9103 "Pending Approval FactBox"](../page/9103.md) | — |
|  | ApprovalFactBox | part [Page 9092 "Approval FactBox"](../page/9092.md) | — |
|  | Control1901138007 | part [Page 9093 "Vendor Details FactBox"](../page/9093.md) | — |
|  | Control1904651607 | part [Page 9094 "Vendor Statistics FactBox"](../page/9094.md) | — |
|  | Control3 | part [Page 9100 "Purchase Line FactBox"](../page/9100.md) | — |
|  | WorkflowStatus | part [Page 1528 "Workflow Status FactBox"](../page/1528.md) | — |

## Actions

| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Order | Statistics | View statistical information, such as the value of posted entries, for the record. | [Page 403 "Purchase Order Statistics"](../page/403.md) |
|  | Card | View or edit detailed information about the vendor on the purchase document. | [Page 26 "Vendor Card"](../page/26.md) |
|  | Vendor Statistics | View statistical information, such as the value of posted entries, for the buy-from vendor on the purchase document. | [Page 152 "Vendor Statistics"](../page/152.md) |
|  | Comments | View or add comments for the record. | [Page 66 "Purch. Comment Sheet"](../page/66.md) |
|  | Dimensions | View or edit dimensions, such as area, project, or department, that you can assign to sales and purchase documents to distribute costs and analyze transaction history. |  |
|  | Approvals | View a list of the records that are waiting to be approved. For example, you can see who requested the record to be approved, when it was sent, and when it is due to be approved. |  |
|  | Attachments | Add a file as an attachment. You can attach images as well as documents. |  |
| Approval | Approve | Approve the requested changes. |  |
|  | Reject | Reject the approval request. |  |
|  | Delegate | Delegate the approval to a substitute approver. |  |
|  | Comments | View or add comments for the record. |  |
| Functions | Calculate Invoice Discount | Calculate the invoice discount for the entire purchase invoice. |  |
|  | Copy Document | Copy document lines and header information from another purchase document to this document. You can copy a posted purchase invoice into a new purchase invoice to quickly create a similar document. |  |
|  | Archive Document | Archive Document. |  |
|  | Release | Release the document to the next stage of processing. You must reopen the document before you can make changes to it. |  |
|  | Reopen | Reopen the document to change it after it has been approved. Approved documents have the Released status and must be opened before they can be changed |  |
| Request Approval | Send Approval Request | Request approval of the document. |  |
|  | Cancel Approval Request | Cancel the approval request. |  |
| Processing | Make Order | Convert the blank purchase order to a purchase order. |  |
|  | Print | Prepare to print the document. A report request window for the document opens where you can specify what to include on the print-out. |  |
|  | Send by Email | Finalize and prepare to email the document. The Send Email window opens prefilled with the vendor's email address so you can add or edit information. |  |
|  | Send | Prepare to send the document according to the vendor's sending profile, such as attached to an email. The Send document to window opens first so you can confirm or select a sending profile. |  |
|  | Attach as PDF | Create a PDF file and attach it to the document. |  |

## Procedures

9 local procedures, no public ones.

## Triggers

OnAfterGetCurrRecord, OnAfterGetRecord, OnDeleteRecord, OnNewRecord, OnOpenPage

## Relations

- source table [Table 38 "Purchase Header"](../table/38.md)

## Pages and codeunits on this table

- [Page 9310 "Blanket Purchase Orders"](../page/9310.md) (card page)

## Extended by

- [Page extension 20271 "Purchase Blanket Order Ext"](../pageextension/20271.md)
- [Page extension 4883 "EU3 Blanket Purch. Order"](../pageextension/4883.md)

## Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an `Object::"Name"` argument. Interface dispatch and calls through events are not counted, so the list is not complete.

- [Codeunit 1535 "Approvals Mgmt."](../codeunit/1535.md) (3 calls: `SetControlAppearance → CanCancelApprovalForRecord`, `SetControlAppearance → HasOpenApprovalEntries`, `SetControlAppearance → HasOpenApprovalEntriesForCurrentUser`)
- [Codeunit 1400 "DocumentNoVisibility"](../codeunit/1400.md) (1 call: `SetDocNoVisible → PurchaseDocumentNoIsVisible`)
- [Codeunit 365 "Format Address"](../codeunit/365.md) (1 call: `ActivateFields → UseCounty`)
- [Codeunit 57 "Document Totals"](../codeunit/57.md) (1 call: `SaveInvoiceDiscountAmount → PurchaseRedistributeInvoiceDiscountAmountsOnDocument`)
- [Codeunit 5700 "User Setup Management"](../codeunit/5700.md) (1 call: `OnNewRecord → GetPurchasesFilter`)

## Called by

- [Codeunit 5530 "Calc. Item Availability"](../codeunit/5530.md) (1 call: `RunPurchHeaderPage → (object)`)

## Recent changes

- 2026-07-15 [#9044 [Master] Contact email is no validated during creation purchase documents_New](../../changes/bcapps/9044.md) (main, BC30, fix)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: none

## Countries that replace it

[IT](../../localizations/it.md)

## Documented on Microsoft Learn

- [Track order lines to related documents](https://learn.microsoft.com/dynamics365/business-central/across-how-to-track-document-lines)
- [Work with blanket sales orders or purchase orders](https://learn.microsoft.com/dynamics365/business-central/sales-how-to-create-blanket-sales-orders)

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). The call sections above are our own, per object, from the BC29 call graph. 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: "page", object_name: "Blanket Purchase Order")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
