Table 38 "Purchase Header"
Base Application · Microsoft.Purchases.Document
- 166fields
- 528procedures
- 289events
- 30Learn pages
- 17countries replace it
- 62fields reference it
- 71event subscribers
- 32objects it calls
Across versions
- BC23present
- BC246 events changed, 6 events added
- BC2517 events added, 4 events removed
- BC269 events added, 8 procedures added
- BC2743 fields changed, 6 events added
- BC2870 fields changed, 14 procedures added
- BC297 procedures removed, 3 events removed
- BC30unchanged
Neighbourhood 203 connected objects and pages
Base Application · Microsoft.Purchases.Document · BC23-30 · source at 866a524f · facts from BC29
Learn documents this table through its pages: Page 50 “Purchase Order” (16 Learn pages), Page 9307 “Purchase Order List” (12), Page 51 “Purchase Invoice” (11), Page 9306 “Purchase Quotes” (7), Page 9308 “Purchase Invoices” (7), Page 52 “Purchase Credit Memo” (5), Page 9309 “Purchase Credit Memos” (4), Page 9310 “Blanket Purchase Orders” (4), Page 6640 “Purchase Return Order” (3), Page 49 “Purchase Quote” (2), Page 161 “Purchase Statistics” (2), Page 509 “Blanket Purchase Order” (2), Page 9311 “Purchase Return Order List” (2), Page 53 “Purchase List” (1), Page 403 “Purchase Order Statistics” (1).
Properties
| Property | Value |
|---|---|
| Caption | Purchase Header |
| 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 | Document Type | Enum “Purchase Document Type” | — | enum Enum 38 “Purchase Document Type” |
| 2 | Buy-from Vendor No. Δ BC27 | Code[20] | Specifies the vendor who will deliver the goods or services. Each vendor has a unique number to help you track related documents. The number can come from a number series or be added manually. | TableRelation Table 23 “Vendor” |
| 3 | No. Δ BC27 | Code[20] | Specifies a unique number that identifies the purchase order. The number can be generated automatically from a number series, or you can number each of them manually. | |
| 4 | Pay-to Vendor No. Δ BC27 | Code[20] | Specifies the number of the vendor that you received the invoice from. | TableRelation Table 23 “Vendor”; NotBlank |
| 5 | Pay-to Name Δ BC27 | Text[100] | Specifies the name of the vendor who you received the invoice from. | TableRelation Vendor.Name |
| 6 | Pay-to Name 2 Δ BC27 | Text[50] | Specifies an additional part of the name of the vendor who you receive the invoice or credit memo from. | |
| 7 | Pay-to Address Δ BC28 | Text[100] | Specifies the address of the vendor sending the invoice. | |
| 8 | Pay-to Address 2 Δ BC28 | Text[50] | Specifies additional address information. | |
| 9 | Pay-to City Δ BC28 | Text[30] | Specifies the city of the vendor on the purchase document. | TableRelation Table 225 “Post Code” (if (“Pay-to Country/Region Code” = const(‘’)) “Post Code”.City else if (“Pay-to Country/Region Code” = filter(<> ‘’)) “Post Code”.City where(“Country/Region Code” = field(“Pay-to Country/Region Code”))) |
| 10 | Pay-to Contact Δ BC27 | Text[100] | Specifies the name of the person to contact about an invoice from this vendor. | |
| 11 | Your Reference Δ BC27 | Text[35] | Specifies the vendor’s reference. | |
| 12 | Ship-to Code Δ BC27 | Code[10] | Specifies a code for an alternate shipment address if you want to ship to another address than the one that has been entered automatically. This field is also used in case of drop shipment. | TableRelation Table 222 “Ship-to Address” (“Ship-to Address”.Code where(“Customer No.” = field(“Sell-to Customer No.”))) |
| 13 | Ship-to Name Δ BC27 | Text[100] | Specifies the name of the customer at the address that the items are shipped to. | |
| 14 | Ship-to Name 2 Δ BC28 | Text[50] | Specifies an additional part of the name of the customer that items on the purchase order were shipped to, as a drop shipment. | |
| 15 | Ship-to Address Δ BC28 | Text[100] | Specifies the address that you want the items in the purchase order to be shipped to. | |
| 16 | Ship-to Address 2 Δ BC28 | Text[50] | Specifies additional address information. | |
| 17 | Ship-to City Δ BC28 | Text[30] | Specifies the city of the vendor on the purchase document. | TableRelation Table 225 “Post Code” (if (“Ship-to Country/Region Code” = const(‘’)) “Post Code”.City else if (“Ship-to Country/Region Code” = filter(<> ‘’)) “Post Code”.City where(“Country/Region Code” = field(“Ship-to Country/Region Code”))) |
| 18 | Ship-to Contact Δ BC27 | Text[100] | Specifies the name of the contact person at the address that the items are shipped to. | |
| 19 | Order Date Δ BC28 | Date | Specifies the date when the order was created. | |
| 20 | Posting Date Δ BC27 | Date | Specifies the date when the posting of the purchase document will be recorded. | |
| 21 | Expected Receipt Date Δ BC28 | Date | 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. | |
| 22 | Posting Description Δ BC27 | Text[100] | Specifies additional posting information for the document. After you post the document, the description can add detail to vendor and customer ledger entries. | |
| 23 | Payment Terms Code Δ BC27 | Code[10] | Specifies a formula that calculates the payment due date, payment discount date, and payment discount amount. | TableRelation Table 3 “Payment Terms” (Payment Terms) |
| 24 | Due Date Δ BC27 | Date | Specifies when the purchase invoice is due for payment. | |
| 25 | Payment Discount % Δ BC27 Δ BC28 | Decimal | Specifies the payment discount percent granted if payment is made on or before the date in the Pmt. Discount Date field. | |
| 26 | Pmt. Discount Date Δ BC28 | Date | Specifies the date on which the amount in the entry must be paid for a payment discount to be granted. | |
| 27 | Shipment Method Code Δ BC27 | Code[10] | Specifies the delivery conditions of the related shipment, such as free on board (FOB). | TableRelation Table 10 “Shipment Method” (Shipment Method) |
| 28 | Location Code Δ BC27 Δ BC28 | Code[10] | 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… | TableRelation Table 14 “Location” (Location where(“Use As In-Transit” = const(false))) |
| 29 | Shortcut Dimension 1 Code Δ BC27 | Code[20] | 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. | TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(1), Blocked = const(false))) |
| 30 | Shortcut Dimension 2 Code Δ BC27 | Code[20] | 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. | TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(2), Blocked = const(false))) |
| 31 | Vendor Posting Group Δ BC28 | Code[20] | Specifies the vendor’s market type to link business transactions to. | TableRelation Table 93 “Vendor Posting Group” (Vendor Posting Group) |
| 32 | Currency Code Δ BC27 | Code[10] | Specifies the code of the currency of the amounts on the purchase lines. | TableRelation Table 4 “Currency” |
| 33 | Currency Factor Δ BC28 | Decimal | — | not editable |
| 35 | Prices Including VAT Δ BC28 | Boolean | Specifies if the Unit Price and Line Amount fields on document lines should be shown with or without VAT. | |
| 37 | Invoice Disc. Code | Code[20] | — | |
| 41 | Language Code Δ BC28 | Code[10] | Specifies the language to be used on printouts for this document. | TableRelation Table 8 “Language” |
| 42 | Format Region Δ BC28 | Text[80] | Specifies the format to be used on printouts for this document. | TableRelation “Language Selection”.“Language Tag” |
| 43 | Purchaser Code Δ BC27 | Code[20] | Specifies which purchaser is assigned to the vendor. | TableRelation Table 13 “Salesperson/Purchaser” (“Salesperson/Purchaser” where(Blocked = const(false))) |
| 45 | Order Class | Code[10] | — | |
| 46 | Comment | Boolean | — | FlowField: exist(“Purch. Comment Line” where(“Document Type” = field(“Document Type”), “No.” = field(“No.”), “Document Line No.” = const(0))); not editable |
| 47 | No. Printed | Integer | — | not editable |
| 51 | On Hold Δ BC28 | Code[3] | Specifies that the related entry represents an unpaid invoice for which either a payment suggestion, a reminder, or a finance charge memo exists. | |
| 52 | Applies-to Doc. Type Δ BC28 | Enum “Gen. Journal Document Type” | 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. | enum Enum 6 “Gen. Journal Document Type” |
| 53 | Applies-to Doc. No. Δ BC28 | Code[20] | 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. | |
| 55 | Bal. Account No. | Code[20] | — | TableRelation Table 15 “G/L Account”, Table 270 “Bank Account” (if (“Bal. Account Type” = const(“G/L Account”)) “G/L Account” else if (“Bal. Account Type” = const(“Bank Account”)) “Bank Account”) |
| 56 | Recalculate Invoice Disc. | Boolean | — | FlowField: exist(“Purchase Line” where(“Document Type” = field(“Document Type”), “Document No.” = field(“No.”), “Recalculate Invoice Disc.” = const(true))); not editable |
| 57 | Receive | Boolean | — | |
| 58 | Invoice | Boolean | — | |
| 59 | Print Posted Documents | Boolean | — | |
| 60 | Amount Δ BC27 | Decimal | Specifies the sum of amounts on all the lines in the document. This will include invoice discounts. | FlowField: sum(“Purchase Line”.Amount where(“Document Type” = field(“Document Type”), “Document No.” = field(“No.”))); not editable |
| 61 | Amount Including VAT Δ BC27 | Decimal | Specifies the sum of amounts, including VAT, on all the lines in the document. This will include invoice discounts. | FlowField: sum(“Purchase Line”.“Amount Including VAT” where(“Document Type” = field(“Document Type”), “Document No.” = field(“No.”))); not editable |
| 62 | Receiving No. | Code[20] | — | |
| 63 | Posting No. | Code[20] | — | |
| 64 | Last Receiving No. | Code[20] | — | TableRelation Table 120 “Purch. Rcpt. Header” (Purch. Rcpt. Header); not editable |
| 65 | Last Posting No. | Code[20] | — | TableRelation Table 122 “Purch. Inv. Header” (Purch. Inv. Header); not editable |
| 66 | Vendor Order No. Δ BC27 | Code[35] | Specifies the vendor’s order number. | |
| 67 | Vendor Shipment No. Δ BC28 | Code[35] | Specifies the vendor’s shipment number. | |
| 68 | Vendor Invoice No. Δ BC28 | Code[35] | Specifies the document number of the original document you received from the vendor. You can require the document number for posting, or let it be optional. By default, it’s required, so that this document references the original. Making document numbers optional removes a step from the posting proc… | |
| 69 | Vendor Cr. Memo No. Δ BC28 | Code[35] | Specifies the document number of the original document you received from the vendor. You can require the document number for posting, or let it be optional. By default, it’s required, so that this document references the original. Making document numbers optional removes a step from the posting proc… | |
| 70 | VAT Registration No. | Text[20] | — | |
| 72 | Sell-to Customer No. Δ BC28 | Code[20] | Specifies the number of the customer that the items are shipped to directly from your vendor, as a drop shipment. | TableRelation Table 18 “Customer” |
| 73 | Reason Code Δ BC28 | Code[10] | Specifies the reason code, a supplementary source code that enables you to trace the document. | TableRelation Table 231 “Reason Code” (Reason Code) |
| 74 | Gen. Bus. Posting Group | Code[20] | — | TableRelation Table 250 “Gen. Business Posting Group” (Gen. Business Posting Group) |
| 76 | Transaction Type Δ BC28 | Code[10] | Specifies the type of transaction that the document represents, for the purpose of reporting to INTRASTAT. | TableRelation Table 258 “Transaction Type” (Transaction Type) |
| 77 | Transport Method Δ BC28 | Code[10] | Specifies the transport method, for the purpose of reporting to INTRASTAT. | TableRelation Table 259 “Transport Method” (Transport Method) |
| 78 | VAT Country/Region Code | Code[10] | — | TableRelation Table 9 “Country/Region” (Country/Region) |
| 79 | Buy-from Vendor Name Δ BC27 | Text[100] | Specifies the name of the vendor that you’re buying from. By default, the same vendor is suggested as the pay-to vendor. If needed, you can specify a different pay-to vendor on the document. | TableRelation Vendor.Name |
| 80 | Buy-from Vendor Name 2 Δ BC27 | Text[50] | Specifies an additional part of the name of the vendor that you’re buying from. | |
| 81 | Buy-from Address Δ BC28 | Text[100] | Specifies the address of the vendor who ships the items. | |
| 82 | Buy-from Address 2 Δ BC28 | Text[50] | Specifies additional address information. | |
| 83 | Buy-from City Δ BC28 | Text[30] | Specifies the city of the vendor on the purchase document. | TableRelation Table 225 “Post Code” (if (“Buy-from Country/Region Code” = const(‘’)) “Post Code”.City else if (“Buy-from Country/Region Code” = filter(<> ‘’)) “Post Code”.City where(“Country/Region Code” = field(“Buy-from Country/Region Code”))) |
| 84 | Buy-from Contact Δ BC27 | Text[100] | Specifies the name of the contact person at the vendor who delivered the items. | |
| 85 | Pay-to Post Code Δ BC27 | Code[20] | Specifies the post code of the vendor that you received the invoice from. | TableRelation Table 225 “Post Code” (if (“Pay-to Country/Region Code” = const(‘’)) “Post Code” else if (“Pay-to Country/Region Code” = filter(<> ‘’)) “Post Code” where(“Country/Region Code” = field(“Pay-to Country/Region Code”))) |
| 86 | Pay-to County Δ BC28 | Text[30] | Specifies the state, province or county of the address. | |
| 87 | Pay-to Country/Region Code Δ BC27 | Code[10] | Specifies the country/region code of the address. | TableRelation Table 9 “Country/Region” (Country/Region) |
| 88 | Buy-from Post Code Δ BC27 | Code[20] | Specifies the post code of the vendor who delivered the items. | TableRelation Table 225 “Post Code” (if (“Buy-from Country/Region Code” = const(‘’)) “Post Code” else if (“Buy-from Country/Region Code” = filter(<> ‘’)) “Post Code” where(“Country/Region Code” = field(“Buy-from Country/Region Code”))) |
| 89 | Buy-from County Δ BC28 | Text[30] | Specifies the state, province or county of the address. | |
| 90 | Buy-from Country/Region Code Δ BC27 | Code[10] | Specifies the city of the vendor who delivered the items. | TableRelation Table 9 “Country/Region” (Country/Region) |
| 91 | Ship-to Post Code Δ BC27 | Code[20] | Specifies the postal code of the address that the items are shipped to. | TableRelation Table 225 “Post Code” (if (“Ship-to Country/Region Code” = const(‘’)) “Post Code” else if (“Ship-to Country/Region Code” = filter(<> ‘’)) “Post Code” where(“Country/Region Code” = field(“Ship-to Country/Region Code”))) |
| 92 | Ship-to County Δ BC28 | Text[30] | Specifies the state, province or county of the address. | |
| 93 | Ship-to Country/Region Code Δ BC27 | Code[10] | Specifies the country/region code of the address that the items are shipped to. | TableRelation Table 9 “Country/Region” (Country/Region) |
| 94 | Bal. Account Type | enum “Payment Balance Account Type” | — | enum Enum 96 “Payment Balance Account Type” |
| 95 | Order Address Code Δ BC27 | Code[10] | Specifies the order address of the related vendor. | TableRelation Table 224 “Order Address” (“Order Address”.Code where(“Vendor No.” = field(“Buy-from Vendor No.”))) |
| 97 | Entry Point Δ BC28 | Code[10] | Specifies the code of the port of entry where the items pass into your country/region, for reporting to Intrastat. | TableRelation Table 282 “Entry/Exit Point” (Entry/Exit Point) |
| 98 | Correction Δ BC28 | Boolean | Specifies the entry as a corrective entry. You can use the field if you need to post a corrective entry to a vendor account. If you place a check mark in this field when posting a corrective entry, the system will post a negative debit instead of a credit or a negative credit instead of a debit. Cor… | |
| 99 | Document Date Δ BC27 | Date | Specifies the date when the related document was created. | |
| 101 | Area Δ BC28 | Code[10] | Specifies the destination country or region for the purpose of Intrastat reporting. | TableRelation Table 284 “Area” |
| 102 | Transaction Specification Δ BC28 | Code[10] | Specifies a specification of the document’s transaction, for the purpose of reporting to INTRASTAT. | TableRelation Table 285 “Transaction Specification” (Transaction Specification) |
| 104 | Payment Method Code Δ BC27 | Code[10] | Specifies how to make payment, such as with bank transfer, cash, or check. | TableRelation Table 289 “Payment Method” (Payment Method) |
| 107 | No. Series | Code[20] | — | TableRelation Table 308 “No. Series” (No. Series); not editable |
| 108 | Posting No. Series | Code[20] | — | TableRelation Table 308 “No. Series” (No. Series) |
| 109 | Receiving No. Series | Code[20] | — | TableRelation Table 308 “No. Series” (No. Series) |
| 114 | Tax Area Code Δ BC28 | Code[20] | Specifies the tax area code used for this purchase to calculate and post sales tax. | TableRelation Table 318 “Tax Area” (Tax Area) |
| 115 | Tax Liable Δ BC28 | Boolean | Specifies if this vendor charges you sales tax for purchases. | |
| 116 | VAT Bus. Posting Group Δ BC28 | Code[20] | 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. | TableRelation Table 323 “VAT Business Posting Group” (VAT Business Posting Group) |
| 118 | Applies-to ID Δ BC28 | Code[50] | Specifies the ID of entries that will be applied to when you choose the Apply Entries action. | |
| 119 | VAT Base Discount % Δ BC28 | Decimal | — | |
| 120 | Status Δ BC27 | Enum “Purchase Document Status” | Specifies whether the record is open, waiting to be approved, invoiced for prepayment, or released to the next stage of processing. | enum Enum 3812 “Purchase Document Status”; not editable |
| 121 | Invoice Discount Calculation | Option | — | OptionCaption: None,%,Amount; not editable |
| 122 | Invoice Discount Value Δ BC28 | Decimal | — | not editable |
| 123 | Send IC Document | Boolean | — | |
| 124 | IC Status | Enum “Purchase Document IC Status” | — | enum Enum 125 “Purchase Document IC Status” |
| 125 | Buy-from IC Partner Code | Code[20] | — | TableRelation Table 413 “IC Partner” (IC Partner); not editable |
| 126 | Pay-to IC Partner Code | Code[20] | — | TableRelation Table 413 “IC Partner” (IC Partner); not editable |
| 127 | IC Reference Document No. | Code[20] | — | not editable |
| 129 | IC Direction | Enum “IC Direction Type” | — | enum Enum 129 “IC Direction Type” |
| 130 | Prepayment No. | Code[20] | — | |
| 131 | Last Prepayment No. | Code[20] | — | TableRelation Table 122 “Purch. Inv. Header” (Purch. Inv. Header) |
| 132 | Prepmt. Cr. Memo No. | Code[20] | — | |
| 133 | Last Prepmt. Cr. Memo No. | Code[20] | — | TableRelation Table 124 “Purch. Cr. Memo Hdr.” (Purch. Cr. Memo Hdr.) |
| 134 | Prepayment % Δ BC28 | Decimal | Specifies the prepayment percentage to use to calculate the prepayment for purchase. | |
| 135 | Prepayment No. Series | Code[20] | — | TableRelation Table 308 “No. Series” (No. Series) |
| 136 | Compress Prepayment Δ BC28 | Boolean | Specifies that prepayments on the purchase order are combined if they have the same general ledger account for prepayments or the same dimensions. | |
| 137 | Prepayment Due Date Δ BC28 | Date | Specifies when the prepayment invoice for this purchase order is due. | |
| 138 | Prepmt. Cr. Memo No. Series | Code[20] | — | TableRelation Table 308 “No. Series” (No. Series) |
| 139 | Prepmt. Posting Description | Text[100] | — | |
| 142 | Prepmt. Pmt. Discount Date Δ BC28 | Date | Specifies the last date the vendor can pay the prepayment invoice and still receive a payment discount on the prepayment amount. | |
| 143 | Prepmt. Payment Terms Code Δ BC28 | Code[10] | Specifies the code that represents the payment terms for prepayment invoices related to the purchase document. | TableRelation Table 3 “Payment Terms” (Payment Terms) |
| 144 | Prepmt. Payment Discount % Δ BC28 | Decimal | Specifies the payment discount percent granted on the prepayment if the vendor pays on or before the date entered in the Prepmt. Pmt. Discount Date field. | |
| 146 | Spend Request No. + BC29 | Code[20] | Specifies the spend request that this purchase document relates to. | TableRelation Table 6840 “Spend Request” (“Spend Request” where(Status = const(Approved), “Document Type” = const(” “))) |
| 147 | Spend Request Close + BC29 | Boolean | Specifies that the spend request will be closed when the purchase document is posted. | |
| 151 | Quote No. Δ BC28 | Code[20] | Specifies the quote number for the purchase order. | not editable |
| 160 | Job Queue Status Δ BC24 Δ BC27 | Enum “Document Job Queue Status” | Specifies the status of a job queue entry that handles the posting of purchase orders. | enum Enum 485 “Document Job Queue Status”; not editable |
| 161 | Job Queue Entry ID | Guid | — | not editable |
| 165 | Incoming Document Entry No. Δ BC28 | Integer | Specifies the number of the incoming document that this purchase document is created for. | TableRelation Table 130 “Incoming Document” (Incoming Document) |
| 170 | Creditor No. Δ BC28 | Code[20] | Specifies the number of the vendor. | |
| 171 | Payment Reference Δ BC28 | Code[50] | Specifies the payment of the purchase invoice. | |
| 175 | Invoice Received Date Δ BC28 | Date | Specifies the date when the related document was received. | |
| 178 | Journal Templ. Name Δ BC28 | Code[10] | Specifies the name of the journal template in which the purchase header is to be posted. | TableRelation Table 80 “Gen. Journal Template” (“Gen. Journal Template” where(Type = filter(Purchases))) |
| 179 | VAT Reporting Date Δ BC28 | Date | 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. | not editable |
| 180 | Self-Billing Invoice + BC28 | Boolean | — | |
| 210 | Ship-to Phone No. + BC25 Δ BC28 | Text[30] | Specifies the telephone number of the company’s shipping address. | |
| 300 | A. Rcd. Not Inv. Ex. VAT (LCY) Δ BC27 Δ BC28 | Decimal | Specifies the amount excluding VAT for the items on the order that have been received but are not yet invoiced. | FlowField: sum(“Purchase Line”.“A. Rcd. Not Inv. Ex. VAT (LCY)” where(“Document Type” = field(“Document Type”), “Document No.” = field(“No.”))) |
| 301 | Amt. Rcd. Not Invoiced (LCY) Δ BC27 Δ BC28 | Decimal | Specifies the sum, in LCY, for items that have been received but have not yet been invoiced. The value in the Amt. Rcd. Not Invoiced (LCY) field is used for entries in the Purchase Line table of document type Order to calculate and update the contents of this field. | FlowField: sum(“Purchase Line”.“Amt. Rcd. Not Invoiced (LCY)” where(“Document Type” = field(“Document Type”), “Document No.” = field(“No.”))) |
| 480 | Dimension Set ID | Integer | — | TableRelation Table 480 “Dimension Set Entry” (Dimension Set Entry); not editable |
| 1000 | Remit-to Code Δ BC28 | Code[20] | Specifies the code for the vendor’s remit address for this invoice. | TableRelation Table 2224 “Remit Address” (“Remit Address”.Code where(“Vendor No.” = field(“Buy-from Vendor No.”))) |
| 1305 | Invoice Discount Amount Δ BC28 | Decimal | — | FlowField: sum(“Purchase Line”.“Inv. Discount Amount” where(“Document No.” = field(“No.”), “Document Type” = field(“Document Type”))); not editable |
| 5043 | No. of Archived Versions Δ BC28 | Integer | Specifies the number of archived versions for this document. | FlowField: max(“Purchase Header Archive”.“Version No.” where(“Document Type” = field(“Document Type”), “No.” = field(“No.”), “Doc. No. Occurrence” = field(“Doc. No. Occurrence”))); not editable |
| 5048 | Doc. No. Occurrence | Integer | — | |
| 5050 | Campaign No. Δ BC28 | Code[20] | Specifies the campaign number the document is linked to. | TableRelation Table 5071 “Campaign” |
| 5052 | Buy-from Contact No. Δ BC28 | Code[20] | Specifies the number of your contact at the vendor. | TableRelation Table 5050 “Contact” |
| 5053 | Pay-to Contact No. Δ BC28 | Code[20] | Specifies the number of the contact who sends the invoice. | TableRelation Table 5050 “Contact” |
| 5056 | Buy-from Vendor Templ. Code + BC28 | Code[20] | Specifies the code for the template to create a new vendors | TableRelation Table 1383 “Vendor Templ.” (Vendor Templ.) |
| 5057 | Pay-to Vendor Templ. Code + BC28 | Code[20] | Pay-to Vendor Template Code caption | TableRelation Table 1383 “Vendor Templ.” (Vendor Templ.) |
| 5700 | Responsibility Center Δ BC28 | Code[10] | Specifies the code of the responsibility center, such as a distribution hub, that is associated with the involved user, company, customer, or vendor. | TableRelation Table 5714 “Responsibility Center” (Responsibility Center) |
| 5751 | Partially Invoiced | Boolean | — | FlowField: exist(“Purchase Line” where(“Document Type” = field(“Document Type”), “Document No.” = field(“No.”), Type = filter(<> “ “), “Location Code” = field(“Location Filter”), “Quantity Invoiced” = filter(<> 0))); not editable |
| 5752 | Completely Received Δ BC28 | Boolean | Specifies if all the items on the order have been shipped or, in the case of inbound items, completely received. | FlowField: min(“Purchase Line”.“Completely Received” where(“Document Type” = field(“Document Type”), “Document No.” = field(“No.”), Type = filter(<> “ “), “Location Code” = field(“Location Filter”))); not editable |
| 5753 | Posting from Whse. Ref. | Integer | — | |
| 5754 | Location Filter | Code[10] | — | TableRelation Table 14 “Location”; FlowFilter |
| 5755 | Received Not Invoiced + BC24 | Boolean | — | FlowField: min(“Purchase Line”.“Completely Received” where(“Document Type” = field(“Document Type”), “Document No.” = field(“No.”), Type = filter(<> “ “), “Location Code” = field(“Location Filter”), “Quantity Invoiced” = filter(= 0))); not editable |
| 5790 | Requested Receipt Date Δ BC27 | Date | Specifies the date that you want the vendor to deliver to the ship-to address. The value in the field is used to calculate the latest date you can order the items to have them delivered on the requested receipt date. If you do not need delivery on a specific date, you can leave the field blank. | |
| 5791 | Promised Receipt Date Δ BC28 | Date | Specifies the date that the vendor has promised to deliver the order. | |
| 5792 | Lead Time Calculation Δ BC28 | DateFormula | Specifies a date formula for the amount of time it takes to replenish the item. | |
| 5793 | Inbound Whse. Handling Time Δ BC28 | DateFormula | Specifies the time it takes to make items part of available inventory, after the items have been posted as received. | |
| 5796 | Date Filter | Date | — | FlowFilter |
| 5800 | Vendor Authorization No. Δ BC27 | Code[35] | Specifies the compensation agreement identification number, sometimes referred to as the RMA No. (Returns Materials Authorization). | |
| 5801 | Return Shipment No. | Code[20] | — | |
| 5802 | Return Shipment No. Series | Code[20] | — | TableRelation Table 308 “No. Series” (No. Series) |
| 5803 | Ship | Boolean | — | |
| 5804 | Last Return Shipment No. | Code[20] | — | TableRelation Table 6650 “Return Shipment Header” (Return Shipment Header); not editable |
| 5850 | Receipt on Invoice + BC28 | Boolean | Specifies whether the receipt is posted with the invoice. | |
| 7000 | Price Calculation Method | Enum “Price Calculation Method” | — | enum Enum 7000 “Price Calculation Method” |
| 9000 | Assigned User ID Δ BC27 | Code[50] | Specifies the ID of the user who is responsible for the document. | TableRelation Table 91 “User Setup” (User Setup); DataClassification EndUserIdentifiableInformation |
| 9001 | Pending Approvals | Integer | — | FlowField: count(“Approval Entry” where(“Table ID” = const(38), “Document Type” = field(“Document Type”), “Document No.” = field(“No.”), Status = filter(Open | Created))) |
| 11301 | Doc. Amount Incl. VAT + BC26 | Decimal | Specifies the total amount (including VAT) of the purchase invoice or credit memo as specified in the external document. When this value comes from an e-document service, it’s value can’t be changed. | |
| 11302 | Doc. Amount VAT + BC26 | Decimal | Specifies the VAT amount of the purchase invoice or credit memo as specified in the external document. When this values comes from an e-document service, it’s value can’t be changed. |
Keys
- Key1: Document Type, No. (clustered)
- Key2: No., Document Type
- Key3: Document Type, Buy-from Vendor No.
- Key4: Document Type, Pay-to Vendor No.
- Key5: Buy-from Vendor No.
- Key6: Incoming Document Entry No.
- Key7: Document Date
- Key8: Status, Expected Receipt Date, Location Code, Responsibility Center
- Key9: Assigned User ID
- Key10: Document Type, Buy-from Contact No.
Events published
OnCheckPurchasePostRestrictions()Δ BC24 (integration)- subscribers: Codeunit 1550 “Record Restriction Mgt.” PurchaseHeaderCheckPurchasePostRestrictions, Codeunit 1550 “Record Restriction Mgt.” VendorCheckPurchasePostRestrictions
OnCheckPurchaseReleaseRestrictions()Δ BC24 (integration)- subscribers: Codeunit 1550 “Record Restriction Mgt.” PurchaseHeaderCheckPurchaseReleaseRestrictions
OnAfterInitDefaultDimensionSources(var PurchaseHeader: Record "Purchase Header"; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; FieldNo: Integer)(integration)OnAfterHasDifferentBuyFromAddress(var PurchaseHeader: Record "Purchase Header"; Vendor: Record Vendor; var Result: Boolean)(integration)OnAfterHasDifferentPayToAddress(var PurchaseHeader: Record "Purchase Header"; Vendor: Record Vendor; var Result: Boolean)(integration)OnBeforeGetFullDocTypeTxt(var PurchaseHeader: Record "Purchase Header"; var FullDocTypeTxt: Text; var IsHandled: Boolean)(integration)OnBeforeGetNoSeriesCode(PurchSetup: Record "Purchases & Payables Setup"; var NoSeriesCode: Code[20]; var IsHandled: Boolean; var PurchaseHeader: Record "Purchase Header")(integration)OnBeforeGetNextArchiveDocOccurrenceNo(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeGetPostingNoSeriesCode(var PurchaseHeader: Record "Purchase Header"; PurchasesPayablesSetup: Record "Purchases & Payables Setup"; var PostingNos: Code[20]; var IsHandled: Boolean)(integration)OnAfterAddShipToAddress(var PurchaseHeader: Record "Purchase Header"; SalesHeader: Record "Sales Header"; ShowError: Boolean)(integration)OnAfterAddSpecialOrderToAddress(var PurchaseHeader: Record "Purchase Header"; SalesHeader: Record "Sales Header"; ShowError: Boolean)(integration)OnAfterCopyAddressInfoFromOrderAddress(var OrderAddress: Record "Order Address"; var PurchHeader: Record "Purchase Header")(integration)OnAfterCouldDimensionsBeKept(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var Result: Boolean)(integration)OnAfterInitRecord(var PurchHeader: Record "Purchase Header")(integration)OnAfterInitNoSeries(var PurchHeader: Record "Purchase Header"; xPurchHeader: Record "Purchase Header")(integration)OnAfterChangePricesIncludingVAT(var PurchaseHeader: Record "Purchase Header")(integration)- subscribers: Codeunit 346 “Purch. Line CaptionClass Mgmt” PurchaseHeaderChangedPricesIncludingVAT
OnAfterCheckBuyFromVendor(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; Vendor: Record Vendor)(integration)- subscribers: Codeunit 5012 “Service Declaration Mgt.” OnAfterCheckBuyFromVendorInPurchHeader
OnAfterCheckPayToVendor(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; Vendor: Record Vendor)(integration)- subscribers: Codeunit 5012 “Service Declaration Mgt.” OnAfterCheckPayToVendorInPurchHeader
OnAfterConfirmPurchPrice(var PurchaseHeader: Record "Purchase Header"; var PurchaseLine: Record "Purchase Line"; var RecalculateLines: Boolean)(integration)OnAfterCopyBuyFromVendorFieldsFromVendor(var PurchaseHeader: Record "Purchase Header"; Vendor: Record Vendor; xPurchaseHeader: Record "Purchase Header")(integration)- subscribers: Codeunit 20533 “Subc. Purchase Header Ext” OnAfterCopyBuyFromVendorFieldsFromVendor, Codeunit 6784 “Wthldg Tax Purch. Subscribers” CopyVendorInfo
OnAfterCopyPayToVendorFieldsFromVendor(var PurchaseHeader: Record "Purchase Header"; Vendor: Record Vendor; xPurchaseHeader: Record "Purchase Header")(integration)OnAfterCopyBuyFromVendorAddressFieldsFromVendor(var PurchaseHeader: Record "Purchase Header"; BuyFromVendor: Record Vendor)(integration)OnAfterCopyPayToVendorAddressFieldsFromVendor(var PurchaseHeader: Record "Purchase Header"; PayToVendor: Record Vendor)(integration)OnAfterCopyShipToVendorAddressFieldsFromVendor(var PurchaseHeader: Record "Purchase Header"; BuyFromVendor: Record Vendor)(integration)OnAfterRecreatePurchLine(var PurchLine: Record "Purchase Line"; var TempPurchLine: Record "Purchase Line" temporary; var PurchaseHeader: Record "Purchase Header")(integration)OnAfterDeleteAllTempPurchLines(var PurchaseHeader: Record "Purchase Header")(integration)OnAfterIsApprovedForPosting(PurchaseHeader: Record "Purchase Header"; var Approved: Boolean)(integration)OnAfterIsApprovedForPostingBatch(PurchaseHeader: Record "Purchase Header"; var Approved: Boolean)(integration)OnAfterGetNoSeriesCode(var PurchHeader: Record "Purchase Header"; PurchSetup: Record "Purchases & Payables Setup"; var NoSeriesCode: Code[20])(integration)OnAfterGetPostingNoSeriesCode(PurchaseHeader: Record "Purchase Header"; var PostingNos: Code[20])(integration)OnAfterGetPrepaymentPostingNoSeriesCode(PurchaseHeader: Record "Purchase Header"; var PostingNos: Code[20])(integration)OnAfterGetPurchSetup(PurchaseHeader: Record "Purchase Header"; var PurchasesPayablesSetup: Record "Purchases & Payables Setup"; CalledByFieldNo: Integer)(integration)OnAfterGetReportSelectionsUsageFromDocumentType(PurchaseHeader: Record "Purchase Header"; var ReportSelectionsUsage: Option; var DocTxt: Text[150])(integration)OnAfterGetStatusStyleText(PurchaseHeader: Record "Purchase Header"; var StatusStyleText: Text)(integration)OnAfterSetBuyFromVendorFromFilter(var PurchaseHeader: Record "Purchase Header")(integration)OnAfterSetSecurityFilterOnRespCenter(var PurchaseHeader: Record "Purchase Header")(integration)OnAfterSetShipToForSpecOrder(var PurchaseHeader: Record "Purchase Header"; Location: Record Location; CompanyInformation: Record "Company Information")(integration)OnAfterPurchaseLinesEditable(PurchaseHeader: Record "Purchase Header"; var IsEditable: Boolean)(integration)OnAfterTestNoSeries(var PurchHeader: Record "Purchase Header"; PurchSetup: Record "Purchases & Payables Setup")(integration)OnAfterTransferSavedFields(var DestinationPurchaseLine: Record "Purchase Line"; SourcePurchaseLine: Record "Purchase Line")(integration)- subscribers: Codeunit 99000789 “Mfg. Purchase Document Mgt.” OnAfterTransferSavedFields
OnTransferSavedFieldsOnAfterSetVariantCode(var DestinationPurchaseLine: Record "Purchase Line"; SourcePurchaseLine: Record "Purchase Line")+ BC27 (integration)- subscribers: Codeunit 99000789 “Mfg. Purchase Document Mgt.” OnTransferSavedFieldsOnAfterSetVariantCode
OnAfterUpdateBuyFromVend(var PurchaseHeader: Record "Purchase Header"; Contact: Record Contact)(integration)OnAfterUpdateBuyFromCont(var PurchaseHeader: Record "Purchase Header"; Vendor: Record Vendor; Contact: Record Contact)(integration)OnAfterUpdatePayToAddressFromBuyFromAddress(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; FieldNumber: Integer)(integration)OnAfterUpdatePayToCont(var PurchaseHeader: Record "Purchase Header"; Vendor: Record Vendor; Contact: Record Contact)(integration)OnAfterUpdatePayToVend(var PurchaseHeader: Record "Purchase Header"; Contact: Record Contact)(integration)OnAfterUpdatePurchLinesByFieldNo(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; ChangedFieldNo: Integer)(integration)OnAfterUpdateShipToAddress(var PurchHeader: Record "Purchase Header")(integration)OnAfterUpdateCurrencyFactor(var PurchaseHeader: Record "Purchase Header"; HideValidationDialog: Boolean)(integration)OnAfterUpdateInboundWhseHandlingTime(var PurchaseHeader: Record "Purchase Header"; CurrentFieldNo: Integer)(integration)OnAfterValidateShipToCode(var PurchHeader: Record "Purchase Header"; Cust: Record Customer; ShipToAddr: Record "Ship-to Address")(integration)OnAfterAppliesToDocNoOnLookup(var PurchaseHeader: Record "Purchase Header"; VendorLedgerEntry: Record "Vendor Ledger Entry")(integration)OnUpdateAllLineDimOnAfterPurchLineSetFilters(var PurchaseLine: Record "Purchase Line")(integration)OnUpdatePurchLinesByFieldNoOnBeforeModifyRec(var PurchaseHeader: Record "Purchase Header"; var PurchaseLine: Record "Purchase Line")(integration)OnUpdatePurchLinesByFieldNoOnAfterCalcShouldConfirmReservationDateConflict(var PurchaseHeader: Record "Purchase Header"; ChangedFieldNo: Integer; var ShouldConfirmReservationDateConflict: Boolean)(integration)OnUpdatePurchLinesByFieldNoOnAfterPurchLineSetFilters(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var PurchaseLine: Record "Purchase Line"; ChangedFieldNo: Integer)(integration)OnUpdatePurchLinesByChangedFieldName(PurchHeader: Record "Purchase Header"; var PurchLine: Record "Purchase Line"; ChangedFieldName: Text[100]; ChangedFieldNo: Integer; xPurchaseHeader: Record "Purchase Header")(integration)OnValidateShortcutDimCodeOnBeforeUpdateAllLineDim(var PurcasehHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; FieldNumber: Integer)+ BC24 + BC25 − BC25 (integration)OnAfterValidateShortcutDimCode(var PurchHeader: Record "Purchase Header"; xPurchHeader: Record "Purchase Header"; FieldNumber: Integer; var ShortcutDimCode: Code[20])(integration)OnAfterTransferExtendedTextForPurchaseLineRecreation(var PurchLine: Record "Purchase Line"; var TempPurchaseLine: Record "Purchase Line" temporary)(integration)OnValidatePurchaseHeaderPayToVendorNoOnBeforeCheckDocType(Vendor: Record Vendor; var PurchaseHeader: Record "Purchase Header"; var xPurchaseHeader: Record "Purchase Header"; SkipPayToContact: Boolean)(integration)- subscribers: Codeunit 346 “Purch. Line CaptionClass Mgmt” UpdatePurchLineFieldsCaptionOnValidatePurchaseHeaderPayToVendorNoOnBeforeCheckDocType
OnValidatePostingDateOnBeforeResetInvoiceDiscountValue(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; CurrentFieldNo: Integer)(integration)OnBeforeAddSpecialOrderToAddress(var PurchaseHeader: Record "Purchase Header"; var SalesHeader: Record "Sales Header"; var IsHandled: Boolean; ShowError: Boolean)(integration)OnBeforeAssistEdit(var PurchaseHeader: Record "Purchase Header"; OldPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeBuyFromPostCodeOnBeforeLookupHandled(var PurchaseHeader: Record "Purchase Header"; PostCode: Record "Post Code"; var IsHandled: Boolean)(integration)OnBeforeCalcInvDiscForHeader(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeCouldDimensionsBeKept(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var Result: Boolean; var IsHandled: Boolean)(integration)OnBeforeCheckReceiptInfo(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var PurchLine: Record "Purchase Line"; PayTo: Boolean; var IsHandled: Boolean)(integration)OnBeforeCheckShipToCodeChange(PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean; xPurchaseHeader: Record "Purchase Header")(integration)OnBeforeCheckSpecialOrderSalesLineLink(PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeCheckShipToCode(PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeConfirmDeletion(var PurchaseHeader: Record "Purchase Header"; var Result: Boolean; var IsHandled: Boolean)(integration)OnBeforeConfirmKeepExistingDimensions(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; FieldNo: Integer; OldDimSetID: Integer; var Confirmed: Boolean; var IsHandled: Boolean)(integration)OnAfterConfirmUpdateCurrencyFactor(var PurchaseHeader: Record "Purchase Header"; var HideValidationDialog: Boolean)(integration)OnBeforeConfirmUpdateCurrencyFactor(var PurchaseHeader: Record "Purchase Header"; var HideValidationDialog: Boolean; var ForceConfirm: Boolean)+ BC24 − BC24 (integration)OnBeforeContactIsNotRelatedToVendorError(Contact: Record Contact; ContactNo: Code[20]; var IsHandled: Boolean)(integration)OnBeforeCreateDim(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; CurrentFieldNo: Integer)(integration)OnBeforeCreateDimSetForPrepmtAccDefaultDim(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeCreateDimensionsFromValidatePayToVendorNo(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeConfirmResvDateConflict(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean; ChangedFieldNo: Integer)(integration)OnBeforeConfirmUpdateField(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; UpdatingFieldNo: Integer; CurrentFieldNo: Integer; var Result: Boolean; var IsHandled: Boolean)(integration)OnBeforeDeletePurchaseLines(var PurchaseLine: Record "Purchase Line"; var IsHandled: Boolean; var PurchaseHeader: Record "Purchase Header")(integration)OnBeforeDeleteRecordInApprovalRequest(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeInitInsert(var PurchaseHeader: Record "Purchase Header"; var xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeInitRecord(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean; xPurchaseHeader: Record "Purchase Header"; PurchSetup: Record "Purchases & Payables Setup"; GLSetup: Record "General Ledger Setup"; var SkipInitialization: Boolean)(integration)OnBeforeInitPostingDescription(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeIsCreditDocType(PurchaseHeader: Record "Purchase Header"; var CreditDocType: Boolean)(integration)OnBeforeIsTotalValid(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeHasBuyFromAddress(var PurchaseHeader: Record "Purchase Header"; var Result: Boolean; var IsHandled: Boolean)(integration)OnBeforeHasShipToAddress(var PurchaseHeader: Record "Purchase Header"; var Result: Boolean; var IsHandled: Boolean)(integration)OnBeforeHasPayToAddress(var PurchaseHeader: Record "Purchase Header"; var Result: Boolean; var IsHandled: Boolean)(integration)OnBeforeLookupAppliesToDocNo(var PurchaseHeader: Record "Purchase Header"; var VendorLedgEntry: Record "Vendor Ledger Entry"; var IsHandled: Boolean)(integration)OnBeforeValidateAppliesToDocNo(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeLookupReceivingNoSeries(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeLookupReturnShipmentNoSeries(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeMessageIfPurchLinesExist(var PurchaseHeader: Record "Purchase Header"; ChangedFieldName: Text[100]; var IsHandled: Boolean)(integration)OnBeforeModifyPayToVendorAddress(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeModifyVendorAddress(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeOnDelete(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)- subscribers: Codeunit 6103 “E-Document Subscribers” OnBeforeOnDeletePurchaseHeader
OnBeforeSetShipToCodeEmpty(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeShouldSearchForVendorByName(VendorNo: Code[20]; var Result: Boolean; var IsHandled: Boolean)(integration)OnBeforeTransferSavedJobFields(var DestinationPurchaseLine: Record "Purchase Line"; SourcePurchaseLine: Record "Purchase Line"; var IsHandled: Boolean)(integration)OnBeforeTransferSavedFields(var DestinationPurchaseLine: Record "Purchase Line"; SourcePurchaseLine: Record "Purchase Line")(integration)OnBeforeUpdateCurrencyFactor(var PurchaseHeader: Record "Purchase Header"; var Updated: Boolean; var CurrencyExchangeRate: Record "Currency Exchange Rate"; CurrentFieldNo: Integer)(integration)OnBeforeUpdatePurchLineAmounts(var PurchaseHeader: Record "Purchase Header"; var xPurchaseHeader: Record "Purchase Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeJobUpdatePurchaseLine(var PurchaseLine: Record "Purchase Line"; var IsHandled: Boolean)(integration)OnBeforeRecreatePurchLines(var PurchHeader: Record "Purchase Header")(integration)OnBeforeRecreatePurchLinesHandler(var PurchHeader: Record "Purchase Header"; xPurchHeader: Record "Purchase Header"; ChangedFieldName: Text[100]; var IsHandled: Boolean)(integration)OnBeforeSetSecurityFilterOnRespCenter(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeCheckContactRelatedToVendorCompany(PurchaseHeader: Record "Purchase Header"; CurrFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeShowDocDim(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeSendToPosting(var PurchaseHeader: Record "Purchase Header"; var IsSuccess: Boolean; var IsHandled: Boolean; PostingCodeunitID: Integer)(integration)OnBeforeSendRecords(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforePrintRecords(var PurchaseHeader: Record "Purchase Header"; ShowRequestForm: Boolean; var IsHandled: Boolean)(integration)OnBeforeSendProfile(var PurchaseHeader: Record "Purchase Header"; var DocumentSendingProfile: Record "Document Sending Profile"; var IsHandled: Boolean)(integration)OnBeforeSetDefaultPurchaser(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeSetPurchaserCode(var PurchaseHeader: Record "Purchase Header"; PurchaserCodeToCheck: Code[20]; var PurchaserCodeToAssign: Code[20]; var IsHandled: Boolean)(integration)OnBeforeTestNoSeries(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeTransferSavedFieldsDropShipment(var DestinationPurchaseLine: Record "Purchase Line"; var SourcePurchaseLine: Record "Purchase Line"; var IsHandled: Boolean)(integration)OnBeforeTransferSavedFieldsSpecialOrder(var DestinationPurchaseLine: Record "Purchase Line"; var SourcePurchaseLine: Record "Purchase Line"; var IsHandled: Boolean)(integration)OnBeforeUpdateAllLineDim(var PurchaseHeader: Record "Purchase Header"; NewParentDimSetID: Integer; OldParentDimSetID: Integer; var IsHandled: Boolean; xPurchaseHeader: Record "Purchase Header")(integration)OnBeforeUpdateLocationCode(var PurchaseHeader: Record "Purchase Header"; LocationCode: Code[10]; var IsHandled: Boolean)(integration)OnBeforeUpdatePurchLinesByFieldNo(var PurchaseHeader: Record "Purchase Header"; ChangedFieldNo: Integer; var AskQuestion: Boolean; var IsHandled: Boolean)(integration)OnBeforeUpdateShipToAddress(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean; CurrentFieldNo: Integer)(integration)OnBeforeValidateBuyFromVendorNo(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; CallingFieldNo: Integer; var SkipBuyFromContact: Boolean; var IsHandled: Boolean)(integration)OnBeforeValidatePostingDate(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; CallingFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeValidateEmptySellToCustomerAndLocation(var PurchaseHeader: Record "Purchase Header"; Vendor: Record Vendor; var IsHandled: Boolean; var xPurchaseHeader: Record "Purchase Header")(integration)OnCollectParamsInBufferForCreateDimSetOnAfterSetTempPurchLineFilters(var TempPurchaseLine: Record "Purchase Line" temporary; PurchaseLine: Record "Purchase Line")(integration)- subscribers: Codeunit 99000789 “Mfg. Purchase Document Mgt.” OnCollectParamsInBufferForCreateDimSetOnAfterSetTempPurchLineFilters
CollectParamsInBufferForCreateDimSetOnBeforeInsertTempPurchaseLineInBuffer(var GeneralPostingSetup: Record "General Posting Setup"; var DefaultDimension: Record "Default Dimension")(integration)OnBeforeValidatePayToVendorNo(var PurchaseHeader: Record "Purchase Header"; var xPurchaseHeader: Record "Purchase Header"; var Confirmed: Boolean; var IsHandled: Boolean)(integration)OnBeforeValidatePricesIncludingVAT(var PurchaseHeader: Record "Purchase Header"; var PurchLine: Record "Purchase Line"; var IsHandled: Boolean; var xPurchaseHeader: Record "Purchase Header")(integration)OnBeforeValidateLocationCode(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean; xPurchaseHeader: Record "Purchase Header"; CurrFieldNo: Integer)+ BC28 − BC28 (integration)OnBeforeValidateShortcutDimCode(var PurchaseHeader: Record "Purchase Header"; var xPurchaseHeader: Record "Purchase Header"; FieldNumber: Integer; var ShortcutDimCode: Code[20]; var IsHandled: Boolean)+ BC26 − BC26 (integration)OnBeforeValidateShipmentMethodCode(var PurchaseHeader: Record "Purchase Header"; var IsHandled: boolean)(integration)OnBeforeValidateDocumentDateWithPostingDate(var PurchaseHeader: Record "Purchase Header"; CallingFieldNo: Integer; var IsHandled: Boolean; xPurchaseHeader: Record "Purchase Header")(integration)OnBuyFromCityOnBeforeOnLookup(var PurchaseHeader: Record "Purchase Header"; PostCode: record "Post Code"; var IsHandled: boolean)(integration)OnCreateDimOnBeforeUpdateLines(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; CurrentFieldNo: Integer; OldDimSetID: Integer; DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])(integration)OnInsertTempPurchLineInBufferOnBeforeTempPurchLineInsert(var TempPurchaseLine: Record "Purchase Line" temporary; PurchaseLine: Record "Purchase Line")(integration)- subscribers: Codeunit 99000789 “Mfg. Purchase Document Mgt.” OnInsertTempPurchLineInBufferOnBeforeTempPurchLineInsert
OnRecreatePurchLinesOnAfterValidateType(var PurchaseLine: Record "Purchase Line"; TempPurchaseLine: Record "Purchase Line" temporary)(integration)OnRecreatePurchLinesOnBeforeInsertPurchLine(var PurchaseLine: Record "Purchase Line"; var TempPurchaseLine: Record "Purchase Line" temporary; ChangedFieldName: Text[100])(integration)OnRecreatePurchLinesOnBeforeTempPurchLineInsert(var TempPurchaseLine: Record "Purchase Line" temporary; PurchaseLine: Record "Purchase Line")(integration)OnRecreatePurchLineOnAfterProcessAttachedToLineNo(var TempPurchaseLine: Record "Purchase Line" temporary; PurchaseLine: Record "Purchase Line")(integration)OnRecreatePurchLinesOnAfterProcessTempPurchLines(var TempPurchaseLine: Record "Purchase Line" temporary; var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; ChangedFieldName: Text[100])(integration)OnRecreatePurchLinesOnAfterCalcShouldCreatePurchLines(var TempPurchaseLine: Record "Purchase Line" temporary; var ShouldCreatePurchLines: Boolean; var PurchaseLine: Record "Purchase Line")+ BC27 (integration)OnPrintRecordsOnAfterCheckMixedDropShipment(var PurchaseHeader: Record "Purchase Header")(integration)OnSendRecordsOnAfterCheckMixedDropShipment(var PurchaseHeader: Record "Purchase Header")(integration)OnShipToPostCodeOnBeforeOnLookup(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean; PostCode: Record "Post Code")(integration)OnShowDocDimOnAfterSetDimensionSetID(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header")(integration)OnValidateBuyFromVendorNoOnAfterRecreateLines(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; CallingFieldNo: Integer)(integration)OnValidateBuyFromVendorNoBeforeRecreateLines(var PurchaseHeader: Record "Purchase Header"; CallingFieldNo: Integer; var Vendor: Record Vendor)(integration)OnValidateBuyFromVendorNoOnAfterUpdateBuyFromCont(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; CallingFieldNo: Integer; var SkipBuyFromContact: Boolean)(integration)OnValidateBuyFromVendorNoOnValidateBuyFromVendorNoOnBeforeValidatePayToVendor(var PurchaseHeader: Record "Purchase Header")(integration)OnValidateBuyFromVendorNoOnAfterValidatePayToVendor(var PurchaseHeader: Record "Purchase Header")(integration)OnBeforeOnRename(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeShowPostedDocsToPrintCreatedMsg(var ShowPostedDocsToPrint: Boolean; HideValidationDialog: Boolean; var PurchaseHeader: Record "Purchase Header")+ BC26 − BC26 (integration)OnAfterPrepareOpeningDocumentStatistics(var PurchaseHeader: Record "Purchase Header")(integration)OnBeforeTestStatusOpen(var PurchHeader: Record "Purchase Header"; xPurchHeader: Record "Purchase Header"; CallingFieldNo: Integer)Δ BC24 (integration)OnAfterTestStatusOpen()Δ BC24 (integration)OnAfterUpdatePurchLines(var PurchaseHeader: Record "Purchase Header")(integration)OnInitFromPurchHeader(var PurchaseHeader: Record "Purchase Header"; SourcePurchaseHeader: Record "Purchase Header")(integration)OnInitFromContactOnBeforeInitRecord(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header")(integration)OnInitFromVendorOnBeforeInitRecord(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header")(integration)OnInitInsertOnBeforeInitRecord(var PurchaseHeader: Record "Purchase Header"; var xPurchaseHeader: Record "Purchase Header")(integration)OnInitRecordOnAfterAssignDates(var PurchaseHeader: Record "Purchase Header")(integration)OnRecreatePurchLinesOnBeforeConfirm(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; ChangedFieldName: Text[100]; HideValidationDialog: Boolean; var Confirmed: Boolean; var IsHandled: Boolean)(integration)OnPrintRecordsOnBeforeTrySendToPrinterVendor(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean; ShowRequestForm: Boolean)(integration)OnSendProfileOnBeforeSendVendor(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnQtyToReceiveIsZeroOnAfterSetFilters(var PurchaseLine: Record "Purchase Line")(integration)OnTestStatusIsNotPendingApproval(PurchaseHeader: Record "Purchase Header"; var NotPending: Boolean)(integration)OnTestStatusIsNotPendingPrepayment(PurchaseHeader: Record "Purchase Header"; var NotPending: Boolean)(integration)OnTestStatusIsNotReleased(PurchaseHeader: Record "Purchase Header"; var NotReleased: Boolean)(integration)OnTransferSavedFieldsSpecialOrderOnBeforeSalesLineModify(var DestinationPurchaseLine: Record "Purchase Line"; var SourcePurchaseLine: Record "Purchase Line"; var SalesLine: Record "Sales Line")(integration)OnUpdateAllLineDimOnBeforePurchLineModify(var PurchaseLine: Record "Purchase Line"; xPurchaseLine: Record "Purchase Line")+ BC25 − BC25 (integration)OnUpdateCurrencyFactorOnAfterCurrencyDateSet(var PurchaseHeader: Record "Purchase Header"; var CurrencyDate: Date; CurrentFieldNo: Integer)(integration)OnUpdatePurchLinesByFieldNoOnBeforeLineModify(var PurchaseHeader: Record "Purchase Header"; var xPurchaseHeader: Record "Purchase Header"; PurchaseLine: Record "Purchase Line")(integration)OnUpdatePurchLinesByFieldNoOnBeforeValidateFields(var PurchaseLine: Record "Purchase Line"; xPurchaseLine: Record "Purchase Line"; var ChangedFieldNo: Integer; var PurchaseHeader: record "Purchase Header"; var IsHandled: boolean)(integration)OnValidateOrderAddressCodeOnAfterCopyBuyFromVendorAddressFieldsFromVendor(var PurchaseHeader: Record "Purchase Header"; Vend: Record Vendor)(integration)OnValidateOrderAddressCodeOnBeforeCopyBuyFromVendorAddressFieldsFromVendor(var PurchaseHeader: Record "Purchase Header"; Vend: Record Vendor; var IsHandled: Boolean)(integration)OnValidateOrderAddressCodeOnBeforeUpdateLocationCode(var PurchaseHeader: Record "Purchase Header"; var xPurchaseHeader: Record "Purchase Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnValidatePaymentTermsCodeOnBeforeCalcDueDate(var PurchaseHeader: Record "Purchase Header"; var xPurchaseHeader: Record "Purchase Header"; CalledByFieldNo: Integer; CallingFieldNo: Integer; var IsHandled: Boolean)(integration)OnValidatePaymentTermsCodeOnBeforeCalcPmtDiscDate(var PurchaseHeader: Record "Purchase Header"; var xPurchaseHeader: Record "Purchase Header"; CalledByFieldNo: Integer; CallingFieldNo: Integer; var IsHandled: Boolean; var UpdateDocumentDate: Boolean)(integration)OnValidatePaymentTermsCodeOnBeforeValidatePmtDiscountWhenBlank(var PurchaseHeader: Record "Purchase Header")(integration)OnValidatePaymentTermsCodeOnBeforeValidateDueDate(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnValidatePaymentTermsCodeOnBeforeValidateDueDateWhenBlank(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnValidatePayToVendorNoOnBeforeGetPayToVend(var PurchaseHeader: Record "Purchase Header")(integration)OnValidatePayToVendorNoOnBeforeRecallModifyAddressNotification(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; Vendor: Record Vendor)(integration)OnValidatePaytoVendorNoBeforeRecreateLines(var PurchaseHeader: Record "Purchase Header"; CallingFieldNo: Integer)(integration)OnValidatePayToVendorNoOnBeforeRecreatePurchLines(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)+ BC28 (integration)OnValidatePricesIncludingVATOnBeforePurchLineModify(var PurchaseHeader: Record "Purchase Header"; var PurchLine: Record "Purchase Line"; Currency: Record Currency; RecalculatePrice: Boolean)(integration)OnValidateVATBaseAmountPercOnBeforeUpdatePurchAmountLines(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnLookupPostCode(CalledFromFieldNo: Integer; xRecPurchaseHeader: Record "Purchase Header"; var PurchaseHeader: Record "Purchase Header")(integration)OnLookupBuyfromVendorNameOnAfterSuccessfulLookup(var PurchaseHeader: Record "Purchase Header")(integration)OnRecreatePurchLinesOnAfterPurchLineSetFilters(var PurchaseLine: Record "Purchase Line")(integration)OnRecreatePurchLinesOnDropShipmentSpecialOrder(var PurchaseLine: Record "Purchase Line"; var IsHandled: Boolean)(integration)OnBeforeCopyDocument(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnRecreatePurchLinesOnBeforeTempPurchLineFindSet(var TempPurchLine: Record "Purchase Line" temporary)(integration)OnUpdateAllLineDimOnBeforeGetPurchLineNewDimsetID(var PurchLine: Record "Purchase Line"; NewParentDimSetID: Integer; OldParentDimSetID: Integer)(integration)OnUpdateAllLineDimOnAfterGetPurchLineNewDimsetID(PurchHeader: Record "Purchase Header"; xPurchHeader: Record "Purchase Header"; PurchaseLine: Record "Purchase Line"; var NewDimSetID: Integer; NewParentDimSetID: Integer; OldParentDimSetID: Integer)(integration)OnUpdateBuyFromVendOnAfterGetContact(var PurchaseHeader: Record "Purchase Header"; var Cont: Record Contact; var ShouldUpdateFromContact: Boolean)(integration)OnUpdatePayToVendOnAfterGetContact(var PurchaseHeader: Record "Purchase Header"; var Cont: Record Contact; var ShouldUpdateFromContact: Boolean)(integration)OnUpdatePayToVendOnBeforeFindByContact(var PurchaseHeader: Record "Purchase Header"; Vendor: Record Vendor; Contact: Record Contact)(integration)OnBeforeValidatePromisedReceiptDate(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean; CUrrentFieldNo: Integer)(integration)OnBeforeValidateReceivingNoSeries(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeValidateReturnShipmentNoSeries(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeValidateRequestedReceiptDate(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeCheckBlockedVendOnDocs(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var Vend: Record Vendor; CurrFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeTestPurchLineFieldsBeforeRecreate(var PurchaseHeader: Record "Purchase Header"; var PurchLine: Record "Purchase Line"; var IsHandled: Boolean)(integration)OnRecreateTempPurchLinesOnAfterTempPurchLineInsert(var PurchaseHeader: Record "Purchase Header"; var PurchaseLine: Record "Purchase Line"; var TempPurchaseLine: Record "Purchase Line" temporary)(integration)OnBeforeDeletePurchCommentLines(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeStorePurchCommentLineToTemp(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeTransferItemChargeAssgntPurchToTemp(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeDeletePurchLines(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var PurchLine: Record "Purchase Line"; var IsHandled: Boolean)(integration)OnRecreatePurchLinesOnBeforeTransferSavedFields(var Rec: Record "Purchase Header"; var TempPurchLine: Record "Purchase Line" temporary; var IsHandled: Boolean; var PurchaseLine: record "Purchase Line")(integration)OnAfterCopyBuyFromAddressToPayToAddress(var Rec: Record "Purchase Header")(integration)OnValidatePrepmtPaymentTermsCodeOnCaseElseOnBeforeValidatePrepaymentDueDate(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; CurrFieldNo: Integer; var IsHandled: Boolean)(integration)OnValidatePrepmtPaymentTermsCodeOnCaseIfOnBeforeValidatePrepaymentDueDate(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; CurrFieldNo: Integer; var IsHandled: Boolean)(integration)OnValidateGenBusPostingGroupOnAfterSetVATBusPostingGroup(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; GenBusPostingGrp: Record "Gen. Business Posting Group")(integration)OnBeforeSetAmountToApply(var PurchaseHeader: Record "Purchase Header"; var VendLedgEntry: Record "Vendor Ledger Entry")(integration)OnAfterInitPostingNoSeries(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header")(integration)OnBeforeValidatePayToCity(var PurchaseHeader: Record "Purchase Header"; var PostCode: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeValidatePayToPostCode(var PurchaseHeader: Record "Purchase Header"; var PostCode: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeValidateShipToCity(var PurchaseHeader: Record "Purchase Header"; var PostCode: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeValidateShipToPostCode(var PurchaseHeader: Record "Purchase Header"; var PostCode: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeValidateBuyFromCity(var PurchaseHeader: Record "Purchase Header"; var PostCode: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeValidateBuyFromPostCode(var PurchaseHeader: Record "Purchase Header"; var PostCode: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnValidateShipToCodeOnAfterCopyFromShipToAddr(var PurchaseHeader: Record "Purchase Header"; ShipToAddress: Record "Ship-to Address")(integration)OnValidateShipToCodeOnAfterCopyFromSellToCust(var PurchaseHeader: Record "Purchase Header"; Customer: Record Customer)(integration)OnUpdateShipToAddressOnAfterCopyFromLocation(var PurchaseHeader: Record "Purchase Header"; Location: Record Location)(integration)OnUpdateShipToAddressOnAfterCopyFromCompany(var PurchaseHeader: Record "Purchase Header"; CompanyInformation: Record "Company Information")(integration)OnBeforeValidateShipToCode(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var ShipToAddr: Record "Ship-to Address"; var IsHandled: Boolean)(integration)OnBeforeLookupBuyFromContactNo(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeLookupPayToContactNo(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnAfterRecreatePurchLines(var PurchaseHeader: Record "Purchase Header"; ChangedFieldName: Text[100])(integration)OnBeforeValidateOrderDate(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean; CurrFieldNo: Integer)+ BC25 − BC25 (integration)OnBeforeValidateExpectedReceiptDate(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean; CallingFieldNo: Integer)(integration)OnBeforeValidateSendICDocument(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnSendRecordsOnBeforeSendVendorRecords(ReportUsage: Enum "Report Selection Usage"; var PurchaseHeader: Record "Purchase Header"; DocTxt: Text[150]; var IsHandled: Boolean)(integration)OnBeforeValidatePaymentDiscountPercent(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeValidatePrepmtPaymentDiscountPercent(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeGetUserSetupPurchaserCode(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)Δ BC24 (integration)OnCheckBuyFromContactOnAfterFindByContact(var PurchHeader: Record "Purchase Header"; var ContBusinessRelation: Record "Contact Business Relation"; var Contact: Record Contact)(integration)OnBeforeCheckVendorPostingGroupChange(var PurchaseHeader: Record "Purchase Header"; var xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeOnInsert(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforePurchLinesExist(var Rec: Record "Purchase Header"; var Result: Boolean; var IsHandled: Boolean)(integration)OnValidatePostingDateOnBeforeCheckNeedUpdateCurrencyFactor(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var IsConfirmed: Boolean; var NeedUpdateCurrencyFactor: Boolean)(integration)OnValidatePostingDateOnAfterCheckNeedUpdateCurrencyFactor(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var SkipJobCurrFactorUpdate: Boolean)(integration)OnBeforeValidateBuyFromVendorName(var PurchaseHeader: Record "Purchase Header"; var Vendor: Record Vendor; var IsHandled: Boolean)(integration)OnBeforePriceMessageIfPurchLinesExist(var PurchaseHeader: Record "Purchase Header"; ChangedFieldName: Text[100]; var IsHandled: Boolean)(integration)OnShowDocDimOnBeforePurchHeaderModify(var PurchaseHeader: Record "Purchase Header")(integration)OnCreateDimSetForPrepmtAccDefaultDimOnBeforeTempPurchaseLineCreateDim(var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; PurchaseLine: Record "Purchase Line")(integration)OnRecreatePurchLinesOnBeforePurchLinesExists(var PurchHeader: Record "Purchase Header"; xPurchHeader: Record "Purchase Header"; ChangedFieldName: Text[100]; var IsHandled: Boolean)(integration)OnAfterInitPurchaseLineDefaultDimSource(var PurchaseHeader: Record "Purchase Header"; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; SourcePurchaseLine: Record "Purchase Line")+ BC26 (integration)- subscribers: Codeunit 99000789 “Mfg. Purchase Document Mgt.” OnAfterInitPurchaseLineDefaultDimSource
OnBeforeInitPurchaseLineDefaultDimSource(var PurchaseHeader: Record "Purchase Header"; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; SourcePurchaseLine: Record "Purchase Line"; var IsHandled: Boolean)(integration)OnBeforeValidateSellToCustomerNo(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeConfirmCloseUnposted(var PurchaseHeader: Record "Purchase Header"; var Result: Boolean; var IsHandled: Boolean)(integration)OnBeforeValidateCurrencyCode(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeCheckDropShipmentLineExists(var SalesShipmentLine: Record "Sales Shipment Line"; var IsHandled: Boolean)(integration)OnAfterBuyFromAddressEqualsPayToAddress(PurchaseHeader: Record "Purchase Header"; var Result: Boolean)(integration)OnAfterIsShipToAddressEqualToCompanyShipToAddress(PurchaseHeader: Record "Purchase Header"; CompanyInformation: Record "Company Information"; var Result: Boolean)(integration)OnAfterBuyFromAddressEqualsShipToAddress(PurchaseHeader: Record "Purchase Header"; var Result: Boolean)(integration)OnValidatePayToVendorNoOnAfterConfirmed(var PurchaseHeader: Record "Purchase Header")+ BC24 (integration)OnBeforeHasMixedDropShipment(var PurchaseHeader: Record "Purchase Header"; var Result: Boolean; var IsHandled: Boolean)(integration)OnValidateBuyFromVendorNoOnBeforeAssignResponsibilityCenter(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; CallingFieldNo: Integer; var IsHandled: Boolean)+ BC24 (integration)OnInitRecordOnBeforeAssignResponsibilityCenter(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)+ BC24 (integration)OnUpdateAllLineDimOnBeforeConfirmUpdateAllLineDim(var PurchaseHeader: Record "Purchase Header"; var DefaultAnswer: Boolean)+ BC24 (integration)OnSetAmountToApplyAfterOnCalcRemainingAmount(var VendorLedgerEntry: Record "Vendor Ledger Entry")+ BC25 (integration)OnBeforePerformManualRelease(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)+ BC25 (integration)OnValidateVATBaseDiscountOnBeforeConfirm(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean; var Confirmed: Boolean)+ BC25 (integration)OnConfirmCurrencyFactorUpdateOnBeforeConfirm(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean; var Confirmed: Boolean)+ BC25 (integration)OnIsApprovedForPostingOnBeforeError(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean; var Approved: Boolean)+ BC25 (integration)OnAfterPayToAddressEqualsOldBuyFromAddress(PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; var Result: Boolean)+ BC25 (integration)OnCopyAddressInfoFromOrderAddressOnBeforeCopyBuyFromVendorAddressFieldsFromOrderAddress(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; OrderAddress: Record "Order Address"; var IsHandled: Boolean)+ BC25 (integration)OnAfterInitFromVendor(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; VendorNo: Code[20]; VendorCaption: Text)+ BC25 (integration)OnCreateDimOnAfterConfirmKeepExisting(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header"; CurrentFieldNo: Integer; OldDimSetID: Integer; DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])+ BC25 (integration)OnBeforeLookupPrepmtCrMemoNoSeries(var PurchaseHeader: Record "Purchase Header"; var xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)+ BC25 (integration)OnBeforeValidatePrepmtCrMemoNoSeries(var PurchaseHeader: Record "Purchase Header"; var xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)+ BC25 (integration)OnBeforeGetPstdDocLinesToReverse(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)+ BC25 (integration)OnAfterGetPstdDocLinesToReverse(var PurchaseHeader: Record "Purchase Header")+ BC25 (integration)OnAfterValidateEmptySellToCustomerAndLocation(var PurchaseHeader: Record "Purchase Header"; var Vendor: Record Vendor)+ BC25 (integration)OnBeforeValidateVendorInvoiceNo(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)+ BC26 (integration)OnBeforeValidateVendorCrMemoNo(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)+ BC26 (integration)OnBeforeCheckIsTotalValid(IncomingDocument: Record "Incoming Document"; PurchaseHeader: Record "Purchase Header"; var Result: Boolean; var IsHandled: Boolean)+ BC26 (integration)OnBeforeUpdatePurchaseOrderLineIfExist(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)+ BC26 (integration)OnBeforeLookupPrepmtNoSeries(var PurchaseHeader: Record "Purchase Header"; var xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)+ BC26 (integration)OnBeforeValidatePrepmtNoSeries(var PurchaseHeader: Record "Purchase Header"; var xPurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)+ BC26 (integration)OnBeforeGetVend(PurchaseHeader: Record "Purchase Header"; var Vendor: Record Vendor; VendorNo: Code[20]; var GetVendor: Boolean)+ BC27 (integration)OnInitFromVendorOnBeforeInit(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header")+ BC27 (integration)OnInitFromContactOnBeforeInit(var PurchaseHeader: Record "Purchase Header"; xPurchaseHeader: Record "Purchase Header")+ BC27 (integration)OnLookupBuyFromContactOnAfterValidateBuyFromContactNo(var PurchaseHeader: Record "Purchase Header"; Contact: Record Contact)+ BC27 (integration)
Trigger event subscribers
- OnAfterDeleteEvent: Codeunit 1173 “Document Attachment Mgmt” DeleteAttachedDocumentsOnAfterDeletePurchaseHeader, Codeunit 1637 “Office Document Handler” UnlinkOfficeDocumentOnAfterDeletePurchaseHeader, Codeunit 5497 “Graph Mgt - Purch Order Buffer” OnAfterDeletePurchaseHeader, Codeunit 5511 “Graph Mgt - Purch. Cr. Memo” OnAfterDeletePurchaseHeader, Codeunit 5529 “Purch. Inv. Aggregator” OnAfterDeletePurchaseHeader, Codeunit 8028 “Usage Based Contr. Subscribers” RemoveDocumentNoFromUsageDataBillingOnAfterDeleteEventPurchaseHeader
- OnAfterInsertEvent: Codeunit 1173 “Document Attachment Mgmt” DocAttachFlowForPurchaseHeaderInsert, Codeunit 1508 “Notification Lifecycle Handler” OnAfterPurchaseHeaderInsertSetRecId, Codeunit 1637 “Office Document Handler” GenerateLinesOnAfterInsertPurchaseHeader, Codeunit 1854 “Sales Forecast Notifier” OnAfterTableInsert, Codeunit 5497 “Graph Mgt - Purch Order Buffer” OnAfterInsertPurchaseHeader, Codeunit 5511 “Graph Mgt - Purch. Cr. Memo” OnAfterInsertPurchaseHeader, Codeunit 5529 “Purch. Inv. Aggregator” OnAfterInsertPurchaseHeader
- OnAfterModifyEvent: Codeunit 5497 “Graph Mgt - Purch Order Buffer” OnAfterModifyPurchaseHeader, Codeunit 5511 “Graph Mgt - Purch. Cr. Memo” OnAfterModifyPurchaseHeader, Codeunit 5529 “Purch. Inv. Aggregator” OnAfterModifyPurchaseHeader
- OnAfterRenameEvent: Codeunit 1550 “Record Restriction Mgt.” UpdatePurchaseHeaderRestrictionsAfterRename
- OnAfterValidateEvent(Buy-from Vendor No.): Codeunit 1173 “Document Attachment Mgmt” DocAttachFlowForPurchaseHeaderVendorChange, Codeunit 20533 “Subc. Purchase Header Ext” OnAfterValidateEventBuyFromVendorNo
- OnBeforeDeleteEvent: Codeunit 1550 “Record Restriction Mgt.” RemovePurchaseHeaderRestrictionsBeforeDelete, Codeunit 20533 “Subc. Purchase Header Ext” CheckTransferOrderOnBeforeDeleteEvent, Codeunit 8066 “Purchase Documents” PurchaseHeaderOnBeforeDeleteEvent, Codeunit 9003 “Team Member Action Manager” OnBeforePurchaseHeaderDelete
- OnBeforeInsertEvent: Codeunit 4812 “Intrastat Report Doc. Compl.” DefaultPurchaseDocuments, Codeunit 9003 “Team Member Action Manager” OnBeforePurchaseHeaderInsert
- OnBeforeModifyEvent: Codeunit 8074 “Document Change Management” PreventChangePurchaseHeader
- OnBeforeValidateEvent(Buy-from Address 2): Codeunit 8074 “Document Change Management” PreventChangePurchHdrSelltoAddress2
- OnBeforeValidateEvent(Buy-from Address): Codeunit 8074 “Document Change Management” PreventChangePurchHdrSelltoAddress
- OnBeforeValidateEvent(Buy-from City): Codeunit 8074 “Document Change Management” PreventChangePurchHdrSelltoCity
- OnBeforeValidateEvent(Buy-from Contact No.): Codeunit 8074 “Document Change Management” PreventChangePurchHdrSelltoContactNo
- OnBeforeValidateEvent(Buy-from Contact): Codeunit 8074 “Document Change Management” PreventChangePurchHdrSelltoContact
- OnBeforeValidateEvent(Buy-from Country/Region Code): Codeunit 8074 “Document Change Management” PreventChangePurchHdrSelltoCountryRegionCode
- OnBeforeValidateEvent(Buy-from County): Codeunit 8074 “Document Change Management” PreventChangePurchHdrSelltoCounty
- OnBeforeValidateEvent(Buy-from Post Code): Codeunit 8074 “Document Change Management” PreventChangePurchHdrSelltoPostCode
- OnBeforeValidateEvent(Buy-from Vendor Name 2): Codeunit 8074 “Document Change Management” PreventChangePurchHdrSelltoVendorName2
- OnBeforeValidateEvent(Buy-from Vendor Name): Codeunit 8074 “Document Change Management” PreventChangePurchHdrSelltoVendorName
- OnBeforeValidateEvent(Buy-from Vendor No.): Codeunit 8074 “Document Change Management” PreventChangePurchHdrBuyFromVendorNo
- OnBeforeValidateEvent(Currency Code): Codeunit 8074 “Document Change Management” PreventChangePurchHdrCurrencyCode
- OnBeforeValidateEvent(Dimension Set ID): Codeunit 8074 “Document Change Management” PreventChangePurchHdrDimensionSetD
- OnBeforeValidateEvent(Pay-to Address 2): Codeunit 8074 “Document Change Management” PreventChangePurchHdrBilltoAddress2
- OnBeforeValidateEvent(Pay-to Address): Codeunit 8074 “Document Change Management” PreventChangePurchHdrBilltoAddress
- OnBeforeValidateEvent(Pay-to City): Codeunit 8074 “Document Change Management” PreventChangePurchHdrBilltoCity
- OnBeforeValidateEvent(Pay-to Contact No.): Codeunit 8074 “Document Change Management” PreventChangePurchHdrBilltoContactNo
- OnBeforeValidateEvent(Pay-to Contact): Codeunit 8074 “Document Change Management” PreventChangePurchHdrBilltoContact
- OnBeforeValidateEvent(Pay-to Country/Region Code): Codeunit 8074 “Document Change Management” PreventChangePurchHdrBilltoCountryRegionCode
- OnBeforeValidateEvent(Pay-to County): Codeunit 8074 “Document Change Management” PreventChangePurchHdrBilltoCounty
- OnBeforeValidateEvent(Pay-to Name 2): Codeunit 8074 “Document Change Management” PreventChangePurchHdrBilltoName2
- OnBeforeValidateEvent(Pay-to Name): Codeunit 8074 “Document Change Management” PreventChangePurchHdrBilltoName
- OnBeforeValidateEvent(Pay-to Post Code): Codeunit 8074 “Document Change Management” PreventChangePurchHdrBilltoPostCode
- OnBeforeValidateEvent(Pay-to Vendor No.): Codeunit 8074 “Document Change Management” PreventChangePurchHdrBilltoVendorNo
- OnBeforeValidateEvent(Prices Including VAT): Codeunit 8074 “Document Change Management” PreventChangePurchHdrPricesIncludingVAT
- OnBeforeValidateEvent(Shortcut Dimension 1 Code): Codeunit 8074 “Document Change Management” PreventChangePurchHdrShortcutDimension1Code
- OnBeforeValidateEvent(Shortcut Dimension 2 Code): Codeunit 8074 “Document Change Management” PreventChangePurchHdrShortcutDimension2Code
- OnBeforeValidateEvent(Transaction Type): Codeunit 8074 “Document Change Management” PreventChangePurchHdrTransactionType
- OnBeforeValidateEvent(Transport Method): Codeunit 8074 “Document Change Management” PreventChangePurchHdrTransportMethod
- OnBeforeValidateEvent(VAT Bus. Posting Group): Codeunit 8074 “Document Change Management” PreventChangePurchHdrVATBusPostingGroup
Procedures
InitInsert(): Initializes a new purchase header with a new document number from the number series.InitRecord(): Initializes a new purchase header with default values.InitPostingDescription()Δ BC24: Initializes the posting description with formatted document type and number text for the purchase header.SetStandardCodesMgt(var StandardCodesMgtNew: Codeunit "Standard Codes Mgt."): Sets global StandardCodesMgtGlobal codeunit to a new instance.AssistEdit(OldPurchHeader: Record "Purchase Header"): Boolean: Opens a page to select related number series for the purchase header and updates the document number with the selected number series.TestNoSeries(): Checks if the number series for different types of purchase documents are filled in the purchase setup.GetNoSeriesCode(): Code[20]: Returns the number series code from the purchase setup based on the document type of the purchase header.TestNoSeriesDate(No: Code[20]; NoSeriesCode: Code[20]; NoCapt: Text[1024]; NoSeriesCapt: Text[1024]): Checks if the number series has to be assigned chronologically after various documents are already posted.ConfirmDeletion(): Boolean: Opens a confirmation dialog to confirm the deletion of the purchase header. This check is to confirm with the user that gaps will happen in the posted documents if the document is deleted.GetVend(VendNo: Code[20]): Updates the global Vend record if it doesn’t already match the provided vendor no.GetStatusStyleText(): Text: Returns document status field style expression based on the status of the purchase header.PurchLinesExist(): Boolean: Checks if the purchase lines exists for purchase header.LookupBuyFromContact()Δ BC26PerformManualRelease(var PurchaseHeader: Record "Purchase Header")Δ BC24 Δ BC24PerformManualRelease()Δ BC24 Δ BC24PerformManualReopen(var PurchaseHeader: Record "Purchase Header")Δ BC24RecreatePurchLines(ChangedFieldName: Text[100]): Recreates purchase lines for a purchase document when the provided field in the purchase header is changed.StorePurchCommentLineToTemp(var TempPurchCommentLine: Record "Purch. Comment Line" temporary): Inserts existing purchase comment lines into a temporary record.RestorePurchCommentLine(var TempPurchCommentLine: Record "Purch. Comment Line" temporary; OldDocumentLineNo: Integer; NewDocumentLineNo: Integer): Inserts purchase comment lines for the purchase line of the document from the provided temporary purchase comment line record set.TransferSavedFieldsDropShipment(var DestinationPurchaseLine: Record "Purchase Line"; var SourcePurchaseLine: Record "Purchase Line"): Updates certain fields from a source purchase line to a destination purchase line for a drop shipment scenario. It also updates the corresponding sales order line.MessageIfPurchLinesExist(ChangedFieldName: Text[100]): Displays a message if purchase lines exist for the purchase header and the changed field was not updated on the lines.PriceMessageIfPurchLinesExist(ChangedFieldName: Text[100]): Displays a message to the user if there are existing purchase lines and a provided field in the purchase header has been changed, which might affect the prices and discounts on the purchase lines.UpdateCurrencyFactor()+ BC24: Updates currency factor on the purchase header and recreates purchase lines if the currency code has changed.ConfirmCurrencyFactorUpdate(): Boolean: Updates currency factor on the purchase header if confirmed by the user.GetHideValidationDialog(): Boolean: Returns the value of the global flag HideValidationDialog.SetHideValidationDialog(NewHideValidationDialog: Boolean): Sets the value of the global flag HideValidationDialog.UpdateLocationCode(LocationCode: Code[10]): Updates the location code with the specified location code. If it’s empty, it takes location code from user setup management. Otherwise, validates the location code with the provided value.UpdatePurchLines(ChangedFieldName: Text[100]; AskQuestion: Boolean): Updates purchase lines if the provided field in the purchase header is changed and the confirmation is accepted.UpdatePurchLinesByFieldNo(ChangedFieldNo: Integer; AskQuestion: Boolean): Updates purchase lines if the provided field in the purchase header is changed.ConfirmReservationDateConflict(): Checks if reservation entry exists for the purchase header and opens a confirmation dialog if the user wants to continue. These reservations will be canceled if a date conflict is caused by the changed field. This is an overload that sets ChangedFieldNo to 0.ConfirmReservationDateConflict(ChangedFieldNo: Integer): Checks if reservation entry exists for the purchase header and opens a confirmation dialog if the user wants to continue. These reservations will be canceled if a date conflict is caused by the changed field.CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]): Creates dimensions for the purchase header based on the provided default dimension sources.CouldDimensionsBeKept(): Boolean: Determines if the dimensions of a purchase header could be kept the same when certain fields are changed.ValidateShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20]): Verifies whether the provided shortcut dimension code and value are valid.ReceivedPurchLinesExist(): Boolean: Determines if purchase lines that are already received exist.ReturnShipmentExist(): Boolean: Determines if purchase lines that are already returned exist.UpdateShipToAddress(): Updates the shipping address details of a purchase header based on the location or the company information.UpdateBuyFromCont(VendorNo: Code[20]): Updates the buy-from contact details of a purchase header based on the provided vendor number.TestPostingDate(BatchPost: Boolean)+ BC27CreateInvtPutAwayPick(): Creates inventory put-away, pick, or movement documents for a released purchase document.ShowDocDim(): Opens a page for editing dimensions for the purchase header. If dimensions are changed, they’re updated on the purchase lines as well.UpdateAllLineDim(NewParentDimSetID: Integer; OldParentDimSetID: Integer): Updates the dimensions of purchase lines in a purchase document when the dimensions of the purchase header are changed.SetAmountToApply(AppliesToDocNo: Code[20]; VendorNo: Code[20]): Updates amount to apply value of the vendor ledger entry based on the applies-to document number and the vendor number.SetShipToForSpecOrder(): Updates the ship-to information of a purchase header based on the associated location. If location code is not specified in the purchase header, the information is updated from company information.GetPstdDocLinesToReverse(): Opens a page with posted document lines that can be reversed. After the user selects the lines, they’re copied to the current document.SetSecurityFilterOnRespCenter(): Filters the purchase header for responsibility center set in the user setup or company information. The filter is set in filter group 2 and is hidden from the user.CalcInvDiscForHeader(): Calculates invoice discount for a purchase header if calculate invoice discount is enabled in the purchase setup.AddShipToAddress(SalesHeader: Record "Sales Header"; ShowError: Boolean): Updates ship-to information of a purchase header based on the provided sales header. If purchase lines exist, it compares the shipping information between the purchase and sales header and throws an error in case of a mismatch.DropShptOrderExists(SalesHeader: Record "Sales Header"): Boolean: Determines if the drop shipment order exists.SpecialOrderExists(SalesHeader: Record "Sales Header"): Boolean: Determines if the special order exist.QtyToReceiveIsZero(): Boolean: Determines if there’s anything left to receive for the document.IsApprovedForPosting(): Boolean: Determines if a purchase document is approved for posting. For orders, it additionally checks if the payment and prepayment conditions are met.IsApprovedForPostingBatch(): Boolean: Determines if a purchase document is approved for posting. It checks if the prepayment and payment conditions are met.IsTotalValid(): Boolean: Determines if the total amount including VAT of an incoming document matches the total amount including VAT of the purchase document.SendToPosting(PostingCodeunitID: Integer): Boolean: Posts a purchase document by running the provided codeunit if the document is approved for posting.CancelBackgroundPosting(): Cancels a background posting job for a purchase document.GetDocTypeTxt(): Text[50]+ BC26: Retrieves the full document type name based on the purchase header document type.AddSpecialOrderToAddress(var SalesHeader: Record "Sales Header"; ShowError: Boolean): Adds the shipping information from a special order. If lines exist, it compares the current shipping information with the information on the special order and throws an error if there’s a mismatch.InvoicedLineExists(): Boolean: Returns true or false whether any line has “Quantity Invoiced” not 0.CreateDimSetForPrepmtAccDefaultDim(): Creates a dimension set for the purchase lines that have a prepayment amount.TransferItemChargeAssgntPurchToTemp(var ItemChargeAssgntPurch: Record "Item Charge Assignment (Purch)"; var TempItemChargeAssgntPurch: Record "Item Charge Assignment (Purch)" temporary): Transfers item charge assignments to the temporary record set and deletes them from the original record.PrepareOpeningDocumentStatistics(): Prepares the opening document statistics for a purchase document. It checks the user’s permissions, calculates the invoice discount, creates a dimension set for order documents, and commits any changes made.CheckPurchasePostRestrictions(): Triggers the OnCheckPurchasePostRestrictions event to check any additional restrictions before releasing a purchase document.CheckPurchaseReleaseRestrictions(): Checks any restrictions before releasing a purchase document.SetStatus(NewStatus: Option): Sets the status of a purchase document.TriggerOnAfterPostPurchaseDoc(var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; PurchRcpHdrNo: Code[20]; RetShptHdrNo: Code[20]; PurchInvHdrNo: Code[20]; PurchCrMemoHdrNo: Code[20]): Triggers an event after a purchase document is posted.DeferralHeadersExist(): Boolean: Determines if deferral header exists for a purchase document.GetUpdatedFieldCaption(UpdatingFieldNo: Integer): Text: Returns field caption for the provided field number.IsCreditDocType(): Boolean: Determines if the document type is a credit document.SetBuyFromVendorFromFilter(): Updates the buy-from vendor no. of a purchase header based on a single-value filter applied to the buy-from vendor no. field.CopyBuyFromVendorFilter(): Moves the filter on buy-from vendor no. from the current filter group to filter group 2.HasBuyFromAddress(): Boolean: Determines if purchase header has buy-from information.HasShipToAddress(): Boolean: Determines if purchase header has ship-to information.HasPayToAddress(): Boolean: Determines if purchase header has pay-to information.HasItemChargeAssignment(): Boolean: Determines if the purchase header has any item charge assignments.SetShipToAddress(ShipToName: Text[100]; ShipToName2: Text[50]; ShipToAddress: Text[100]; ShipToAddress2: Text[50]; ShipToCity: Text[30]; ShipToPostCode: Code[20]; ShipToCounty: Text[30]; ShipToCountryRegionCode: Code[10]): Sets the ship-to information for a purchase document from the provided parameters.ShouldSearchForVendorByName(VendorNo: Code[20]): Boolean: Determines whether a search for a vendor should be performed by name for the provided vendor no.CopyBuyFromAddressToPayToAddress(): Copies the buy-from information to pay-to information for a purchase document if the pay-to vendor no. is the same as the buy-from vendor no.ConfirmCloseUnposted(): Boolean: Raises a dialog to confirm closing a page if unposted lines exist.InitFromPurchHeader(SourcePurchHeader: Record "Purchase Header"): Initializes a purchase header from the provided purchase header.BuyfromContactLookup(): Boolean: Opens a contact lookup page and validates the buy-from contact no. field with the selected contact.SendRecords(): Sends selected purchase document reports to the vendors. Before this procedure is called, purchase documents are selected on the page and then selection filter is used to filter the selected documents.PrintRecords(ShowRequestForm: Boolean): Prints selected purchase document reports. Before this procedure is called, purchase documents are selected on the page and then selection filter is used to filter the selected documents.SendProfile(var DocumentSendingProfile: Record "Document Sending Profile"): Sends a purchase order document report with a specified document sending profile.GetUserSetupPurchaserCode(): Code[20]: Retrieves the salesperson/purchaser code of the current user from the user setup.InitPostingNoSeries()Δ BC26OnAfterValidateBuyFromVendorNo(var PurchaseHeader: Record "Purchase Header"; var xPurchaseHeader: Record "Purchase Header"): Removes the filter from buy-from vendor no. if the number has changed Updates remittance address for the record if the default remit address for the vendor exists.SelectDefaultRemitAddress(var PurchaseHeader: Record "Purchase Header"): Sets the default remittance address on the provided purchase header.BatchConfirmUpdateDeferralDate(var BatchConfirm: Option " ",Skip,Update; ReplacePostingDate: Boolean; PostingDateReq: Date; ReplaceVATDate: Boolean; VATDateReq: Date)− BC25: Raises a confirmation to update the deferral schedules on the lines to reflect the changed dates. If user confirms the update, the purchase lines are updated.BatchConfirmUpdatePostingDate(ReplacePostingDate: Boolean; PostingDateReq: Date; ReplaceDocDate: Boolean)+ BC24SetAllowSelectNoSeries(): Sets the global flag SelectNoSeriesAllowed to true.RecallModifyAddressNotification(NotificationID: Guid): Recalls a sent notification for the provided notification GUID.GetModifyVendorAddressNotificationId(): Guid: Returns a GUID for a notification that warns the user if the buy-from address on purchase documents is different from the vendor’s existing address.GetModifyPayToVendorAddressNotificationId(): Guid: Returns a GUID for a notification that warns if the pay-to address on purchase documents is different from the vendor’s existing address.GetShowExternalDocAlreadyExistNotificationId(): Guid: Returns a GUID for a notification that warns if purchase document with same external document number already exists.GetLineInvoiceDiscountResetNotificationId(): Guid: Returns a GUID for a notification that warns if the invoice discount amount for the purchase line record has been reset.GetWarnWhenZeroQuantityPurchaseLinePosting(): Guid: Returns a GUID for a notification that warns before posting lines on purchase documents where quantity is 0.SetModifyVendorAddressNotificationDefaultState(): Inserts the default notification to warn if the buy-from address on purchase documents is different from the vendor’s existing address.SetModifyPayToVendorAddressNotificationDefaultState(): Inserts the default notification to warn if pay-to address on purchase documents is different from the vendor’s existing address.SetShowExternalDocAlreadyExistNotificationDefaultState(DefaultState: Boolean): Inserts the default notification to warn if purchase document with same external document number already exists.DontNotifyCurrentUserAgain(NotificationID: Guid): Disables a specified notification for the current user.SetWarnZeroQuantityPurchasePosting(): Inserts the default notification to warn before posting lines on purchase documents where quantity is 0.FindPostedDocumentWithSameExternalDocNo(var VendorLedgerEntry: Record "Vendor Ledger Entry"; ExternalDocumentNo: Code[35]): Boolean: Finds a posted purchase document for the provided external document no.FilterPartialReceived(): Applies the filter for the headers that have received lines.FilterPartialInvoiced(): Applies the filter for the headers that have partially invoiced lines.IsDocAlreadyExistNotificationEnabled(): Boolean: Determines if the notification which warns if purchase document with same external document number already exists is enabled.ShipToAddressEqualsCompanyShipToAddress(): Boolean: Determines if the ship-to information in the purchase header record matches the ship-to information in the company information.BuyFromAddressEqualsShipToAddress(): Boolean: Determines if ship-to information is equal to the buy-from information in the purchase header record.BuyFromAddressEqualsPayToAddress(): Boolean: Determines if buy-from information is equal to the pay-to information in the purchase header record.ValidatePurchaserOnPurchHeader(PurchaseHeader2: Record "Purchase Header"; IsTransaction: Boolean; IsPostAction: Boolean): Checks if the document can be created/posted depending on the privacy blocked of the purchaser.CanCalculateTax(): Boolean: Returns the value of the global variable SkipTaxCalculation.SetSkipTaxCalulation(Skip: Boolean): Sets the value of the global variable SkipTaxCalculation.ValidateEmptySellToCustomerAndLocation(): Resets the sell-to customer to an empty value and updates the location. from the global Vend record on the purchase header.CheckForBlockedLines(): Checks if there are any blocked items or resources in the purchase lines of the purchase header.TestStatusIsNotPendingApproval(): Boolean: Determines if purchase document status is not pending approval.TestStatusIsNotPendingPrepayment(): Boolean: Determines if purchase document status is not pending prepayment.TestStatusIsNotReleased(): Boolean: Determines if purchase document status is not released.TestStatusOpen(): Checks if purchase document status is open. If it is not, an error is raised.SuspendStatusCheck(Suspend: Boolean): Sets the value of the global flag StatusCheckSuspended.UpdateInboundWhseHandlingTime(): Updates the inbound warehouse handling time of the purchase header.GetFullDocTypeTxt(): Text: Returns the document type caption.CopyDocument(): Runs the copy purchase document report for the purchase header.LookupBuyFromVendorName(var VendorName: Text): Boolean: Opens vendor lookup page to select a vendor. Buy-from vendor name field is updated with the selected vendor name.LookupPayToVendorName(var VendorName: Text): Boolean: Opens vendor lookup page to select a vendor. Pay-to name field is updated with the selected vendor name.RecreateTempPurchLines(var TempPurchLine: Record "Purchase Line"): Collects all purchase lines of the document into a temporary record set.DeletePurchCommentLines(): Deletes all purchase comment lines.DeletePurchLines(var PurchLine: Record "Purchase Line"): Delets all lines in the provided record set.GetCalledFromWhseDoc(): Boolean: Returns the value of the global flag CalledFromWhseDoc.SetCalledFromWhseDoc(NewCalledFromWhseDoc: Boolean): Sets the value of the global flag CalledFromWhseDoc.SetReplaceDocumentDate(): Sets the value of the global flag ReplaceDocumentDate to true.GetUseDate(): Date: Returns the posting date from purchase header if it’s available, otherwise it returns the current work date.CreateDimFromDefaultDim(FieldNo: Integer): Initializes the dimensions for the document from default dimensions for the related entry specified in the field.PurchaseLinesEditable(): Boolean: Determines if the purchase lines of the purchase header are editable based on whether a buy-from vendor no. has been specified.GetQtyReservedFromStockState(): Enum "Reservation From Stock"(internal)TestPurchasePrepayment(): Checks if there are unpaid prepayment invoices for the purchase document and raise an error if there are.CalcDocAmountVAT(DocAmountInclVAT: Decimal; VATAmount: Decimal; TotalPurchLineAmtInclVAT: Decimal; CurrencyAmtRoundingPrecision: Decimal): Decimal+ BC26: Calculates the VAT Amount of the Purchase Header that is entered.SendICPurchaseDoc(var PurchaseHeader: Record "Purchase Header")+ BC25UpdatePurchaseOrderLineIfExist()+ BC26GetContactAsCompany(Contact: Record Contact; var SearchContact: Record Contact): Boolean+ BC28 (protected): Retrieves the company contact associated with the provided contact.CheckVendorCreated(Prompt: Boolean): Boolean+ BC28 (internal): Checks if buy-from and pay-to vendor numbers are filled. If not, it creates vendors based on the associated contact and vendor template, and assigns the new vendor number to the document.SelectPurchaseHeaderNewVendorTemplate(): Code[20]+ BC28 (internal): Opens a page for selecting a vendor template to use for creating a new vendor.GetContactDetails(var BuyFromContact: Record Contact; var PayToContact: Record Contact)+ BC28
Plus 97 local procedures.
Triggers
OnDelete, OnInsert, OnRename
Relations
- lookup page Page 53 “Purchase List”
- Shipment Method Code: TableRelation Table 10 “Shipment Method”
- Last Receiving No.: TableRelation Table 120 “Purch. Rcpt. Header”
- Last Posting No.: TableRelation Table 122 “Purch. Inv. Header”
- Last Prepayment No.: TableRelation Table 122 “Purch. Inv. Header”
- Last Prepmt. Cr. Memo No.: TableRelation Table 124 “Purch. Cr. Memo Hdr.”
- Purchaser Code: TableRelation Table 13 “Salesperson/Purchaser”
- Incoming Document Entry No.: TableRelation Table 130 “Incoming Document”
- Buy-from Vendor Templ. Code: TableRelation Table 1383 “Vendor Templ.”
- Pay-to Vendor Templ. Code: TableRelation Table 1383 “Vendor Templ.”
- Location Code: TableRelation Table 14 “Location”
- Location Filter: TableRelation Table 14 “Location”
- Bal. Account No.: TableRelation Table 15 “G/L Account” (conditional)
- Sell-to Customer No.: TableRelation Table 18 “Customer”
- Ship-to Code: TableRelation Table 222 “Ship-to Address”
- Remit-to Code: TableRelation Table 2224 “Remit Address”
- Order Address Code: TableRelation Table 224 “Order Address”
- Buy-from City: TableRelation Table 225 “Post Code” (conditional)
- Buy-from Post Code: TableRelation Table 225 “Post Code” (conditional)
- Pay-to City: TableRelation Table 225 “Post Code” (conditional)
- Pay-to Post Code: TableRelation Table 225 “Post Code” (conditional)
- Ship-to City: TableRelation Table 225 “Post Code” (conditional)
- Ship-to Post Code: TableRelation Table 225 “Post Code” (conditional)
- Buy-from Vendor No.: TableRelation Table 23 “Vendor”
- Pay-to Vendor No.: TableRelation Table 23 “Vendor”
- Reason Code: TableRelation Table 231 “Reason Code”
- Gen. Bus. Posting Group: TableRelation Table 250 “Gen. Business Posting Group”
- Transaction Type: TableRelation Table 258 “Transaction Type”
- Transport Method: TableRelation Table 259 “Transport Method”
- Bal. Account No.: TableRelation Table 270 “Bank Account” (conditional)
- Entry Point: TableRelation Table 282 “Entry/Exit Point”
- Area: TableRelation Table 284 “Area”
- Transaction Specification: TableRelation Table 285 “Transaction Specification”
- Payment Method Code: TableRelation Table 289 “Payment Method”
- Payment Terms Code: TableRelation Table 3 “Payment Terms”
- Prepmt. Payment Terms Code: TableRelation Table 3 “Payment Terms”
- No. Series: TableRelation Table 308 “No. Series”
- Posting No. Series: TableRelation Table 308 “No. Series”
- Prepayment No. Series: TableRelation Table 308 “No. Series”
- Prepmt. Cr. Memo No. Series: TableRelation Table 308 “No. Series”
- Receiving No. Series: TableRelation Table 308 “No. Series”
- Return Shipment No. Series: TableRelation Table 308 “No. Series”
- Tax Area Code: TableRelation Table 318 “Tax Area”
- VAT Bus. Posting Group: TableRelation Table 323 “VAT Business Posting Group”
- Shortcut Dimension 1 Code: TableRelation Table 349 “Dimension Value”
- Shortcut Dimension 2 Code: TableRelation Table 349 “Dimension Value”
- A. Rcd. Not Inv. Ex. VAT (LCY): CalcFormula Table 39 “Purchase Line”
- Amount: CalcFormula Table 39 “Purchase Line”
- Amount Including VAT: CalcFormula Table 39 “Purchase Line”
- Amt. Rcd. Not Invoiced (LCY): CalcFormula Table 39 “Purchase Line”
- Completely Received: CalcFormula Table 39 “Purchase Line”
- Invoice Discount Amount: CalcFormula Table 39 “Purchase Line”
- Partially Invoiced: CalcFormula Table 39 “Purchase Line”
- Recalculate Invoice Disc.: CalcFormula Table 39 “Purchase Line”
- Received Not Invoiced: CalcFormula Table 39 “Purchase Line”
- Currency Code: TableRelation Table 4 “Currency”
- Buy-from IC Partner Code: TableRelation Table 413 “IC Partner”
- Pay-to IC Partner Code: TableRelation Table 413 “IC Partner”
- Comment: CalcFormula Table 43 “Purch. Comment Line”
- Pending Approvals: CalcFormula Table 454 “Approval Entry”
- Dimension Set ID: TableRelation Table 480 “Dimension Set Entry”
- Buy-from Contact No.: TableRelation Table 5050 “Contact”
- Pay-to Contact No.: TableRelation Table 5050 “Contact”
- Campaign No.: TableRelation Table 5071 “Campaign”
- No. of Archived Versions: CalcFormula Table 5109 “Purchase Header Archive”
- Responsibility Center: TableRelation Table 5714 “Responsibility Center”
- Last Return Shipment No.: TableRelation Table 6650 “Return Shipment Header”
- Spend Request No.: TableRelation Table 6840 “Spend Request”
- Language Code: TableRelation Table 8 “Language”
- Journal Templ. Name: TableRelation Table 80 “Gen. Journal Template”
- Buy-from Country/Region Code: TableRelation Table 9 “Country/Region”
- Pay-to Country/Region Code: TableRelation Table 9 “Country/Region”
- Ship-to Country/Region Code: TableRelation Table 9 “Country/Region”
- VAT Country/Region Code: TableRelation Table 9 “Country/Region”
- Assigned User ID: TableRelation Table 91 “User Setup”
- Vendor Posting Group: TableRelation Table 93 “Vendor Posting Group”
Referenced by
62 fields in 31 objects relate to this table (TableRelation or CalcFormula).
- Table 23 “Vendor”: No. of Blanket Orders, No. of Credit Memos, No. of Invoices, No. of Orders, No. of Quotes, No. of Return Orders, Pay-to No. of Blanket Orders, Pay-to No. of Credit Memos, Pay-to No. of Invoices, Pay-to No. of Orders, Pay-to No. of Quotes, Pay-to No. of Return Orders
- Table 9055 “Purchase Cue”: Not Invoiced, Outstanding Purchase Orders, Partially Invoiced, Purchase Return Orders - All, To Send or Confirm, Upcoming Orders
- Table 9046 “Account Payable Cue”: Approved Purchase Orders, Ongoing Purchase Invoices, POs Pending Approval, Purchase Orders, Purchase Quotes
- Table 9054 “Finance Cue”: Approved Purchase Orders, POs Pending Approval, Purchase Return Orders
- Table 1313 “Activities Cue”: Ongoing Purchase Invoices, Purchase Orders
- Table 37 “Sales Line”: Purchase Order No., Special Order Purchase No.
- Table 39 “Purchase Line”: Blanket Order No., Document No.
- Table 5108 “Sales Line Archive”: Purchase Order No., Special Order Purchase No.
- Table 5109 “Purchase Header Archive”: Source Doc. Exists, Purchase Quote No.
- Table 5805 “Item Charge Assignment (Purch)”: Applies-to Doc. No., Document No.
- Table 6220 “Sustainability Cue”: Ongoing Purchase Invoices, Ongoing Purchase Orders
- Table 8070 “Subscription Billing Cue”: Vend. Contr. Credit Memos, Vend. Sub. Contr. Invoices
- Table 9060 “SB Owner Cue”: Purchase Invoices, Released Purchase Orders
- Table 121 “Purch. Rcpt. Line”: Blanket Order No.
- Table 123 “Purch. Inv. Line”: Blanket Order No.
- Table 125 “Purch. Cr. Memo Line”: Blanket Order No.
- Table 246 “Requisition Line”: Ref. Order No.
- Table 458 “Overdue Approval Entry”: Document No.
- Table 5110 “Purchase Line Archive”: Blanket Order No.
- Table 6100 “E-Document Purchase Header”: [BC] Purchase Order No.
- Table 6102 “E-Document Header Mapping”: Purchase Order No.
- Table 6163 “E-Doc. PO Match Prop. Buffer”: Document Order No.
- Table 6164 “E-Doc. Order Match”: Document Order No.
- Table 9050 “Warehouse Basic Cue”: Exp. Purch. Orders Until Today
- Table 9051 “Warehouse WMS Cue”: Expected Purchase Orders
- Table 9056 “Manufacturing Cue”: Purchase Orders
- Table extension 20500 “Subc. Item Ledger Entry”: Subc. Purch. Order No.
- Table extension 20502 “Subc. Prod Order Comp Ext.”: Subc. Purchase Order Filter
- Table extension 20504 “Subc. Cap Ledger Entry Ext.”: Subc. Purch. Order No.
- Table extension 20508 “Subc. Item Journal Line Ext.”: Subc. Purch. Order No.
- Table extension 20529 “Subc. Manufacturing Cue”: Subcontracting Purchase Orders
Pages and codeunits on this table
- Page 161 “Purchase Statistics” (source table)
- Page 30003 “APIV2 - Bl. Purch. Orders” (source table)
- Page 30099 “APIV2 - Purch. Quotes” (source table)
- Page 30250 “APIV2 - Purch. Ret. Orders” (source table)
- Page 403 “Purchase Order Statistics” (source table)
- Page 49 “Purchase Quote” (source table)
- Page 50 “Purchase Order” (source table)
- Page 509 “Blanket Purchase Order” (source table)
- Page 51 “Purchase Invoice” (source table)
- Page 52 “Purchase Credit Memo” (source table)
- Page 53 “Purchase List” (source table)
- Page 6404 “Purchase Document Entity” (source table)
- Page 6640 “Purchase Return Order” (source table)
- Page 9118 “Purch. Doc. Check Factbox” (source table)
- Page 9306 “Purchase Quotes” (source table)
- Page 9307 “Purchase Order List” (source table)
- Page 9308 “Purchase Invoices” (source table)
- Page 9309 “Purchase Credit Memos” (source table)
- Page 9310 “Blanket Purchase Orders” (source table)
- Page 9311 “Purchase Return Order List” (source table)
- Codeunit 1372 “Purchase Batch Post Mgt.” (codeunit runs on it)
- Codeunit 317 “Purch.Header-Printed” (codeunit runs on it)
- Codeunit 37202 “Export Purchase Order PEPPOL30” (codeunit runs on it)
- Codeunit 402 “Purchase Header Apply” (codeunit runs on it)
- Codeunit 4142 “Purchase Manual Release” (codeunit runs on it)
- Codeunit 4144 “Purchase Manual Reopen” (codeunit runs on it)
- Codeunit 415 “Release Purchase Document” (codeunit runs on it)
- Codeunit 444 “Purchase-Post Prepayments” (codeunit runs on it)
- Codeunit 76 “Purch.-Get Drop Shpt.” (codeunit runs on it)
- Codeunit 90 “Purch.-Post” (codeunit runs on it)
- Codeunit 9067 “Check Purchase Document” (codeunit runs on it)
- Codeunit 91 “Purch.-Post (Yes/No)” (codeunit runs on it)
- Codeunit 92 “Purch.-Post + Print” (codeunit runs on it)
- Codeunit 93 “Purch.-Quote to Order (Yes/No)” (codeunit runs on it)
- Codeunit 94 “Blnkt Purch Ord. to Ord. (Y/N)” (codeunit runs on it)
- Codeunit 96 “Purch.-Quote to Order” (codeunit runs on it)
- Codeunit 97 “Blanket Purch. Order to Order” (codeunit runs on it)
Extended by
- Table extension 20509 “Subc. Purchase Header”
- Table extension 4817 “Intrastat Report Purch. Head.”
- Table extension 4884 “EU3 Purchase Header”
- Table extension 5016 “Serv. Decl. Purch. Header”
- Table extension 6169 “E-Doc. Purchase Header”
- Table extension 6212 “Sustainability Purch. Header”
- Table extension 6788 “Withholding Purch. Header Ext”
- Table extension 8061 “Purchase Header”
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 408 “DimensionManagement” (8 calls:
CreateDim → GetRecDefaultDimID,CreateDim → UpdateGlobalDimFromDimSetID,InitDefaultDimensionSources → AddDimSource, …) - Codeunit 27 “Confirm Management” (6 calls:
CheckVendorCreated → GetResponseOrDefault,ConfirmDeletion → GetResponseOrDefault,PriceMessageIfPurchLinesExist → GetResponseOrDefault, …) - Codeunit 1330 “Instruction Mgt.” (5 calls:
ConfirmCloseUnposted → IsUnpostedEnabledForRecord,ConfirmCloseUnposted → QueryPostOnCloseCode,ConfirmCloseUnposted → ShowConfirm, …) - Codeunit 1535 “Approvals Mgmt.” (5 calls:
ApprovedForPostingBatch → PrePostApprovalCheckPurch,CheckPurchaseReleaseRestrictions → PrePostApprovalCheckPurch,DeleteRecordInApprovalRequest → OnDeleteRecordInApprovalRequest, …) - Codeunit 5700 “User Setup Management” (5 calls:
InitRecord → GetRespCenter,OnDelete → CheckRespCenter,OnDelete → GetPurchasesFilter, …) - Page 456 “No. Series” (4 calls:
AssistEdit → (object),GetNoSeriesCode → (object),InitInsert → (object), …) - Codeunit 1511 “Notification Lifecycle Mgt.” (3 calls:
RecallExternalDocAlreadyExistsNotification → RecallNotificationsForRecordWithAdditionalContext,ShowExternalDocAlreadyExistNotification → SendNotificationWithAdditionalContext,ShowModifyAddressNotification → SendNotification) - Codeunit 441 “Prepayment Mgt.” (3 calls:
ApprovedForPostingBatch → TestPurchasePayment,IsApprovedForPosting → TestPurchasePayment,TestPurchasePrepayment → TestPurchasePrepayment) - Codeunit 109 “Lookup State Manager” (2 calls:
LookupBuyFromVendorName → SaveRecord,LookupPayToVendorName → SaveRecord) - Codeunit 1380 “Batch Processing Mgt.” (2 calls:
PerformManualRelease → BatchProcess,PerformManualReopen → BatchProcess) - Codeunit 28 “Error Message Management” (2 calls:
SendToPosting → Activate,SendToPosting → PushContext) - Codeunit 364 “PostPurch-Delete” (2 calls:
ConfirmDeletion → InitDeleteHeader,OnDelete → DeleteHeader) - Codeunit 378 “Transfer Extended Text” (2 calls:
RecreatePurchLines → InsertPurchExtText,RecreatePurchLines → PurchCheckIfAnyExtText) - Codeunit 452 “Report Distribution Management” (2 calls:
GetDocTypeTxt → GetFullDocumentTypeText,GetReportSelectionsUsageFromDocumentType → GetFullDocumentTypeText) - Codeunit 5063 “ArchiveManagement” (2 calls:
GetNextArchiveDocOccurrenceNo → GetNextOccurrenceNo,OnDelete → AutoArchivePurchDocument) - Codeunit 6620 “Copy Document Mgt.” (2 calls:
TransferSavedFieldsDropShipment → TransfldsFromSalesToPurchLine,TransferSavedFieldsSpecialOrder → TransfldsFromSalesToPurchLine) - Codeunit 99000834 “Purch. Line-Reserve” (2 calls:
GetQtyReservedFromStockState → GetReservedQtyFromInventory,UpdatePurchLinesByFieldNo → VerifyChange) - Codeunit 113 “Vend. Entry-Edit” (1 call:
SetAmountToApply → (object)) - Codeunit 1312 “Vendor Mgt.” (1 call:
FindPostedDocumentWithSameExternalDocNo → SetFilterForExternalDocNo) - Codeunit 1313 “Correct Posted Purch. Invoice” (1 call:
UpdatePurchaseOrderLineIfExist → UpdatePurchaseOrderLineIfExist) - Codeunit 1630 “Office Management” (1 call:
UpdateBuyFromCont → GetContact) - Codeunit 170 “Standard Codes Mgt.” (1 call:
OnInsert → CheckCreatePurchRecurringLines) - Codeunit 29 “Error Message Handler” (1 call:
SendToPosting → ShowErrors) - Codeunit 427 “ICInboxOutboxMgt” (1 call:
SendICPurchaseDoc → SendPurchDoc) - Codeunit 57 “Document Totals” (1 call:
IsTotalValid → PurchaseCalculateTotalsWithInvoiceRounding) - Codeunit 5826 “Matched Order Line Mgmt.” (1 call:
TestPurchLineFieldsBeforeRecreate → IsLineMatched) - Codeunit 70 “Purch.-Calc.Discount” (1 call:
CalcInvDiscForHeader → CalculateIncDiscForHeader) - Codeunit 90 “Purch.-Post” (1 call:
TriggerOnAfterPostPurchaseDoc → OnAfterPostPurchaseDoc) - Codeunit 9178 “Application Area Mgmt.” (1 call:
CopyFromNewBuyFromVendorTemplate → IsSalesTaxEnabled) - Codeunit 98 “Purchase Post via Job Queue” (1 call:
CancelBackgroundPosting → CancelQueueEntry) - Codeunit 99000845 “Reservation Management” (1 call:
DeletePurchaseLines → DeleteDocumentReservation) - Report 7323 “Create Invt Put-away/Pick/Mvmt” (1 call:
CreateInvtPutAwayPick → (object))
Recent changes
- 2026-09-01 #10700 29.x: PO matching API, E-Documents integration and receipt-on-invoice line tracking (releases/29.x, BC29, feature)
- 2026-08-31 #10528 Track receipt on invoice per purchase order line (main, BC30, feature)
- 2026-07-31 #8959 Deliverable 638799: Spend Requests in Base App (main, BC30, feature)
- 2026-07-24 #9443 [Extensibility Request] issue 30222: add handled event before RecreatePurchLines in Pay-to Vendor No. validation (main, BC30, feature)
- 2026-07-15 #9044 [Master] Contact email is no validated during creation purchase documents_New (main, BC30, fix)
Countries that replace it
AT, AU, BE, CA, CH, DE, ES, FI, GB, IT, MX, NL, NO, NZ, RU, SE, US
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: "table", object_name: "Purchase Header"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.