• Thank you for pointing out proper posting etiquette. I had not seen that article before and I apologize.

    IF OBJECT_ID('TempDB..#InterestRates','U') IS NOT NULL

    DROP TABLE #InterestRates

    CREATE TABLE #InterestRates

    (

    [InterestRate] [float] NULL,

    [Month] [int] NULL,

    [year] [int] NULL

    )

    INSERT INTO #InterestRates

    (InterestRate,[Month],[Year])

    SELECT '0.105','8','2007' UNION ALL

    SELECT '0.105','9','2007' UNION ALL

    SELECT '0.105','10','2007' UNION ALL

    SELECT '0.105','11','2007' UNION ALL

    SELECT '0.105','12','2007' UNION ALL

    SELECT '0.105','1','2008' UNION ALL

    SELECT '0.105','2','2008' UNION ALL

    SELECT '0.105','3','2008' UNION ALL

    SELECT '0.105','4','2008' UNION ALL

    SELECT '0.105','5','2008' UNION ALL

    SELECT '0.105','6','2008' UNION ALL

    SELECT '0.105','7','2008' UNION ALL

    SELECT '0.105','8','2008' UNION ALL

    SELECT '0.105','9','2008' UNION ALL

    SELECT '0.105','10','2008' UNION ALL

    SELECT '0.105','11','2008' UNION ALL

    SELECT '0.105','12','2008' UNION ALL

    SELECT '0.105','1','2009' UNION ALL

    SELECT '0.105','2','2009' UNION ALL

    SELECT '0.105','3','2009' UNION ALL

    SELECT '0.105','4','2009' UNION ALL

    SELECT '0.105','5','2009' UNION ALL

    SELECT '0.105','6','2009' UNION ALL

    SELECT '0.0067','7','2009' UNION ALL

    SELECT '0.0067','8','2009' UNION ALL

    SELECT '0.0067','9','2009' UNION ALL

    SELECT '0.0055','10','2009' UNION ALL

    SELECT '0.0055','11','2009' UNION ALL

    SELECT '0.0055','12','2009' UNION ALL

    SELECT '0.0055','1','2010' UNION ALL

    SELECT '0.0055','2','2010'

    IF OBJECT_ID('TempDB..#Refunds','U') IS NOT NULL

    DROP TABLE #Refunds

    CREATE TABLE #Refunds

    (

    [Acct_no] [varchar(20)] NULL,

    [Amount] [float] NULL,

    [Month] [int] NULL,

    [year] [int] NULL

    )

    INSERT INTO #Refunds

    (Acct_no,Amount, [Month],[year])

    SELECT '1271003600','333.107456586203','1','2008' UNION ALL

    SELECT '1271003600','87.6816131178288','1','2009' UNION ALL

    SELECT '1271003600','103.602002310821','2','2008' UNION ALL

    SELECT '1271003600','81.9722910242125','2','2009' UNION ALL

    SELECT '1271003600','72.3401647559977','3','2008' UNION ALL

    SELECT '1271003600','86.1625895742832','3','2009' UNION ALL

    SELECT '1271003600','103.361218989159','4','2008' UNION ALL

    SELECT '1271003600','84.6065155612006','4','2009' UNION ALL

    SELECT '1271003600','92.2834655375568','5','2008' UNION ALL

    SELECT '1271003600','84.6688365382596','5','2009' UNION ALL

    SELECT '1271003600','89.0687598341003','6','2008' UNION ALL

    SELECT '1271003600','79.1241550533365','6','2009' UNION ALL

    SELECT '1271003600','123.131877952709','7','2008' UNION ALL

    SELECT '1271003600','89.3938505146093','7','2009' UNION ALL

    SELECT '1271003600','87.2510378856992','8','2007' UNION ALL

    SELECT '1271003600','94.0687846832911','8','2008' UNION ALL

    SELECT '1271003600','340.381691069552','8','2009' UNION ALL

    SELECT '1271003600','80.3632310400272','9','2007' UNION ALL

    SELECT '1271003600','121.96840107118','9','2008' UNION ALL

    SELECT '1271003600','87.1037670414245','10','2007' UNION ALL

    SELECT '1271003600','94.9861134399298','10','2008' UNION ALL

    SELECT '1271003600','73.8008470324637','11','2007' UNION ALL

    SELECT '1271003600','78.537373182859','11','2008' UNION ALL

    SELECT '1271003600','90.7988754111144','12','2007' UNION ALL

    SELECT '1271003600','88.4954811818565','12','2008' UNION ALL

    SELECT '1271005700 ','651.764','1','2008' UNION ALL

    SELECT '1271005700 ','650.766','1','2009' UNION ALL

    SELECT '1271005700 ','897.994','2','2008' UNION ALL

    SELECT '1271005700 ','688.486','2','2009' UNION ALL

    SELECT '1271005700 ','721.466','3','2008' UNION ALL

    SELECT '1271005700 ','718.654','3','2009' UNION ALL

    SELECT '1271005700 ','913.072','4','2008' UNION ALL

    SELECT '1271005700 ','863.224','4','2009' UNION ALL

    SELECT '1271005700 ','735.081','5','2008' UNION ALL

    SELECT '1271005700 ','647.368','5','2009' UNION ALL

    SELECT '1271005700 ','607.721','6','2008' UNION ALL

    SELECT '1271005700 ','580.359','6','2009' UNION ALL

    SELECT '1271005700 ','718.969','7','2008' UNION ALL

    SELECT '1271005700 ','693.378','7','2009' UNION ALL

    SELECT '1271005700 ','734.005','8','2007' UNION ALL

    SELECT '1271005700 ','591.788','8','2008' UNION ALL

    SELECT '1271005700 ','679.773','8','2009' UNION ALL

    SELECT '1271005700 ','560.296','9','2007' UNION ALL

    SELECT '1271005700 ','685.047','9','2008' UNION ALL

    SELECT '1271005700 ','682.834','10','2007' UNION ALL

    SELECT '1271005700 ','608.706','10','2008' UNION ALL

    SELECT '1271005700 ','586.172','11','2007' UNION ALL

    SELECT '1271005700 ','650.191','11','2008' UNION ALL

    SELECT '1271005700 ','858.672','12','2007' UNION ALL

    SELECT '1271005700 ','711.708','12','2008'

    The formula I am using to calculate interest is

    Interest(month) =( Refund(PreviousMonth) + Interest(Previous Month) ) * (1+ InterestRate(Month)/12)

    For Example

    Interest(August 2008) = ( 0 + 0)*(1+.105/12) = 0

    Interest(September 2008) = ( 87.25 + 0 )*(1+.105/12) = 88.01

    Interest(October 2008) = (80.36 + 88.01)*(1+.105/12) = 169.851

    There are no more refunds to add after August 2009 but we continue to accrue interest until February 2010

    For the account above I get a Final balance of 3011.41

    If anything above is unclear please let me know and thank you for your help.