Business banking platform testing
FintechAssuranceLabs tests business banking platforms, the category of products like Mercury and Relay. Test scope covers business account opening with beneficial ownership checks, ACH origination and wire transfers, multi-user approvals, sweep programmes, and interest on balances. FintechAssuranceLabs engineers have tested business account and payment flows and hand over test evidence that a partner bank or supervisor can review.
What breaks in business account money flows
A business banking platform earns interchange when businesses spend on their debit cards and income on the balances they hold at partner banks. Each defect below repeats for every business on the same code path. Sources on this page were checked on 2026-09-16.
- Indirect owners missed at account opening (US). The onboarding form asks only for shareholders holding more than 25% directly. 31 CFR 1010.230(d)(1) defines a beneficial owner as each individual owning 25 percent or more, directly or indirectly, so a founder with exactly 25% and a person holding 30% through a holding company are never identified or verified. Every such account brings deposits and card spend outside the partner bank's written due diligence procedures (1010.230(a)), which an examiner can cite against the bank. FinCEN order FIN-2026-R001 (13 February 2026) lets banks limit identification to the first account opening, later facts that call ownership information into question, and risk-based procedures. See AML and KYC testing requirements.
- Wire sent with one approval after an edit. The account agreement names two-user approval for wires above a threshold as the security procedure. An attacker with one user's login changes the beneficiary account after the first approval, and the platform keeps that approval. Under UCC 4A-202(b), an unauthorized payment order binds the business only if the bank accepted it in compliance with the agreed security procedure. The edited wire skipped the second approval, so 4A-204(a) requires the bank to refund the business with interest and carry the loss. Fedwire transfers follow Article 4A through Regulation J (12 CFR 210.25(b)(1)).
- ACH origination limit enforced per user. The Nacha Rules require an originating bank to establish, implement, periodically review, and enforce an exposure limit for each Originator, monitored across multiple settlement dates (Nacha, 26 March 2025). The platform checks the limit per user and per submission day, so five users with future-dated batches originate five times the limit the bank set for the business. When the funding debit from the business's external account returns as R01 (insufficient funds) or R29 (corporate customer advises not authorized) after the credits settle, the bank carries the shortfall that the limit was set to cap.
- Sweep allocation above the insurance limit. Deposits above each program bank's allocation move overnight, and the app shows the whole balance as FDIC insured. A wire that arrives after the nightly sweep, or a program bank leaving the network, leaves more than $250,000 of one business's deposits at one bank, the standard maximum deposit insurance amount (12 CFR 330.1(o)). Under 12 CFR 328.102(b), no person may knowingly misrepresent the extent of coverage, and a statement about pass-through coverage that does not disclose that conditions apply is deemed to omit material information ((b)(5)(iv)). Pass-through coverage also needs each business's interest ascertainable from the bank's or the platform's records (12 CFR 330.5(b)(2)), so a sweep ledger that drifts from program bank balances puts coverage of the deposits that produce balance income in doubt.
- Interest accrued on uncollected funds. The yield engine accrues daily interest on the ledger balance, including ACH funding debits that later return, and divides the annual rate by 365 on each day of a 366-day year when the account terms state an actual/actual day count. Each overpaid accrual comes out of the spread between what program banks pay and what the business receives. Truth in Savings covers only consumer accounts (12 CFR 1030.2(a)), so the account agreement is the rate contract, and an underpaid accrual is a breach of that agreement for every affected business. The interest accrual day count guide shows the recalculation.
Licence flag and the evidence partner banks and supervisors ask for
Business banking carries the licence flag: a chartered bank holds the deposits, either as the platform's partner bank or under the platform's own charter, and an EU platform holds an e-money, payment, or credit institution licence or offers accounts through a licensed institution.
United States
A platform without a charter offers accounts through a partner bank, which oversees it under the Interagency Guidance on Third-Party Relationships (88 FR 37920, 9 June 2023). On 15 September 2026, the OCC, Federal Reserve, FDIC, and NCUA published a proposal to rescind and replace that guidance; comments close on 16 November 2026, and the proposal is not final. Evidence to prepare for the partner bank:
- beneficial owner test results per legal entity type, with the 25% boundary, indirect ownership, trust ownership (1010.230(d)(3)), and the re-identification triggers of FIN-2026-R001;
- security procedure tests showing every wire and ACH batch path, including API calls and edited payments, enforces the approvals in the account agreement;
- exposure limit enforcement per Originator across settlement dates, and the fraud monitoring procedures on the Nacha testing requirements page;
- daily reconciliation of the platform ledger against each program bank balance per business, the records behind 12 CFR 330.5(b)(2);
- screen-by-screen review of deposit insurance statements against 328.102(b).
The partner bank integration scenario sets out the sequence.
European Union
For e-money balances, Article 12 of Directive 2009/110/EC requires Member States to prohibit interest or any other benefit related to how long the holder holds the e-money. Article 5c of Regulation (EU) 260/2012, inserted by Regulation (EU) 2024/886, requires verification of the payee before each credit transfer, in euro area Member States since 9 October 2025. Non-consumer users can opt out only for multiple payment orders submitted as a package (paragraph 6), and a provider that failed to verify refunds the resulting defectively executed transfer (paragraph 8). DORA (Regulation (EU) 2022/2554) requires financial entities other than microenterprises to test ICT systems that support critical or important functions at least yearly (Article 24(6)). The competent authority can request:
- test results showing no time-based benefit accrues on e-money balances;
- verification of payee results per initiation channel, with the opt-out applied to packages only;
- DORA test results for payment initiation, approvals, and bank connectivity failover.
Business banking test scenarios
- Business onboarding. Corporations, LLCs, partnerships, and trust-owned entities at 24.9%, 25%, and indirect ownership; a missing control person blocks opening; an ownership change after opening triggers re-identification.
- User roles. Admin, bookkeeper, and card-only users; a role change takes effect on open sessions and API tokens; a removed user's token stops working at once.
- Wire approvals. Threshold boundaries, approval reset after any edit to amount or beneficiary, initiator barred from approving, and cancellation before the bank accepts the order (UCC 4A-211(b)).
- ACH origination limits. One limit per business across users, future-dated batches counted on their settlement date, and no entry above the Same Day limit ($1,000,000, rising to $10 million on 17 September 2027) shown or priced as same-day.
- Funding debits and availability. Hold periods on pulled funds, R01 and R29 returns after an outbound wire, and the negative balance path. The Nacha return code testing guide lists the return matrix.
- Sweep allocation. $250,000 per program bank per business, a late incoming wire, a program bank removed from the network, and a bank the business excluded.
- Interest on balances. Daily accrual on collected balances, rate tiers, a rate change mid-month, leap years, and the monthly interest posting.
- Interchange and fees. Debit card interchange from processor settlement matches the ledger per transaction, refunds reverse it, and wire fees post once.
Integrations and protocols to cover
- Partner bank APIs. Account creation, balances, holds, and daily files per program bank.
- ACH files. Nacha files with CCD and PPD entries, returns, notifications of change, and originating bank acknowledgements.
- Wires. Fedwire Funds ISO 20022 pacs.008 customer transfers and pacs.004 returns, Swift CBPR+ pacs.008 through a correspondent, and camt.053 and camt.054 statements.
- Sweep network interfaces. Allocation instructions, program bank position files, and money market fund orders where offered.
- KYB vendor APIs. Business registry lookups, beneficial owner capture, identity document checks, and sanctions screening.
- Card processor. ISO 8583 authorisation and clearing for business debit cards. Card and account numbers shown in the app are sensitive data; see how we handle cardholder and account data.
- Identity and access. Single sign-on, role-scoped API tokens, and step-up authentication for approvals.
- EU interfaces. Verification of payee requests under the EPC scheme, SEPA credit transfers as ISO 20022 pain.001 and pacs.008, and PSD2 access interfaces for third-party providers.
Related
Standards
- EU AML directives and regulation, KYC obligations
- Nacha Operating Rules for ACH
- ISO 20022
- PCI DSS 4.0
- EMV chip and contactless
- EMV 3-D Secure 2
- PSD2 and Strong Customer Authentication
- PSD3 and the Payment Services Regulation
- Digital Operational Resilience Act
- GDPR for financial data
- Open Banking standards: UK OBIE, Berlin Group
- SOC 2
- ISO 27001
Services
- Payment flow testing
- Card issuing and processing testing
- Ledger and reconciliation testing
- Bank transfers and payment rails testing
- Open banking API testing
- BaaS and partner bank integration testing
- KYC, AML and fraud testing
- Data and platform migration testing
- Operational resilience testing
- Security testing
- Audit and certification test evidence
- Dedicated fintech QA team
Guides
- How to test Nacha return codes: ACH return entries, time frames, and ledger effects
- How to test Same Day ACH cutoff times and settlement timing across time zones
- How to test the accrued interest formula and day count conventions
- How to test ledger reconciliation against settlement files and bank statements
- How to reconcile camt.053 statements: format, batch entries, reversals, and MT940 mapping
- How to test webhook delivery from BaaS and payment providers
- How to test payment idempotency
- How to reduce false positives in sanctions screening: testing for false alerts and missed matches
- How to test banker's rounding in payment and ledger code
Sample deliverable
Sample, synthetic data
| Step ID | From state | Event (webhook or file) | To state | Ledger effect | Test cases |
|---|---|---|---|---|---|
| PFM-CARD-01 | Card pay-in created | Webhook payment.authorised for 150.00 XTS | Card pay-in authorised | No journal entry; the 150.00 XTS authorisation hold is stored as a memo record | TC-PF-001, TC-PF-002 (duplicate webhook delivery) |
| PFM-CARD-02 | Card pay-in authorised | Webhook payment.captured for 150.00 XTS | Card pay-in captured | Dr Processor receivable 150.00 XTS / Cr Merchant payable 150.00 XTS | TC-PF-010, TC-PF-011 (capture retried with the same idempotency key) |
| PFM-CARD-03 | Card pay-in captured | Processor settlement file line for the capture, with a 4.35 XTS fee line | Card pay-in settled | Dr Settlement bank cash 145.65 XTS and Dr Processing fee expense 4.35 XTS / Cr Processor receivable 150.00 XTS | TC-PF-020, TC-PF-021 (settlement line with no matching capture) |
| PFM-ACH-01 | ACH debit pay-in pending | Nacha return file entry with return code R01 (Insufficient Funds) | ACH debit pay-in returned | Dr Customer available balance 200.00 XTS / Cr ACH clearing 200.00 XTS, reversing the provisional credit | TC-RL-030, TC-RL-031 (return received after the customer spent the provisional funds) |
| PFM-ACH-02 | ACH debit pay-in settled | Nacha return file entry with return code R10 (unauthorised debit), inside the 60-day extended return window | ACH debit pay-in returned as unauthorised | Dr Customer available balance 200.00 XTS / Cr ACH clearing 200.00 XTS, with any shortfall moved to a negative balance receivable | TC-RL-032, TC-RL-033 (return that drives the customer balance below zero) |
| PFM-ACH-03 | ACH credit payout sent | Nacha return file entry with return code R03 (No Account/Unable to Locate Account) | ACH credit payout returned | Dr ACH clearing 500.00 XTS / Cr Beneficiary payable 500.00 XTS, restoring the amount owed to the beneficiary | TC-RL-040, TC-RL-041 (payout retry blocked until bank details change) |
| PFM-INST-01 | Instant payout submitted | ISO 20022 pacs.002 with transaction status ACSC | Instant payout completed | Dr Instant payout clearing 75.00 XTS / Cr Settlement bank cash 75.00 XTS | TC-RL-050, TC-RL-051 (pacs.002 received after the client timeout) |
| PFM-INST-02 | Instant payout submitted | ISO 20022 pacs.002 with transaction status RJCT and reason AC04 (Closed Account Number), sent to the client as webhook payout.failed | Instant payout failed | Dr Instant payout clearing 75.00 XTS / Cr Customer available balance 75.00 XTS, reversing the payout debit | TC-RL-052, TC-RL-053 (payout.failed webhook delivered before payout.submitted) |
Amounts use XTS, the ISO 4217 code reserved for testing. States, webhook names, and ledger accounts are generic, and no real account or card data appears.
Questions
What is a business checking account?
What is a sweep account?
Which is safer, ACH or wire transfer?
How long does an ACH transfer take?
Scope your business banking testing
Send your partner bank or licence model, payment rails, and approval rules, and we return a test scope with the evidence each regulated flow needs.
Scope your testing