Free tools / Financial Services Cloud test cases
Start where money moves, a regulator sets a clock, or a sharing rule decides who sees a client: household rollups, KYC and beneficial ownership, card disputes, lending decisions, Compliant Data Sharing, and policy and claim math for insurers. Below are 47 test cases mapped to real Financial Services Cloud (now Agentforce Financial Services) objects, each with test data and a pass condition you check in the data, not on the screen.
filter // process
| ID | Scenario | Given | When | Then (check the data) |
|---|---|---|---|---|
| F-001 P1 | Joint account counted once | GivenHousehold of two. Member A: checking $12,000 (sole). A and B: joint savings $8,000 | WhenHousehold totals recalculate | ThenHousehold deposits = $20,000, not $28,000 |
| F-002 P2 | New member updates the totals | GivenHousehold above; member C joins with a $5,000 CD | WhenC is added and totals recalculate | ThenHousehold total $25,000; C’s accounts show on the household |
| F-003 P2 | Splitting a household | GivenCouple separates; the joint savings stays joint | WhenB moves to a new household | ThenBoth households show the joint account under the rollup rule you chose; no account loses its owner |
| F-004 P1 | One primary owner per account | GivenChecking account with A as primary owner | WhenB is set as primary | ThenA becomes joint or is removed per your rule; exactly 1 primary owner role on the account |
| F-005 P3 | Business hierarchy | GivenParent company with two subsidiaries | WhenRelationships are created | ThenAccountAccountRelation shows the parent and subsidiary roles from both sides |
| F-006 P2 | Deceased client handling | GivenClient marked deceased on 2026-11-02 | WhenMarketing and annual review jobs run | ThenNo campaigns or review tasks for the client; estate case opened; accounts flagged |
| F-007 P1 | Replayed feed changes nothing | GivenCore banking file of 1,250 transactions already loaded | WhenThe same file is loaded again | ThenFinancialAccountTransaction count and balances unchanged |
| F-008 P2 | Balance lands on the right date | GivenBalances posted 2026-11-30 at 23:00 ET (2026-12-01 04:00 UTC) | WhenStatement-date logic runs in a UTC job | ThenBalance stored for 2026-11-30, not 2026-12-01 |
| F-009 P1 | Clean onboarding | GivenIndividual applicant with matching ID and address | WhenIdentity verification and screening run | ThenPartyIdentityVerification verified; screening clear; account opened and linked to the applicant |
| F-010 P1 | Identity mismatch holds the application | GivenDate of birth differs from the ID document by one day | WhenVerification runs | ThenVerification fails; application on hold; no FinancialAccount created |
| F-011 P1 | Possible sanctions match | GivenScreening stub returns a potential match | WhenScreening completes | ThenPartyScreeningSummary flagged; compliance case opened; applicant sees a neutral “under review” message |
| F-012 P1 | The 25% ownership boundary31 CFR 1010.230 | GivenLLC owned 30% / 25% / 24% / 21% | WhenBeneficial ownership is collected | ThenOwners at 30% and 25% plus one control person required; the 24% owner optional |
| F-013 P2 | Nobody owns 25% | GivenLLC with five owners at 20% each | WhenBeneficial ownership is collected | ThenOnly the control person is required |
| F-014 P2 | Existing entity opens a second accountFIN-2026-R001 | GivenLegal entity onboarded in 2025; no risk change | WhenIt opens a new account in 2026 | ThenNo forced re-collection of beneficial owners unless your policy or a risk trigger needs it |
| F-015 P1 | High risk triggers enhanced due diligence | GivenApplicant is a politically exposed person | WhenRisk rating runs | ThenPartyProfileRisk High; EDD tasks created; next review date set to your EDD cycle |
| F-016 P2 | Missing document blocks submission | GivenChecklist needs ID and proof of address; only ID uploaded | WhenBanker submits | ThenBlocked; the proof-of-address DocumentChecklistItem stays open |
| F-017 P1 | Debt-to-income at the edge | GivenMonthly debts $2,450; gross monthly income $7,000 | WhenDTI calculates | Then35.00%. With debts of $2,449: 34.99%. A 35% cutoff must treat these two differently |
| F-018 P1 | Credit score cutoff | GivenProduct minimum 620; applicants at 619, 620 and 621 | WhenProducts are offered | Then619 not offered; 620 and 621 offered |
| F-019 P1 | Adverse action on timeReg B, 12 CFR 1002.9 | GivenCompleted application received 2026-11-02, then declined | WhenDecline is recorded | ThenAdverse action notice with principal reasons generated, due by 2026-12-02 |
| F-020 P2 | Incomplete application | GivenIncome documents missing for 10 days | WhenIncompleteness check runs | ThenNotice of incompleteness generated per your Reg B procedure |
| F-021 P2 | Co-applicant removed | GivenJoint application | WhenCo-applicant removed before submission | ThenTheir income, debts and consents leave the application; DTI recalculates |
| F-022 P2 | Declined files are keptReg B, 12 CFR 1002.12 | GivenDeclined application, notice sent 2025-01-10 | WhenPurge job runs on 2026-11-07 | ThenApplication still present; earliest purge 25 months after the notice |
| F-023 P3 | Rate lock about to expire | Given45-day rate lock set 2026-11-01 (expires 2026-12-16) | WhenLoan not closed by 2026-12-11 | ThenLoan officer alerted 5 days before expiry, per your policy |
| F-024 P1 | Ten-business-day investigation clockReg E, 12 CFR 1005.11 | GivenDebit card dispute received Monday 2027-03-01 | WhenDispute is logged | ThenInvestigation due Monday 2027-03-15 (10 business days); extended limit 2027-04-15 (45 days) |
| F-025 P1 | Provisional credit when the clock runs outReg E, 12 CFR 1005.11 | GivenSame dispute, still open on day 10 | WhenDay-10 job runs | ThenDisputed amount credited by 2027-03-15; customer told within 2 business days; funds usable |
| F-026 P2 | New account gets 20 and 90Reg E, 12 CFR 1005.11 | GivenFirst deposit on 2027-02-20; dispute on 2027-03-01 | WhenDispute is logged | Then20-business-day and 90-day clocks apply, not 10 and 45 |
| F-027 P1 | No error foundReg E, 12 CFR 1005.11 | GivenInvestigation finds no error on day 30 | WhenResult recorded | ThenResults sent within 3 business days; provisional credit reversed only with the required notice |
| F-028 P2 | Three transactions, three items | GivenOne dispute covering three card transactions | WhenTwo charged back, one denied | ThenThree DisputeItem records with separate outcomes; chargebacks on two only |
| F-029 P2 | Same transaction disputed twice | GivenOpen dispute on transaction 8841 | WhenA second dispute is logged for 8841 | ThenBlocked or linked; never two open disputes for one transaction |
| F-030 P1 | Advisor without a role sees nothing | GivenAdvisor B, same branch, not a participant on client X | WhenB searches for X and opens X’s financial accounts by URL | ThenNo access in search, reports or by URL |
| F-031 P1 | Removing a participant removes access | GivenAdvisor A is a participant on client X | WhenA’s participant record is deleted | ThenA loses access to X and X’s accounts once sharing recalculates |
| F-032 P1 | Information barrier | GivenInvestment banking user and a wealth client in one org | WhenIB user searches for the client | ThenNo access to wealth records |
| F-033 P2 | Branch manager visibility | GivenBranch manager with participant-based access | WhenManager opens their advisors’ clients | ThenAccess matches your Compliant Data Sharing setup, nothing wider |
| F-034 P1 | Premium adds up | GivenAuto policy: liability $640, collision $380, comprehensive $120, surcharge $60 | WhenPolicy is issued | ThenPremium $1,200; each coverage and the surcharge stored as its own line |
| F-035 P1 | Mid-term endorsement is pro-rated | Given365-day policy; driver added on day 120; annual premium change $600 | WhenEndorsement is issued | ThenAdditional premium $402.74 (600 × 245 ÷ 365) |
| F-036 P1 | Pro-rata cancellation refund | Given$1,200 annual premium, cancelled after 73 days | WhenCancellation processes | ThenRefund $960.00 (1,200 × 292 ÷ 365); short-rate policies use their own table |
| F-037 P2 | Leap-year term | GivenTerm 2027-07-01 to 2028-07-01 (366 days) | WhenA day-200 endorsement is pro-rated | ThenDenominator 366, or whatever your rating rule states; a hard-coded 365 fails |
| F-038 P1 | Unlicensed producer cannot bind | GivenProducer licensed in TX only; policy state NY | WhenProducer tries to bind | ThenBlocked with a licensing message |
| F-039 P2 | Commission calculated | GivenCommission 12% on $1,200 written premium | WhenCommission statement runs | ThenCommissionStatementLineItem shows $144.00 |
| F-040 P1 | Loss outside the policy period | GivenPolicy ended 2026-10-31; loss on 2026-11-03 | WhenFirst notice of loss is entered | ThenClaim flagged no coverage; no reserve set automatically |
| F-041 P1 | Deductible applied once | GivenCovered loss $3,000; deductible $500 | WhenTwo payments are made on the claim | ThenFirst payment $2,500; the deductible is not taken again from the second |
| F-042 P1 | Payment over reserve needs approval | GivenClaimCoverage reserve $5,000 | WhenAdjuster enters a $5,200 payment | ThenPayment held for authority approval; reserve change logged |
| F-043 P2 | Everyone on the claim | GivenClaimant, insured and a third-party driver | WhenClaim is created | ThenThree ClaimParticipant records with the right roles; letters go to the right party |
| F-044 P1 | Lost card through an AI agent | GivenCustomer tells the agent their card is lost | WhenAgent blocks and reorders the card | ThenCard blocked in the core system; one replacement ordered; full card number never read back |
| F-045 P3 | Action plan skips weekends | GivenOnboarding template, first task at +1 day, skip weekends on | WhenPlan starts Friday 2026-11-06 | ThenFirst task due Monday 2026-11-09, not Saturday |
| F-046 P3 | Goal progress | GivenFinancialGoal target $50,000; funded $12,500 | WhenGoal recalculates | ThenProgress 25% |
| F-047 P3 | Referral credit | GivenBanker refers a client to wealth | WhenReferral is converted | ThenReferral routed to the wealth queue and credited to the banker |
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 //
10 business days, 45 days
Reg E error resolution: investigate within 10 business days, or credit the customer provisionally and take up to 45 days. New accounts get 20 business days and 90 days (12 CFR 1005.11).
2 and 3 business days
Tell the customer about a provisional credit within 2 business days, and send results within 3 business days of finishing the investigation. Both are dates your tests can assert.
25% plus one
CDD rule: identify each person who owns 25% or more of a legal entity customer, plus one person who controls it (31 CFR 1010.230). Since February 2026, FIN-2026-R001 relieves re-collection when an existing customer opens a new account.
30 days
Reg B: notify an applicant of action taken within 30 days of a completed application, with the principal reasons for any adverse action (12 CFR 1002.9).
25 months
Reg B record retention for consumer credit applications after notice of action (12 CFR 1002.12). Your purge job is a test case.
More than $10,000
Cash transactions above $10,000 trigger a Currency Transaction Report under the Bank Secrecy Act. If your org tracks cash activity, test $10,000.00 and $10,000.01.
Check these with your compliance team
These are US federal rules as we read them on November 7, 2026. State law, card network rules and your own policies are often stricter. Use them as starting oracles, then replace each number with the one your policy sets.
// object map //
| Process | Objects and APIs to check | What usually breaks |
|---|---|---|
| ProcessHouseholds and relationships | Objects and APIsAccount (household, person, business)AccountContactRelationAccountAccountRelationFinancialAccountParty | What usually breaksJoint accounts counted twice in household totals; two primary owners on one account. |
| ProcessFinancial accounts and feeds | Objects and APIsFinancialAccountFinancialAccountBalanceFinancialAccountTransactionSecuritiesHolding | What usually breaksReplayed core banking files; balances stored on the wrong date. |
| ProcessOnboarding and KYC | Objects and APIsApplicationFormApplicantPartyProfilePartyIdentityVerificationPartyScreeningSummaryPartyProfileRiskIdentityDocumentDocumentChecklistItem | What usually breaksScreening stubs that always clear; the 25% ownership boundary. |
| ProcessLending | Objects and APIsResidentialLoanApplicationApplicationFormApplicationFormProductApplicant | What usually breaksRatios rounded the wrong way; notices missed when an application stalls. |
| ProcessCard disputes (Reg E) | Objects and APIsDisputeDisputeItemDisputeItemChargebackDisputeReason | What usually breaksBusiness-day clocks counted in calendar days; provisional credit never posted. |
| ProcessCompliant Data Sharing | Objects and APIsAccountParticipantCustomObjectParticipantparticipant roles | What usually breaksTests run as an admin; access kept after a participant is removed. |
| ProcessInsurance policies | Objects and APIsInsurancePolicyInsurancePolicyCoverageInsurancePolicyParticipantInsurancePolicySurchargeInsurancePolicyTransactionProducer | What usually breaksPro-rata math at the cent; 366-day terms; unlicensed producers. |
| ProcessInsurance claims | Objects and APIsClaimClaimItemClaimCoverageClaimParticipantClaimCoveragePaymentDetail | What usually breaksPayments over reserve without approval; losses outside the policy period. |
| ProcessService, goals and referrals | Objects and APIsActionPlanFinancialGoalReferralAgentforce actions | What usually breaksAgents that read back sensitive data; task dates landing on weekends. |
// field notes //
01
Joint accounts counted twice
Household rollups that add each owner’s share separately double the joint balance. Put one joint account in every household test set and assert the total.
02
Tests that run as an admin
An admin ignores Compliant Data Sharing. Run access tests as an advisor with a participant role, one without, a branch manager and an IB user.
03
Calendar days where the rule says business days
Reg E counts business days for the first clock and calendar days for the second. Test a dispute logged before a holiday weekend and check both dates.
04
Boundaries skipped
Exactly 25%, a 620 score, DTI of 35.00% and day 10 versus day 11 are where rules flip. Test the value on each side of the line.
05
Rounding at the cent
Pro-rata premiums and refunds round at the cent, and leap-year terms change the denominator. Assert the exact amount, not “about right”.
06
Vendor stubs that always clear
Identity, screening and credit stubs that only return a clean answer leave holds, flags and compliance cases untested. Script the mismatch and the possible match.
07
Old FinServ package objects
FSC started as the FinServ managed package (FinServ__FinancialAccount__c) and now ships standard objects such as FinancialAccount. Mixed orgs break tests that query the wrong one.
// test data //
FSC defects hide in edge data: the joint account, the 25% owner, the dispute logged before a holiday, the advisor who isn’t on the client team. Build these sets once and reuse them every release.
| Data set | Minimum | What to include |
|---|---|---|
| Data setHouseholds | Minimum12 | What to includeJoint accounts, a split household, a deceased member, a business owner who is also a person client |
| Data setLegal entities | Minimum6 | What to includeOwnership 30/25/24/21, five owners at 20%, a trust, a nested LLC, a nonprofit, one owner who is a PEP |
| Data setApplicants | Minimum9 | What to includeCredit scores 619, 620, 621; DTI 34.99% and 35.00%; an ID with a one-day birth-date mismatch |
| Data setDispute dates | Minimum5 | What to includeA holiday-free Monday, a Friday before a holiday, an account under 30 days old, a dispute open on day 10, one resolved |
| Data setPolicies | Minimum8 | What to include365- and 366-day terms; endorsements on day 1, mid-term and the last day; pro-rata and short-rate cancellations |
| Data setUsers | Minimum8 profiles | What to includeBanker, advisor with and without a participant role, branch manager, IB user, compliance analyst, adjuster, producer. Never an admin. |
The clocks are where the combinations hide. Five received-date patterns × two account ages (under 30 days, older) × three outcomes (error, no error, partial) is 30 dispute cases, each with three dates to assert: investigation, extended limit and notice. Build them as a data table, run one UI journey to prove the screens, and check the other 29 with SOQL.
// keep going //
More Salesforce test cases and tools
// test cases //
Health Cloud test cases
47 cases for prior authorization, benefits verification, care programs, PHI access and life sciences samples.
See the Health Cloud cases →
// test cases //
Manufacturing Cloud test cases
43 cases for sales agreements, actuals, account forecasts, rebates, partners and warranty.
See the manufacturing cases →
// calculator //
What manual regression costs you
Put a number on regression hours, release delays and script upkeep for your org.
Run the numbers →
// questions //
Questions about testing Financial Services Cloud
What should I test first in Financial Services Cloud?
Anything that moves money, starts a regulatory clock or controls who sees a client: household rollups, KYC screening, dispute deadlines, adverse action notices and Compliant Data Sharing. Those are the P1 cases on this page.
Is Financial Services Cloud now Agentforce Financial Services?
Yes. Salesforce renamed Financial Services Cloud to Agentforce Financial Services after Dreamforce 2025. Many orgs have also moved from the older FinServ package objects to standard objects such as FinancialAccount, so check which ones your tests and code query.
How do I test Reg E dispute deadlines?
Log disputes on dates you can count by hand and assert three things on the record: the 10-business-day investigation date, the 45-day extended limit, and the provisional credit notice within 2 business days. Accounts opened within 30 days get 20 business days and 90 days.
How do I test Compliant Data Sharing?
Log in as an advisor with a participant role and one without, in the same branch. Try search, reports, list views and direct record URLs. Then remove the participant and confirm the access goes once sharing recalculates.
Should FSC tests run through the UI or the API?
Both. Keep a few UI journeys per process to prove the screens and flows, then load volume through the API and assert balances, rollups and access with SOQL.
Can TestZeus run these FSC test cases?
Yes. Import the cases in plain English or Gherkin, run them as different profiles in a sandbox, and validate with SOQL, API calls and generated letters. TestZeus is SOC 2 Type II and ISO 27001 certified, can mask data before it reaches an LLM, and can run on-prem.
// next step //
Run these cases on your own sandbox
Bring your ten most important cases. We will run them on your sandbox as real profiles, check the records and letters they produce, and walk you through the report.
// Start testing //







