UFN_GIFTAIDREVENUESPLIT_CALCULATENEXTCLAIMAMOUNT

Calculates the next claim amount for a gift, which could potentially have a different tax rate than the current/last gift.

Return

Return Type
money

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN

Definition

Copy


            CREATE function dbo.UFN_GIFTAIDREVENUESPLIT_CALCULATENEXTCLAIMAMOUNT
            (
                @ID uniqueidentifier
            )
            returns money
            with execute as caller
            as 
            begin
        declare @TAXCLAIMAMOUNT money;
        declare @TAXRATE numeric(30,6);
        declare @SPLITAMOUNT money;
        declare @DATE datetime;

        select @DATE = case when REVENUESCHEDULE.NEXTTRANSACTIONDATE > REVENUESCHEDULE.ENDDATE then REVENUESCHEDULE.ENDDATE else REVENUESCHEDULE.NEXTTRANSACTIONDATE end,
               @SPLITAMOUNT = REVENUESPLIT.BASEAMOUNT
          from dbo.FINANCIALTRANSACTIONLINEITEM REVENUESPLIT 
                    inner join dbo.REVENUESPLIT_EXT on REVENUESPLIT.ID = REVENUESPLIT_EXT.ID
                      inner join dbo.FINANCIALTRANSACTION REVENUE on REVENUESPLIT.FINANCIALTRANSACTIONID = REVENUE.ID
                      inner join dbo.REVENUE_EXT on REVENUE.ID = REVENUE_EXT.ID
                      left join dbo.REVENUESCHEDULE on REVENUESCHEDULE.ID = REVENUE.ID
          where REVENUESPLIT.ID = @ID
                        and REVENUE.TYPECODE in (0,1,2,3,4,5,6,7,8,9,15) and REVENUESPLIT.DELETEDON is null and REVENUESPLIT.TYPECODE != 1;

        set @TAXRATE = dbo.UFN_GETGIFTAIDBASETAXRATE(@DATE) + dbo.UFN_GETGIFTAIDTRANSITIONALTAXRATE(@DATE);

        set @TAXCLAIMAMOUNT = @SPLITAMOUNT * (@TAXRATE/(100 - @TAXRATE));

        return @TAXCLAIMAMOUNT;
      end