Codeunit 6931 "Expense Vendor Matching"
ExpenseAgent · Microsoft.ExpenseAgent
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 2 connected objects and pages
ExpenseAgent · Microsoft.ExpenseAgent · BC29-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Internal |
| Permissions | tabledata Vendor = rim |
Event subscriptions
- OnAfterExpenseInsert subscribes to Table “Expense” OnAfterInsertEvent
Procedures
FindOrCreateExpenseVendor(var Expense: Record Expense): Tries to match the expense to an existing Business Central vendor or creates an Expense Vendor record for accountant review. Updates Expense.“Expense Vendor No.”.RequestApproval(var ExpenseVendor: Record "Expense Vendor"): Submits the expense vendor for accountant approval (Unmatched/Rejected → Pending Approval).Approve(var ExpenseVendor: Record "Expense Vendor"): Approves the expense vendor. Creates a new BC Vendor if not yet matched, or confirms the existing match.Reject(var ExpenseVendor: Record "Expense Vendor"; RejectReason: Text[250]): Rejects the expense vendor with a mandatory reason.
Plus 6 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 27 “Confirm Management” (3 calls:
Approve → GetResponseOrDefault,Reject → GetResponseOrDefault,RequestApproval → GetResponseOrDefault) - Page 456 “No. Series” (2 calls:
CreateExpenseVendorFromExpense → (object),CreateMatchedExpenseVendor → (object))
Recent changes
- 2026-08-04 #9859 [Master] - Move Expense Agent (Preview) app into BCApps (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: "Expense Vendor Matching"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.