---
id: object/page/6640
type: object
title: Page 6640 "Purchase Return Order"
summary: Page 6640 "Purchase Return Order" in Base Application (Microsoft.Purchases.Document). 3 public procedures, 6 events. Present since at least BC23, still in BC30, changed in BC25.
tier: official
language: en
tags:
  - page
  - base application
versions:
  introduced: null
  last_changed: "25"
  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: c8df88fb917367c9b42d2928e14c3cc1bd58d0e5ce47d5b09eec2c708938c80e
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Purchases/Document/PurchaseReturnOrder.Page.al
    title: src/Layers/W1/BaseApp/Purchases/Document/PurchaseReturnOrder.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/finance-how-use-non-deductible-vat
    title: Use non-deductible VAT
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/finance-sustainability-journal
    title: Record sustainability entries
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/purchasing-how-process-purchase-returns-cancellations
    title: Process returns or cancellations
    date: null
    commit: null
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/finance-how-use-non-deductible-vat
    - https://learn.microsoft.com/dynamics365/business-central/finance-sustainability-journal
    - https://learn.microsoft.com/dynamics365/business-central/purchasing-how-process-purchase-returns-cancellations
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/finance/working-with-value-added-tax-vat
    - topic/business-central/business-functionality/purchasing
    - topic/business-central/business-functionality/sustainability-management
  localizations:
    - localization/it
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/9044
object_type: page
object_id: 6640
name: Purchase Return 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:
  - "25"
source_major: "29"
obsolete: null
countries:
  - it
ms_search_form_ids:
  - docs/learn-smb-docs/business-central/finance-how-use-non-deductible-vat.md
  - docs/learn-smb-docs/business-central/finance-sustainability-journal.md
  - docs/learn-smb-docs/business-central/purchasing-how-process-purchase-returns-cancellations.md
counts:
  fields: 0
  procedures: 23
  events: 6
  subscribers: 0
  controls: 88
  actions: 43
relations:
  out: 1
  referenced_by: 0
  pages: 1
  extended_by: 4
  event_subscribers: 2
  calls: 9
  called_by: 4
  implements: 0
---

# Page 6640 "Purchase Return Order"

> Page 6640 "Purchase Return Order" in Base Application (Microsoft.Purchases.Document). 3 public procedures, 6 events. Present since at least BC23, still in BC30, changed in BC25.

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

## Properties

| Property | Value |
|---|---|
| Caption | Purchase Return 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 returns the products. |
|  | Vendor Name | [Buy-from Vendor Name](../table/38.md#fields) | Specifies the name of the vendor who returns 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 vendor's buy-from address. |
|  | Address 2 | [Buy-from Address 2](../table/38.md#fields) | Specifies an additional part of the vendor's buy-from address. |
|  | City | [Buy-from City](../table/38.md#fields) | Specifies the city of the vendor on the purchase document. <small>from the table field</small> |
| Control69 | Buy-from County | [Buy-from County](../table/38.md#fields) | Specifies the county of the address. |
| 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 vendor contact person. |
|  | Document Date | [Document Date](../table/38.md#fields) | Specifies the date when the related document was created. <small>from the table field</small> |
|  | Posting Date | [Posting Date](../table/38.md#fields) | Specifies the posting date of the record. |
|  | VAT Reporting Date | [VAT Reporting Date](../table/38.md#fields) | Specifies the date used to include entries on VAT reports in a VAT period. This is either the date that the document was created or posted, depending on your setting on the General Ledger Setup page. <small>from the table field</small> |
|  | 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> |
|  | Order Date | [Order Date](../table/38.md#fields) | Specifies the date when the order was created. <small>from the table field</small> |
|  | Vendor Authorization No. | [Vendor Authorization No.](../table/38.md#fields) | Specifies the identification number of a compensation agreement. This number is sometimes referred to as the RMA No.(Returns Materials Authorization). |
|  | Vendor Cr. Memo No. | [Vendor Cr. Memo No.](../table/38.md#fields) | Specifies the number that the vendor uses for the credit memo you are creating in this purchase return order. |
|  | 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> |
|  | Job Queue Status | [Job Queue Status](../table/38.md#fields) | Specifies the status of a job queue entry that handles the posting of purchase return orders. |
|  | Status | [Status](../table/38.md#fields) | Specifies whether the document is open, released, pending approval, or pending prepayment. |
|  | 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 6641 "Purchase Return Order Subform"](../page/6641.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> |
|  | Vendor Posting Group | [Vendor Posting Group](../table/38.md#fields) | Specifies the vendor's market type to link business transactions to. <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> |
|  | 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> |
|  | Location Code | [Location Code](../table/38.md#fields) | Specifies the code for the location from where the items are shipped. 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 Responsibilit... |
|  | Applies-to Doc. Type | [Applies-to Doc. Type](../table/38.md#fields) | Specifies the type of the posted document that this document or journal line will be applied to when you post, for example to register payment. <small>from the table field</small> |
|  | Applies-to Doc. No. | [Applies-to Doc. No.](../table/38.md#fields) | Specifies the number of the posted document that this document or journal line will be applied to when you post, for example to register payment. <small>from the table field</small> |
|  | Applies-to ID | [Applies-to ID](../table/38.md#fields) | Specifies the ID of entries that will be applied to when you choose the Apply Entries action. <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> |
|  | Tax Liable | [Tax Liable](../table/38.md#fields) | Specifies that purchases from the vendor on the purchase header are liable for sales tax. |
|  | 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> |
| Control45 | Ship-to | `ShipToOptions` | Specifies the address that the products on the purchase document are shipped to. Default (Company Address): The same as the company address specified in the Company Information window. Location: One of the company's location addresses. Custom Address: Any ship-to address that you specify in the fiel... |
| Control48 | Alternate Vendor Address Code | [Order Address Code](../table/38.md#fields) | Specifies the order address of the related vendor. <small>from the table field</small> |
| Control62 | Name | [Ship-to Name](../table/38.md#fields) | Specifies the name of the vendor sending the order. |
|  | Name 2 | [Ship-to Name 2](../table/38.md#fields) | Specifies an additional part of the name for the order address of the vendor. |
|  | Address | [Ship-to Address](../table/38.md#fields) | Specifies the vendor's buy-from address. |
|  | Address 2 | [Ship-to Address 2](../table/38.md#fields) | Specifies an additional part of the vendor's buy-from address. |
|  | City | [Ship-to City](../table/38.md#fields) | Specifies the city of the vendor on the purchase document. <small>from the table field</small> |
| Control174 | Ship-to County | [Ship-to County](../table/38.md#fields) | Specifies the county of the address. |
| Control62 | Post Code | [Ship-to Post Code](../table/38.md#fields) | Specifies the postal code. |
|  | Country/Region Code | [Ship-to Country/Region Code](../table/38.md#fields) | Specifies the country or region of the address. |
|  | 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 the vendor contact person. |
| Pay-to | Name | [Pay-to Name](../table/38.md#fields) | Specifies the name of the vendor sending the order. |
|  | 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 vendor's buy-from address. |
|  | Address 2 | [Pay-to Address 2](../table/38.md#fields) | Specifies an additional part of the vendor's buy-from address. |
|  | City | [Pay-to City](../table/38.md#fields) | Specifies the city of the vendor on the purchase document. <small>from the table field</small> |
| Control79 | Pay-to County | [Pay-to County](../table/38.md#fields) | Specifies the county of the address. |
| 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 or region of the address. |
|  | 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> |
|  | 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. |
|  | Contact | [Pay-to Contact](../table/38.md#fields) | Specifies the name 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> |
|  | 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> |
|  | 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 | Document Check | part [Page 9118 "Purch. Doc. Check Factbox"](../page/9118.md) | — |
|  | Documents | part [Page 1178 "Doc. Attachment List Factbox"](../page/1178.md) | — |
|  | Control21 | 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) | — |
|  | IncomingDocAttachFactBox | part [Page 193 "Incoming Doc. Attach. FactBox"](../page/193.md) | — |
|  | Control1903435607 | part [Page 9095 "Vendor Hist. Buy-from FactBox"](../page/9095.md) | — |
|  | Control1906949207 | part [Page 9096 "Vendor Hist. Pay-to FactBox"](../page/9096.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 |
|---|---|---|---|
| Return Order | Statistics | View statistical information, such as the value of posted entries, for the record. | [Page 403 "Purchase Order Statistics"](../page/403.md) |
|  | Vendor | 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) |
|  | 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. |  |
|  | Comments | View or add comments for the record. | [Page 66 "Purch. Comment Sheet"](../page/66.md) |
| Documents | Return Shipments | Open the posted return shipments related to this order. | [Page 6652 "Posted Return Shipments"](../page/6652.md) |
|  | Credit Memos | View a list of ongoing credit memos for the order. |  |
| Warehouse | Warehouse Shipment Lines | View ongoing warehouse shipments for the document, in advanced warehouse configurations. | [Page 7341 "Whse. Shipment Lines"](../page/7341.md) |
|  | Invt. Put-away/Pick Lines | View items that are inbound or outbound on inventory put-away or inventory pick documents for the purchase return order. | [Page 5774 "Warehouse Activity List"](../page/5774.md) |
|  | Warehouse Pick Lines | View ongoing warehouse picks for the document, in advanced warehouse configurations. | [Page 5785 "Warehouse Activity Lines"](../page/5785.md) |
| Approval | Approve | Approve the requested changes. |  |
|  | Reject | Reject the requested changes. |  |
|  | Delegate | Delegate the requested changes to the substitute approver. |  |
|  | Comments | View or add comments for the record. |  |
| Processing | Print | Prepare to print the document. The 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. |  |
| Release | 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 |  |
| Functions | Get Posted Document Lines to Reverse | Copy one or more posted purchase document lines in order to reverse the original order. |  |
| Incoming Document | View Incoming Document | View any incoming document records and file attachments that exist for the entry or document, for example for auditing purposes |  |
|  | Select Incoming Document | Select an incoming document record and file attachment that you want to link to the entry or document. |  |
|  | Create Incoming Document from File | Create an incoming document from a file that you select from the disk. The file will be attached to the incoming document record. |  |
|  | Remove Incoming Document | Remove any incoming document records and file attachments. |  |
| Functions | Apply Entries | Apply open entries for the relevant account type. |  |
|  | Calculate Invoice Discount | Calculate the discount that can be granted based on all lines in the purchase document. |  |
|  | 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. |  |
|  | Move Negative Lines | Prepare to create a replacement purchase order in a purchase return process. |  |
|  | Archive Document | Send the document to the archive, for example because it is too soon to delete it. Later, you delete or reprocess the archived document. |  |
|  | Send IC Return Order | Prepare to send the return order to an intercompany partner. |  |
| Request Approval | Send Approval Request | Request approval of the document. |  |
|  | Cancel Approval Request | Cancel the approval request. |  |
| Warehouse | Create Warehouse Shipment | Create a warehouse shipment to start a pick a ship process according to an advanced warehouse configuration. |  |
|  | Create Inventory Put-away/Pick | Create an inventory put-away or inventory pick to handle items on the document according to a basic warehouse configuration that does not require warehouse receipt or shipment documents. |  |
| Posting | Post | Finalize the document or journal by posting the amounts and quantities to the related accounts in your company books. |  |
|  | Preview Posting | Review the different types of entries that will be created when you post the document or journal. |  |
|  | Test Report | View a test report so that you can find and correct any errors before you perform the actual posting of the journal or document. |  |
|  | Post and Print | Finalize and prepare to print the document or journal. The values and quantities are posted to the related accounts. A report request window where you can specify what to include on the print-out. |  |
|  | Post Batch | Post several documents at once. A report request window opens where you can specify which documents to post. |  |
|  | Remove From Job Queue | Remove the scheduled processing of this record from the job queue. |  |
|  | Attachments | Add a file as an attachment. You can attach images as well as documents. |  |

## Events published

- `OnAfterOnAfterGetRecord(var PurchaseHeader: Record "Purchase Header")` (integration)
  - subscribers: [Codeunit 9070 "Document Errors Mgt."](../codeunit/9070.md) OnAfterOnAfterGetRecordPurchaseReturnOrder
- `OnBeforeValidateShipToOptions(var PurchaseHeader: Record "Purchase Header"; ShipToOptions: Option)` (integration)
- `OnAfterValidateShipToOptions(var PurchaseHeader: Record "Purchase Header"; ShipToOptions: Option)` (integration)
- `OnPostDocumentBeforeNavigateAfterPosting(var PurchaseHeader: Record "Purchase Header"; var PostingCodeunitID: Integer; DocumentIsPosted: Boolean; var IsHandled: Boolean)` (integration)
- `OnQueryClosePageOnAfterCalcShowConfirmCloseUnposted(var PurchaseHeader: Record "Purchase Header"; var ShowConfirmCloseUnposted: Boolean)` (integration)
- `OnPostDocumentOnAfterCalcDocumentIsScheduledForPosting(var PurchaseHeader: Record "Purchase Header"; var DocumentIsScheduledForPosting: Boolean; var DocumentIsPosted: Boolean)` (integration)

## Trigger event subscribers

- OnModifyRecordEvent: [Codeunit 9070 "Document Errors Mgt."](../codeunit/9070.md) OnModifyRecordEventPurchaseReturnOrder

## Procedures

- `CallPostDocument(PostingCodeunitID: Integer)`
- `RunBackgroundCheck()`
- `SetPostingGroupEditable()`

Plus 14 local procedures.

## Triggers

OnAfterGetCurrRecord, OnAfterGetRecord, OnDeleteRecord, OnInit, OnNewRecord, OnOpenPage, OnQueryClosePage

## Relations

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

## Pages and codeunits on this table

- [Page 9311 "Purchase Return Order List"](../page/9311.md) (card page)

## Extended by

- [Page extension 20253 "Purchase Return Order Ext"](../pageextension/20253.md)
- [Page extension 4889 "EU3 Purch. Return Order"](../pageextension/4889.md)
- [Page extension 5026 "SD Purch. Return Order"](../pageextension/5026.md)
- [Page extension 5594 "Dig. Voucher Purch. Ret. Order"](../pageextension/5594.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 1330 "Instruction Mgt."](../codeunit/1330.md) (5 calls: `PostDocument → IsEnabled`, `PostDocument → ShowPostedConfirmationMessageCode`, `ShowPostedConfirmationMessage → ShowConfirm`, …)
- [Codeunit 1535 "Approvals Mgmt."](../codeunit/1535.md) (3 calls: `SetControlAppearance → CanCancelApprovalForRecord`, `SetControlAppearance → HasOpenApprovalEntries`, `SetControlAppearance → HasOpenApprovalEntriesForCurrentUser`)
- [Codeunit 9070 "Document Errors Mgt."](../codeunit/9070.md) (2 calls: `CheckShowBackgrValidationNotification → CheckShowEnableBackgrValidationNotification`, `SetControlAppearance → BackgroundValidationEnabled`)
- [Codeunit 1320 "Lines Instruction Mgt."](../codeunit/1320.md) (1 call: `PostDocument → PurchaseCheckAllLinesHaveQuantityAssigned`)
- [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`)
- [Codeunit 799 "VAT Reporting Date Mgt"](../codeunit/799.md) (1 call: `OnOpenPage → IsVATDateEnabled`)

## Called by

- [Codeunit 5992 "Purchases Warehouse Mgt."](../codeunit/5992.md) (2 calls: `OnShowSourceDocCard → (object)`, `OnShowSourceDocumentCard → (object)`)
- [Codeunit 5530 "Calc. Item Availability"](../codeunit/5530.md) (1 call: `RunPurchHeaderPage → (object)`)
- [Codeunit 6620 "Copy Document Mgt."](../codeunit/6620.md) (1 call: `ShowPurchDoc → (object)`)
- [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) (1 call: `OnLookupDocument → (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: BC25

## Countries that replace it

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

## Documented on Microsoft Learn

- [Use non-deductible VAT](https://learn.microsoft.com/dynamics365/business-central/finance-how-use-non-deductible-vat)
- [Record sustainability entries](https://learn.microsoft.com/dynamics365/business-central/finance-sustainability-journal)
- [Process returns or cancellations](https://learn.microsoft.com/dynamics365/business-central/purchasing-how-process-purchase-returns-cancellations)

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: "Purchase Return Order")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
