Free tools / Manufacturing Cloud test cases

What should a Salesforce Manufacturing Cloud test suite cover?

What should a Salesforce Manufacturing Cloud test suite cover?

What should a Salesforce Manufacturing Cloud test suite cover?

Start with the numbers your planners and finance team trust: sales agreement schedules, how actuals arrive, forecast recalculation, rebate tiers and what each distributor can see. Below are 43 test cases mapped to real Manufacturing Cloud (now Agentforce Manufacturing) objects, each with test data and a pass condition you check in the data, not on the screen.

43test cases with given, when, then
22P1 cases to run before every release
9processes, mapped to real objects
36cases asserted in the data, not the UI

filter // process

Showing 43 of 43
IDScenarioGivenWhenThen (check the data)
M-001
P1
End date from frequency and countSales agreements · UI + SOQLGivenDraft agreement, start 2027-01-01, Monthly, schedule count 12WhenSavedThenEnd date 2027-12-31; 12 SalesAgreementProductSchedule rows per product
M-002
P2
Quarterly schedulesSales agreements · SOQLGivenStart 2027-01-01, Quarterly, count 4WhenSavedThen4 schedules per product, starting Jan 1, Apr 1, Jul 1 and Oct 1; end 2027-12-31
M-003
P2
Weekly schedules across a year endSales agreements · SOQLGivenStart Monday 2027-01-04, Weekly, count 52WhenSavedThen52 schedules; the last runs 2027-12-27 to 2028-01-02
M-004
P1
Planned quantity that doesn’t divideSales agreements · SOQLGivenPlanned 1,000 units over 12 monthly schedulesWhenQuantities are spreadThenSchedules sum to exactly 1,000 (83 or 84 a month, by your rule), never 996 or 1,004
M-005
P1
Approved agreement activates on its start dateSales agreements · BatchGivenApproved agreement starting tomorrowWhenThe date arrives and the daily job runsThenStatus Activated without anyone editing it
M-006
P1
Agreement expires on its end dateSales agreements · BatchGivenActivated agreement ending todayWhenThe next daily job runsThenStatus Expired; no new actuals post to it
M-007
P2
Editing an approved agreementSales agreements · UIGivenApproved agreementWhenAccount manager sets it back to Draft and changes a quantityThenAllowed; re-approval required before activation; history shows the change
M-008
P2
Rejected agreements stay inactiveSales agreements · UIGivenAgreement rejected by sales opsWhenIts start date passesThenStatus stays Rejected; nothing activates
M-009
P1
Negotiated price is lockedSales agreements · SOQLGivenAgreement price $42.00; list price raised to $45.00 next quarterWhenPrice book changesThenRemaining schedules keep $42.00, unless your repricing rule says otherwise
M-010
P2
Agreement discountSales agreements · SOQLGiven1,000 units at $42.00 with a 5% discountWhenPlanned revenue calculatesThen$39,900.00
M-011
P2
Renewal by cloningSales agreements · UI + SOQLGiven2027 agreement with actualsWhenCloned for 2028ThenClonedFromAgreement set; new dates and schedules; actuals start at 0
M-012
P1
Category-level agreementSales agreements · SOQLGivenAgreement at category level “Brake pads”; orders for three pad SKUsWhenActuals calculateThenAll three roll into the Brake pads row by each product’s primary category
M-013
P1
Activated order counts in its monthActuals · SOQLGivenOrders mode; order effective 2027-02-14, 40 units, activatedWhenActuals recalculateThenFebruary actual +40; January unchanged
M-014
P1
Draft orders don’t countActuals · SOQLGivenOrder for 60 units still in DraftWhenActuals recalculateThenNo change until the order is activated
M-015
P1
Month end in local timeActuals · SOQLGivenOrder effective 2027-01-31, created at 23:30 by a user in America/ChicagoWhenActuals recalculateThenCounts in January, not February
M-016
P2
Product not on the agreementActuals · SOQLGivenOrder line for a SKU outside the agreementWhenActuals recalculateThenAdded to no agreement row, or to its category row if you work at category level
M-017
P1
Manual mode waits for the jobActuals · BatchGivenManual mode; ERP uploads actuals by API at 14:00WhenTest checks at 14:05, then after the daily jobThenNo change at 14:05; updated after the job. A test that only checks at 14:05 is wrong, not the system
M-018
P2
Refresh many agreements at onceActuals · BatchGiven30 active agreements with new ordersWhenRefresh Actuals Calculation runs from a flowThenAll 30 updated; no partial failures in the job log
M-019
P2
Returns reduce actualsActuals · SOQLGiven40 units ordered, 10 returnedWhenReturn booked your way (reduction order or return order)ThenNet actual 30
M-020
P2
Under-delivery alertActuals · UIGivenPlanned 100, actual 72 for MarchWhenMonth closesThen72% shown; account manager alerted below your 80% threshold
M-021
P1
Forecast matches the formulaAccount forecasting · SOQLGivenAgreement plan, open opportunities and orders for one account and productWhenForecast recalculatesThenAccountProductPeriodForecast for one sample period equals your formula worked by hand
M-022
P2
Won opportunity lands in future periodsAccount forecasting · SOQLGivenOpportunity closed won for May to July 2027WhenForecast recalculatesThenOnly May to July change; past periods untouched
M-023
P1
Adjustment windowAccount forecasting · UIGivenAdjustments allowed for 10 days after the period startsWhenPlanner adjusts on day 9, then on day 11ThenDay 9 saved as AccountForecastAdjustment; day 11 blocked
M-024
P2
Only adjusted fields are writableAccount forecasting · APIGivenIntegration user updates a forecast recordWhenIt writes the system-calculated quantityThenRejected; the adjusted quantity and revenue fields accept the update
M-025
P1
Rolling period moves forwardAccount forecasting · BatchGiven18-month rolling forecastWhenFirst job of a new month runsThenOldest month drops, a new month appears; overlapping months unchanged
M-026
P1
Volume: 60,000 period rowsAccount forecasting · BatchGivenOne distributor with 5,000 products × 12 periodsWhenForecast recalculatesThenAll 60,000 rows updated; no partial job; done inside your batch window
M-027
P2
CurrencyAccount forecasting · SOQLGivenAgreement in EUR, corporate currency USD, dated exchange rates onWhenForecast rolls upThenUSD values use each period’s rate, not today’s
M-028
P2
Target distribution sumsTargets and programs · SOQLGivenAcctMgrTarget of $1,200,000 for 2027WhenDistributed monthlyThen12 periods sum to exactly $1,200,000
M-029
P2
Program to component forecastTargets and programs · SOQLGivenManufacturingProgram: 50,000 vehicles, 4 units of the part per vehicleWhenProgram forecast generatesThenComponent forecast 200,000 units
M-030
P1
Retroactive versus incremental tiersRebates · SOQLGivenTiers: 0–9,999 units 0%, 10,000–24,999 2%, 25,000+ 3.5%; 30,000 units at $20WhenPayout calculatesThenRetroactive: $21,000. Incremental: $9,500 ($0 + $6,000 + $3,500). Check which one the contract says
M-031
P1
Tier boundaryRebates · SOQLGivenSame tiers; one customer at 24,999 units, one at 25,000WhenPayout calculatesThen24,999 earns the 2% tier; 25,000 earns 3.5%
M-032
P1
Late transaction after closeRebates · SOQLGivenQ1 payout approved; an order dated 2027-03-30 arrives on 2027-04-08WhenRebate recalculatesThenGoes down your adjustment path; the approved Q1 payout is not silently changed
M-033
P3
Large payout approvalRebates · UIGivenPayout of $14,800WhenSubmittedThenRouted to finance approval ($10,000 threshold in your policy)
M-034
P1
Distributors see only their ownPartners and channel · SecurityGivenTwo distributor partner usersWhenEach opens agreements and forecasts on the partner siteThenEach sees only their own account; a direct URL to the other’s agreement is denied
M-035
P2
Partner forecast submissionPartners and channel · UI + SOQLGivenDistributor submits next quarter’s forecastWhenChannel manager approvesThenApproved values flow into the account forecast; rejected ones don’t
M-036
P2
Duplicate deal registrationPartners and channel · UIGivenTwo partners register the same end customerWhenSecond registration submittedThenFlagged as a duplicate; the first keeps ownership
M-037
P1
Warranty end from the termAssets and warranty · SOQLGivenProductWarrantyTerm 24 months; asset installed 2027-03-15WhenAsset is createdThenAssetWarranty ends 2029-03-15 (or 2029-03-14, by your inclusive rule)
M-038
P2
Leap-day installAssets and warranty · SOQLGivenAsset installed 2028-02-29; 24-month termWhenWarranty is createdThenA real end date (2030-02-28 or 2030-03-01 by your rule), never an error
M-039
P1
Claim on the last covered dayAssets and warranty · UI + SOQLGivenWarranty ends 2029-03-15WhenClaims for failures on 2029-03-15 and 2029-03-16ThenFirst covered, second not
M-040
P2
Labor exclusionAssets and warranty · SOQLGivenWarrantyTermCoverage covers parts onlyWhenClaim has a part line and a labor lineThenPart paid; labor rejected with a reason
M-041
P1
Recall serial rangeRecalls and service codes · SOQLGivenRecall for serials 1000–1499WhenProductServiceCampaign items generateThenExactly 500 items; serials 999 and 1500 not included
M-042
P2
Labor time cappedRecalls and service codes · SOQLGivenFault code linked to a labor code with a 1.5-hour standard timeWhenTechnician claims 2.5 hoursThenClaim pays 1.5 hours or routes for approval
M-043
P1
ERP batch replayERP integration · IntegrationGivenNightly ERP batch of 3,400 order lines already processedWhenThe same batch is replayedThenNo duplicate orders; actuals unchanged

Values are examples. Rules are US federal requirements as we read them on November 7, 2026; state law, contracts and your SOPs may be stricter. Swap in your own numbers before you run the suite.

// the numbers //

Numbers your tests must enforce

Numbers your tests must enforce

7 agreement statuses

Draft, Approved, Activated, Expired, Cancelled, Rejected and UnderRevision. Approved agreements activate on their start date and expire on their end date with no user action.

5 schedule frequencies

Weekly, Monthly, Quarterly, Yearly and One-time. Start date, frequency and schedule count set the end date. Check the schedule rows, not only the header.

2 actuals modes

Automatically from direct orders, or uploaded through the API. With uploads, a daily scheduled job refreshes actuals, so a check five minutes later is too early.

Draft orders only

Order products can be added only while an order is in Draft. Actual quantities count from the order’s effective date once it is activated.

1 day either side

Warranty end dates, recall serial ranges and rebate tiers are off-by-one tests. Write the day or unit before, at and after every boundary.

60,000 rows

One distributor with 5,000 products on a 12-period forecast is 60,000 period rows per recalculation. Test the volume you will run, not one account.

Where these come from

Statuses, frequencies, actuals modes and order rules are from Salesforce’s Manufacturing Cloud developer guide and Trailhead as of November 7, 2026. Thresholds marked “your policy” in the cases are examples; swap in your contract terms.

// object map //

Which objects each process touches

Which objects each process touches

ProcessObjects and APIs to checkWhat usually breaks
ProcessSales agreements12 cases · 6 P1 · M-001 to M-012Objects and APIsSalesAgreementSalesAgreementProductSalesAgreementProductScheduleSalesAgreeProductAttributeWhat usually breaksEnd dates and schedule counts; planned quantities that don’t divide evenly.
ProcessActuals8 cases · 4 P1 · M-013 to M-020Objects and APIsOrderOrderItemSalesAgreementProductSchedule actualsRefresh Actuals Calculation actionWhat usually breaksTesting Orders mode when production uploads actuals; checking before the daily job runs.
ProcessAccount forecasting7 cases · 4 P1 · M-021 to M-027Objects and APIsAccountForecastAccountProductForecastAccountProductPeriodForecastAccountForecastAdjustmentAdvAccountForecastSetAdvAccountForecastFactWhat usually breaksPeriod boundaries, time zones and volume.
ProcessTargets and programs2 cases · 0 P1 · M-028 to M-029Objects and APIsAcctMgrTargetAcctMgrPeriodicTargetDstrManufacturingProgramMfgProgramCpntFrcstFactWhat usually breaksDistributions that don’t sum to the annual target.
ProcessRebates4 cases · 3 P1 · M-030 to M-033Objects and APIsrebate programs, tiers, transactions and payoutsWhat usually breaksTier boundaries; retroactive versus incremental tiers; late transactions after close.
ProcessPartners and channel3 cases · 1 P1 · M-034 to M-036Objects and APIsExperience Cloud partner siteManufacturing Sales Agreements For CommunityLeadWhat usually breaksPartner users never logged in; one distributor seeing another’s data.
ProcessAssets and warranty4 cases · 2 P1 · M-037 to M-040Objects and APIsAssetAssetWarrantyProductWarrantyTermWarrantyTermWarrantyTermCoverageClaimClaimItemClaimCoverageWhat usually breaksWarranty end dates off by a day; coverage exclusions ignored.
ProcessRecalls and service codes2 cases · 1 P1 · M-041 to M-042Objects and APIsProductServiceCampaignProductServiceCampaignItemProductFaultCodeProductLaborCodeCodesetRelationshipWhat usually breaksSerial ranges off by one; labor time not capped.
ProcessERP integration1 case · 1 P1 · M-043Objects and APIsOrderactuals upload APIexternal IDsWhat usually breaksReplayed batches double the actuals.

// field notes //

Seven ways Manufacturing Cloud tests pass and still miss the bug

Seven ways Manufacturing Cloud tests pass and still miss the bug

01

Testing the wrong actuals mode

If production uploads actuals from ERP and the sandbox calculates them from orders, every actuals test passes for the wrong reason. Copy the setting first.

02

Checking before the job runs

Activation, expiry, uploaded actuals and forecast recalculation run as scheduled jobs. Tests that assert straight after the click fail at random. Trigger the job, wait, then check.

03

Month ends in UTC

An order created at 23:30 in Chicago on January 31 is February in UTC. Put a test on every month boundary for every time zone you sell in.

04

Planned quantities that don’t divide

1,000 units over 12 months is not 83.33 each. Assert that the schedules sum to the agreement total, to the unit.

05

One account, five products

A recalculation that is fine for one account can time out at 60,000 rows. Run at least one test at production volume.

06

Partners never logged in

Internal users test the partner site as admins. Log in as two different distributors and try to open each other’s agreements.

07

Renamed cloud, two forecasting models

Manufacturing Cloud is now Agentforce Manufacturing, and account forecasting comes in a standard and an advanced model with different objects. Know which one your org runs before you write a query.

// test data //

The test data that finds these bugs

The test data that finds these bugs

Manufacturing Cloud defects hide at boundaries: the order at 23:30 on the last day of the month, the 25,000th unit, the leap-day install, the distributor who shouldn’t see a competitor’s agreement. Build these sets once and reuse them every release.

Data setMinimumWhat to include
Data setAccountsMinimum10What to include2 distributors with partner users, 1 key account in EUR, 1 account with 5,000 products
Data setAgreementsMinimum9What to includeEach schedule frequency, uneven planned quantities, a category-level agreement, one rejected, one under revision
Data setOrdersMinimum24What to includeDraft and activated; month end at 23:30 in three time zones; a return; a SKU outside the agreement
Data setRebate volumesMinimum4What to include24,999, 25,000 and 30,000 units; one late transaction after the period closes
Data setAssetsMinimum6What to includeNormal install, leap-day install, last covered day, recall serials 999, 1000, 1499 and 1500
Data setUsersMinimum6 profilesWhat to includeAccount manager, sales ops approver, demand planner, channel manager, two distributor partner users. Never an admin.
Assert the sums, sample the periods

Advanced forecasting multiplies fast: 5,000 products × 12 periods × 3 measures (quantity, revenue, adjustment) is 180,000 values for one distributor. Nobody should click through that. Assert totals with SOQL, work two or three periods by hand as the oracle, and keep the UI tests for the planner’s screens.

// questions //

Questions about testing Manufacturing Cloud

What should I test first in Manufacturing Cloud?

Sales agreement dates and schedules, how actuals are calculated, forecast recalculation and what partner users can see. They carry revenue and demand plans, so they are the P1 cases on this page.

Is Manufacturing Cloud now Agentforce Manufacturing?

Yes. Salesforce now calls Manufacturing Cloud Agentforce Manufacturing. Objects such as SalesAgreement and AccountProductPeriodForecast keep their API names, so the test cases still apply.

Why do my sales agreement actuals tests fail at random?

Usually timing. With uploaded actuals, a daily job refreshes them; activation and expiry are date driven; forecasts recalculate in batch. Trigger the job or wait for it, then assert.

How do I test rebate tiers?

Test the volume just below a tier, exactly at it and well above it, and confirm whether the program pays retroactively on all volume or only on the volume inside each tier. On 30,000 units at $20, the two differ by $11,500.

How much data do Manufacturing Cloud tests need?

Small sets for logic, plus one run at production volume. A distributor with 5,000 products on a 12-period forecast is 60,000 period rows per recalculation.

Can TestZeus run these Manufacturing Cloud test cases?

Yes. Import the cases in plain English or Gherkin, run them as account managers and partner users, and check schedules, actuals and forecasts with SOQL and API calls. Runs scale out in parallel for volume suites.

// next step //

Run these cases on your own sandbox

Bring your ten most important cases. We will run them on your sandbox as account managers and partner users, check schedules, actuals and forecasts, and walk you through the report.

// Start testing //

balance cost, quality and deadlines with TestZeus' Agents.

balance cost, quality and deadlines with TestZeus' Agents.