DEV Community

Cover image for Virtual Tables in Dynamics 365 CE: Real-Time Integration with FinOps Invoices
Nikhil Sarpatwari
Nikhil Sarpatwari

Posted on

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.

Virtual Entity Subgrid


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.


Top comments (1)

Collapse
 
johnkegel profile image
John Kegel

Thank you for this. We are able to add virtual tables as subgrids on forms. You state above that "Filter it by customer number or related lookup" - this is not possible, a 1:N lookup is not possible.
How did you achieve filtering a virtual table subgrid on an account record by the account?