Interest-Bearing Accounts
Providing an interest-bearing account is a great way to create stickiness with account holders. You can offer a flat interest rate or tiered interest rates that vary by balance, giving customers an incentive to keep their money with you.
SoFi Tech Solutions calculates interest and applies it to accounts on the program manager's behalf. This guide explains how interest accrues, how flat and tiered rates are calculated, and how interest is paid out.
Balance-calculation methods
SoFi Tech Solutions uses one of two methods to determine the balance on which interest is applied: daily balance or average daily balance (ADB). The method affects how sensitive interest is to the timing of deposits and withdrawals within an interest period.
| Daily balance | Average daily balance | |
|---|---|---|
| Unit of calculation | Each day's end-of-day balance | One average for the whole period |
| Flat rates | Supported | Supported |
| Tiered rates | Not supported | Required |
| Timing sensitivity | High—when money moves matters day-by-day | Lower—each day contributes equally to the average |
For flat rates, either method may be used. For tiered rates, SoFi Tech Solutions uses ADB only. If you add tiered rates to a program that currently uses daily balance for flat-rate products, all interest-bearing products in that program must switch to ADB.
Daily balance
Under the daily balance method, interest is calculated on the ledger balance at midnight system time, plus accrued interest already earned in the current period. Early every morning, SoFi Tech Solutions applies a daily periodic rate to that balance, records the result, and compounds: the base for the next day's calculation includes prior accrued interest even though those amounts are not yet posted to the ledger.
Interest is built one day at a time. A deposit credited before cutoff increases the next day's earning base immediately; a withdrawal reduces it the same way. Over the period, total interest is the sum of each day's accrual. Reg DD permits this method; disclosures typically describe it as applying a periodic rate to the balance each day, with interest credited monthly or quarterly.
Average daily balance
Under the ADB method, SoFi Tech Solutions first computes one representative balance for the entire interest period: the sum of each day's end-of-day balance divided by the number of days in the period (or, if the account was active only part of the period, divided by the number of active days). Interest for the period is then calculated from that single figure using daily compounding—for example:
Interest earned during the period = ADB × [(1 + rate/365)^days in period − 1]
This method smooths out volatility within the period. A late-month deposit or withdrawal moves the average less than under daily balance, because every day's balance contributes equally. Tiered rates are applied by "slicing" the ADB across rate bands using Tiered Rate Method B (partial balance), described under Tiered interest rates below.
Worksheets
Use the Interest calculation worksheets to model flat-rate accrual with your own values. Do not use the worksheets for tiered rates; follow the tiered-interest calculation steps in this guide instead. Import the CSV files into Excel or Google Sheets:
| Worksheet | Use when |
|---|---|
| Daily Balance | Modeling day-by-day compounding for flat rates |
| Average Daily Balance | Modeling period-level accrual for flat rates on ADB |
Flat-rate interest (daily balance)
By default, flat-rate products accrue interest using the daily balance method. Funds credited or debited before the midnight cutoff are included in that day's ledger balance.
APY and the compounding rate
Customer-facing materials advertise the APY (annual percentage yield)—the effective annual return when interest compounds daily. The SAVIR parameter stores the nominal annual rate used in daily calculations. That rate is slightly below the advertised APY so that compounded accrual produces the advertised yield. See the SoFi Tech Solutions setup for an explanation of the SAVIR parameter.
For example, to target a 2% APY, SAVIR is typically set to approximately 1.9819. The daily periodic rate is that value divided by 365 (about 0.00543% per day). SoFi Tech Solutions takes your desired APY, derives the compounding rate, and applies it each day as:
(nominal rate / 365) × (ledger balance + interest earned in period)
Example: daily accrual
If the ledger balance at midnight on Monday is $1,000.00 and the daily periodic rate is 0.00543% (decimal 0.0000543), then early Tuesday morning the system calculates $0.0543 in interest. That amount is recorded but not yet posted to the account balance.
On Tuesday at midnight the ledger balance is still $1,000.00. For Wednesday's calculation, the system uses a base of $1,000.0543 (ledger plus Monday's accrued interest) and earns $0.05430295.
On Wednesday the account holder deposits $4,000.00 before midnight. The ledger balance that night is $5,000.00. The calculation base includes accrued interest from Monday and Tuesday, for a total of $5,000.10860295. Multiplying by the daily rate yields $0.271506 in interest for that day.
| Day | Ledger balance | Base for interest calc | Daily rate (decimal) | Interest earned |
|---|---|---|---|---|
| Mon midnight | $1,000.00 | $1,000.00 | 0.0000543 | $0.0543 |
| Tue midnight | $1,000.00 | $1,000.0543 | 0.0000543 | $0.05430295 |
| Wed midnight | $5,000.00 | $5,000.05430295 | 0.0000543 | $0.271506 |
Tip
Enter your own rate, period length, and transactions in the Daily Balance worksheet to see how interest compounds over a full month.
At the end of the period, SoFi Tech Solutions totals all daily accruals, rounds down to the second decimal place, and posts the payment to the account. Fractions of a cent carry over to the next period.
Note
We calculate interest to nine (9) decimal places and pay to the second decimal place. We round down to the second decimal place for period payments, and the remaining fractions of a cent are carried over to the next period.
Your terms and conditions document might describe the method like this: "We use the daily compounding method to calculate interest on your Savings Account. This method applies a periodic rate to the balance in your Savings Account each day. The interest is applied to your Savings Account on a monthly basis. All interest is calculated to nine (9) decimal places and paid to the second decimal place with the remainder carried to the next period."
Flat-rate products may instead use ADB; model that scenario with the Average Daily Balance worksheet.
Tiered interest rates
Most interest-bearing accounts (savings, DDA) use a single rate regardless of balance. With SoFi Tech Solutions you can instead offer tiered interest rates that increase as the balance grows—for example, an introductory rate for balances under $1,000, a higher rate from $1,000 to $4,999.99, and a top rate at $5,000 or more. Tiered rates can incentivize account holders to keep more on deposit, which often increases debit spend.
Before offering tiered rates, obtain permission from your sponsor bank and approval for all disclosures. Disclosures must cover calculation methods (average daily balance), accrual, APY for each tier, compounding and crediting frequency, and interest forfeiture for partial-period activity. All customer-facing material must advertise APY. You determine tier cutoff amounts and the rate for each tier.
SoFi Tech Solutions calculates tiered interest using ADB only, not daily balance.
This example shows three tiers:
- $0.00–$999.99 — 1.5%
- $1,000.00–$4,999.99 — 2.0%
- $5,000.00 and higher — 2.5%
| Tier | Balance range | Interest rate |
|---|---|---|
| 1 | $0.00–$999.99 | 1.5% |
| 2 | $1,000.00–$4,999.99 | 2.0% |
| 3 | $5,000.00 and higher | 2.5% |
Configure this schema in the SAVIR parameter:
0:1.5,1000:2.0,5000:2.5
The pattern is [minimum amount]:[percent],[minimum amount]:[percent],… for two tiers. The number of tiers is limited technically by the 512-character SAVIR field; we can practically support up to 10 tiers, but the more tiers you create, the more complicated your Disclosures and Terms & Conditions documents will be. We therefore recommend a maximum of 3 tiers.
Calculating tiered interest
- The account balance is captured at the same time every day. (Currently, only balances for accounts in active status are captured.)
- At the end of the period, daily balances are summed and divided by the number of days in the period to produce the ADB.
- If the account was active for only 10 days during a 31-day period, balances are divided by 10, not 31.
- The ADB is sliced across tier boundaries (partial-balance method). For an ADB of $6,500.00 in a 31-day month with the tiers above, the slices are:
- $999.99 at 1.5%
- $4,000.00 at 2.0%
- $1,500.01 at 2.5%
- SoFi Tech Solutions applies this formula to each slice, calculating to the ninth decimal place:
[slice] × ((1 + ([tier rate in decimal] / 365)) ^ [period] − 1)
| Slice | Tier rate | Formula | Interest calculated |
|---|---|---|---|
| 999.99 | 1.5% | =999.99*((1+(0.015/365))^31 -1) | 1.274745493 |
| 4000.00 | 2.0% | =4000*((1+(0.02/365))^31 -1) | 6.800108045 |
| 1500.01 | 2.5% | =1500.01*((1+(0.025/365))^31 -1) | 3.188227119 |
| Interest calculated for the period | 11.263080657 | ||
| Interest paid for the period | 11.26 |
- SoFi Tech Solutions sums the slice amounts, rounds down to the cent, and posts the total. The unrounded total is maintained on the ledger.
Tip
Use the Average Daily Balance worksheet to model how daily balances feed into ADB for flat-rate products. Tiered slicing uses the partial-balance formula above.
APYe
The APYe (annual percentage yield earned) is an annualized rate that reflects the relationship between interest actually paid during a period and the average daily balance. APYe is calculated monthly—January might show 4.99%, February 3.12%, and so on. It is not blended across months.
=ROUND(100*(((1+(interest_paid/(average_daily_balance+carryover)))^(days_in_year/days_in_month))-1),2)
APYe aligns naturally with ADB-based accrual (tiered rates and flat rates on ADB). For daily-balance flat rates, APYe still reflects what was actually earned relative to the period's average balance.
Note
Calculations for savings interest and APYe are governed by Regulation DD: 12 CFR Part 1030 — Truth in Savings, specifically Appendix A: Annual Percentage Yield Calculation.
Paying interest
Accrued interest for the previous period is paid on the first day of the next interest period—monthly or quarterly, depending on SAVFQ—when the amount is at least $0.01. Fractions of a cent are not paid out individually; they carry over. For example, if accrued interest is $0.01988888, the payment is truncated to $0.01 and $0.00988888 carries forward.
Who calculates and posts interest
Programs can handle interest in three ways:
| Approach | Configuration | What happens |
|---|---|---|
| SoFi Tech Solutions auto-post | SAVFQ, SAVIR, and SAVIT | Interest is calculated daily and posted automatically to active accounts on the first day of each period. The payment includes accrued interest for the period plus any carryover from the prior period. Matching funds move into the program's pooled savings account at the bank. |
| Accrue on platform, client posts | SDI (where supported) | SoFi Tech Solutions accrues interest but does not post it. You call Create Payment with the otype in SAVIT (commonly MZ) to pay out. SDI is not available on all programs—confirm with your implementation team. |
| Client-managed | — | You calculate interest outside the platform and call Create Payment with the designated otype to credit the account. Funds move into the pooled savings account at the bank. |
SoFi Tech Solutions does not auto-calculate or auto-pay interest to non-active accounts (any status other than status: N, normal/active). To pay interest on non-active accounts, you can post payments through the Create Payment endpoint.
Account closure
On the day an account status is changed to canceled, interest accrued to that date is forfeited and accrual stops. If the account is reactivated later, accrual starts fresh; forfeited interest is not restored. If reactivation occurs in the same month, new accrual from the activation date is paid on the first day of the next period when it totals at least $0.01.
For example, if an account closes on May 10, interest earned for those ten days is forfeited. If it reopens on May 20, interest accrues for May 20–31 and pays on June 1.
Your terms and conditions should notify customers that they forfeit mid-cycle interest between payouts. SAVFQ determines what counts as mid-cycle.
Interest-payment conventions
- An account must be in
status: N(normal, active) and the interest amount must be at least $0.01 for automatic payment. - SoFi Tech Solutions does not send INT-1099 forms to account holders. Your partner bank sends them, aggregating interest data from the RDFs by transaction code.
- Each morning the interest process reads SAVIR for the product. Whatever rate is configured when the process runs applies that day.
- Example: If an account switches from product A (1% APY) to product B (2% APY) at 19:00 Tuesday, the new rate takes effect for accrual starting Wednesday—assuming the process runs at 02:00 and the switch occurred before that run.
Viewing account interest
Use these methods to see interest rates and amounts paid.
Get Interest
Use the Get Interest endpoint to retrieve accrual interest, interest year-to-date, and yield data for any interest-bearing account (savings or non-savings).
Pass the month in interestMonth (format YYYY-MM). Response fields:
| Field | Description |
|---|---|
product_id | Unique product identifier from SoFi Tech Solutions |
product_description | Descriptor for product_id |
account_no | PRN of the account |
interest_payout | Interest accrued to two decimal places, including carryover from the previous period; what was or will be paid |
accrual_interest_without_carryover | Interest accrued without prior-period carryover |
carryover_previous_month | Fractions of a cent carried over from the previous period |
interest_paid_ytd | Interest paid year-to-date; not affected by interestMonth |
apye | APYe for the requested month |
start_date | Start date of the requested month |
end_date | End date of the requested month |
Warning
Do not use the Get Savings Interest endpoint. It is not supported for new integrations. Use Get Interest for all interest-bearing accounts.
Monthly Interest Savings RDF
The Monthly Interest Savings RDF is an RDF that shows the accumulated interest and interest paid for interest-bearing accounts. Use it for reconciliation, reporting, and monitoring accrual at the account level.
The Monthly Interest Savings RDF (which replaces the deprecated ISS RDF) complements the Get Interest endpoint, which returns monthly accrual, payout, carryover, YTD totals, and APYe for a specified month.
Interest payments also appear in the Posted Transactions RDF with transaction code PM plus the otype configured in SAVIT (for example, PMMZ). The issuing bank aggregates this data for tax reporting such as on INT-1099 forms.
Get Product Info
Use the Get Product Info endpoint to retrieve product details. The apy field returns the SAVIR parameter value—either a flat rate or a tiered definition.
SoFi Tech Solutions setup
These parameters affect interest rates. See the Accounts table on the Parameters page the full set of account-related parameters..
| Parameter | Description | Values |
|---|---|---|
| SAVFQ | Specifies the interest-payment frequency for any account that has SAVIN set. This parameter is required when SAVIR is set. When this parameter is not set, interest is not paid to the account. | M — Monthly; Q — Quarterly |
| SAVIT | Specifies the otype to use for interest payments. This parameter is required when SAVIN is set. Obtain your otype value from Accounting. | String (default: MZ) |
| SAVIR | Specifies the interest rate that the daily-interest process uses to calculate interest earned. This parameter is required when SAVIN is set but can also be set for any interest-bearing account. This value is displayed on pages such as terms and conditions and account information templates. When you set this parameter, SAVIT and SAVFQ are required. For tiered rates, use the tiered pattern described in [Tiered interest rates}(#tiered-interest-rates). A value of 0 means the account does not accrue interest. | Decimal number, tiered pattern, or 0 |
| SAVIN | Specifies that this is a savings (interest-bearing) account and determines whether the savings controller can be viewed in the CST for this product. | Y |
| SAVAY | Contains the display value of the annual percentage yield for a savings account product. This value is displayed on pages such as terms and conditions and savings account information templates in the CST. This parameter does not set the annual percentage yield but only contains the display value. Use SAVIR to set the rate used in calculations. | Decimal number |
| SAVID | Contains the interest rate value to be displayed on statements. This parameter does not set the interest rate but only contains the value that is displayed on statements. This parameter is valid only when SoFi Tech Solutions generates your statements. When this parameter is not set, the value in SAVIR is displayed. | Decimal number |
| INTMX | Specifies the maximum balance amount to include in the interest calculation. Interest is applied to the lesser of this amount or the account balance. When this parameter is not set, there is no limit. | Decimal number; 0 — Do not apply interest to this product |
Updated 3 days ago

