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"