Hello guys,
First of all, I apologize for the lengthy post, and thanks for the patience in reading this.
I am about to create a Financial Spread Database, wherein we gather loan information from our clients (which are banks) including properties' Financial Statements and Rent Roll.
What we'll do is we spread (enter financial data)the financial statement and Rent Roll into the database, make some adjustment into amounts then send it back to the client...
My table structure is below:
tblJobTracking
JobTrackingID -- PK
ReportingPeriod
CompanyID -- FK to tblCompany
InvestorNumber
LoanNumber
PropertyName
PropertyTypeID -- FK to tblPropertyType
etc..(other loan info)
tblCompany -- list of different clients/banks that we'll do work for
CompanyID -- PK
CompanyName
tblPropertyType -- list of different Property Types (ex. Office, Multi-family, Retail)
PropertyTypeID
PropertyType
tblIncome -- this is where we input Income line items from the financial statements we receive from the client
IncomeID -- PK
JobTrackingID -- FK to tblJobTracking
RevLineItemsID -- FK to tblRevLineItems
RevMappingID -- FK to tblMappingLegendRev
Amount -- dollar amount of how much the line item is
Adjustment -- dollar amount that sometimes need to adjust from Amount
tblExpenses -- this is where we input Expense line items from the financial statements we receive from the client
ExpenseID -- PK
JobTrackingID -- FK to tblJobTracking
ExpLineItemsID -- FK to tblExpLineItems
ExpMappingID -- FK to tblMappingLegendExp
Amount -- dollar amount of how much the line item is
Adjustment -- dollar amount that sometimes need to adjust from Amount
tblRevLineItems -- different line items that could be found in the Financial Statement (ex. Base Rent, Laundry Income, Pet Fees)
RevLineItemsID -- PK
RevLineItems
tblExpLineItems -- same desc as above (ex. Roof Repairs, Manager's Salary, Advertising and Marketing,)
ExpLineItemsID
ExpLineItems
tblMappingLegendRev -- list of categories each line items is associated to (ex. Gross Potential Rent, Other Income)
RevMappingID -- PK
MappingLineItem
tblMappingLegendExp -- list of categories each line items is associated to (ex. Real Estate Taxes, Repairs and Maintenance)
ExpMappingID -- PK
MappingLineItem
So with the table strucutre above, I have a form frmFinancialSpread, which is bound to this query:
then I have subforms (set as continous forms and are linked to the main form via JobTrackingID) named subfrmIncome and subfrmExpense which are bound to these queries:
subfrmIncome:
subfrmExpense:
Now I try to enter dummy data and entered some line items and with multiple dollar amounts...
my question though is how am I going to calculate the NOI (Net Operating Income) wherein the Sum of all Income line items minus the Sum of all Expense line items per loan?
I tried to change frmFinancialSpread's query to:
but it gives the wrong NOI, which I kinda understand why..
if my Financial Spread is:
subfrmIncome:
Line Item Amount
Rent $10,000
subfrmExpense:
Line Item Amount
Roof Repair $1,000
Property Tax $2,000
Then when I run the query, the result will be around $23,000
because when I take out Group By, the query will return ( I bet you already all know this)
tblIncome.Amount tblExpense.Amount
10,000 1,000
10,000 2,000
so my question though is, how will I be able to calculate NOI that would give the result of $7,000?
Any help is greatly appreciated and thanks for the time in reading this lengthy post.
First of all, I apologize for the lengthy post, and thanks for the patience in reading this.
I am about to create a Financial Spread Database, wherein we gather loan information from our clients (which are banks) including properties' Financial Statements and Rent Roll.
What we'll do is we spread (enter financial data)the financial statement and Rent Roll into the database, make some adjustment into amounts then send it back to the client...
My table structure is below:
tblJobTracking
JobTrackingID -- PK
ReportingPeriod
CompanyID -- FK to tblCompany
InvestorNumber
LoanNumber
PropertyName
PropertyTypeID -- FK to tblPropertyType
etc..(other loan info)
tblCompany -- list of different clients/banks that we'll do work for
CompanyID -- PK
CompanyName
tblPropertyType -- list of different Property Types (ex. Office, Multi-family, Retail)
PropertyTypeID
PropertyType
tblIncome -- this is where we input Income line items from the financial statements we receive from the client
IncomeID -- PK
JobTrackingID -- FK to tblJobTracking
RevLineItemsID -- FK to tblRevLineItems
RevMappingID -- FK to tblMappingLegendRev
Amount -- dollar amount of how much the line item is
Adjustment -- dollar amount that sometimes need to adjust from Amount
tblExpenses -- this is where we input Expense line items from the financial statements we receive from the client
ExpenseID -- PK
JobTrackingID -- FK to tblJobTracking
ExpLineItemsID -- FK to tblExpLineItems
ExpMappingID -- FK to tblMappingLegendExp
Amount -- dollar amount of how much the line item is
Adjustment -- dollar amount that sometimes need to adjust from Amount
tblRevLineItems -- different line items that could be found in the Financial Statement (ex. Base Rent, Laundry Income, Pet Fees)
RevLineItemsID -- PK
RevLineItems
tblExpLineItems -- same desc as above (ex. Roof Repairs, Manager's Salary, Advertising and Marketing,)
ExpLineItemsID
ExpLineItems
tblMappingLegendRev -- list of categories each line items is associated to (ex. Gross Potential Rent, Other Income)
RevMappingID -- PK
MappingLineItem
tblMappingLegendExp -- list of categories each line items is associated to (ex. Real Estate Taxes, Repairs and Maintenance)
ExpMappingID -- PK
MappingLineItem
So with the table strucutre above, I have a form frmFinancialSpread, which is bound to this query:
Code:
SELECT tblJobTracking.JobTrackingID, tblJobTracking.ReportingPeriod, tblCompany.CompanyName, tblJobTracking.InvestorNumber, tblJobTracking.LoanNumber, tblJobTracking.PropertyNumber, tblJobTracking.ConsolidatedStatement, tblJobTracking.LoanBalance, tblJobTracking.FinancialStmt, tblJobTracking.FS_VendorReceived, tblJobTracking.RentRoll, tblJobTracking.RR_VendorReceived, tblJobTracking.SecuritizationDate, tblJobTracking.FirstPeriodDue, tblJobTracking.Subserviced, tblJobTracking.SubservicerName, tblJobTracking.BorrowerName, tblJobTracking.PropertyName, tblJobTracking.PropertyStreet, tblJobTracking.PropertyCity, tblJobTracking.PropertyState, tblJobTracking.PropertyZipCode, tblPropertyType.PropertyType, tblJobTracking.NetSquareFeetatContribution, tblJobTracking.NumberUnitsBedsRoomsatContribution, tblJobTracking.UW, tblJobTracking.AssumptionDate, tblJobTracking.RushRequest, tblJobTracking.RushReqDate, tblJobTracking.Withdraw, tblJobTracking.InternalComments
FROM tblPropertyType INNER JOIN (tblCompany INNER JOIN tblJobTracking ON tblCompany.CompanyID = tblJobTracking.CompanyID) ON tblPropertyType.PropertyTypeID = tblJobTracking.PropertyTypeCMSA;
then I have subforms (set as continous forms and are linked to the main form via JobTrackingID) named subfrmIncome and subfrmExpense which are bound to these queries:
subfrmIncome:
Code:
SELECT tblIncome.IncomeID, tblIncome.JobTrackingID, tblIncome.RevLineItemsID, tblIncome.RevMappingID, tblIncome.Amount, tblIncome.Adjustment, [Amount]+[Adjustment] AS [Adjusted Amount]
FROM tblIncome;
subfrmExpense:
Code:
SELECT tblExpenses.ExpenseID, tblExpenses.JobTrackingID, tblExpenses.ExpLineItemsID, tblExpenses.ExpMappingID, tblExpenses.Amount, tblExpenses.Adjustment, [Amount]+[Adjustment] AS [Adjusted Amount]
FROM tblExpenses;
Now I try to enter dummy data and entered some line items and with multiple dollar amounts...
my question though is how am I going to calculate the NOI (Net Operating Income) wherein the Sum of all Income line items minus the Sum of all Expense line items per loan?
I tried to change frmFinancialSpread's query to:
Code:
SELECT tblJobTracking.JobTrackingID, tblJobTracking.ReportingPeriod, tblCompany.CompanyName, tblJobTracking.InvestorNumber, tblJobTracking.LoanNumber, tblJobTracking.PropertyNumber, tblJobTracking.ConsolidatedStatement, tblJobTracking.LoanBalance, tblJobTracking.FinancialStmt, tblJobTracking.FS_VendorReceived, tblJobTracking.RentRoll, tblJobTracking.RR_VendorReceived, tblJobTracking.SecuritizationDate, tblJobTracking.FirstPeriodDue, tblJobTracking.Subserviced, tblJobTracking.SubservicerName, tblJobTracking.BorrowerName, tblJobTracking.PropertyName, tblJobTracking.PropertyStreet, tblJobTracking.PropertyCity, tblJobTracking.PropertyState, tblJobTracking.PropertyZipCode, tblPropertyType.PropertyType, tblJobTracking.NetSquareFeetatContribution, tblJobTracking.NumberUnitsBedsRoomsatContribution, tblJobTracking.UW, tblJobTracking.AssumptionDate, tblJobTracking.RushRequest, tblJobTracking.RushReqDate, tblJobTracking.Withdraw, tblJobTracking.InternalComments, Sum([tblIncome].[Amount])-Sum([tblExpenses].[Amount]) AS NOI
FROM tblPropertyType INNER JOIN (((tblCompany INNER JOIN tblJobTracking ON tblCompany.CompanyID = tblJobTracking.CompanyID) INNER JOIN tblExpenses ON tblJobTracking.JobTrackingID = tblExpenses.JobTrackingID) INNER JOIN tblIncome ON tblJobTracking.JobTrackingID = tblIncome.JobTrackingID) ON tblPropertyType.PropertyTypeID = tblJobTracking.PropertyTypeCMSA
GROUP BY tblJobTracking.JobTrackingID, tblJobTracking.ReportingPeriod, tblCompany.CompanyName, tblJobTracking.InvestorNumber, tblJobTracking.LoanNumber, tblJobTracking.PropertyNumber, tblJobTracking.ConsolidatedStatement, tblJobTracking.LoanBalance, tblJobTracking.FinancialStmt, tblJobTracking.FS_VendorReceived, tblJobTracking.RentRoll, tblJobTracking.RR_VendorReceived, tblJobTracking.SecuritizationDate, tblJobTracking.FirstPeriodDue, tblJobTracking.Subserviced, tblJobTracking.SubservicerName, tblJobTracking.BorrowerName, tblJobTracking.PropertyName, tblJobTracking.PropertyStreet, tblJobTracking.PropertyCity, tblJobTracking.PropertyState, tblJobTracking.PropertyZipCode, tblPropertyType.PropertyType, tblJobTracking.NetSquareFeetatContribution, tblJobTracking.NumberUnitsBedsRoomsatContribution, tblJobTracking.UW, tblJobTracking.AssumptionDate, tblJobTracking.RushRequest, tblJobTracking.RushReqDate, tblJobTracking.Withdraw, tblJobTracking.InternalComments;
but it gives the wrong NOI, which I kinda understand why..
if my Financial Spread is:
subfrmIncome:
Line Item Amount
Rent $10,000
subfrmExpense:
Line Item Amount
Roof Repair $1,000
Property Tax $2,000
Then when I run the query, the result will be around $23,000
because when I take out Group By, the query will return ( I bet you already all know this)
tblIncome.Amount tblExpense.Amount
10,000 1,000
10,000 2,000
so my question though is, how will I be able to calculate NOI that would give the result of $7,000?
Any help is greatly appreciated and thanks for the time in reading this lengthy post.