Page 6927 "Expenses API"
ExpenseAgent · Microsoft.ExpenseAgent
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 5 connected objects and pages
ExpenseAgent · Microsoft.ExpenseAgent · BC29-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| SourceTable | Expense |
| PageType | API |
Fields on this page
Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control’s own, else the bound field’s (marked).
| Group | Control | Shows | ToolTip |
|---|---|---|---|
| General | Id | Rec.SystemId |
— |
| No. | No. | Specifies the expense document number. Leave blank to assign a number from the Expense Nos. number series. from the table field | |
| Expense User Number | Expense User No. | — | |
| Expense User System Id | ExpenseUserSystemId |
— | |
| Expense Report No. | Expense Report No. | — | |
| Posted Expense Report No. | Posted Expense Report No. | — | |
| Expense Category | Expense Category | — | |
| Expense Subcategory | Expense Subcategory | — | |
| Status | Status | — | |
| Description | Description | — | |
| Justification | Justification | — | |
| Expense Date | Expense Date | — | |
| Expense Time | Expense Time | — | |
| Expense External Document No. | Expense Ext. Doc. No. | — | |
| Currency Code | CurrencyCodeDisplay |
— | |
| Amount | Amount | — | |
| Amount (LCY) | Amount (LCY) | — | |
| Currency (LCY) | CurrencyLCYDisplay |
— | |
| Merchant Name | Merchant Name | — | |
| Merchant Registration Number | Merchant Registration No. | — | |
| Merchant VAT Registration Number | Merchant VAT Registration No. | — | |
| Receipt Attached | Receipt Attached | — | |
| Receipt Entry | Receipt Entry | — | |
| Shortcut Dimension 1 Code | Shortcut Dimension 1 Code | — | |
| Shortcut Dimension 2 Code | Shortcut Dimension 2 Code | — | |
| Payment Method Code | Payment Method Code | — | |
| Refundable | Refundable | — | |
| Billable | Billable | — | |
| Billable to Customer | Billable to Customer | — | |
| Expense Location | Expense Location | — | |
| Starting Date and Time | Starting Date and Time | — | |
| Ending Date and Time | Ending Date and Time | — | |
| Non-Refundable Amount | Non-Refundable Amount | — | |
| Mileage | Mileage | — | |
| Unit of Measure Code | Unit of Measure Code | — | |
| Starting Point | Starting Point | — | |
| Ending Point | Ending Point | — | |
| Round Trip | Round Trip | Specifies whether the mileage expense is a round trip. | |
| Vehicle Type | Vehicle Type | Specifies the vehicle type used for this mileage expense. | |
| Total Mileage | TotalMileage |
Specifies the total mileage for reimbursement. | |
| Reimbursable Amount | Reimbursable Amount | — | |
| Reimbursable Amount (LCY) | Reimbursable Amount (LCY) | — | |
| Credit Card Feed No. | Credit Card Feed No. | — | |
| Extraction Confidence | Extraction Confidence | — | |
| VAT Bus. Posting Group | VAT Bus. Posting Group | — | |
| VAT Prod. Posting Group | VAT Prod. Posting Group | — | |
| Expense Detail Required | Expense Detail Required | — | |
| Applied Rule Id | Applied Rule Id | — | |
| Reimbursement Type | Reimbursement Type | — | |
| Rule Violations | Rule Violations | — | |
| Created Date Time | Created Date-Time | — | |
| System Created At | Rec.SystemCreatedAt |
— | |
| System Modified At | Rec.SystemModifiedAt |
— | |
| System Created By | Rec.SystemCreatedBy |
— | |
| System Modified By | Rec.SystemModifiedBy |
— | |
| Created By Expense User Id | Created By Exp. User Id | — | |
| Modified By Expense User Id | Modified By Exp. User Id | — | |
| Project No. | Job No. | — | |
| Project Task No. | Job Task No. | — | |
| Project Description | JobDescription |
— | |
| Project Task Description | JobTaskDescription |
— | |
| attachments | part Page 6950 “Expense Attachments API” | — | |
| Expense Itemizations | part Page 6935 “Expense Itemizations API” | — | |
| Expense Participants | part Page 6936 “Expense Participants API” | — | |
| Expense Per Diem | part Page 6954 “Expense Per Diem API” | — | |
| Expense VAT Specifications | part Page 7085 “Expense VAT Spec. API” | — | |
| Expense Rule Violations | part Page 6963 “Expense Rule Violations API” | — |
Procedures
ReleaseExpense(var ActionContext: WebServiceActionContext)ReopenExpense(var ActionContext: WebServiceActionContext)ValidateExpenseRule(var ActionContext: WebServiceActionContext)ApplyExpenseRule(var ActionContext: WebServiceActionContext)
Plus 1 local procedures.
Triggers
OnInit, OnOpenPage, OnAfterGetRecord, OnNewRecord, OnInsertRecord, OnModifyRecord
Relations
- source table Table 6900 “Expense”
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 6988 “Expense API Currency Helper” (4 calls:
OnAfterGetRecord → GetCurrencyCodeForAPI,OnInit → GetCurrencyCodeForAPI,OnInsertRecord → GetCurrencyCodeFromAPI, …) - Codeunit 6993 “Expense Agent API Validation” (2 calls:
OnInit → VerifyAgentAccess,OnInsertRecord → IsCurrentUserExpenseAgent) - Codeunit 6912 “Expense Auto Population” (1 call:
OnAfterGetRecord → GetEffectiveDistance) - Codeunit 6968 “Expense Audit Subscribers” (1 call:
OnInsertRecord → TelemetryCategory)
Recent changes
- 2026-09-28 #11770 [Master] - Bug 650783: [Expense Agent][Demo Data] Posted demo expenses remain Submitted with a dangling Expense Report No. (main, BC30, fix)
- 2026-08-27 #10561 Mileage Rate Setup (main, BC30, feature)
- 2026-08-11 #10130 [ExpenseAgent] Expose VatSpecifications on Expense API Page (main, BC30, feature)
- 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: "page", object_name: "Expenses API"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.