Virtual Tables in Dynamics 365 CE: Real-Time Integration with FinOps Invoices
Ever wanted to show real-time financial data in Dynamics 365 CE without duplicating records or setting up complex sync jobs? That’s exactly what we achieved using Virtual Tables—connecting Finance & Operations (FinOps) with Customer Engagement (CE) to display invoice data directly inside Account records. Why Virtual Tables? No data duplication – data stays in FinOps Real-time access – always fresh Native UI experience in model-driven apps Less maintenance vs. custom sync/integration Use Case: Invoice Visibility from FinOps in CE Our goal was to embed invoice records under the Account form in Dynamics 365 CE using a subgrid. These records were to be fetched live from FinOps, using Virtual Tables backed by OData. Step-by-Step Implementation 1. Install Required Solutions Install the Virtual Entity Bridge for FinOps Ensure Dual-write core components are set up Coordinate with the FinOps team to expose OData feeds (like Invoice headers) 2. Configure Virtual Entity Data Source Go to Advanced Settings > Administration > Virtual Entity Data Sources Create a new data source of type OData v4 Data Provider Provide the endpoint URL from FinOps Use Service Principal authentication for security 3. Define the Virtual Table In Power Apps: Go to Solutions > New Table Tick Virtual Table checkbox Bind it to the OData source Define key fields (InvoiceID, CustomerNumber, etc.) Add columns like date, amount, status, etc. 4. Add Subgrid to the Account Form Use the Form Editor on Account entity to insert a subgrid linked to the virtual table. Filter it by customer number or related lookup. Configure appropriate views. What We Gained Sales teams could view invoice payment status in real-time Finance data remained secure in FinOps No duplication = no sync jobs = no reconciliation headaches Minimal performance impact when used on-demand Tips Use indexed fields in your OData queries Don’t overload subgrids with unnecessary columns Test access with non-admin users Apply security roles cautiously Conclusion If you're running both Dynamics 365 CE and FinOps, Virtual Tables are a game changer. They provide seamless access to external data with minimal setup and maximum control.

Ever wanted to show real-time financial data in Dynamics 365 CE without duplicating records or setting up complex sync jobs?
That’s exactly what we achieved using Virtual Tables—connecting Finance & Operations (FinOps) with Customer Engagement (CE) to display invoice data directly inside Account records.
Why Virtual Tables?
- No data duplication – data stays in FinOps
- Real-time access – always fresh
- Native UI experience in model-driven apps
- Less maintenance vs. custom sync/integration
Use Case: Invoice Visibility from FinOps in CE
Our goal was to embed invoice records under the Account form in Dynamics 365 CE using a subgrid. These records were to be fetched live from FinOps, using Virtual Tables backed by OData.
Step-by-Step Implementation
1. Install Required Solutions
- Install the Virtual Entity Bridge for FinOps
- Ensure Dual-write core components are set up
- Coordinate with the FinOps team to expose OData feeds (like Invoice headers)
2. Configure Virtual Entity Data Source
Go to Advanced Settings > Administration > Virtual Entity Data Sources
Create a new data source of type OData v4 Data Provider
- Provide the endpoint URL from FinOps
- Use Service Principal authentication for security
3. Define the Virtual Table
In Power Apps:
- Go to Solutions > New Table
- Tick Virtual Table checkbox
- Bind it to the OData source
- Define key fields (
InvoiceID
,CustomerNumber
, etc.) - Add columns like date, amount, status, etc.
4. Add Subgrid to the Account Form
Use the Form Editor on Account entity to insert a subgrid linked to the virtual table.
- Filter it by customer number or related lookup.
- Configure appropriate views.
What We Gained
- Sales teams could view invoice payment status in real-time
- Finance data remained secure in FinOps
- No duplication = no sync jobs = no reconciliation headaches
- Minimal performance impact when used on-demand
Tips
- Use indexed fields in your OData queries
- Don’t overload subgrids with unnecessary columns
- Test access with non-admin users
- Apply security roles cautiously
Conclusion
If you're running both Dynamics 365 CE and FinOps, Virtual Tables are a game changer. They provide seamless access to external data with minimal setup and maximum control.