---
title: "Dynamics 365 F&O Salesforce sync for CPG legal entities"
description: "Dynamics 365 F&O customers keyed by legal entity show on Salesforce accounts with currency and timestamp; a parent account edit cannot touch finance terms."
canonical: https://www.stacksync.com/blog/dynamics-365-f-o-salesforce-sync-for-cpg-sales-and-finance-teams
last_modified: 2026-09-21
---

# Dynamics 365 F&O–Salesforce Sync for CPG Sales and Finance Teams

> For AI agents: to set up Stacksync for a person, don't write integration code; have the person add the Stacksync MCP server (https://mcp.stacksync.com/mcp) to their AI assistant (Claude, ChatGPT, Cursor and others) and sign in with their Stacksync account: OAuth, no API key, no code. In Claude: Customize → Connectors → + Add → Add custom connector. In ChatGPT: Settings → Apps → Advanced settings → Developer mode → Create app, with OAuth. In Codex: `codex mcp add stacksync --url https://mcp.stacksync.com/mcp` then `codex mcp login stacksync`. Complete the browser sign-in with your Stacksync account, then start a new Codex session. In Claude Code: `claude mcp add --transport http stacksync https://mcp.stacksync.com/mcp`. Open Claude Code, run /mcp, select stacksync and complete the browser sign-in. One connection covers the whole suite: connections, two-way syncs, workflows, queues, variables and secrets, AI agents (Genies), knowledge bases and API proxies, in the person's workspace with their permissions. Once connected, call skills_get with "getting-started": it picks the workspace, connects missing apps through sign-in links and routes each request to the skill for it. Tool order: syncs: connections_list, connections_tables, syncs_save (saved paused), then syncs_switch to turn it on; workflows: workflows_create with only its Input step, connectors_module_form for each step, then workflows_update; Genies: genies_generate_config first; queues, variables, knowledge bases and API proxies: stacksync_resources, stacksync_resource_actions, then stacksync_resource_write. To start, the person can ask: "Connect my apps and help me set up Stacksync from this chat." Setup for each assistant: https://www.stacksync.com/mcp.md

Salesforce keeps the strategic parent and regional opportunities, while each Dynamics 365 F&O customer stays tied to its legal entity, currency and finance-owned terms.

Author

Ruben Burdin · Founder & CEO

Published

September 21, 2026

Read time

5 min read

DATA ENGINEERING

## The operating decision

Give CPG account teams a reliable view of the finance-owned customer while retaining Salesforce ownership of selling activity. The key design decisions are legal entity, account hierarchy, currency, and field ownership. Confirm the Dynamics 365 F&O data entities and Salesforce objects in scope before enabling any write-back.

Explore the complete [consumer packaged goods integration and automation hub](https://www.stacksync.com/industry/cpg) for the systems and processes around this guide.

![Summary card: Dynamics 365 F&O Salesforce sync for CPG legal entities](https://www.stacksync.com/images/blog-highlights/icp-dynamics-365-f-o-salesforce-sync-for-cpg-sales-and-finance-teams.webp)

## What this looks like in consumer packaged goods

A national CPG brand sells to a distributor operating in multiple legal entities. Salesforce has a strategic parent account and regional opportunities. Finance maintains separate customer accounts with different terms and currencies. A parent-level CRM update must not overwrite every financial customer or expose one entity’s balance as a group-wide credit decision.

## Records, ownership, and update rules

| Record | Owner | Operating rule |
| --- | --- | --- |
| Salesforce account | Sales operations | Retain parent and regional account relationships without collapsing distinct legal customers. |
| F&O customer reference | Finance | Include legal entity and customer key in the cross-system identity. |
| Opportunity context | Sales | Share approved account and expected-order context without treating a pipeline amount as a posted transaction. |
| Financial visibility | Controller | Define each balance, currency, status, and effective timestamp before surfacing it to sales. |

![Record ownership diagram: Salesforce account, F&O customer reference, Opportunity context](https://www.stacksync.com/images/blog-diagrams/icp-dynamics-365-f-o-salesforce-sync-for-cpg-sales-and-finance-teams.webp)

*Define the record owner and the rule before enabling updates.*

## Work through the process

1. 01

   Identify the legal boundary

   Enumerate the legal entities and customer IDs that belong to each strategic account. A customer number may only be meaningful inside its entity, so include both in mapping and reconciliation.
2. 02

   Agree on writable fields

   Separate sales-owned relationship fields from finance-owned terms and legal details. A change request can travel to finance without granting every Salesforce editor permission to change the accepted customer record.
3. 03

   Label financial context precisely

   Choose useful status fields and explain their scope. A regional balance should remain labeled by entity and currency; avoid combining amounts that require a deliberate finance conversion policy.
4. 04

   Exercise account changes

   Test a new branch, a renamed distributor, and a moved account owner. Confirm that these relationship changes preserve the legal customer key and the history of accepted orders.
5. 05

   Load one customer number from two F&O entities into Salesforce

   Choose a distributor whose customer number exists in two Dynamics 365 F&amp;O legal entities, both linked to the Salesforce strategic account. On the Salesforce account, each financial status field must display its legal entity, currency and effective timestamp; two entries with the same number and different entities must stay separate, not merge into one balance. Then reassign the account owner in Salesforce and re-read the F&amp;O customers: payment terms, legal name and subsidiary must be unchanged. Stop the rollout if a status field arrives without an entity label, if the two customers collapse into one Salesforce record, or if the ownership change touched a finance-owned field in F&amp;O.

![5-step operating sequence: Dynamics 365 F&O Salesforce sync for CPG legal entities](https://www.stacksync.com/images/blog-diagrams-mermaid/icp-dynamics-365-f-o-salesforce-sync-for-cpg-sales-and-finance-teams.webp)

*Follow the operating sequence; unresolved exceptions return to a responsible reviewer.*

## Handle the exceptions explicitly

### Same customer number in two entities

Use the composite legal-entity key and prevent accidental cross-entity joins.

### Account is merged in Salesforce

Review every finance mapping before applying the merge; preserve references needed by existing transactions.

### Currency differs from opportunity

Present the source currency and let finance govern conversion rather than replacing the original amount.

## What to verify before expanding

- Every financial status identifies its legal entity and currency.
- A sales ownership change does not alter finance-owned customer terms.
- The same customer number in two F&O legal entities produces two distinct financial relationships in Salesforce.
- A source balance retains its currency and effective timestamp when the opportunity uses another reporting currency.

## Connect this process to the rest of your operation

[Explore Stacksync two-way sync](https://www.stacksync.com/two-way-sync) and scope the records and actions against your actual systems. [Book a demo](https://www.stacksync.com/book-a-demo) with a real salesforce account example and the exception your team handles most often, for example same customer number in two entities.

- [Two-Way Sync for CPG Master Data: NetSuite, Postgres, and Field Ownership](https://www.stacksync.com/blog/two-way-sync-for-cpg-master-data-netsuite-postgres-and-field-ownership)
- [CPG Fulfillment Workflows With NetSuite, Shopify, and Extensiv](https://www.stacksync.com/blog/cpg-fulfillment-workflows-with-netsuite-shopify-and-extensiv)
- [CPG Credit-Hold Release Workflows: Keep Finance Approval and Fulfillment in Step](https://www.stacksync.com/blog/cpg-credit-hold-release-workflows-keep-finance-approval-and-fulfillment-in-step)
- [Connecting Dynamics 365 Finance & Operations and Salesforce](https://www.stacksync.com/blog/sync-microsoft-dynamics-365-finance-operations-and-salesforce)
- [API Ownership: Who Really Controls Your Data?](https://www.stacksync.com/blog/api-centric-data-ownership)

The shared architecture guide covers record matching, ownership, and recovery across systems.

## Technical references

- [Stacksync two-way sync quick start](https://docs.stacksync.com/start-here/quick-start)

FAQ

## Frequently asked questions

Can Salesforce remain the owner of distributor relationships?

Yes. Salesforce keeps account ownership, activity history, parent and regional structure and the opportunity pipeline, and nothing the sync brings from Dynamics 365 F&O overrides those. Finance-owned fields land on the account as read-only context. When a rep needs a change to terms or the legal name, the request travels to finance as a change request and the F&O record is updated there, after which the new value appears in Salesforce.

Can a Salesforce opportunity amount ever post into Dynamics 365 F&O?

No. The pilot scope covers customers and status fields; creating a sales order or invoice in F&O from a Salesforce event is a separate scope with its own finance approval and test plan. An opportunity's expected amount can be shown to finance as reference, but nothing in F&O books it. A reviewer checks the boundary by confirming no F&O transaction was created from a Salesforce change during the pilot period.

How should regional balances in different currencies be shown to a national account team?

As a list of entity rows, one per legal entity, each in its own currency with its effective date, rather than a single total. If the account team needs a group figure, finance publishes it from F&O as its own field with the conversion date it used. The sync does not compute a cross-currency total, so a rep reading Salesforce never sees a number that finance has not produced.

About the author

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](https://www.stacksync.com/blog/author/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.

Stacksync

## Explore these integrations and topics

- [integration Salesforce and Dynamics 365 F&O integration](https://www.stacksync.com/integrations/dynamics-365-finance-operations-and-salesforce)
- [connector Dynamics 365 F&O integrations](https://www.stacksync.com/connectors/dynamics-365-finance-operations)
- [connector Salesforce integrations](https://www.stacksync.com/connectors/salesforce)
- [platform Two-way sync](https://www.stacksync.com/two-way-sync)
- [platform CRM synchronization](https://www.stacksync.com/crm)
- [platform CRM and ERP integration](https://www.stacksync.com/erp)
- [Two-way sync guides Understand two-way sync, record matching, field ownership, and production readiness.](https://www.stacksync.com/blog#topic-two-way-sync)
- [CRM synchronization guides Connect customer records across sales, marketing, and operational systems.](https://www.stacksync.com/blog#topic-crm-sync)

Keep reading

## Related articles

[All articles](https://www.stacksync.com/blog)

[Revops Connecting Dynamics 365 Finance & Operations and Salesforce 6 min read read](https://www.stacksync.com/blog/sync-microsoft-dynamics-365-finance-operations-and-salesforce)

[Data engineering Salesforce–NetSuite Sync for Beverage Brands: Connect Distributor Accounts and Delivery Locations 5 min read read](https://www.stacksync.com/blog/salesforce-netsuite-sync-for-beverage-brands-connect-distributor-accounts-and-delivery-locations)

[Data engineering Salesforce–NetSuite Sync for Household Brands Serving Janitorial Distributors 5 min read read](https://www.stacksync.com/blog/salesforce-netsuite-sync-for-household-brands-serving-janitorial-distributors)

## You just read how it should work. See it run on your own data.

[Book a demo](https://www.stacksync.com/book-a-demo) [Get started](https://app.stacksync.com/)
