USP_REPORT_GIFTAIDPROPOSAL

Returns the necessary data for the Gift Aid proposal report.

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTID uniqueidentifier IN
@AFTERTAXDONATION money IN
@BASICRATEOFTAX numeric(8, 4) IN
@DONORPAYSTAXAT numeric(8, 4) IN

Definition

Copy


            CREATE procedure dbo.USP_REPORT_GIFTAIDPROPOSAL
            (
                @CONSTITUENTID uniqueidentifier = null,
                @AFTERTAXDONATION money = null,
                @BASICRATEOFTAX numeric(8, 4) = null,
                @DONORPAYSTAXAT numeric(8, 4) = null
            )
            as 
            set nocount on;

            declare @CONSTITUENTNAME nvarchar(100)

            declare @ISOCURRENCYCODE nvarchar(3);
            declare @CURRENCYSYMBOL nvarchar(5);
            declare @CURRENCYSYMBOLDISPLAYSETTINGCODE tinyint;
            declare @DECIMALDIGITS tinyint;
            declare @ROUNDINGTYPECODE tinyint;

            set @AFTERTAXDONATION = coalesce(@AFTERTAXDONATION, 0)

            --donor results

            declare @AMOUNTDONORSHOULDGIVE money;
            declare @TAXRELIEFDONORCANCLAIM money;
            declare @COSTTODONOR money;

            --charity results

            declare @CHARITYNETAMOUNT money;
            declare @TAXRECLAIMEDBYCHARITYATBASICRATE money;
            declare @TOTALRECEIVEDBYCHARITY money;

            declare @IFCHARITYNETAMOUNT money;
            declare @TAXWOULDBE money;
            declare @TOTALRECEIVEDWOULDBE money;

            declare @ADDITIONALREVENUETOCHARITY money;
            declare @TAXCALCULATIONPERCENTAGE numeric(10, 6);

            set @CONSTITUENTNAME = dbo.UFN_CONSTITUENT_BUILDNAME(@CONSTITUENTID);

            set @TAXCALCULATIONPERCENTAGE = (1 - @BASICRATEOFTAX/100)/(1 - @DONORPAYSTAXAT/100);

            set @AMOUNTDONORSHOULDGIVE = round(@AFTERTAXDONATION * @TAXCALCULATIONPERCENTAGE, 2);
            set @TAXRELIEFDONORCANCLAIM = @AMOUNTDONORSHOULDGIVE - @AFTERTAXDONATION;
            set @COSTTODONOR = @AFTERTAXDONATION;

            set @CHARITYNETAMOUNT = @AMOUNTDONORSHOULDGIVE;
            set @TAXRECLAIMEDBYCHARITYATBASICRATE = @AMOUNTDONORSHOULDGIVE * (@BASICRATEOFTAX/(100 - @BASICRATEOFTAX));
            set @TOTALRECEIVEDBYCHARITY = @AMOUNTDONORSHOULDGIVE + @TAXRECLAIMEDBYCHARITYATBASICRATE;

            set @IFCHARITYNETAMOUNT = @AFTERTAXDONATION;
            set @TAXWOULDBE = @AFTERTAXDONATION * (@BASICRATEOFTAX/(100 - @BASICRATEOFTAX));
            set @TOTALRECEIVEDWOULDBE = @AFTERTAXDONATION + @TAXWOULDBE;

            set @ADDITIONALREVENUETOCHARITY = @TOTALRECEIVEDBYCHARITY - @TOTALRECEIVEDWOULDBE;

            select
                @ISOCURRENCYCODE = 'GBP',
                @CURRENCYSYMBOL = CURRENCY.CURRENCYSYMBOL,
                @CURRENCYSYMBOLDISPLAYSETTINGCODE = CURRENCY.SYMBOLDISPLAYSETTINGCODE,
                @DECIMALDIGITS = CURRENCY.DECIMALDIGITS,
                @ROUNDINGTYPECODE = CURRENCY.ROUNDINGTYPECODE
            from
                dbo.CURRENCY
            where
                CURRENCY.ISO4217 = 'GBP'

            select @AMOUNTDONORSHOULDGIVE "AMOUNTDONORSHOULDGIVE",
                   @TAXRELIEFDONORCANCLAIM "TAXRELIEFDONORCANCLAIM",
                   @COSTTODONOR "COSTTODONOR",
                   @CHARITYNETAMOUNT "CHARITYNETAMOUNT",
                   @TAXRECLAIMEDBYCHARITYATBASICRATE "TAXRECLAIMEDBYCHARITYATBASICRATE",
                   @TOTALRECEIVEDBYCHARITY "TOTALRECEIVEDBYCHARITY",
                   @IFCHARITYNETAMOUNT "IFCHARITYNETAMOUNT",
                   @TAXWOULDBE "TAXWOULDBE",
                   @TOTALRECEIVEDWOULDBE "TOTALRECEIVEDWOULDBE",
                   @ADDITIONALREVENUETOCHARITY "ADDITIONALREVENUETOCHARITY",
                   @CONSTITUENTNAME "CONSTITUENTNAME",
                    @ISOCURRENCYCODE "ISOCURRENCYCODE",
                    @CURRENCYSYMBOL "CURRENCYSYMBOL",
                    @CURRENCYSYMBOLDISPLAYSETTINGCODE "CURRENCYSYMBOLDISPLAYSETTINGCODE",
                    @DECIMALDIGITS "DECIMALDIGITS",
                    @AFTERTAXDONATION "AFTERTAXDONATION",
                    @BASICRATEOFTAX "BASICRATEOFTAX",
                    @DONORPAYSTAXAT "DONORPAYSTAXAT"