Resources

Salesforce Org Health for Manufacturers

What 3-to-10-year-old orgs break first — and the 10-minute check for each one.

Manufacturers running Salesforce for 3 to 10 years hit the same 5 failures, in roughly this order: the dealer account hierarchy stops matching the real distribution network, the ERP integration flow fires on every save instead of the field that changed, Experience Cloud partner portal permissions get patched one dealer at a time, Field Service configuration never makes it past the plant that piloted it, and CPQ keeps quoting SKUs the company stopped making. Each one has a 10-minute check you can run yourself. A BuildForce health check runs all of them, plus 200 more, in about 60 seconds.

Why this list exists right now

This week's public job postings show manufacturers with 200 to 5,000 employees — industrial machinery, appliances and electrical equipment, heavy machinery, telecom cable, and automotive suppliers — hiring Salesforce admins, business analysts, and platform leads. Different companies, same job description underneath: Service Cloud and an Experience Cloud partner portal that need attention, an ERP integration to SAP or Oracle that fires on every record save, a dealer or distributor account hierarchy nobody has touched since the last reseller tier was bolted on by hand, Field Service objects, and CPQ.

That pattern is admin turnover meeting config debt. The person who built the integration or set up the partner portal left, the next person inherited it without documentation, and the org kept running on whatever that first person got right — plus everything they didn't have time to finish. Below is what breaks first, in the order it usually shows up.

The 5 things that break first

1

The dealer network outgrew the account hierarchy

Symptom: The parent-child Account structure was built for the distribution network that existed when the org launched. Every dealer, reseller, or regional distributor added since then got created as a flat Account instead of slotted into the hierarchy, because nobody remembered why the hierarchy mattered or had time to do it right.

What it costs: Roll-up reports stop rolling up. Revenue by region or by distribution tier undercounts the moment a new dealer isn't linked to its parent, and sales ops rebuilds the real numbers in a spreadsheet every quarter because the report in Salesforce can't be trusted.

10-minute check: Query Accounts with a Dealer or Distributor record type where ParentId is null, then compare that count to how many of those accounts should actually report up to a regional or tier parent.

2

The ERP integration flow fires on every save, not the field that changed

Symptom: A Flow built to keep SAP or Oracle in sync triggers on every update to Account or Opportunity, not on the specific fields the ERP integration actually cares about. It was built that way because narrowing the trigger condition takes more testing time than the original project had.

What it costs: Every edit round-trips to the ERP, including a typo fix on a phone number. On a plant running a few hundred reps, that's thousands of extra calls a day pushing the org toward its daily API limit, plus the save-lag reps complain about but nobody's traced back to the integration.

10-minute check: Open Setup > API usage and compare daily call volume against the flow's last-modified date, then open the flow and check whether it's scoped with an isChanged() condition on the ERP-relevant fields or just fires on every save.

3

Partner portal permissions were patched one dealer at a time

Symptom: The Experience Cloud dealer or distributor portal picked up one-off permission changes over the years — "just let this distributor see pricing" — that were never standardized or rolled back once the request that prompted them was forgotten.

What it costs: A dealer's portal login can end up surfacing another dealer's quotes, pricing, or open opportunities. That's a channel-conflict problem, and it shows up first as a support ticket and, if it's bad enough, as a lost account.

10-minute check: Pull every permission set assigned to a Partner or Customer Community license user and diff it against the org's baseline dealer profile. Anything extra on one user and not the others is a patch someone forgot to document.

4

Field Service was piloted at one plant and never came back for the rest

Symptom: WorkOrder, ServiceAppointment, and ServiceTerritory were configured for the plant that piloted Field Service Lightning. Every plant onboarded since got a custom object that copies the same fields under a different name, because extending FSL org-wide was never scheduled as its own project.

What it costs: The scheduling optimization the company paid for only touches technicians at one location. Every other plant dispatches from a spreadsheet or a homegrown object that doesn't report alongside the plant that's actually using Field Service.

10-minute check: Count active Service Territories against the number of physical plants or service regions the company runs. If those numbers don't match, Field Service never left its pilot.

5

CPQ is still quoting SKUs the company stopped making

Symptom: The product catalog carries active Product2 records for parts that were discontinued, often from a price book built before the last acquisition or restructuring and never cleaned up afterward.

What it costs: Quotes go out with the wrong price or a part number that doesn't exist anymore. Sales ops catches most of it manually before the order desk does, and quote turnaround slows down every time someone has to chase the correction.

10-minute check: Query Product2 where IsActive equals true and the record has zero OpportunityLineItem entries in the trailing 12 months. Anything that comes back is either genuinely dormant or should have been deactivated.

What a health check finds in 60 seconds

Running the 5 checks above by hand takes an afternoon per org. A BuildForce health check runs the same categories, plus 200 more, in about 60 seconds — no SOQL required.

Unused fields

Custom fields with no data across records that are still sitting on active page layouts — the flat-Account fields from the dealer migration that never got backfilled, or the CPQ fields left over from the last price book cleanup.

Automation density per object

How many flows, triggers, and process builders fire on a single object, and whether any of them lack a field-level condition — exactly the pattern behind an ERP sync flow that fires on every save instead of the fields that changed.

Permission sprawl

How many permission sets exist, how many are clones of a clone, and which ones are assigned to Partner or Customer Community licenses with no matching baseline profile — the dealer-by-dealer portal patches from the second finding above.

Integration users

Every API-only or integration user in the org, when it last authenticated, and what it's connected to — including the account driving the SAP or Oracle sync, so a stalled or over-privileged integration user doesn't sit unnoticed.

Deprecated auth flows

Connected Apps still running the username-password OAuth flow, or a connection still authenticating with the SOAP login() call Salesforce is retiring — both common on integrations set up years ago and never revisited.

Related reading

See what's actually breaking in your org

Answer a few questions about your setup and run a free health check — no account, no SOQL, no per-org fee.

Run Free Health Check