IF OBJECT_ID ('dbo.GLTranRevenueSumsWithPeriod','V') IS NOT NULL DROP VIEW dbo.GLTranRevenueSumsWithPeriod GO CREATE VIEW dbo.GLTranRevenueSumsWithPeriod AS SELECT t.CompanyID, t.ProjectID, c.ContractCD, c.NoteID, cust.BAccountID as CustomerID, cust.AcctCD as CustomerCD, cust.AcctName as CustomerName, br.BranchID as BranchKey, br.BranchCD as BranchCD, ba.AcctName as BranchName, dbo.GetTopContractUserDefinedFieldDescription(t.CompanyID, c.NoteID, 'AttributeCategory') as JobCategory, dbo.GetTopContractUserDefinedFieldDescription(t.CompanyID, c.NoteID, 'AttributejobStatus') as JobStatus, dbo.GetTopContractUserDefinedFieldDescription(t.CompanyID, c.NoteID, 'AttributeProjectGRP') as ProjectGroup, dbo.GetContractUserDefinedField(t.CompanyID, c.NoteID, 'AttributeESTCompl', 0) as EstimatedComplete, dbo.GetContractUserDefinedField(t.CompanyID, c.NoteID, 'AttributePO', 0) as CustomerPO, dbo.GetRevisedBudgetAmount(t.CompanyID,t.ProjectID,'I') as RevisedBudgetedincome, dbo.GetRevisedBudgetAmount(t.CompanyID,t.ProjectID,'E') as RevisedBudgetedExpense, dbo.GetTransactions(t.CompanyID, t.ProjectID, 1, 1,0) as TotalExpenses, c.status as ProjectStatus, c.CreatedDateTime as ProjectCreatedDateTime, c.LastModifiedDateTime as ProjectLastModifiedDateTime, bAExec.AcctCD as ExecutiveNumber, bAExec.AcctName as ExecutiveName, execEmp.userID as ExecutivePKID, lmu.PKID as LastModifiedByKey, lmu.Username as LastModifiedUserName, lmu.FullName as LastModifiedName, t.FinPeriodID, SUM(CASE WHEN a.AccountCD = '4001' THEN COALESCE(t.CreditAmt, 0) - COALESCE(t.DebitAmt, 0) ELSE 0 END) AS BilledRevenue4001, -- "Billed Revenue - 4001" SUM(CASE WHEN a.AccountCD = '4002' THEN COALESCE(t.CreditAmt, 0) - COALESCE(t.DebitAmt, 0) ELSE 0 END) AS TMUnbilledRevenue4002, -- "T&M Unbilled Revenue - 4002" SUM(CASE WHEN a.AccountCD = '4000' THEN COALESCE(t.CreditAmt, 0) - COALESCE(t.DebitAmt, 0) ELSE 0 END) AS LumpSumWIPRevenue4000, -- "Lump Sum WIP Revenue - 4000" SUM(CASE WHEN a.AccountCD = '4003' THEN COALESCE(t.CreditAmt, 0) - COALESCE(t.DebitAmt, 0) ELSE 0 END) AS BillingsLumpSum4003, -- "Billings Lump Sum - 4003" SUM(CASE WHEN TRY_CAST(a.AccountCD AS INT) BETWEEN 5000 AND 5999 THEN COALESCE(t.DebitAmt, 0) - COALESCE(t.CreditAmt, 0) ELSE 0 END) AS TotalExpensesCOGS -- "Total Expenses - COGS" FROM GLTran t left JOIN Contract c ON t.CompanyID = c.CompanyID AND t.ProjectID = c.ContractID left JOIN Account a ON t.CompanyID = a.CompanyID AND t.AccountID = a.AccountID LEFT join BAccount cust on cust.CompanyID = c.CompanyID and cust.BAccountID = c.CustomerID LEFT JOIN Branch br on br.CompanyID = c.CompanyID and br.BranchID = c.DefaultBranchID LEFT join BACCount ba on ba.CompanyID = br.CompanyID and ba.BAccountID = br.BACCountID left JOIN ContractKvExt execNote on execNote.CompanyID = c.CompanyID and execNote.RecordID =c.NoteID and execNote.FieldName = 'AttributePROJECTEXE' left join BAccount bAExec on BAExec.CompanyID = execNote.CompanyID and BAExec.AcctCD = execNote.ValueString left join EPEmployee execEmp on BAExec.CompanyID = execEmp.CompanyID and BAExec.BAccountID = execEmp.BAccountID left join Users lmu on lmu.CompanyID = c.CompanyID and lmu.PKID = c.LastModifiedByID WHERE (a.AccountCD IN ('4001', '4002', '4000', '4003') OR TRY_CAST(a.AccountCD AS INT) BETWEEN 5000 AND 5999) GROUP BY t.CompanyID, t.ProjectID, c.ContractCD, c.CreatedDateTime, c.LastModifiedDateTime, c.NoteID, c.status, t.FinPeriodID, cust.BAccountID, cust.AcctCD, cust.AcctName, br.BranchID, br.BranchCD, ba.AcctName, bAExec.AcctCD, bAExec.AcctName, execEmp.userID, lmu.PKID, lmu.Username, lmu.FullName