The per-payment formula
For a percentage-plus-fixed schedule:
fee = min(amount × percentage + fixed fee, cap that applies to this fee)
Only apply a cap when the provider's terms say it covers that fee. Add independent charges afterward. For a capped percentage:
fee = min(amount × percentage, cap)
Sum each payment's fee, then add a monthly subscription once:
monthly cost = Σ transaction fees + monthly subscription/add-ons
Do not apply a per-transaction cap to the monthly total.
Example using published U.S. ACH rates
Stripe lists standard ACH Direct Debit at 0.8% with a $5 cap. Its page also lists 1.2% for two-day settlement, $1.50 for instant bank validation, $15 for disputed payments, and $4 for failed payments.
| Successful standard ACH | 0.8% before cap | Capped processing fee |
|---|---|---|
| $100 | $0.80 | $0.80 |
| $500 | $4.00 | $4.00 |
| $1,000 | $8.00 | $5.00 |
| $5,000 | $40.00 | $5.00 |
This applies the public cap to the successful standard-ACH fee. Separate validation, failure, dispute, tax, and payout charges are excluded. Confirm fee conditions in the live schedule.
Model your own month
Use one row per transaction: amount, method, rate, fixed fee, cap, and any extra charge that applies. Add the monthly plan once. For cards, enter the exact current rate for your card and transaction type. Calculating each payment separately avoids the error of applying fixed fees to an average invoice instead of actual transaction count.
If you do not know failures or disputes, show a successful-payment baseline and leave a stress case clearly labeled as an assumption. Use your processor statements for historical rates; do not call a sample provider's price your effective rate without measuring your own transactions.
Six errors to avoid
- Applying a per-payment cap to the month's combined dollar volume.
- Adding the monthly subscription to every invoice row.
- Counting gross volume twice when summing percentage fees.
- Treating failure charges as though every successful payment incurred one.
- Combining different card types without the transaction counts.
- Comparing a public list price to a custom quote with different conditions.
Use the result to make a decision
Fees are one input. Check client adoption, settlement dates, failed-payment handling, reconciliation reports, contract terms, and any applicable pricing rules. Ask your bookkeeper how processor deposits and gross receipts should appear in your accounting records. A low fee is not useful if a method does not fit the way your clients pay or your cash forecast works.
Sources checked October 22, 2026
Related guides
ACH vs. card comparison, invoice collection workflow, cash timing forecast.
Check the calculation with worked examples
Fictional examples with explicit inputs and expected results. They are not customer data, market statistics or product tests.
Ten payments, ten fixed fees
Ten $100 payments. Hypothetical schedule: 2.9% + $0.30 per payment.
Calculation : 10 × ($100 × 0.029 + $0.30) = $32.
Hypothetical schedules only, not any provider’s current rate or a recommendation.
A cap is per payment
Ten $100 payments. Hypothetical schedule: 0.8%, capped at $5 per payment.
Calculation : 10 × min($100 × 0.008, $5) = $8.
Hypothetical schedules only, not any provider’s current rate or a recommendation.
Cap on the percentage only
$1,000 payment; 0.8% capped at $5, plus $0.30 outside the cap.
Calculation : min($1,000 × 0.008, $5) + $0.30 = $5.30.
Hypothetical schedules only, not any provider’s current rate or a recommendation.
Cap on the entire base fee
Same payment and nominal fees; the $5 cap covers percentage plus fixed fee.
Calculation : min($1,000 × 0.008 + $0.30, $5) = $5.00.
Cap scope changes the result; extra layers, if any, are separate. Hypothetical schedules only, not any provider’s current rate or a recommendation.
The site’s 6 worked examples (JSON) · Spreadsheet version (CSV)