Architectural Overview
In retail banking, wealth management, and insurance architectures built on Salesforce Financial Services Cloud (FSC), tracking how physical or virtual branches (BranchUnit), bankers (BranchUnitBusinessMember), and customers (BranchUnitCustomer) interact is essential for attribution and regional compliance. The BranchManagementSettings metadata type controls the org-wide behavior of the Branch Management data model and its automated record association engine.
Architecturally, deploying BranchManagementSettings enables the platform’s branch attribution rules (AssociationCriteria), ensuring that when a banker working in a specific branch creates or updates an Account or onboarding record, Salesforce automatically stamps the corresponding BranchUnitCustomer junction without requiring custom Apex triggers.
SFDX Directory & File Suffix
| Property | Value |
|---|---|
| Metadata Type Name | BranchManagementSettings |
| Classic Directory | settings/ |
| Classic File Suffix | .settings (BranchManagement.settings) |
| SFDX Source Directory | force-app/main/default/settings/ |
| SFDX File Suffix | .settings-meta.xml (BranchManagement.settings-meta.xml) |
Key Metadata Fields
The BranchManagementSettings metadata type exposes the following org-wide configuration flags:
| Field Name | Field Type | Required | Architectural Description |
|---|---|---|---|
associateAccountWithBranch |
boolean |
No | Automatically associates newly created or updated Account records with the current user’s active BranchUnit via BranchUnitCustomer records (true or false). |
Note
Standard objects supporting Branch Management (BranchUnit, BranchUnitBusinessMember, BranchUnitCustomer, and BranchUnitRelatedRecord) become accessible in SOQL and Setup once the Branch Management feature license and permission sets are enabled in the org.
Declarative XML & package.xml Examples
SFDX Source File Example
<?xml version="1.0" encoding="UTF-8"?>
<BranchManagementSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<associateAccountWithBranch>true</associateAccountWithBranch>
</BranchManagementSettings>Package Manifest (package.xml)
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>BranchManagement</members>
<name>Settings</name>
</types>
<version>68.0</version>
</Package>SFDX CLI & SOQL Auditing Commands
Use the Salesforce CLI to retrieve and deploy BranchManagementSettings:
# Retrieve BranchManagementSettings from an FSC org
sf project retrieve start --metadata Settings:BranchManagement
# Deploy BranchManagementSettings to a target environment
sf project deploy start --metadata Settings:BranchManagementOnce Branch Management is enabled, you can query active branches and their operating hours using SOQL:
SELECT Id, Name, BranchCode, IsActive, OperatingHoursId, ParentBranchUnitId
FROM BranchUnit
WHERE IsActive = true
ORDER BY Name ASCSenior Architect Best Practices & Gotchas
- Scratch Org Feature Requirement: In CI/CD pipelines using scratch orgs, you must include
"FinancialServicesCommunity"or"BranchManagement"in the"features"list ofproject-scratch-def.jsonbefore deployingBranchManagement.settings-meta.xml. - High-Volume Data Load Impact: When
associateAccountWithBranchis set totrue, bulk data loads executed by a user assigned to aBranchUnitwill automatically generateBranchUnitCustomerrecords. Always run bulk ETL data migrations under a dedicated integration user that is not assigned as aBranchUnitBusinessMemberto avoid unintended branch associations and row lock contention. - Sharing Model Alignment:
BranchUnithas its own Organization-Wide Default sharing model (CustomObject:BranchUnit). Review CustomObject sharing settings alongsideBranchManagementSettingsso regional branch managers only view performance metrics for their hierarchy.
Frequently asked questions
What does BranchManagementSettings control in Salesforce?
It configures Financial Services Cloud Branch Management capabilities, controlling whether records such as Accounts are automatically associated with branches based on assignment rules.
Where is BranchManagementSettings stored in SFDX source format?
It is stored in force-app/main/default/settings/BranchManagement.settings-meta.xml in SFDX source format.
What license is required to deploy BranchManagementSettings?
Your org must have Financial Services Cloud (FSC) or the Branch Management add-on license provisioned, otherwise deploying BranchManagementSettings fails.
How do I retrieve BranchManagementSettings in package.xml?
Include a Settings type block with BranchManagement listed inside the members tag.
Comments
Questions, corrections and tips are welcome. Comments are GitHub Discussions, so you sign in with GitHub.