Skip to content

Connecting Dynamics 365 Finance & Operations and Salesforce

A guide to connecting Salesforce and Microsoft Dynamics 365 Finance & Operations so sales and finance work from one customer record. It covers the gap where orders are rekeyed between CRM and ERP, how a two-way sync matches accounts to F&O customers, turns a closed opportunity into a sales order, and streams invoice and payment status back to Salesforce, with direction set per object on one engine.

Author
Ruben Burdin · Founder & CEO
Published
July 21, 2026
Read time
9 min read
Connecting Dynamics 365 Finance & Operations and Salesforce
REVOPS

Sales closes the deal in Salesforce. Finance fulfills and bills it in Dynamics 365 F&O. Between those two systems sits the order, and in most companies it gets across by someone rekeying it. That handoff is where revenue leaks: mistyped quantities, missed orders, and a sales team that has no idea whether a deal has actually been invoiced or paid.

Syncing Salesforce and F&O closes that gap. This guide covers what to connect, how a closed opportunity becomes an F&O sales order, and how invoice and payment status flows back to the CRM so sales and finance finally see the same customer.

Order-to-cash between Salesforce and Dynamics 365 F&O, stage by stage: pair the accounts, quote becomes order, order becomes invoice, and status flows back to the CRM

The setup assumes a two-way sync platform such as Stacksync between the CRM and the ERP. The Salesforce connector and Dynamics 365 connector pages cover the surface; here we focus on the order-to-cash flow.

The gap between the CRM and the ERP

Salesforce and F&O describe the same customers with different words. Salesforce has accounts, contacts, opportunities, and quotes. F&O has customers, sales orders, invoices, and payments. Nothing automatically connects an account to its customer record, so the two systems accumulate their own version of the truth, and the join happens in a spreadsheet at month-end.

The cost is not just the rekeying. It is that sales cannot see whether an order shipped, finance cannot see the pipeline that is about to land, and every question that spans the two, like what is this customer's open balance against their new order, needs a human to answer. A sync turns that into one shared record.

Disconnected vs synced

The difference between a disconnected CRM and ERP and a synced one is stark once you see it side by side.

Disconnected CRM and ERP versus a two-way sync: rekeyed orders, invisible invoice status, and duplicates versus automatic orders, live status, and one matched customer
Disconnected, the two systems argue at month-end; synced, they agree in real time.

Disconnected, reps rekey closed deals into F&O, invoice status is invisible in the CRM, duplicate accounts pile up, and month-end is a reconciliation project. Synced, a closed deal becomes an F&O order automatically, invoice and payment status live on the Salesforce account, each customer is one matched record rather than two copies, and finance and sales agree in real time.

How order-to-cash flows

Concretely, the sync runs the order-to-cash path between the two systems. A closed opportunity in Salesforce becomes a sales order in F&O; F&O confirms, ships, and invoices; and the invoice and payment status flow back to the account.

Salesforce and Dynamics 365 F&O connected through the Stacksync engine: closed opportunities create F&O sales orders, and invoice and payment status flow back to the account
One engine matches accounts, creates orders in F&O, and writes invoice status back to the CRM.

The engine in the middle matches each Salesforce account to its F&O customer so nothing is duplicated, tracks the origin of every change so writes do not loop, and resolves conflicts per field when both sides edit the same customer. Direction is set per object: opportunities and orders flow CRM-to-ERP, while invoice and payment status flow ERP-to-CRM, all on one engine.

Book a Stacksync demo: keep Salesforce and Dynamics 365 F&O in step across order-to-cash

Manual handoff vs two-way sync

The manual handoff is the default, and it is expensive in ways that do not show up on an invoice. The table lines the two up.

Manual handoffTwo-way sync
Closed deal to orderRekeyed by handCreated in F&O automatically
Account matchingDuplicates on both sidesMatched, one shared record
Invoice status in CRMNot visibleLive on the account
ErrorsMistyped quantities and pricesField-mapped and validated
Month-endReconciliation projectAlready reconciled

The handoff is free until you count the rekeying, the duplicates, and the month-end cleanup.

None of this requires sales to leave Salesforce or finance to leave F&O. Each team keeps working where they know, and the sync makes the two systems behave like one for the fields that matter. The same engine also keeps F&O and HubSpot in step for teams that run revenue in HubSpot.

One customer, seen by both teams

Connecting Dynamics 365 F&O and Salesforce is really about closing the gap where orders are rekeyed and status goes dark. Match the accounts, sync closed deals into F&O as orders, and stream invoice and payment status back, and sales and finance finally work from one customer record instead of two.

Stacksync runs that order-to-cash sync in real time, with account matching, field-level conflict resolution, and per-object direction between the CRM and the ERP. To connect your own Salesforce and F&O, book a demo.

Connect Dynamics 365 F&O and Salesforce with two-way sync

FAQ

Frequently asked questions

How do I sync Dynamics 365 F&O and Salesforce?
Connect both systems to a sync platform, match each Salesforce account to its F&O customer, and turn on a two-way sync with direction set per object. With Stacksync, a closed opportunity in Salesforce creates a sales order in F&O, and invoice and payment status flow back to the account in real time. Sales stay in Salesforce and finance stay in F&O; the sync keeps the shared fields consistent.
Does a closed opportunity in Salesforce create an order in F&O?
Yes. You map the opportunity or quote fields to the F&O sales order and order lines, so when a deal is marked closed-won, the engine creates the matching sales order in F&O automatically, with the customer already matched. That removes the rekeying step where mistyped quantities and prices usually creep in.
Can I see F&O invoice and payment status in Salesforce?
Yes, and it is one of the main reasons to run the sync. Once F&O posts an invoice or registers a payment, the engine writes that status back to the Salesforce account or opportunity, so sales can see whether a deal has been invoiced or paid without asking finance.
How does the sync match Salesforce accounts to F&O customers?
You define the match, by a shared key, an account number, or an external ID, so the engine updates the existing F&O customer instead of creating a duplicate. That record matching is what keeps the CRM and the ERP from doubling every account the first time the sync runs.
Is the sync one-way or two-way?
Two-way, with direction chosen per object. Opportunities and orders typically flow from Salesforce into F&O, while invoice and payment status flow from F&O back to Salesforce. Field-level conflict resolution settles the case where both sides edit the same customer, so neither system blindly overwrites the other.
Will this replace dual-write?
Dual-write links F&O to Dataverse, so it connects F&O to Dynamics 365 customer engagement apps, not to Salesforce. To sync F&O with Salesforce you need a platform that speaks to both, which is what an iPaaS provides. If you also run a Dynamics CRM, the same engine can sit alongside dual-write rather than replace it.

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.