UFN_REVENUE_GENERATEGIFTFEEGLDISTRIBUTION
Generates GL Account Code for Gift Fees from the Account code mappings defined in the system.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REVENUEID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_REVENUE_GENERATEGIFTFEEGLDISTRIBUTION(@REVENUEID uniqueidentifier = null)
returns table
as return
/* Getting 'Postable' Gift Fees */
select
REVENUE.ID as REVENUEID,
REVENUESPLIT.ID as REVENUESPLITID,
dbo.UFN_POSTTOGLPROCESS_GETGLPAYMENTMETHODREVENUETYPEMAPPINGID(REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE, 203, REVENUESPLIT.TYPECODE, REVENUESPLIT.APPLICATIONCODE, tf.TRANSACTIONTYPECODE) as GLPAYMENTMETHODREVENUETYPEMAPPINGID,
tf.TRANSACTIONTYPECODE,
case when GIFTFEEADJUSTMENT.ID is null then REVENUE.POSTDATE --if no unposted adjustment then use Gift Fee Post Date
else GIFTFEEADJUSTMENT.POSTDATE
end AS POSTDATE,
case when GIFTFEEADJUSTMENT.ID is null then (case when REVENUE.DONOTPOST = 1 then 2 when REVENUEPOSTED.ID is not null then 0 else 1 end) --if no unposted adjustment then use Gift Fee Post Status Code
else GIFTFEEADJUSTMENT.POSTSTATUSCODE
end AS POSTSTATUSCODE,
tf.ACCOUNTSTRING,
tf.PROJECTCODE as PROJECT,
REVENUESPLITGIFTFEE.FEE as AMOUNT,
dbo.UFN_POSTTOGLPROCESS_GETJOURNALREFERENCE(REVENUESPLIT.ID, REVENUEPAYMENTMETHOD.PAYMENTMETHOD, 'Gift fee') as REFERENCE,
tf.ERRORMESSAGE,
REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE,
REVENUE.TRANSACTIONTYPECODE as REVENUETRANSACTIONTYPECODE,
REVENUEPAYMENTMETHOD.ID as REVENUEPAYMENTMETHODID,
REVENUESPLITGIFTFEE.ID as REVENUESPLITGIFTFEEID,
tf.ACCOUNTID as ACCOUNTID,
REVENUESPLITGIFTFEE.BASECURRENCYID,
REVENUESPLITGIFTFEE.TRANSACTIONAMOUNT,
REVENUESPLITGIFTFEE.TRANSACTIONCURRENCYID,
REVENUESPLITGIFTFEE.BASEEXCHANGERATEID,
REVENUESPLITGIFTFEE.ORGANIZATIONAMOUNT,
REVENUESPLITGIFTFEE.ORGANIZATIONEXCHANGERATEID,
tf.MAPPEDVALUES
from dbo.REVENUE with (nolock)
inner join dbo.REVENUEPAYMENTMETHOD with (nolock) on REVENUE.ID = REVENUEPAYMENTMETHOD.REVENUEID
inner join dbo.REVENUESPLIT with (nolock) on REVENUE.ID = REVENUESPLIT.REVENUEID
inner join dbo.REVENUESPLITGIFTFEE with (nolock) on REVENUESPLIT.ID = REVENUESPLITGIFTFEE.ID
left join dbo.GIFTFEEADJUSTMENT with (nolock) on REVENUE.ID = GIFTFEEADJUSTMENT.REVENUEID and GIFTFEEADJUSTMENT.POSTSTATUSCODE <> 0
left join dbo.REVENUEPOSTED on REVENUE.ID = REVENUEPOSTED.ID
cross apply dbo.UFN_REVENUE_GENERATEGLACCOUNT(REVENUESPLIT.ID, 203, REVENUESPLIT.TYPECODE, REVENUESPLIT.APPLICATIONCODE, REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE, REVENUESPLIT.DESIGNATIONID) as tf
where
(REVENUE.ID = @REVENUEID or @REVENUEID is NULL) and
REVENUESPLITGIFTFEE.WAIVED = 0 and
-- Prevent gift fees distributions from being created when the application is Order and the type is Fee or Tax
-- since we don't support mapping them
not (REVENUESPLIT.APPLICATIONCODE = 10 and (REVENUESPLIT.TYPECODE = 6 or REVENUESPLIT.TYPECODE = 7))