manufacturing-cloud-setup

Use this skill when configuring Salesforce Manufacturing Cloud — including Sales Agreement setup, Account-Based Forecasting (ABF) recalc jobs, run-rate management, Rebate Management programs, channel inventory tracking via Channel Revenue Management, and Group Membership / OrderItem-to-SalesAgreement reconciliation. Triggers on: Manufacturing Cloud setup, Sales Agreement Salesforce, account-based forecast recalculation, run rate manufacturing, rebate program setup, channel revenue management. NOT for general Sales Cloud opportunity-to-order flow (use standard Opportunity / Order), NOT for Field Service install-base management (use FSL skills), NOT for Automotive Cloud dealer modeling (use automotive-cloud-setup).

Best use case

manufacturing-cloud-setup is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use this skill when configuring Salesforce Manufacturing Cloud — including Sales Agreement setup, Account-Based Forecasting (ABF) recalc jobs, run-rate management, Rebate Management programs, channel inventory tracking via Channel Revenue Management, and Group Membership / OrderItem-to-SalesAgreement reconciliation. Triggers on: Manufacturing Cloud setup, Sales Agreement Salesforce, account-based forecast recalculation, run rate manufacturing, rebate program setup, channel revenue management. NOT for general Sales Cloud opportunity-to-order flow (use standard Opportunity / Order), NOT for Field Service install-base management (use FSL skills), NOT for Automotive Cloud dealer modeling (use automotive-cloud-setup).

Teams using manufacturing-cloud-setup should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/manufacturing-cloud-setup/SKILL.md --create-dirs "https://raw.githubusercontent.com/PranavNagrecha/AwesomeSalesforceSkills/main/skills/integration/manufacturing-cloud-setup/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/manufacturing-cloud-setup/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How manufacturing-cloud-setup Compares

Feature / Agentmanufacturing-cloud-setupStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use this skill when configuring Salesforce Manufacturing Cloud — including Sales Agreement setup, Account-Based Forecasting (ABF) recalc jobs, run-rate management, Rebate Management programs, channel inventory tracking via Channel Revenue Management, and Group Membership / OrderItem-to-SalesAgreement reconciliation. Triggers on: Manufacturing Cloud setup, Sales Agreement Salesforce, account-based forecast recalculation, run rate manufacturing, rebate program setup, channel revenue management. NOT for general Sales Cloud opportunity-to-order flow (use standard Opportunity / Order), NOT for Field Service install-base management (use FSL skills), NOT for Automotive Cloud dealer modeling (use automotive-cloud-setup).

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Manufacturing Cloud Setup

This skill activates when a practitioner is configuring Manufacturing Cloud — the industry cloud that adds long-horizon Sales Agreements, account-based forecasting, run-rate planning, and rebate / channel-revenue management to Sales Cloud. It covers Sales Agreement structure, Account-Based Forecasting (ABF) recalc activation, run-rate vs. planned-quantity reconciliation, and Rebate / CRM module setup. It does NOT cover generic Sales Cloud opportunity-to-order flow, Field Service install-base, or Automotive Cloud dealer modeling.

---

## Before Starting

Gather this context before working in this domain:

- Confirm the org has the Manufacturing Cloud license — `SalesAgreement`, `SalesAgreementProduct`, `AccountProductForecast`, `RebateProgram`, and the Channel Revenue Management object family are gated behind that license.
- Identify whether actuals come from `Order` / `OrderItem` (the standard pattern) or from an external ERP feed (custom integration). The Sales Agreement actuals reconciliation strategy depends on this.
- Decide the Sales Agreement schedule frequency (Monthly / Quarterly / Yearly) and term length up front. Changing these after the agreement is activated is destructive.
- Map which DPE definitions need activation: ABF recalc, Sales Agreement actuals refresh, Rebate payout calculation. None of these run automatically.

---

## Core Concepts

### Sales Agreement: Long-Horizon Planned Demand

A `SalesAgreement` is a multi-period commitment between an account (a distributor, dealer, or wholesaler) and the manufacturer to purchase planned quantities of products over a fixed term — often 12–36 months. Unlike an Opportunity (point-in-time sale), a Sales Agreement breaks planned quantity / revenue into a schedule of periods (`SalesAgreementProductSchedule`).

Each `SalesAgreementProduct` represents one product within the agreement. Its planned quantity for each schedule period is the "planned" half of the planned-vs.-actual reporting.

The actual half comes from `Order` / `OrderItem` data: when an actual order is placed against the agreement, the `OrderItem.SalesAgreementId` lookup associates the actual with the agreement, and a recalc job aggregates the actuals into the corresponding schedule periods.

### Account-Based Forecasting (ABF)

ABF aggregates Sales Agreement schedules + open Opportunities + open Orders + actuals into a single per-account, per-product forecast: `AccountProductForecast`. Each forecast row holds planned quantity, planned revenue, actual quantity, and actual revenue per period.

The forecast is **recomputed by a DPE batch job**, not in real time. Without activating the recalc job, `AccountProductForecast` records grow stale and reports show last-recalc data — which leads to a common production bug: "the forecast doesn't match what I know is in the agreement."

### Run-Rate Management

Run-rate is the trailing-period average of actuals, used to detect when a customer is consuming below or above their committed schedule. Manufacturing Cloud computes run-rate as part of the ABF recalc and surfaces variance (planned − actual) on `AccountProductForecast`. Use this for early-warning alerts on under-consuming agreements.

### Rebate Management

`RebateProgram` defines the rebate structure: tiers (volume-based or revenue-based), payout cadence, eligible products, eligible accounts. `RebateProgramPayoutPeriod` defines a payout window. `ProgramRebatePayout` is the calculated payout per member-account per period.

Rebate payout calculation is **another DPE batch job** that must be activated. It pulls actuals from `Order` / `OrderItem`, applies tier logic, and writes `ProgramRebatePayout` rows.

### Channel Revenue Management (CRM module)

For OEMs that sell into a distribution channel (sell-in), then track ultimate consumer sales by the channel partner (sell-through), the Channel Revenue Management module provides:

- `ChannelProgram` / `ChannelProgramMember` for partner enrollment.
- `ChannelInventory` for partner stock levels.
- Integration with Rebate Management for sell-through-based rebates.

This is distinct from the base Sales Agreement / ABF flow — only configure if the OEM has a true two-step distribution model.

---

## Common Patterns

### Pattern 1: First-Time Sales Agreement Setup with ABF Activation

**When to use:** Net-new Manufacturing Cloud rollout.

**How it works:**

1. Define the Sales Agreement term and schedule frequency on the agreement record (e.g., 24 months, monthly schedule).
2. Add `SalesAgreementProduct` rows for each product in scope. Set planned quantity and planned revenue per period.
3. Activate the agreement (this creates the `SalesAgreementProductSchedule` rows).
4. In Setup → Data Processing Engine, locate the **Account-Based Forecasting recalculation** definition. Activate it and schedule it (typically nightly).
5. Run the recalc once manually after activation to backfill `AccountProductForecast`.
6. Wire `OrderItem.SalesAgreementId` population in your Order ingest path so actuals associate correctly.

**Why activate ABF explicitly:** ABF recalc is opt-in. Without activation, `AccountProductForecast` is empty and the executive dashboards show "no forecast data."

### Pattern 2: Actual-vs-Planned Reconciliation

**When to use:** "The Sales Agreement says we should be at 50K units this quarter but actuals show 30K — is the data wrong?"

**How it works:**

1. Verify the `OrderItem.SalesAgreementId` field is populated on the relevant orders. This is the linkage to the agreement.
2. Check the last successful run timestamp of the ABF recalc DPE job. If it's stale, the forecast data is stale by definition.
3. Confirm the schedule period alignment — Order date must fall within the schedule period for the actual to land in that period.
4. Re-run the recalc and re-check `AccountProductForecast`.

### Pattern 3: Rebate Program with Volume Tiers

**When to use:** OEM offers volume-based rebates to channel partners.

**How it works:**

1. Create a `RebateProgram` with payout cadence (typically quarterly).
2. Define rebate tiers: e.g., 0–10K units = 0%, 10K–50K units = 2%, 50K+ units = 4%.
3. Enroll member accounts via `RebateProgramMember`.
4. Activate the **Rebate Payout Calculation DPE definition** and schedule it to run after each payout period closes.
5. Verify `ProgramRebatePayout` rows are created with the correct tier applied.

---

## Decision Guidance

| Situation | Recommended Approach | Reason |
|---|---|---|
| Multi-period commitment to purchase | `SalesAgreement` + `SalesAgreementProduct` schedule | Purpose-built for multi-period planned demand; do not use Opportunity |
| Per-account forecast view spanning agreement + opps + orders | Activate ABF recalc DPE | `AccountProductForecast` is the only object that aggregates all four sources |
| Volume / revenue rebates to channel partners | `RebateProgram` + Rebate Payout DPE | Built-in tier engine; do not build custom rebate logic |
| OEM sells into distributors, distributors sell to consumers | Channel Revenue Management module | `ChannelInventory` + sell-through rebates require CRM module |
| One-shot point-in-time sale | Standard Opportunity / Order | Sales Agreement overhead not justified for single transactions |
| Forecast recalc cadence | Nightly DPE schedule for most orgs | Real-time recalc is not supported; near-real-time requires custom triggers (rare) |

---

## Recommended Workflow

1. Confirm Manufacturing Cloud license; verify standard objects appear in Object Manager.
2. Decide schedule frequency and term length per typical agreement before configuring (changes after activation are destructive).
3. Build the first Sales Agreement end-to-end (with `SalesAgreementProduct` rows and activation).
4. Activate the **Account-Based Forecasting recalculation** DPE definition; run once manually to backfill.
5. Wire `OrderItem.SalesAgreementId` population in the order ingest path.
6. For rebates: configure `RebateProgram` with tier structure, enroll members, activate the Rebate Payout DPE.
7. For channel-revenue-management: enable `ChannelProgram` only if the OEM has a true two-step distribution model.
8. Test end-to-end: agreement activation → order placement → ABF recalc → forecast accuracy → rebate payout.

---

## Review Checklist

- [ ] Sales Agreement schedule frequency / term decided before activation
- [ ] `SalesAgreementProductSchedule` rows present after activation (verifies activation succeeded)
- [ ] `OrderItem.SalesAgreementId` populated by Order ingest path
- [ ] ABF recalc DPE definition activated AND scheduled
- [ ] First ABF recalc run manually executed; `AccountProductForecast` populated
- [ ] Rebate Payout DPE definition activated (if rebates in scope)
- [ ] Channel Revenue Management module enabled ONLY if two-step distribution applies
- [ ] Run-rate variance dashboard built off `AccountProductForecast` (not custom rollup)

---

## Salesforce-Specific Gotchas

1. **ABF Recalc Is Not Automatic** — A net-new Manufacturing Cloud org has no DPE jobs running. `AccountProductForecast` will be empty until the Account-Based Forecasting recalc DPE definition is activated and scheduled. This is the single most common go-live failure mode.

2. **Schedule Frequency Cannot Be Changed Post-Activation Without Pain** — Changing a Sales Agreement from Monthly to Quarterly schedule after activation requires deactivating, deleting `SalesAgreementProductSchedule` rows, and reactivating. Plan the cadence carefully up front.

3. **`OrderItem.SalesAgreementId` Is Not Auto-Populated** — Even when an order is placed against an account that has an active Sales Agreement, the `SalesAgreementId` lookup is not automatically set. The Order ingest path (Apex, Flow, or external integration) must explicitly populate it, or actuals never reconcile to plan.

4. **Rebate Tier Boundaries Are Cumulative, Not Marginal** — Manufacturing Cloud's standard rebate calculation applies the highest qualifying tier to the entire volume, not marginal tiers. If a member buys 60K units in a 0–10K=0%, 10–50K=2%, 50K+=4% structure, they receive 4% on all 60K. Modeling marginal tiers requires custom logic.

5. **Channel Revenue Management Is Not Required for Simple Rebates** — Many practitioners enable CRM unnecessarily. Base Manufacturing Cloud Rebate Management handles direct-customer rebates fine. Only enable CRM when there's a true sell-in / sell-through distribution model with partner inventory tracking.

6. **`SalesAgreement` Permissions Are Granular** — End-user roles need specific permissions on `SalesAgreement`, `SalesAgreementProduct`, AND `SalesAgreementProductSchedule`. Granting only the parent does not cascade — the schedule rows stay invisible.

---

## Output Artifacts

| Artifact | Description |
|---|---|
| Sales Agreement design document | Schedule frequency, term, product mix, planned quantity source |
| ABF activation runbook | DPE definition activation steps, schedule cadence, manual-run verification |
| Rebate program blueprint | Tier structure, payout cadence, member enrollment, DPE activation |
| Order-to-agreement integration spec | OrderItem.SalesAgreementId population pattern in the ingest path |
| Forecast variance dashboard | Reports built off AccountProductForecast for run-rate alerts |

---

## Related Skills

- automotive-cloud-setup — for sibling industry-cloud setup patterns and shared Industries object behaviors (FinancialAccount, AccountAccountRelation)
- industries-cloud-selection — for the architect-level decision of whether Manufacturing Cloud is the right vertical fit
- loyalty-management-setup — for the related DPE-driven Industries pattern (DPE jobs are also opt-in there)

Related Skills

shield-kms-byok-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Configure Shield Platform Encryption with customer-supplied (BYOK) or customer-held (Cache-Only Key Service) tenant secrets, rotate them, and recover. NOT for Classic Encryption or field masking.

experience-cloud-security

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when configuring access controls, sharing, or site security for authenticated or guest Experience Cloud (community) users: external OWD, Sharing Sets, Share Groups, CSP, clickjack protection, guest user record access. NOT for internal sharing model configuration (use sharing-and-visibility).

headless-experience-cloud

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when building custom frontends (React, Vue, mobile, static sites) that consume Salesforce CMS content via the Connect REST API headless delivery endpoint. Triggers: 'headless Salesforce CMS', 'deliver CMS content to external frontend', 'React app Salesforce content API', 'custom frontend Experience Cloud data', 'CMS delivery channel API'. NOT for standard Experience Builder site development. NOT for CMS Connect (3rd-party CMS federation into Experience Builder). NOT for Experience Cloud LWC components rendered inside a site.

experience-cloud-search-customization

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when configuring or extending search on an Experience Cloud site — covering Search Manager scope configuration, LWR vs Aura search component selection, federated search setup, guest user search access, and custom search result components. NOT for SOSL/SOQL query development. NOT for internal Salesforce global search or Einstein Search for agents.

experience-cloud-multi-idp-sso

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when configuring multiple identity providers (OIDC and/or SAML) on a single Experience Cloud site or across tenant-specific portals in the same org — covering auth provider registration, Start SSO URL routing, Federation ID mapping, RegistrationHandler implementation, and simultaneous SP+IdP topology. Trigger keywords: multiple identity providers Experience Cloud, multi-tenant SSO community portal, vendor and citizen portal same site, OIDC SAML both on login page, tenant-specific login routing community. NOT for internal Salesforce employee SSO configuration. NOT for single auth provider setups — see experience-cloud-authentication for basic SSO.

experience-cloud-lwc-components

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when building custom LWC components for Experience Cloud (Experience Builder sites, LWR portals, Aura-based communities). Covers community context imports, guest user Apex access patterns, navigation API differences between LWR and Aura, and JS-meta.xml target configuration for Experience Builder exposure. NOT for internal LWC components deployed to Lightning App Builder or standard record pages (see lwc/lwc-development). NOT for Aura community components. Trigger keywords: build LWC for Experience Cloud, custom component community portal LWC, guest user LWC component, community context import salesforce, lightningCommunity target, @salesforce/community, guest Apex.

experience-cloud-authentication

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when building custom login pages, social SSO flows, self-registration flows, or passwordless OTP login for Experience Cloud (community) sites. Trigger keywords: custom login page Experience Cloud, social SSO community portal, passwordless login Experience Cloud, self-registration custom flow, headless authentication community, auth provider OIDC SAML site. NOT for internal SSO configuration (use identity/sso skills). NOT for standard username/password authentication with no customization.

experience-cloud-api-access

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when configuring or troubleshooting API access for Experience Cloud external users and guest users: guest user Apex data access, Customer Community Plus or Partner Community REST/SOAP API access, external user OAuth scopes, and sharing enforcement on API responses. Trigger keywords: Experience Cloud API access external user, community user REST API, guest user API limits, Customer Community API permissions, external user OAuth. NOT for internal Salesforce API authentication, non-community OAuth flows, or internal user API security.

slack-salesforce-integration-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when setting up or troubleshooting the Salesforce for Slack managed app — including connecting a Salesforce org to a Slack workspace, configuring the three-party admin handshake, linking Slack channels to Salesforce records, enabling record preview sharing, and managing org-level limits. Triggers on: Salesforce for Slack app not connecting, Slack org connection setup, Salesforce record sharing in Slack, Slack workspace admin approval, connecting Salesforce to Slack. NOT for building custom Slack apps or Slack bots (separate development platform), not for Slack Workflow Builder Salesforce connector (use slack-workflow-builder skill), not for Flow-based Slack messaging (use flow-for-slack skill).

salesforce-maps-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when configuring Salesforce Maps (formerly MapAnything) — territory planning, route optimization, live tracking, geo-grid visualizations, and check-in/check-out workflows for Sales or Service field reps not on Field Service. Covers package installation order (Maps + Maps Advanced + Maps Routing/Live Tracking add-ons), the MapsTerritoryPlan / MapsAdvancedRoute / MapsLayer object family, base-data syncs (Geocoding and Routing services), and integration with Sales and Service Cloud records. Triggers: 'Salesforce Maps setup', 'MapAnything migration', 'territory planning by polygon', 'route optimization for sales reps', 'live tracking field reps', 'plot accounts on a map', 'check-in to the closest account'. NOT for Field Service Lightning territory and scheduling (use admin/fsl-scheduling-optimization-design and data/fsl-territory-data-setup) — Maps and FSL are different products. NOT for Consumer Goods Cloud retail visit planning (use admin/consumer-goods-cloud-setup) — RoutePlan/Visit objects are CG-specific. NOT for Tableau / CRM Analytics geo charts.

private-connect-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Configure Private Connect between Salesforce and AWS/Azure for traffic to stay on private networks. NOT for standard internet callouts.

net-zero-cloud-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when configuring Salesforce Net Zero Cloud — including Scope 1/2/3 emission source modeling via the StnryAssetCrbnFtprnt / VehicleAssetCrbnFtprnt / Scope3CrbnFtprnt object families, emission factor library setup (EmssnFctr / EmssnFctrSet), DPE-driven carbon calculation jobs, supplier engagement scoring, and CSRD / ESRS / TCFD disclosure pack mapping. Triggers on: Net Zero Cloud setup, Sustainability Cloud carbon accounting, Scope 1 2 3 emissions Salesforce, emission factor library, supplier engagement Net Zero, ESG disclosure pack mapping. NOT for ESG content scoring (use Marketing Cloud), NOT for general financial reporting (use Accounting Subledger), NOT for energy-only utility billing (use Energy & Utilities Cloud).