Codeunit 6196 "E-Doc. PO Matching"
EDocument · Microsoft.eServices.EDocument.Processing.Import.Purchase
Across versions
- BC23-28not present
- BC29-30present
EDocument · Microsoft.eServices.EDocument.Processing.Import.Purchase · BC29-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Internal |
Procedures
LoadAvailablePOLinesForEDocumentLine(EDocumentPurchaseLine: Record "E-Document Purchase Line"; var TempPurchaseLine: Record "Purchase Line" temporary): Loads all purchase order lines that can be matched to the specified E-Document line into the specified temporary Purchase Line record. A line can be matched if it belongs to an order for the same vendor as the E-Document line, and if it is not already matched to another E-Document line. Lines that a…LoadPOLinesMatchedToEDocumentLine(EDocumentPurchaseLine: Record "E-Document Purchase Line"; var TempPurchaseLine: Record "Purchase Line" temporary): Loads all purchase order lines that are matched to the specified E-Document line into the specified temporary Purchase Line record.LoadPOsMatchedToEDocumentLine(EDocumentPurchaseLine: Record "E-Document Purchase Line"; var TempPurchaseHeader: Record "Purchase Header" temporary): Loads all purchase orders that are matched to the specified E-Document line into the specified temporary Purchase Header record.LoadAvailableReceiptLinesForEDocumentLine(EDocumentPurchaseLine: Record "E-Document Purchase Line"; var TempPurchaseReceiptLine: Record "Purch. Rcpt. Line" temporary): Loads all purchase receipt lines that are matched to purchase order lines that are matched to the specified E-Document line into the specified temporary Purch. Rcpt. Line record.LoadReceiptsMatchedToEDocumentLine(EDocumentPurchaseLine: Record "E-Document Purchase Line"; var TempPurchaseReceiptHeader: Record "Purch. Rcpt. Header" temporary): Loads all purchase receipt headers that are matched to the specified E-Document line into the specified temporary Purch. Rcpt. Header record.LoadReceiptLinesMatchedToEDocumentLine(EDocumentPurchaseLine: Record "E-Document Purchase Line"; var TempPurchaseReceiptLine: Record "Purch. Rcpt. Line" temporary)CalculatePOMatchWarnings(EDocumentPurchaseHeader: Record "E-Document Purchase Header"; var POMatchWarnings: Record "E-Doc PO Match Warning" temporary): Calculates warnings for the specified E-Document, and loads them into the specified temporary “E-Doc PO Match Warnings” record.IsPOMatchConsistent(EDocumentPurchaseHeader: Record "E-Document Purchase Header"): Boolean: Validates that the matches between the E-Document, PO lines and receipt lines are still valid.IsEDocumentLineMatchedToAnyPOLine(EDocumentPurchaseLine: Record "E-Document Purchase Line"): Boolean: Returns true if the specified E-Document line is matched to any purchase order line.IsEDocumentMatchedToAnyPOLine(EDocumentPurchaseHeader: Record "E-Document Purchase Header"): Boolean: Returns true if any line in the specified E-Document is matched to any purchase order line.IsPOLineMatchedToEDocumentLine(PurchaseLine: Record "Purchase Line"; EDocumentPurchaseLine: Record "E-Document Purchase Line"): Boolean: Returns true if the specified purchase order line is matched to the specified E-Document line.IsEDocumentLineMatchedToAnyReceiptLine(EDocumentPurchaseLine: Record "E-Document Purchase Line"): Boolean: Checks if the specified E-Document line is matched to any receipt line.IsReceiptLineMatchedToEDocumentLine(ReceiptLine: Record "Purch. Rcpt. Line"; EDocumentPurchaseLine: Record "E-Document Purchase Line"): Boolean: Returns true if the specified receipt line is matched to the specified E-Document line.RemoveAllReceiptMatchesForEDocumentLine(EDocumentPurchaseLine: Record "E-Document Purchase Line"): Removes all receipt line matches for the specified E-Document line.RemoveAllMatchesForEDocumentLine(EDocumentPurchaseLine: Record "E-Document Purchase Line"): Removes all matches for the specified E-Document line.RemoveAllMatchesForEDocument(EDocumentPurchaseHeader: Record "E-Document Purchase Header"): Removes all matches for all lines in the specified E-Document.MatchPOLinesToEDocumentLine(var SelectedPOLines: Record "Purchase Line" temporary; EDocumentPurchaseLine: Record "E-Document Purchase Line"): Matches the specified purchase order lines to the specified E-Document line. Each purchase order line must belong to an order for the same vendor as the E-Document line, and must not already be matched to another E-Document line. Existing matches are removed, and the E-Document line’s purchase type …MatchReceiptLinesToEDocumentLine(var SelectedReceiptLines: Record "Purch. Rcpt. Line" temporary; EDocumentPurchaseLine: Record "E-Document Purchase Line"): Matches the specified purchase receipt lines to the specified E-Document line. Each receipt line must be matched to a purchase order line that is matched to the specified E-Document line. Existing matches are removed. If the receipt lines can’t cover the full quantity of the E-Document line, the pro…ConfigureDefaultPOMatchingSettings()ConfigurePOMatchingSettings(DesiredGlobalSetup: Record "E-Doc. PO Matching Setup"; Configuration: Enum "E-Doc. PO M. Configuration"; VendorNos: List of [Code[20]]): Stores the configuration selected by the user.TransferPOMatchesFromEDocumentToInvoice(EDocument: Record "E-Document"): Transfer PO matches defined in the e-document to the created purchase invoiceTransferPOMatchesFromInvoiceToEDocument(PurchaseHeader: Record "Purchase Header"): Transfer PO matches defined in the purchase invoice to the linked e-documentGetPOMatchingSettings(var GlobalSetup: Record "E-Doc. PO Matching Setup"; var Configuration: Enum "E-Doc. PO M. Configuration"; var VendorNos: List of [Code[20]]): Loads the settings for purchase order matching.VerifyEDocumentMatchedLinesAreValidMatches(EDocumentPurchaseHeader: Record "E-Document Purchase Header"): Boolean: Verifies that all E-Document lines that have a Not Yet Received warning can be validly matched without receipt.
Plus 14 local procedures.
Recent changes
- 2026-09-24 #11815 Improvements to E-Documents PO matching (E2E findings) (main, BC30, fix)
- 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-28 #10526 Use BaseApp’s new PO Matching module in E-Documents (main, BC30, feature)
Ask your agent
Procedure bodies are not stored here (D10). For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "E-Doc. PO Matching"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.