Skip to content

Getting Dynamics 365 Finance & Operations Data Into Snowflake

A practical guide to moving Microsoft Dynamics 365 Finance & Operations data into Snowflake and keeping it current. It covers why analysts want a warehouse copy instead of querying the ERP directly, how to read changes out of F&O through its OData data entities without tripping priority-based throttling, which entities to sync, and why a two-way sync beats a one-way batch export once you start modeling data you want back in F&O.

Author
Ruben Burdin · Founder & CEO
Published
July 21, 2026
Read time
9 min read
Getting Dynamics 365 Finance & Operations Data Into Snowflake
DATA ENGINEERING

Finance and operations data is only useful for analytics once it is out of the ERP and in a place you can query fast. Dynamics 365 F&O runs the business, but it is not where you want your BI tools hammering live queries against sales orders and the general ledger. The warehouse is. So the real question is how to get F&O data into Snowflake and keep it current, without a brittle nightly export.

This guide walks through it: what to sync, how to read changes out of F&O without tripping its throttling, and why a two-way sync rather than a one-way copy is worth setting up even when the warehouse feels read-only.

Sync Dynamics 365 F&O to Snowflake in three moves: connect both sides, map the entities, and sync both ways

The setup assumes a sync platform such as Stacksync between the two. If you want the platform view first, the Dynamics 365 connector and Snowflake connector pages cover the surface area; here we focus on the sync itself.

Why copy F&O into a warehouse at all

F&O is a transactional system. It is tuned for posting invoices and running supply-chain jobs, not for a finance team scanning twelve months of margin across every order line. Point a BI tool straight at it and you either slow the ERP down or hit its API limits, sometimes both. A warehouse copy gives analysts a fast, isolated place to query, join F&O data with data from other systems, and build models without touching production.

The catch is freshness. A warehouse is only as good as its last load, and finance questions like what did we invoice today need today's data, not last night's. That is why how you move the data matters as much as that you move it at all.

Getting the data across, in three moves

Moving F&O into Snowflake comes down to three steps: connect both sides, map the entities, and turn on the sync. The diagram below shows the path a single change takes from the ERP to the warehouse.

A pipeline from F&O to Snowflake: a change in F&O is captured by change tracking, mapped to Snowflake tables, conflicts resolved per field, and applied, with modeled data pushed back
One change, five steps: from an F&O edit to an updated Snowflake row, in seconds.

First, connect. Point the platform at the F&O OData data entities and your Snowflake warehouse, with credentials scoped to the objects you care about. Second, map. Match F&O entities to Snowflake tables, field by field, deciding types and keys. Third, sync. From then on a change in F&O is detected, mapped, and applied to Snowflake in seconds, and modeled values can flow back the other way.

What to sync out of F&O

Not everything in F&O belongs in the warehouse. Start with the entities your reporting actually uses, map each to a Snowflake table, and sync the fields that feed a report rather than every column in the entity.

  • Customers and vendors. Dimension tables that every downstream join hangs off.
  • Sales orders and order lines. For pipeline-to-revenue and fulfillment reporting.
  • Customer invoices and payments. For AR, DSO, and cash-flow analysis.
  • General ledger entries. For margin and financial reporting at the account level.
  • On-hand inventory. For stock and supply-chain dashboards.

Keeping the mapping tight has a second benefit: fewer fields means fewer requests, which keeps the sync comfortably under F&O throttling and keeps your Snowflake tables readable.

Why two-way, even for a warehouse

A warehouse feels like a read-only destination, so a one-way copy seems like enough. But the moment you model something useful in Snowflake, a credit score, a churn flag, a customer tier, you want it back in F&O where the operations team can act on it. That is the round-trip a two-way sync makes cheap.

A round-trip between Dynamics 365 F&O and Snowflake: F&O emits a change, the engine tags origin and detects fields, upserts the Snowflake row, and pushes a modeled value back to F&O
One round-trip: F&O to Snowflake and back, with origin tags stopping the write from looping.

The sequence is simple: F&O emits a change, the engine tags its origin and detects which fields moved, upserts the row in Snowflake, you model on top, and the engine pushes the modeled value back to F&O. Origin tracking is what keeps that write-back from bouncing around as a brand-new change. Without it, a two-way sync becomes an echo loop; with it, both sides stay clean. The same pattern powers the F&O and PostgreSQL pairing on the same engine.

Book a Stacksync demo: sync Dynamics 365 F&O customers, orders, and invoices into Snowflake in real time

Batch export vs real-time sync

Most F&O-to-warehouse setups start as a nightly Data Management Framework export. It works until someone asks for today's numbers. The table shows why a field-level real-time sync holds up where a batch job strains.

Nightly DMF exportReal-time two-way sync
FreshnessAs old as the last batchSeconds behind the change
Load on F&OFull pull, trips throttlingOnly changed fields, stays under limits
Write-back to F&ONot includedBuilt in, origin-aware
Failure handlingRe-run the whole jobBacks off on 429, retries
Schema driftSilent breakageMapped and monitored

A batch export is fine for a static monthly report; real-time sync is what the business runs on.

The batch approach is not wrong for a static monthly extract. But once the business runs on the numbers, real-time is the difference between a dashboard people trust and one they double-check in F&O anyway.

F&O data, query-ready and current

Getting Dynamics 365 F&O into Snowflake is not the hard part. Getting it there fresh, without straining the ERP, and with a path back for modeled data, is where the choice of tool shows. Connect both sides, map the entities that feed your reports, and run a field-level two-way sync so the warehouse and F&O never disagree.

Stacksync does exactly that: real-time change detection on the F&O data entities, field-level mapping into Snowflake, and an origin-aware write-back, all while honoring F&O throttling. To stream your own F&O data into Snowflake, book a demo.

Keep Snowflake and Dynamics 365 F&O in step with two-way sync

FAQ

Frequently asked questions

How do I sync Dynamics 365 F&O with Snowflake?
Connect a sync platform to the F&O OData data entities and to your Snowflake warehouse, map the entities you report on to Snowflake tables field by field, and turn on the sync. With Stacksync, a change to a sales order or invoice in F&O is detected, mapped, and applied to Snowflake within seconds, and modeled values can flow back to F&O. There are no export scripts to run and no nightly batch window to wait for.
Can I sync F&O to Snowflake in real time, or only in batches?
In real time. The Data Management Framework is built for batch export and is fine for a static monthly extract, but a field-level sync reads changes as they happen through change tracking on the data entities and applies them to Snowflake in seconds. That is the difference between a dashboard that shows today's invoices and one that shows last night's.
Which F&O entities should I sync to Snowflake?
Start with the entities your reporting actually uses: customers and vendors as dimensions, sales orders and order lines, customer invoices and payments, general ledger entries, and on-hand inventory. Each maps to a Snowflake table, and you sync the fields that feed a report rather than every column in the entity.
Does syncing F&O to Snowflake slow down the ERP?
Not if the sync is field-level. A full export pulls whole data packages and trips F&O priority-based throttling, which returns HTTP 429 with a Retry-After header. A field-level sync only moves what changed, so it stays well under the limits, and a good platform honors the Retry-After header and backs off automatically, so the ERP keeps running normally.
Can data flow back from Snowflake to F&O?
Yes, and that is the reason to run a two-way sync rather than a one-way copy. Once you model something useful in Snowflake, a credit score, a churn flag, a customer tier, the engine can push it back to F&O so the operations team acts on it there. Origin tracking keeps that write-back from bouncing around as a new change.
Do I still need the Data Management Framework?
For the initial backfill of history, a DMF export is still a reasonable way to seed Snowflake in bulk. After that, a real-time sync keeps the two in step incrementally, so you do not run a full DMF package every night just to stay current.

About the author

Ruben Burdin
Ruben Burdin
Founder & CEO

Ruben Burdin is the Founder and CEO of Stacksync, the first real-time and two-way sync for enterprise data at scale. Ruben is a Y Combinator alumni with a strong background in software engineering and business.

All posts by Ruben Burdin

About Stacksync

Stacksync powers real-time, two-way sync between CRMs, ERPs, and databases. Engineers sync data at scale and automate workflows, not dirty API plumbing.

Coworkers laughing in front of a laptop in a casual office setting

Your last integration took months.
Your next one takes a prompt.