Codeunit 5831 "PO Matching"
Base Application · Microsoft.Inventory.Tracking
Across versions
- BC23-28not present
- BC29added
- BC30unchanged
Neighbourhood 3 connected objects and pages
Base Application · Microsoft.Inventory.Tracking · BC29-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Public |
Procedures
InvoiceOrderEdge(InvoiceLineSystemId: Guid; OrderLineSystemId: Guid; QtyToAllocate: Decimal): Record "Matched Order Line": Builds an invoice-to-order edge.OrderReceiptEdge(OrderLineSystemId: Guid; ReceiptLineSystemId: Guid; QtyToAllocate: Decimal): Record "Matched Order Line": Builds an order-to-receipt edge; the invoice is inferred when added if the order has a single invoice edge.InvoiceOrderReceiptEdge(InvoiceLineSystemId: Guid; OrderLineSystemId: Guid; ReceiptLineSystemId: Guid; QtyToAllocate: Decimal): Record "Matched Order Line": Builds an order-to-receipt edge with an explicit invoice, used to split a receipt across several invoices.InvoiceReceiptEdge(InvoiceLineSystemId: Guid; ReceiptLineSystemId: Guid; QtyToAllocate: Decimal): Record "Matched Order Line": Builds an invoice-to-receipt edge; the order line is derived when added.SuggestCoveringReceipts(var POMatchingGroup: Codeunit "PO Matching Group"): Enriches the group by covering each invoice-order allocation with the order line’s posted receipts that still have quantity received not invoiced, by adding or growing receipt edges.
Plus 2 local procedures.
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 5829 “PO Matching Group” (8 calls:
SuggestCoveringReceipts → AddMatch,SuggestCoveringReceipts → AllocatedInInvoiceOrderEdge,SuggestCoveringReceipts → GetInvoiceLine, …) - Codeunit 5828 “Invoiceable Receipts” (4 calls:
SuggestCoveringReceipts → GetReceiptLine,SuggestCoveringReceipts → Load,SuggestCoveringReceipts → NextReceipt, …) - Codeunit 6503 “Item Tracking Doc. Management” (1 call:
ReceiptHasItemTracking → RetrieveEntriesFromShptRcpt)
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, added)
- 2026-08-28 #10524 Add a purchase order matching API (main, BC30, feature, added)
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: "codeunit", object_name: "PO Matching"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.